@import "https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;500;600;700&family=Space+Grotesk:wght@500;600;700&display=swap";:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;color:#e8fbff;font-synthesis:none;background:#02070b;font-family:Space Grotesk,sans-serif}*{box-sizing:border-box}html,body,#app{height:100%;margin:0}html,body{overscroll-behavior:none}body{touch-action:manipulation}button{font:inherit}body{background:radial-gradient(circle at 50% -10%,#26a5be21,#0000 42rem),linear-gradient(#061017 0%,#02070b 100%);overflow-x:hidden}.shell{width:min(1180px,100%);height:100svh;padding:18px clamp(14px, 3vw, 34px) max(18px, env(safe-area-inset-bottom));grid-template-rows:auto auto minmax(0,1fr) auto;gap:12px;margin:0 auto;display:grid}.topbar,.mission-panel,.utility-bar{justify-content:space-between;align-items:center;display:flex}.brand{align-items:center;gap:13px;display:flex}.brand strong{letter-spacing:.18em;font-size:17px;line-height:1;display:block}.brand small{color:#5f8b96;letter-spacing:.15em;margin-top:6px;font:600 9px/1 IBM Plex Mono,monospace;display:block}.brand-mark{grid-template-columns:repeat(3,5px);align-items:end;gap:3px;width:22px;height:22px;display:grid}.brand-mark i{background:#63e9ee;display:block;box-shadow:0 0 9px #63e9ee99}.brand-mark i:first-child{height:8px}.brand-mark i:nth-child(2){height:18px}.brand-mark i:nth-child(3){height:12px}.top-actions{gap:8px;display:flex}.icon-button{color:#85d8e3;cursor:pointer;background:#081720;border:1px solid #174252;border-radius:9px;width:38px;height:38px}.icon-button:hover{color:#fff;border-color:#5cdce7}.mission-panel{background:linear-gradient(#0b1e28eb,#051118eb);border:1px solid #153946;border-radius:12px;padding:8px;box-shadow:0 16px 45px #0000003b}.difficulty-control,.mode-switch{align-items:center;gap:4px;display:flex}.difficulty-control button,.mode-switch button{color:#658d98;cursor:pointer;letter-spacing:.07em;background:0 0;border:0;border-radius:7px;padding:9px 13px;font:600 11px/1 IBM Plex Mono,monospace}.difficulty-control button.active,.mode-switch button.active{color:#dfffff;background:#143847;box-shadow:inset 0 0 0 1px #246178}.readouts{align-items:center;gap:20px;display:flex}.readouts>span{text-align:center;min-width:74px}.readouts small,.best-time small{color:#537b86;letter-spacing:.16em;font:700 8px/1 IBM Plex Mono,monospace;display:block}.readouts strong,.best-time strong{color:#aafaff;letter-spacing:.08em;margin-top:4px;font:700 22px/1 IBM Plex Mono,monospace;display:block}.face-button{color:#8efaff;cursor:pointer;background:radial-gradient(circle,#174050,#0a202b);border:1px solid #2c778b;border-radius:50%;width:43px;height:43px;font-size:25px;box-shadow:0 0 20px #3bd5e61f}.face-button:hover{border-color:#8efaff;transform:rotate(45deg)}.playfield-wrap{background:#051018;border:1px solid #112f3a;border-radius:14px;min-height:0;position:relative;overflow:hidden;box-shadow:inset 0 0 60px #00000061,0 22px 70px #00000059}.playfield-wrap:before{content:"";z-index:2;pointer-events:none;opacity:.34;background-image:linear-gradient(#40c2d20b 1px,#0000 1px),linear-gradient(90deg,#40c2d209 1px,#0000 1px);background-size:24px 24px;position:absolute;inset:0}#game-root{position:absolute;inset:0;overflow:hidden}#game-root canvas{touch-action:none;display:block}.corner-label{z-index:3;color:#426f7b;letter-spacing:.14em;pointer-events:none;font:600 8px/1 IBM Plex Mono,monospace;position:absolute;top:13px}.top-left{left:16px}.top-right{color:#5cb4bf;right:16px}.utility-bar{gap:18px;min-height:46px}.hint-line{color:#557984;font:500 10px/1.5 IBM Plex Mono,monospace}.hint-line span{color:#234955;margin:0 4px}kbd{color:#8dbbc4;font:inherit}.utility-actions{gap:8px;display:flex}.utility-actions button{color:#6ea5b0;cursor:pointer;letter-spacing:.08em;background:#07151d;border:1px solid #153b48;border-radius:8px;padding:9px 12px;font:600 9px/1 IBM Plex Mono,monospace}.utility-actions button:hover:not(:disabled){color:#dffeff;border-color:#4cc8d8}.utility-actions button:disabled{opacity:.35;cursor:not-allowed}.utility-actions button.active{color:#dffeff;background:#0d2a36;border-color:#4cc8d8}[data-theme=retro] .utility-actions button.active{border-color:#404040 #fff #fff #404040}.utility-actions b{color:#b5fff2;margin-left:6px}.best-time{text-align:right;min-width:68px}.best-time strong{font-size:17px}.best-time .streak{color:#5cb4bf;margin-top:5px}.sr-only{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}#share-button[hidden]{display:none}dialog{color:#dffaff;background:#07151d;border:1px solid #347f90;border-radius:14px;width:min(560px,100% - 28px);padding:0;box-shadow:0 30px 100px #000}dialog::backdrop{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#000407c2}dialog form{padding:34px;position:relative}.dialog-close{color:#6f9ca5;cursor:pointer;background:0 0;border:0;font-size:26px;position:absolute;top:14px;right:14px}.eyebrow{color:#51cad7;letter-spacing:.16em;font:700 10px IBM Plex Mono,monospace}dialog h2{margin:12px 0;font-size:30px}dialog p{color:#8eabb2;line-height:1.6}.manual-grid{grid-template-columns:1fr 1fr;gap:9px;margin:22px 0;display:grid}.manual-grid div{background:#0a2029;border:1px solid #143846;border-radius:8px;padding:13px}.manual-grid b,.manual-grid span{display:block}.manual-grid b{font-size:13px}.manual-grid span{color:#789ba4;margin-top:6px;font:10px/1.45 IBM Plex Mono,monospace}.fine-print{border-top:1px solid #13323c;padding-top:15px;font-size:12px}#board-picker{width:min(720px,100% - 28px)}.weekly-card{background:#0a2029;border:1px solid #2c778b;border-radius:10px;justify-content:space-between;align-items:center;gap:14px;margin:18px 0 6px;padding:14px;display:flex}.weekly-card small,.weekly-card strong,.weekly-card span,.weekly-card i{display:block}.weekly-card small{color:#51cad7;letter-spacing:.14em;font:700 9px/1.3 IBM Plex Mono,monospace}.weekly-card strong{margin-top:6px;font-size:18px}.weekly-card span,.weekly-card i{color:#789ba4;margin-top:4px;font:10px/1.3 IBM Plex Mono,monospace}.weekly-card button,.board-grid button{color:#b8eef5;cursor:pointer;background:#081720;border:1px solid #174252;border-radius:8px}.weekly-card button{letter-spacing:.1em;flex:none;padding:11px 14px;font:700 10px/1 IBM Plex Mono,monospace}.weekly-card button:hover,.board-grid button:hover{color:#fff;border-color:#5cdce7}.board-tier h3{letter-spacing:.08em;margin:20px 0 4px;font-size:16px}.board-tier .tier-note{margin:0 0 10px;font:11px/1.5 IBM Plex Mono,monospace}.board-grid{grid-template-columns:repeat(auto-fill,minmax(118px,1fr));gap:6px;display:grid}.board-grid button{text-align:left;padding:8px}.board-grid b,.board-grid span,.board-grid small,.board-grid i{display:block}.board-grid b{color:#51cad7;letter-spacing:.1em;font:700 10px/1 IBM Plex Mono,monospace}.board-grid span{margin-top:5px;font-size:13px}.board-grid small,.board-grid i{color:#789ba4;margin-top:3px;font:10px/1.2 IBM Plex Mono,monospace}.board-grid i:empty,.weekly-card i:empty{display:none}.corner-label.top-left{text-overflow:ellipsis;white-space:nowrap;max-width:calc(50% - 24px);overflow:hidden}[data-theme=retro]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;background:teal;font-family:Courier New,monospace}[data-theme=retro] .shell{width:min(1120px,100%)}[data-theme=retro] .topbar{color:#fff;background:navy;padding:7px 10px;box-shadow:inset -2px -2px #004,inset 2px 2px #4a4aff}[data-theme=retro] .brand small{color:#c5c5c5}[data-theme=retro] .brand-mark i{box-shadow:none;background:#fff}[data-theme=retro] .icon-button,[data-theme=retro] .difficulty-control button,[data-theme=retro] .mode-switch button,[data-theme=retro] .face-button,[data-theme=retro] .utility-actions button{color:#111;box-shadow:none;background:silver;border:2px solid #404040;border-color:#fff #404040 #404040 #fff;border-radius:0}[data-theme=retro] button:active,[data-theme=retro] button.active{color:navy;background:#b5b5b5;border-color:#404040 #fff #fff #404040;transform:none}[data-theme=retro] .mission-panel{box-shadow:none;background:silver;border:3px solid #3e3e3e;border-color:#fff #3e3e3e #3e3e3e #fff;border-radius:0}[data-theme=retro] .readouts strong,[data-theme=retro] .best-time strong{color:#ff2020;background:#080808;padding:4px 6px;font-family:Courier New,monospace;display:inline-block}[data-theme=retro] .readouts small,[data-theme=retro] .best-time small{color:#333}[data-theme=retro] .playfield-wrap{box-shadow:none;background:#181818;border:4px solid #fff;border-color:#454545 #fff #fff #454545;border-radius:0}[data-theme=retro] .playfield-wrap:before{opacity:.12;background-size:4px 4px}[data-theme=retro] .corner-label{color:#76ff76}[data-theme=retro] .hint-line{color:#fff;text-shadow:1px 1px #004040}[data-theme=retro] kbd{color:#ff0}[data-theme=retro] dialog{color:#111;background:silver;border:3px solid #343434;border-color:#fff #343434 #343434 #fff;border-radius:0}[data-theme=retro] dialog h2,[data-theme=retro] dialog p,[data-theme=retro] .eyebrow{color:#111}[data-theme=retro] .weekly-card,[data-theme=retro] .board-grid button{color:#111;background:silver;border:2px solid #404040;border-color:#fff #404040 #404040 #fff;border-radius:0}[data-theme=retro] .weekly-card{background:#b4b4b4;border-color:#777 #fff #fff #777}[data-theme=retro] .weekly-card button{color:#111;background:silver;border:2px solid #404040;border-color:#fff #404040 #404040 #fff;border-radius:0}[data-theme=retro] .weekly-card small,[data-theme=retro] .board-grid b{color:navy}[data-theme=retro] .weekly-card span,[data-theme=retro] .weekly-card i,[data-theme=retro] .board-grid small,[data-theme=retro] .board-grid i{color:#333}[data-theme=retro] .manual-grid div{background:#b4b4b4;border:2px solid #fff;border-color:#777 #fff #fff #777;border-radius:0}[data-theme=retro] .manual-grid span{color:#333}.sr-only,.sr-board{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.sr-board:focus-within{outline:none}.icon-button.active{color:#fff;background:#0d2a36;border-color:#5cdce7}@media (width<=760px){.shell{padding:10px 10px max(10px, env(safe-area-inset-bottom));gap:8px}.brand small,.hint-line,.best-time{display:none}.mission-panel{flex-wrap:wrap;gap:8px}.readouts{order:-1;justify-content:center;width:100%}.difficulty-control{max-width:calc(100% - 142px);overflow-x:auto}.difficulty-control button,.mode-switch button{padding:8px 9px;font-size:9px}.utility-bar{justify-content:center}.utility-actions{width:100%}.utility-actions button{flex:1;min-height:42px}.manual-grid{grid-template-columns:1fr}dialog form{padding:26px 20px 20px}dialog h2{font-size:24px}.weekly-card{flex-wrap:wrap}.weekly-card button{width:100%;min-height:42px}.board-grid{grid-template-columns:repeat(auto-fill,minmax(96px,1fr))}}dialog{max-height:calc(100svh - 20px);overflow-y:auto}@media (width<=520px){.brand strong{letter-spacing:.12em;font-size:14px}.difficulty-control,.mode-switch{width:100%;max-width:none;overflow:visible}.difficulty-control button,.mode-switch button{flex:1 1 0;min-width:0;padding:8px 4px}.utility-actions button{letter-spacing:.04em;padding:8px 4px}}@media (height<=520px) and (orientation:landscape){.shell{width:100%;padding:8px max(8px, env(safe-area-inset-right)) max(8px, env(safe-area-inset-bottom)) max(8px, env(safe-area-inset-left));grid-template:"play top""play panel""play util"minmax(0,1fr)/minmax(0,1fr) clamp(204px,30vw,270px);gap:8px}.topbar{grid-area:top}.mission-panel{grid-area:panel}.playfield-wrap{grid-area:play}.utility-bar{grid-area:util;align-items:flex-start}.brand>span:last-child,.hint-line,.best-time{display:none}.icon-button{width:32px;height:32px}.mission-panel{flex-wrap:wrap;gap:6px;padding:6px}.readouts{order:-1;justify-content:center;gap:10px;width:100%}.readouts>span{min-width:56px}.readouts strong{font-size:18px}.face-button{width:36px;height:36px;font-size:20px}.difficulty-control,.mode-switch{width:100%;max-width:none;overflow:visible}.difficulty-control button,.mode-switch button{letter-spacing:.02em;flex:1 1 0;min-width:0;padding:7px 1px;font-size:9px}.utility-bar{min-height:0}.utility-actions{flex-wrap:wrap;gap:6px;width:100%}.utility-actions button{flex:calc(50% - 3px);min-height:34px;padding:6px 4px}#scan-button{flex-basis:100%}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}.update-banner{left:50%;bottom:max(14px, env(safe-area-inset-bottom));z-index:50;color:#dffaff;background:#07151d;border:1px solid #2c778b;border-radius:10px;align-items:center;gap:10px;padding:9px 12px;font:600 11px/1 IBM Plex Mono,monospace;display:flex;position:fixed;transform:translate(-50%);box-shadow:0 12px 40px #00000073}.update-banner button{color:#8efaff;font:inherit;cursor:pointer;background:#0b2430;border:1px solid #2c778b;border-radius:7px;padding:7px 10px}
