:root{--ink:#233b4b;font-family:'Trebuchet MS','Segoe UI',sans-serif;color:var(--ink);background:#fff;font-synthesis:none}*{box-sizing:border-box}html,body{width:100%;height:100%;margin:0;overflow:hidden}button{-webkit-tap-highlight-color:transparent;font:inherit;color:inherit;cursor:pointer;touch-action:manipulation}button:focus-visible,#viewport:focus-visible{outline:3px solid #7eabc8;outline-offset:5px}.app{position:fixed;inset:0;width:100%;height:100%}.world{position:absolute;inset:0;width:100%;height:100%;overflow:hidden;background:#fff}#viewport{position:absolute;inset:0;touch-action:none;outline-offset:-5px}#viewport canvas{display:block;width:100%;height:100%;touch-action:none}svg{fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}.vision-card{position:absolute;z-index:2;right:max(22px,env(safe-area-inset-right));top:max(22px,env(safe-area-inset-top));width:193px;border:2px solid var(--ink);border-radius:10px;overflow:hidden;background:#fff}.vision-title{display:flex;align-items:center;gap:8px;background:var(--ink);color:white;padding:9px 12px;font-size:14px;font-weight:700;letter-spacing:.4px}.eye-icon{font-size:16px;font-weight:normal}#vision{display:block;width:100%;height:120px;image-rendering:pixelated;background:#efefeb}.tool-dock{position:absolute;z-index:3;bottom:max(26px,env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);display:flex;justify-content:center;gap:17px;margin:0;max-width:calc(100% - 28px)}.tool{height:70px;min-width:184px;display:flex;align-items:center;justify-content:center;gap:14px;padding:0 22px;border:2px solid var(--ink);border-radius:15px 18px 14px 17px;transition:transform .15s,box-shadow .15s;font-weight:700;font-size:25px;letter-spacing:.5px}.tool:hover{transform:translateY(-3px)}.tool:active{transform:translateY(1px)}.tool svg{width:39px;height:39px;stroke-width:3}.tool.food{background:#fff}.tool.push{background:#fff;border-radius:18px 14px 17px 15px}.tool.reset{background:#fff;border-radius:15px 18px 17px 14px}.tool.selected{box-shadow:0 4px 0 var(--ink)}.loading,.error{position:absolute;inset:0;background:#fffffff5;display:flex;gap:12px;align-items:center;justify-content:center;font-size:15px;color:#6b7e88}.error{z-index:4;flex-direction:column;padding:35px;text-align:center}.error p{max-width:340px;line-height:1.6}.spinner{width:18px;height:18px;border:2px solid #ccd5da;border-top-color:var(--ink);border-radius:50%;animation:spin 1s linear infinite}[hidden]{display:none!important}@keyframes spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.tool{transition:none}.spinner{animation:none}}@media(max-width:700px){.vision-card{width:132px;right:max(12px,env(safe-area-inset-right));top:max(12px,env(safe-area-inset-top))}.vision-title{font-size:11px;padding:6px 8px;gap:4px}#vision{height:83px}.tool-dock{width:calc(100% - 28px);gap:9px;bottom:max(20px,env(safe-area-inset-bottom))}.tool{min-width:0;flex:1;height:58px;padding:0 10px;gap:7px;font-size:20px;max-width:180px;border-radius:12px!important}.tool svg{width:29px;height:29px}}

.tool{position:relative;overflow:hidden;background:#fff}
.tool>span{position:relative;z-index:2;pointer-events:none}
.tool-image{display:block;object-fit:contain;pointer-events:none;user-select:none;flex-shrink:0}
.tool.food{padding:0 16px;gap:5px}
.food-photo{width:68px;height:68px;margin-left:-4px}
.tool.push{padding-left:84px;padding-right:22px;gap:0}
.push-photo{position:absolute;z-index:1;left:-18px;bottom:-5px;width:114px;height:78px;max-width:none;object-position:left bottom}
@media(max-width:700px){.tool.food{padding:0 7px;gap:0}.food-photo{width:50px;height:54px;margin-left:-8px}.tool.push{padding-left:59px;padding-right:8px}.push-photo{left:-22px;bottom:-5px;width:89px;height:67px}}
#screen-hand{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:1}
.toys-menu{position:absolute;z-index:5;left:max(22px,env(safe-area-inset-left));top:max(22px,env(safe-area-inset-top));width:174px}
#toys-toggle{display:flex;align-items:center;justify-content:space-between;width:100%;padding:13px 17px;background:#fff;border:2px solid var(--ink);border-radius:13px;font-size:21px;font-weight:700}
#toys-toggle span{transition:transform .25s}.open #toys-toggle span{transform:rotate(180deg)}
#toys-panel{display:grid;grid-template-columns:1fr;gap:8px;padding:0 8px;background:#fff;border:2px solid transparent;border-radius:0 0 13px 13px;max-height:0;opacity:0;overflow:hidden;visibility:hidden;transform:translateY(-12px);transition:max-height .32s ease,padding .32s ease,transform .32s ease,opacity .2s,visibility .32s}
.open #toys-panel{max-height:min(400px,calc(100dvh - 140px));overflow-y:auto;padding:12px 8px;border-color:var(--ink);border-top:0;opacity:1;visibility:visible;transform:translateY(-4px)}
.toy-option{height:88px;display:flex;align-items:center;gap:10px;border:1px solid #e0e3e3;border-radius:9px;background:#fff;padding:6px;font-size:17px;font-weight:700;text-align:left}
.toy-option:hover{background:#f2f5f5}.toy-option[aria-pressed=true]{background:#edf3f4;border-color:#607e8c;box-shadow:inset 0 0 0 1px #607e8c}
.toy-option>img{width:63px;height:73px;object-fit:contain}
.phone-toy-option{display:grid;gap:4px}.phone-toy-option .toy-option{width:100%}#choose-videos{border:0;background:#fff;text-decoration:underline;font-size:12px;padding:4px 6px;color:#536e7b;text-underline-offset:3px}
@media(max-width:700px){.toys-menu{left:max(12px,env(safe-area-inset-left));top:max(12px,env(safe-area-inset-top));width:146px}#toys-toggle{font-size:18px;padding:10px 13px}.toy-option{font-size:14px;height:78px;gap:5px}.toy-option>img{width:54px;height:63px}}
@media(prefers-reduced-motion:reduce){#toys-panel,#toys-toggle span{transition:none}}

.status-hud{position:absolute;z-index:2;right:max(22px,env(safe-area-inset-right));top:max(22px,env(safe-area-inset-top));display:flex;gap:12px;align-items:flex-start}
.status-hud .vision-card{position:static}.neural-card{width:216px;border:2px solid var(--ink);border-radius:10px;overflow:hidden;background:#fff}.neural-title{font-size:13px;letter-spacing:0;gap:5px;padding:7px 9px;height:39px}.brain-tabs{display:flex;gap:3px;margin-left:auto}.brain-tabs button{border:1px solid #ffffff70;background:transparent;color:#fff;border-radius:4px;height:23px;width:23px;padding:0;font-size:17px}.brain-tabs button[aria-pressed=true]{background:#fff;color:var(--ink)}.brain-tabs button:disabled{opacity:.30;cursor:default}#neural-activity{display:block;width:100%;height:120px}#vision-sex{margin-left:auto;font-size:15px}
@media(max-width:700px){.status-hud{right:max(12px,env(safe-area-inset-right));top:max(12px,env(safe-area-inset-top));gap:8px}.neural-card{width:144px}.neural-title{font-size:9px;height:27px;padding:4px 5px;gap:2px}.brain-tabs{gap:2px}.brain-tabs button{width:17px;height:18px;font-size:13px}#neural-activity{height:83px}}
@media(max-width:520px){.status-hud{top:80px}}
