:root{color-scheme:dark;font-family:Trebuchet MS,Segoe UI,system-ui,sans-serif;color:#eff6ff;background:#09131f;font-synthesis:none}*{box-sizing:border-box}body{margin:0;min-width:280px;min-height:100svh;overflow-x:hidden;background:radial-gradient(circle at 50% 0%,#16304b,#09131f 70%)}button,a,canvas{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer;color:inherit;border:0}button:disabled{cursor:default;opacity:.45}button:focus-visible,a:focus-visible,canvas:focus-visible{outline:2px solid #38f2c2;outline-offset:3px}[hidden]{display:none!important}#app{max-width:430px;margin:0 auto;padding:max(14px,env(safe-area-inset-top)) 14px max(12px,env(safe-area-inset-bottom))}.masthead{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:12px}.brand{display:flex;align-items:center;gap:10px}.brand-mark{display:grid;place-items:center;width:38px;height:38px;border-radius:10px;background:#132840;border:1px solid #38f2c266;color:#38f2c2;font-size:20px}h1{font-size:22px;font-weight:700;margin:2px 0 0;letter-spacing:-.4px}h2{font-size:20px;font-weight:700;margin:2px 0 0}.eyebrow{display:block;font-size:9px;letter-spacing:1.8px;font-weight:700;color:#88accf;text-transform:uppercase}.masthead-actions{display:flex;align-items:center;gap:6px}.text-button{background:#132840;border:1px solid #365c8566;border-radius:999px;color:#e4f1ff;font-size:12px;font-weight:600;padding:7px 11px}.icon-button{background:#132840;border:1px solid #365c8566;width:36px;height:36px;border-radius:50%;font-size:14px;font-weight:700}.level-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.best-badge{font-size:11px;font-weight:700;letter-spacing:.8px;color:#38f2c2;background:#12273e;border:1px solid #38f2c244;padding:5px 10px;border-radius:999px}.scorebar{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:12px}.score-stat{background:#102236;border:1px solid #2b4c7055;border-radius:12px;padding:8px 10px;text-align:center}.stat-label{display:block;font-size:9px;letter-spacing:1.4px;color:#88accf}.score-stat strong{display:block;font-size:16px;margin-top:2px;font-variant-numeric:tabular-nums;color:#fff}#prisms-lit{color:#38f2c2}.board-shell{position:relative;aspect-ratio:1 / 1;width:100%;max-height:58svh;margin:0 auto;border-radius:18px;overflow:hidden;border:1px solid #39628c88;box-shadow:0 16px 40px #0008;background:#0c1b2c}@supports (width: min(100%,58svh)){.board-shell{width:min(100%,58svh)}}#board{width:100%;height:100%;display:block;touch-action:none;-webkit-user-select:none;user-select:none;cursor:pointer}.overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:#070f19db;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);padding:16px;display:flex;align-items:center;justify-content:center}.dialog{width:100%;max-height:100%;overflow-y:auto;background:#13263d;border:1px solid #4976a566;border-radius:16px;padding:18px 16px;text-align:center;box-shadow:0 16px 36px #000b}.dialog h2{font-size:22px;margin:6px 0 8px}.dialog p{font-size:13px;line-height:1.5;color:#bad3ee;margin:8px 0 14px}.result-score{font-size:32px;font-weight:800;color:#38f2c2;font-variant-numeric:tabular-nums;margin:4px 0}.dialog-actions{display:flex;flex-direction:column;gap:8px}.primary-button,.reward-button,.secondary-button{width:100%;border-radius:10px;padding:11px 10px;font-size:13px;font-weight:700}.primary-button{background:#38f2c2;color:#091b24}.reward-button{background:#f5b942;color:#16181d}.secondary-button{background:#1b3554;border:1px solid #4975a455;color:#e4f1ff}.level-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin:10px 0 14px}.level-grid button{background:#19314d;border:1px solid #436c9855;border-radius:10px;padding:8px 6px;text-align:center;color:#f0f7ff;font-size:12px;font-weight:700}.level-grid button.current{border-color:#38f2c2}.level-grid button span{display:block;font-size:10px;font-weight:400;color:#9dc0e6;margin-top:2px}.guidance{min-height:36px;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 2px 0;font-size:12px;color:#b4cde8}footer{display:flex;justify-content:space-between;align-items:center;font-size:10px;color:#7798bc;padding-top:10px}a{color:#b0cef0;text-underline-offset:3px}
