*{box-sizing:border-box;margin:0}html,body{color:#e8ecf3;background:#7cc4f5;height:100%;font-family:system-ui,sans-serif}main{position:fixed;inset:0}#robot{position:absolute;inset:0}#robot canvas{display:block}.brand{z-index:1;letter-spacing:.04em;color:#8ff7ff;background:#0b3a45;border:3px solid #8ff7ff;padding:10px 14px;font-family:"Press Start 2P",ui-monospace,monospace;font-size:12px;line-height:1.6;position:fixed;top:24px;left:28px;box-shadow:4px 4px #000}.brand span{color:#ff6b3d}@media (width<=520px){.brand{max-width:calc(100% - 150px);padding:6px 8px;font-size:8px;top:12px;left:10px}}.hint{z-index:1;letter-spacing:.04em;color:#8ff7ff;opacity:0;pointer-events:none;text-align:center;background:#0b3a45;border:3px solid #8ff7ff;padding:10px 14px;font-family:"Press Start 2P",ui-monospace,monospace;font-size:10px;transition:opacity .4s;position:fixed;bottom:24px;left:50%;transform:translate(-50%);box-shadow:4px 4px #000}body.zoomed .hint{opacity:1}@media (width<=520px){.hint{font-size:7px;bottom:14px}}.bubble{z-index:2;color:#8ff7ff;opacity:0;pointer-events:none;background:#0b3a45 repeating-linear-gradient(#00000029 0 1px,#0000 1px 3px);border:4px solid #8ff7ff;width:270px;padding:14px 16px;font-family:"Press Start 2P",ui-monospace,monospace;font-size:9px;line-height:1.8;transition:opacity .25s;position:fixed;top:0;left:0;box-shadow:6px 6px #000}.bubble.show{opacity:1}.bubble-title{color:#ff6b3d;margin-bottom:8px}.bubble-text .ghost{visibility:hidden}.bubble:before{content:"";clip-path:polygon(100% 0,100% 100%,0 50%);background:#8ff7ff;width:12px;height:16px;position:absolute;top:calc(50% - 8px);left:-16px}.bubble.flip:before{clip-path:polygon(0 0,0 100%,100% 50%);left:auto;right:-16px}@media (width<=520px){.bubble{width:200px;padding:10px 12px;font-size:7px}}.bubble.dock:before{display:none}.lang{z-index:3;color:#8ff7ff;background:#0b3a45;border:3px solid #8ff7ff;align-items:center;gap:10px;padding:4px 8px;font-family:"Press Start 2P",ui-monospace,monospace;font-size:12px;display:flex;position:fixed;top:20px;right:24px;box-shadow:4px 4px #000}.lang span{opacity:.4}.lang button{font:inherit;color:#8ff7ff;cursor:pointer;letter-spacing:.04em;background:0 0;border:2px solid #0000;padding:6px 8px}.lang button:hover{border-color:#8ff7ff}.lang button.active{color:#0b3a45;background:#8ff7ff}.lang button:focus-visible{outline-offset:2px;outline:2px dashed #ff6b3d}@media (width<=520px){.lang{padding:2px 4px;font-size:9px;top:10px;right:10px}}
