:root{color-scheme:dark;--bg:#070b13;--panel:#0b121fe6;--panel-line:#97efe82e;--text:#ecf8f7;--muted:#91a7ad;--cyan:#72f5e7;--cyan-soft:#72f5e72e;--amber:#ffcf68;--red:#ff667d;--shadow:0 24px 80px #0000007a;font-synthesis:none;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html,body,#app{background:var(--bg);width:100%;height:100%;margin:0;overflow:hidden}body{color:var(--text);user-select:none}button{font:inherit}#game-canvas{cursor:crosshair;touch-action:none;width:100%;height:100%;display:block}.vignette,.scanlines{pointer-events:none;z-index:4;position:fixed;inset:0}.vignette{background:radial-gradient(circle at 50% 45%,#0000 42%,#0104096b 76%,#000000c7 100%),linear-gradient(#05111a14,#00000040)}.scanlines{opacity:.22;mix-blend-mode:screen;background:repeating-linear-gradient(#0000 0 3px,#98f5eb06 4px)}.hidden{opacity:0!important;pointer-events:none!important}.hud{z-index:10;pointer-events:none;transition:opacity .22s;position:fixed;inset:0}.hud-cluster{position:absolute;top:24px}.hud-left{width:min(310px,31vw);left:26px}.hud-center{justify-items:center;line-height:1;display:grid;left:50%;transform:translate(-50%)}.hud-right{gap:6px;min-width:170px;display:grid;right:26px}.brand-mini{color:#c7f7f2;letter-spacing:.1em;margin-bottom:12px;font-size:12px;font-weight:800}.brand-mini span{color:var(--cyan);margin:0 5px}.meter-row{grid-template-columns:38px 1fr 42px;align-items:center;gap:8px;margin:5px 0;display:grid}.meter-label,.status-chip span{color:var(--muted);letter-spacing:.12em;font-size:11px;font-weight:700}.meter{clip-path:polygon(0 0,100% 0,calc(100% - 5px) 100%,0 100%);background:#ffffff0e;border:1px solid #ffffff1f;height:7px;overflow:hidden}.meter i{background:linear-gradient(90deg,#58d7cb,#b6fff8);width:100%;height:100%;transition:width .18s;display:block;box-shadow:0 0 14px #72f5e7b3}.core-row .meter i{background:linear-gradient(90deg,#efbd52,#fff1a9);box-shadow:0 0 14px #ffcf689e}.meter-row strong{text-align:right;font:700 11px/1 ui-monospace,SFMono-Regular,Menlo,monospace}.eyebrow{color:var(--cyan);letter-spacing:.2em;text-transform:uppercase;font:800 11px/1.2 ui-monospace,SFMono-Regular,Menlo,monospace}.score{letter-spacing:.08em;text-shadow:0 0 22px #72f5e740;margin:5px 0 4px;font:800 clamp(22px,2.2vw,36px)/1 ui-monospace,SFMono-Regular,Menlo,monospace}.combo{color:var(--amber);letter-spacing:.12em;font:700 11px/1 ui-monospace,SFMono-Regular,Menlo,monospace}.status-chip{clip-path:polygon(5px 0,100% 0,100% 100%,0 100%,0 5px);background:linear-gradient(90deg,#0a101bbd,#0a101b47);border:1px solid #ffffff14;justify-content:space-between;align-items:center;gap:16px;min-height:26px;padding:5px 9px;display:flex}.status-chip strong{color:#e6fffc;font:700 11px/1 ui-monospace,SFMono-Regular,Menlo,monospace;position:relative}#burst-status{text-align:right;min-width:48px;padding-bottom:3px}#burst-status:after{background:linear-gradient(90deg, var(--cyan), var(--amber));content:"";height:1px;transform:scaleX(var(--burst-progress,0));transform-origin:0;transition:transform 80ms linear;position:absolute;bottom:0;left:0;right:0;box-shadow:0 0 8px #72f5e7b8}#burst-status.ready{color:#fff0a5;animation:.9s ease-in-out infinite alternate burst-ready-pulse}@keyframes burst-ready-pulse{0%{text-shadow:0 0 4px #ffcf684d}to{text-shadow:0 0 14px #ffcf68f2}}.formula-rack{width:220px;position:absolute;top:132px;right:26px}.formula-rack-label{color:#72f5e7b8;letter-spacing:.15em;text-align:right;margin-bottom:7px;font:800 9px/1 ui-monospace,SFMono-Regular,Menlo,monospace;display:block}.formula-list{gap:5px;margin:0;padding:0;list-style:none;display:grid}.formula-item{color:#dff8f5;clip-path:polygon(5px 0,100% 0,100% 100%,0 100%,0 5px);background:linear-gradient(90deg,#0b1c24d1,#080d1780);border:1px solid #72f5e724;grid-template-columns:26px minmax(0,1fr) auto;align-items:center;gap:8px;min-height:32px;padding:4px 8px;display:grid}.formula-item-icon{width:24px;height:24px;color:var(--cyan);background:#72f5e70f;border:1px solid #72f5e74d;place-items:center;font:900 11px/1 ui-monospace,SFMono-Regular,Menlo,monospace;display:grid}.formula-item-name{letter-spacing:.05em;text-overflow:ellipsis;white-space:nowrap;font-size:10px;font-weight:700;overflow:hidden}.formula-item-level{color:var(--amber);white-space:nowrap;font:800 10px/1 ui-monospace,SFMono-Regular,Menlo,monospace}.formula-item.is-overdrive{color:#fff6d1;background:radial-gradient(circle at 8%,#ffcf682e,#0000 48%),linear-gradient(90deg,#2c2412e0,#081b1fc2);border-color:#ffd9708f;animation:1.4s ease-in-out infinite alternate overdrive-rack-pulse;position:relative;overflow:hidden;box-shadow:inset 0 0 18px #72f5e712,0 0 18px #ffcf681a}.formula-item.is-overdrive:after{z-index:0;pointer-events:none;content:"";background:linear-gradient(105deg,#0000 36%,#72f5e729 48%,#ffe28933 54%,#0000 64%);animation:2.2s ease-in-out infinite overdrive-rack-scan;position:absolute;inset:0;transform:translate(-100%)}.formula-item.is-overdrive>*{z-index:1;position:relative}.formula-item.is-overdrive .formula-item-icon{color:#fff0ad;background:linear-gradient(135deg,#ffcf682e,#72f5e71f);border-color:#ffde809e;box-shadow:0 0 12px #ffcf6821}.formula-item.is-overdrive .formula-item-level{color:#fff0ad;letter-spacing:.08em;text-shadow:0 0 10px #72f5e73d;font-size:9px}@keyframes overdrive-rack-pulse{to{border-color:#72f5e7a8;box-shadow:inset 0 0 22px #ffcf6817,0 0 22px #72f5e71c}}@keyframes overdrive-rack-scan{55%,to{transform:translate(110%)}}.material-rack{pointer-events:auto;gap:8px;display:flex;position:absolute;bottom:48px;left:50%;transform:translate(-50%)}.material-slot{color:#d7e5e6;backdrop-filter:blur(10px);clip-path:polygon(7px 0,100% 0,100% calc(100% - 7px),calc(100% - 7px) 100%,0 100%,0 7px);cursor:pointer;background:#080d17c2;border:1px solid #ffffff1c;grid-template-columns:20px 24px auto 32px;align-items:center;gap:7px;min-width:126px;min-height:42px;padding:6px 10px;transition:transform .12s,border-color .12s,background .12s;display:grid;position:relative}.material-slot:hover{border-color:#72f5e770;transform:translateY(-2px)}.material-slot.selected{color:#fff;background:linear-gradient(#1c4448c7,#080d17d1);border-color:#72f5e7bf;box-shadow:0 0 24px #4fe3d821}.material-slot kbd,.control-hints kbd,.microcopy kbd,.pause-panel kbd{color:#c4d5d7;background:#ffffff0d;border:1px solid #ffffff29;border-bottom-color:#ffffff47;border-radius:3px;place-items:center;min-width:20px;min-height:20px;padding:0 5px;font:700 10px/1 ui-monospace,SFMono-Regular,Menlo,monospace;display:inline-grid}.material-slot span{letter-spacing:.08em;font-size:11px;font-weight:700}.material-slot strong{text-align:right;font:800 16px/1 ui-monospace,SFMono-Regular,Menlo,monospace}.voxel-swatch{border:1px solid #ffffff38;width:20px;height:20px;display:block;position:relative;transform:rotate(30deg)skewY(-30deg)scaleY(.86);box-shadow:4px 4px #0003}.voxel-swatch.soil{background:#87a951}.voxel-swatch.stone{background:#8292a8}.voxel-swatch.crystal{background:#73f4e8;box-shadow:0 0 12px #73f4e88c}.control-hints{color:#d6e9eb8c;letter-spacing:.03em;justify-content:center;align-items:center;gap:12px;width:max-content;font-size:10px;display:flex;position:absolute;bottom:15px;left:50%;transform:translate(-50%)}.control-hints span{align-items:center;gap:5px;display:inline-flex}.message-layer{z-index:18;pointer-events:none;position:fixed;top:24%;left:50%;transform:translate(-50%)}.system-message{color:#e9fffc;text-align:center;letter-spacing:.16em;background:linear-gradient(90deg,#0000,#081720eb 22% 78%,#0000);border-top:1px solid #72f5e773;border-bottom:1px solid #72f5e738;min-width:280px;padding:8px 18px;font:800 12px/1.4 ui-monospace,SFMono-Regular,Menlo,monospace;animation:1.6s both message-in}@keyframes message-in{0%{opacity:0;transform:translateY(10px)scaleX(.86)}14%,70%{opacity:1;transform:translateY(0)scaleX(1)}to{opacity:0;transform:translateY(-8px)scaleX(1.05)}}.overlay{z-index:30;opacity:0;visibility:hidden;pointer-events:none;backdrop-filter:blur(9px);background:radial-gradient(circle at 50% 44%,#0e2e353d,#0000 52%),#03070db5;place-items:center;padding:24px;transition:opacity .2s,visibility .2s;display:grid;position:fixed;inset:0}.overlay.active{opacity:1;visibility:visible;pointer-events:auto}.overlay.compact{background:#03070d85}.panel{border:1px solid var(--panel-line);background:linear-gradient(135deg, #72f5e70b, transparent 28%), var(--panel);width:min(980px,94vw);box-shadow:var(--shadow), inset 0 0 0 1px #ffffff06;clip-path:polygon(18px 0,100% 0,100% calc(100% - 18px),calc(100% - 18px) 100%,0 100%,0 18px)}.intro-panel{padding:clamp(28px,5vw,60px)}.intro-panel h1{letter-spacing:-.07em;align-items:baseline;gap:18px;margin:8px 0 16px;font-size:clamp(52px,8vw,104px);line-height:.9;display:flex}.intro-panel h1 span{background:linear-gradient(#f8ffff 20%,#8fc6c8 100%);color:#0000;text-shadow:0 18px 50px #61eee314;background-clip:text}.intro-panel h1 small{color:var(--cyan);letter-spacing:.24em;font:800 clamp(13px,1.7vw,20px)/1 ui-monospace,SFMono-Regular,Menlo,monospace}.lead{color:#b9cbce;max-width:760px;margin:0;font-size:clamp(15px,1.8vw,20px);line-height:1.75}.pillars{grid-template-columns:repeat(3,1fr);gap:12px;margin:34px 0;display:grid}.pillars article{background:#ffffff06;border:1px solid #ffffff13;min-height:168px;padding:22px;position:relative;overflow:hidden}.pillars article>b{color:#72f5e71a;font:900 58px/1 ui-monospace,SFMono-Regular,Menlo,monospace;position:absolute;top:7px;right:12px}.pillars h2{letter-spacing:.04em;margin:0 0 13px;font-size:15px;position:relative}.pillars p{color:#8fa3a7;margin:0;font-size:12px;line-height:1.75;position:relative}.pillars em{color:var(--amber);font-style:normal;font-weight:800}.start-row{align-items:center;gap:18px;display:flex}.primary-button{color:#051010;clip-path:polygon(9px 0,100% 0,100% calc(100% - 9px),calc(100% - 9px) 100%,0 100%,0 9px);letter-spacing:.08em;cursor:pointer;background:linear-gradient(#bafff8,#68ddda);border:1px solid #7efff3b8;min-width:190px;padding:14px 24px;font-weight:900;transition:transform .12s,filter .12s;box-shadow:0 9px 36px #50e8dc33}.primary-button:hover{filter:brightness(1.08);transform:translateY(-2px)}.primary-button:active{transform:translateY(1px)}.microcopy{color:#71868a;font-size:11px;line-height:1.6}.upgrade-panel,.result-panel{text-align:center;width:min(900px,94vw);padding:clamp(28px,5vw,54px)}.upgrade-panel h2,.result-panel h2,.pause-panel h2{margin:8px 0 28px;font-size:clamp(28px,4vw,48px)}.upgrade-cards{grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:24px;display:grid}.upgrade-card{min-height:230px;color:var(--text);text-align:left;cursor:pointer;clip-path:polygon(10px 0,100% 0,100% calc(100% - 10px),calc(100% - 10px) 100%,0 100%,0 10px);background:radial-gradient(circle at 50% 0,#72f5e71c,#0000 45%),#ffffff06;border:1px solid #ffffff1a;padding:22px;transition:transform .14s,border-color .14s,background .14s;position:relative}.upgrade-card:hover,.upgrade-card:focus-visible{background:radial-gradient(circle at 50% 0,#72f5e730,#0000 54%),#ffffff0a;border-color:#72f5e7b3;outline:none;transform:translateY(-6px)}.upgrade-card kbd{position:absolute;top:13px;right:13px}.upgrade-icon{width:54px;height:54px;color:var(--cyan);background:#72f5e70e;border:1px solid #72f5e757;place-items:center;margin-bottom:36px;font:900 22px/1 ui-monospace,SFMono-Regular,Menlo,monospace;display:grid;transform:rotate(45deg)}.upgrade-icon span{transform:rotate(-45deg)}.upgrade-card h3{margin:0 0 10px;font-size:17px}.upgrade-level{min-height:20px;color:var(--cyan);letter-spacing:.08em;background:#72f5e70e;border:1px solid #72f5e74d;align-items:center;margin:0 0 10px;padding:3px 7px;font:800 10px/1 ui-monospace,SFMono-Regular,Menlo,monospace;display:inline-flex}.upgrade-card.has-level .upgrade-level{color:#ffe49c;background:#ffcf6814;border-color:#ffcf688c;box-shadow:0 0 14px #ffcf6814}.upgrade-card.is-overdrive{isolation:isolate;background:radial-gradient(circle at 18% 0,#ffd5673d,#0000 44%),radial-gradient(circle at 88% 18%,#72f5e733,#0000 48%),#141418eb;border-color:#ffd770b8;animation:1.65s ease-in-out infinite alternate overdrive-card-pulse;overflow:hidden;box-shadow:inset 0 0 26px #72f5e712,0 0 28px #ffcf681f}.upgrade-card.is-overdrive:before{z-index:0;pointer-events:none;content:"";background:linear-gradient(112deg,#0000 36%,#ffeca60a 42%,#72f5e747 49%,#ffe07e38 53%,#0000 61%);animation:2.4s linear infinite overdrive-card-scan;position:absolute;inset:-80% -35%;transform:translate(-34%)rotate(7deg)}.upgrade-card.is-overdrive:after{z-index:0;pointer-events:none;content:"";clip-path:polygon(15px 0,100% 0,100% calc(100% - 15px),calc(100% - 15px) 100%,0 100%,0 15px);border:1px solid #72f5e72e;position:absolute;inset:6px}.upgrade-card.is-overdrive>*{z-index:1}.upgrade-card.is-overdrive>:not(kbd){position:relative}.upgrade-card.is-overdrive:hover,.upgrade-card.is-overdrive:focus-visible{background:radial-gradient(circle at 18% 0,#ffd56757,#0000 48%),radial-gradient(circle at 88% 18%,#72f5e74d,#0000 52%),#18171af5;border-color:#ffe28c;box-shadow:inset 0 0 34px #72f5e71c,0 0 38px #ffcf683d}.upgrade-card.is-overdrive .upgrade-icon{color:#fff0ad;background:linear-gradient(135deg,#ffd25e2e,#72f5e724);border-color:#ffde80cc;box-shadow:inset 0 0 14px #72f5e71f,0 0 22px #ffcf6833}.upgrade-card.is-overdrive h3{color:#fff6d1;text-shadow:0 0 16px #ffcf6842,0 0 24px #72f5e71f}.upgrade-card.is-overdrive .upgrade-level{color:#fff1ae;letter-spacing:.12em;background:linear-gradient(90deg,#ffca4b26,#72f5e71c);border-color:#ffe18bb8;box-shadow:0 0 18px #ffcf6824}.upgrade-card.is-overdrive p{color:#c9ddda}@keyframes overdrive-card-pulse{0%{filter:brightness(.94)}to{filter:brightness(1.1)}}@keyframes overdrive-card-scan{to{transform:translate(34%)rotate(7deg)}}.upgrade-card p{color:#91a7aa;margin:0;font-size:12px;line-height:1.7}.pause-panel{text-align:center;width:min(440px,90vw);padding:40px}.pause-panel h2{margin-bottom:12px}.pause-panel p{color:var(--muted)}.result-panel .lead{text-align:center;margin:0 auto 26px}.result-grid{grid-template-columns:repeat(4,1fr);gap:8px;margin:28px 0;display:grid}.result-grid div{background:#ffffff06;border:1px solid #ffffff14;gap:8px;padding:17px 10px;display:grid}.result-grid span{color:var(--muted);letter-spacing:.12em;font-size:10px}.result-grid strong{font:800 clamp(18px,3vw,30px)/1 ui-monospace,SFMono-Regular,Menlo,monospace}@media (width<=820px){.pillars{grid-template-columns:1fr;max-height:43vh;overflow:auto}.pillars article{min-height:130px}.intro-panel h1{display:block}.intro-panel h1 small{margin-top:13px;display:block}.start-row{flex-direction:column;align-items:flex-start}.upgrade-cards{grid-template-columns:1fr;max-height:60vh;overflow:auto}.upgrade-card{min-height:150px}.upgrade-icon{margin-bottom:18px}.hud-right,.control-hints{display:none}.hud-left{width:42vw}.formula-rack{width:126px;top:94px;right:10px}.formula-rack-label,.formula-item-name{display:none}.formula-list{grid-template-columns:repeat(2,minmax(0,1fr))}.formula-item{grid-template-columns:20px minmax(0,1fr);gap:4px;min-height:28px;padding:3px 5px}.formula-item-icon{width:20px;height:20px;font-size:9px}.formula-item-level{font-size:9px}.material-slot{grid-template-columns:18px 20px 26px;min-width:84px}.material-slot span{display:none}.result-grid{grid-template-columns:repeat(2,1fr)}}@media (height<=680px){.intro-panel{padding:24px 34px}.intro-panel h1{font-size:54px}.pillars{margin:20px 0}.pillars article{min-height:130px;padding:16px}.material-rack{bottom:34px}.control-hints{bottom:7px}}[hidden]{display:none!important}.sound-toggle{right:max(16px, env(safe-area-inset-right));bottom:max(16px, env(safe-area-inset-bottom));z-index:40;color:#c7f7f2;backdrop-filter:blur(10px);letter-spacing:.1em;cursor:pointer;clip-path:polygon(6px 0,100% 0,100% calc(100% - 6px),calc(100% - 6px) 100%,0 100%,0 6px);background:#070e18d1;border:1px solid #72f5e747;min-width:104px;padding:9px 12px;font:700 10px/1 ui-monospace,SFMono-Regular,Menlo,monospace;position:fixed}.sound-toggle[aria-pressed=true]{color:var(--muted);border-color:#ffffff24}.primary-button:focus-visible,.material-slot:focus-visible,.sound-toggle:focus-visible{outline:2px solid var(--amber);outline-offset:4px}#game-canvas:focus-visible{outline-offset:-4px;outline:2px solid #72f5e7b8}@media (width<=820px){.sound-toggle{min-width:82px;bottom:10px;right:10px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
