*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:#122634;color:#e8f7ed;font:15px/1.45 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}body{--mint:#a2f2d2;--lilac:#c2b6f0;--pearl:#f5f5e7;--gold:#f8d497;--muted:#aec5cb;--panel:#213c4a;--line:#c4e4db26;padding-bottom:env(safe-area-inset-bottom)}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;font-weight:650;color:#edf8ef;background:var(--panel);border:1px solid var(--line);border-radius:13px;min-height:44px;min-width:44px;padding:10px 16px;cursor:pointer;touch-action:manipulation}button:hover:not(:disabled){background:#2d4a58}button:disabled{opacity:.45;cursor:default}button:focus-visible,a:focus-visible,#world:focus-visible{outline:3px solid var(--gold);outline-offset:3px}.primary{background:var(--mint);color:#163a39;border-color:transparent;box-shadow:0 4px 18px #66e9b91a}.primary:hover:not(:disabled){background:#c3ffe6}button[hidden],[hidden]{display:none!important}.shell{max-width:1180px;padding:0 25px;margin:auto}header{min-height:66px;display:flex;align-items:center;justify-content:space-between;gap:10px;border-bottom:1px solid var(--line)}.brand{min-height:44px;text-decoration:none;color:var(--mint);display:flex;align-items:center;gap:8px;font-size:11px;font-weight:800;letter-spacing:2px;white-space:nowrap}.brand span{font-size:29px}nav{display:flex;gap:7px}nav button{font-size:12px;padding:8px 13px}main{max-width:980px;margin:0 auto;padding-top:17px}.title{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.title p{font-size:9px;letter-spacing:2.6px;color:var(--mint);font-weight:700;margin:0 0 3px}h1{font:500 clamp(28px,4vw,39px)/1.14 Georgia,serif;letter-spacing:-.7px;margin:0}.seal{font-size:42px;color:var(--lilac)}.telemetry{display:flex;justify-content:space-between;gap:8px;padding:10px 16px;border:1px solid var(--line);border-radius:16px;background:#1c3543;margin-bottom:12px}.telemetry small{display:block;font-size:8px;letter-spacing:1.5px;color:var(--muted);font-weight:750}.telemetry strong{font-size:16px;white-space:nowrap}.telemetry>div:last-child strong{color:var(--gold);letter-spacing:1px}#world{position:relative;isolation:isolate;overflow:hidden;border:1px solid #c9ead530;border-radius:22px;background:#193640;height:min(52dvh,440px);min-height:320px;touch-action:none;outline:none}#scene{position:absolute;inset:0;width:100%;height:100%}#mirror-controls{position:absolute;inset:0;pointer-events:none}.mirror{position:absolute;transform:translate(-50%,-50%);width:48px;height:48px;padding:0;border:1px solid #d3c5ffbd;background:#5c5d84d9;box-shadow:0 4px 0 #182f41,0 5px 14px #0e253060;border-radius:13px;pointer-events:auto;min-width:44px;min-height:44px}.mirror:hover:not(:disabled){background:#74739b}.mirror svg{width:100%;height:100%;display:block}.mirror .mirror-line{stroke:#eee8ff;stroke-width:6;stroke-linecap:round;filter:drop-shadow(0 0 3px #e4dcff)}.mirror .screw{fill:#c3d9de}.mirror .letter{font:600 13px system-ui;fill:#f4f6eb}.mirror.selected{outline:2px solid var(--gold);outline-offset:3px}.mirror:disabled{opacity:.8}.world-label{position:absolute;top:13px;left:17px;right:17px;display:flex;justify-content:space-between;gap:10px;pointer-events:none;font-size:11px}.world-label strong{color:var(--mint);letter-spacing:.6px}.world-label span{color:#e7e9cf}#legend{position:absolute;bottom:12px;left:12px;right:12px;display:flex;justify-content:center;gap:17px;pointer-events:none}#legend span{display:flex;align-items:center;gap:5px;font-size:10px;color:#c8ded8}#legend i{width:7px;height:7px;border-radius:2px;border:1px solid #ffffff70}.mint{background:#b3f7d4}.gold{background:#f5d288}.lilac{background:#c8b7f5}.dark{background:#222e4a}.command{display:flex;justify-content:space-between;align-items:center;gap:13px;margin-top:13px}.objective{min-width:0}.objective strong{font-size:15px}.objective p{font-size:12px;color:var(--muted);margin:3px 0 0}.actions{display:grid;grid-template-columns:auto auto auto;gap:7px;flex-shrink:0}.actions button{font-size:12px;padding:10px 13px}.actions .primary{font-size:14px}.actions .primary span{margin-left:6px}.route{font-size:12px;line-height:1.6;border-left:2px solid var(--mint);padding:7px 12px;background:#243f4d;border-radius:0 8px 8px 0;color:#d6eade;margin:11px 0 0}.footnote{color:#9bb8bf;text-align:center;font:italic 13px Georgia,serif;margin:15px 0 20px}#overlay{position:fixed;inset:0;z-index:50;display:flex;justify-content:center;align-items:center;padding:18px;background:#071b2bbb;backdrop-filter:blur(10px)}.dialog{position:relative;width:min(438px,100%);max-height:calc(100dvh - 36px);overflow:auto;border-radius:25px;border:1px solid #b5e0cf4d;background:linear-gradient(145deg,#244151,#18313f);box-shadow:0 25px 100px #020f2466;padding:27px;display:flex;flex-direction:column;gap:9px}.eyebrow{font-size:9px;letter-spacing:2.2px;color:var(--mint);font-weight:750;margin:0}.dialog-mark{height:45px;line-height:45px;font-size:47px;color:var(--lilac);margin-top:5px}.dialog h2{font:500 36px/1.1 Georgia,serif;color:var(--pearl);margin:5px 0 0}.dialog>p:not(.eyebrow){font-size:14px;color:var(--muted);margin:2px 0 5px}.dialog #result-stats{color:var(--gold);font-size:15px}.dialog .primary{font-size:16px}.dialog>a{color:#c0d7db;font-size:12px;display:flex;justify-content:center;align-items:center;min-height:44px;text-underline-offset:5px}.dialog #instructions{font-size:13px;color:#c0d4d6;max-height:32dvh;overflow:auto;line-height:1.65}.dialog #instructions p{margin:0 0 10px}.dialog #instructions b{color:#ecf2df}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}body[data-phase="playing"] .mirror{transition:background .15s}@media(max-width:700px){.shell{padding:0 12px}header{min-height:58px}.brand{font-size:9px;letter-spacing:1px;gap:5px}.brand span{font-size:24px}nav{gap:5px}nav button{font-size:11px;padding:8px 10px}main{padding-top:12px}.title{margin-bottom:10px}.title p{font-size:8px;letter-spacing:1.7px}.seal{font-size:35px}.telemetry{padding:9px 11px;margin-bottom:10px;border-radius:13px}.telemetry small{font-size:7px;letter-spacing:.7px}.telemetry strong{font-size:14px}.telemetry>div:last-child strong{letter-spacing:0;font-size:13px}#world{border-radius:18px;height:350px;min-height:300px}.command{flex-direction:column;align-items:stretch;gap:8px;margin-top:10px}.actions{grid-template-columns:1.1fr 1fr .9fr;gap:5px}.actions button{padding:8px 7px;font-size:11px}.actions .primary{font-size:12px}.objective strong{font-size:14px}.objective p{font-size:11px;min-height:30px}.world-label{font-size:10px;top:11px;left:12px;right:12px}#legend{gap:10px;bottom:9px}#legend span{font-size:9px}.dialog{padding:23px}.dialog h2{font-size:32px}.dialog-mark{height:34px;line-height:34px;font-size:37px}.route{font-size:11px}}@media(max-width:700px) and (max-height:720px){body[data-phase="playing"] .title,body[data-phase="playing"] .footnote{display:none}body[data-phase="playing"] #world{height:300px}body[data-phase="playing"] header{min-height:54px}body[data-phase="playing"] main{padding-top:9px}body[data-phase="playing"] .telemetry{padding:7px 10px;margin-bottom:8px}}@media(min-width:701px) and (max-height:520px){.shell{padding:0 16px}header{min-height:54px}main{display:grid;grid-template-columns:minmax(0,1fr) 254px;column-gap:15px;padding-top:10px}.title,.footnote{display:none}.telemetry{grid-column:2;grid-row:1;display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:10px;margin:0;height:106px}.telemetry small{font-size:7px}.telemetry strong{font-size:14px}#world{grid-column:1;grid-row:1 / span 3;height:calc(100dvh - 78px);min-height:280px}.command{grid-column:2;grid-row:2;flex-direction:column;align-items:stretch;gap:10px;align-self:start;margin-top:9px}.objective strong{font-size:13px}.objective p{font-size:11px}.actions{grid-template-columns:1fr 1fr}.actions .primary{grid-column:1 / -1}.actions button{font-size:11px;padding:8px}.route{grid-column:2;grid-row:3;font-size:10px;padding:5px 8px;max-height:90px;overflow:auto}.dialog{width:min(600px,100%);padding:17px;gap:6px}.dialog-mark{display:none}.dialog h2{font-size:28px}.dialog #instructions{max-height:25dvh}#legend{gap:12px}}@media(max-width:350px){nav button{padding:8px;font-size:10px}.brand{font-size:8px}.telemetry{gap:5px}.telemetry small{font-size:6.8px}.telemetry strong{font-size:13px}#legend{gap:8px}#legend span{font-size:8px}.actions .primary span{display:none}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* Sculpted optical hardware remains in the same accessible hit targets. */
.mirror{border-color:transparent;background:transparent;box-shadow:none;border-radius:14px}.mirror:hover:not(:disabled){background:#b8a8e526}.mirror svg{filter:drop-shadow(0 4px 3px #0a193850)}.mirror .letter{font:700 10px system-ui;fill:#f0ffec}.mirror .screw{fill:#5f6f81}.mirror.selected{outline:2px solid #f8d497;outline-offset:1px}#world{box-shadow:inset 0 0 0 1px #d2f4dd12,0 15px 40px #071a2e33}#legend{padding:5px 8px;background:#132c3ce0;border:1px solid #a6d2c42a;border-radius:20px;width:max-content;max-width:calc(100% - 18px);margin:auto;bottom:7px}.world-label{background:linear-gradient(90deg,#142b3edb,#26354ac4);border:1px solid #c0ebdc25;border-radius:20px;padding:5px 9px;top:7px;left:9px;right:9px}.dialog{background:radial-gradient(ellipse at top right,#69597f55,transparent 62%),linear-gradient(145deg,#244151,#18313f)}
