:root{--bg: #070a16;--bg-2: #0b1022;--panel: rgba(17, 24, 45, .82);--panel-solid: #11182d;--panel-soft: rgba(24, 33, 58, .6);--line: rgba(160, 180, 220, .14);--line-strong: rgba(180, 200, 240, .28);--text: #e9eefc;--muted: #94a2c4;--accent: #7dd3c0;--accent-2: #b79cff;--gold: #ffd28a;--danger: #ff8a9a;--good: #8ef0c0;--radius: 18px;--font-sans: ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-serif: "Iowan Old Style", "Palatino Linotype", "Book Antiqua", Georgia, serif;color-scheme:dark}*{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--bg);color:var(--text);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent}body{min-height:100dvh;overflow-x:hidden}#root{min-height:100dvh}button,input{font:inherit;color:inherit}button{cursor:pointer;border:0;background:none}h1,h2,h3{font-family:var(--font-serif);font-weight:600;margin:0;letter-spacing:-.01em}h2{font-size:1.65rem;line-height:1.15}h3{font-size:1.15rem}p{margin:0;line-height:1.6}.muted{color:var(--muted)}.small{font-size:.82rem;line-height:1.5}.eyebrow{font-size:.68rem;letter-spacing:.18em;text-transform:uppercase;color:var(--accent);font-weight:700}.section-label{font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);font-weight:700;margin:22px 0 10px}.app{min-height:100dvh;background:radial-gradient(1200px 800px at 80% -10%,rgba(120,90,220,.18),transparent 60%),radial-gradient(900px 700px at 0% 100%,rgba(60,200,180,.12),transparent 55%),var(--bg)}.screen{min-height:100dvh}.menu-screen{width:100%;max-width:640px;margin:0 auto;padding:calc(18px + env(safe-area-inset-top)) 18px calc(28px + env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:14px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:13px 20px;border-radius:999px;font-weight:650;font-size:.94rem;border:1px solid transparent;transition:transform .15s ease,background .2s ease,border-color .2s ease,box-shadow .2s ease,opacity .2s ease;white-space:nowrap}.btn:active{transform:scale(.97)}.btn.primary{background:linear-gradient(135deg,var(--accent),var(--accent-2));color:#07101a;box-shadow:0 10px 30px #7dd3c040}.btn.primary:hover{box-shadow:0 14px 40px #7dd3c066}.btn.secondary{background:#7dd3c01f;border-color:#7dd3c066;color:var(--text)}.btn.ghost{background:#ffffff08;border-color:var(--line);color:var(--text)}.btn.ghost:hover{border-color:var(--line-strong);background:#ffffff0f}.btn.danger{background:#ff8a9a1f;border-color:#ff8a9a73;color:#ffc2cb}.btn.big{padding:16px 26px;font-size:1.02rem}.btn.tiny{padding:7px 12px;font-size:.76rem}.btn.wide{width:100%}.btn:disabled{opacity:.45;cursor:default}.icon-btn{width:42px;height:42px;min-width:42px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:#ffffff0a;border:1px solid var(--line);font-size:1.1rem;transition:background .2s ease,border-color .2s ease}.icon-btn:hover{background:#ffffff14;border-color:var(--line-strong)}.link-btn{color:var(--muted);font-size:.86rem;padding:6px 4px;border-bottom:1px solid transparent;transition:color .2s ease,border-color .2s ease}.link-btn:hover{color:var(--text);border-color:var(--accent)}.title-screen{position:relative;overflow:hidden;justify-content:center;align-items:center;text-align:center;padding-left:24px;padding-right:24px}.title-orbs{position:absolute;inset:0;overflow:hidden;pointer-events:none}.orb{position:absolute;border-radius:50%;filter:blur(60px);opacity:.5;animation:drift 18s ease-in-out infinite alternate}.orb-a{width:320px;height:320px;background:#7dd3c059;top:-80px;left:-60px}.orb-b{width:380px;height:380px;background:#b79cff4d;bottom:-120px;right:-80px;animation-delay:-6s}.orb-c{width:220px;height:220px;background:#ffd28a2e;top:40%;right:10%;animation-delay:-12s}.title-content{position:relative;z-index:1;max-width:520px;display:flex;flex-direction:column;align-items:center;gap:10px;padding:40px 0}.game-title{font-family:var(--font-sans);font-size:clamp(3.4rem,17vw,7rem);font-weight:800;letter-spacing:.14em;line-height:.95;margin:4px 0 0 .14em;background:linear-gradient(180deg,#f4ffff 0%,var(--accent) 55%,var(--accent-2) 100%);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 8px 40px rgba(125,211,192,.25))}.game-subtitle{font-size:.82rem;letter-spacing:.42em;text-transform:uppercase;color:var(--muted);margin-left:.42em}.title-copy{color:var(--muted);width:100%;overflow-wrap:break-word;font-size:.98rem;margin-top:10px;text-align:center}.title-stats{display:flex;gap:10px;margin-top:16px;width:100%;max-width:380px}.title-stats>div{flex:1;background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:10px 6px;display:flex;flex-direction:column;gap:2px;backdrop-filter:blur(10px)}.title-stats strong{font-size:1.25rem;color:var(--accent)}.title-stats span{font-size:.64rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}.title-actions{display:flex;flex-direction:column;gap:10px;width:100%;max-width:340px;margin-top:18px}.title-links{display:flex;align-items:center;gap:10px;margin-top:16px}.dot{width:3px;height:3px;border-radius:50%;background:var(--muted);opacity:.6}.title-footer{position:absolute;bottom:calc(16px + env(safe-area-inset-bottom));left:0;right:0;text-align:center;font-size:.7rem;color:var(--muted);opacity:.7;padding:0 20px}.menu-header{display:flex;align-items:center;gap:12px;padding:2px 0 4px}.menu-header>div:nth-child(2){flex:1;min-width:0}.menu-title{font-size:clamp(1.6rem,6vw,2.2rem);line-height:1.05}.map-summary{display:flex;gap:8px}.summary-pill{flex:1;background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:9px 12px;display:flex;align-items:baseline;justify-content:space-between;gap:6px}.pill-label{font-size:.64rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}.summary-pill strong{font-size:1rem;color:var(--accent)}.chapter-list{display:flex;flex-direction:column;gap:10px}.chapter-card{position:relative;display:flex;align-items:center;gap:14px;width:100%;text-align:left;padding:15px 14px;border-radius:20px;background:linear-gradient(135deg,rgba(255,255,255,.035),transparent 60%),var(--panel);border:1px solid var(--line);overflow:hidden;transition:transform .16s ease,border-color .2s ease,background .2s ease}.chapter-card:before{content:"";position:absolute;inset:0;background:radial-gradient(420px 160px at 10% 0%,color-mix(in srgb,var(--chapter-accent) 22%,transparent),transparent 70%);opacity:0;transition:opacity .25s ease;pointer-events:none}.chapter-card.current:before,.chapter-card:hover:before{opacity:1}.chapter-card:hover:not(:disabled){transform:translateY(-2px);border-color:var(--line-strong)}.chapter-card.current{border-color:color-mix(in srgb,var(--chapter-accent) 55%,transparent);box-shadow:0 10px 40px #00000059}.chapter-card.completed{opacity:.92}.chapter-card.locked{opacity:.42;cursor:not-allowed}.chapter-number{width:46px;height:46px;min-width:46px;border-radius:14px;display:flex;align-items:center;justify-content:center;font-size:.95rem;font-weight:700;color:var(--chapter-accent);background:#ffffff0d;border:1px solid color-mix(in srgb,var(--chapter-accent) 30%,transparent)}.chapter-body{flex:1;min-width:0;position:relative;z-index:1}.chapter-kicker{font-size:.64rem;letter-spacing:.12em;text-transform:uppercase;color:var(--chapter-accent);font-weight:700;margin-bottom:3px}.chapter-title{font-family:var(--font-serif);font-size:1.18rem;font-weight:600;line-height:1.1}.chapter-theme{color:var(--muted);font-size:.78rem;margin-top:2px;line-height:1.4}.chapter-meta{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:7px;font-size:.68rem;color:var(--muted)}.chapter-meta .difficulty{color:var(--chapter-accent);letter-spacing:1px}.chapter-meta .difficulty em{font-style:normal;opacity:.35}.keystone-chip{padding:3px 8px;border-radius:999px;background:#ffffff0d;border:1px solid var(--line);color:var(--text);font-size:.64rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.chapter-arrow{color:var(--chapter-accent);font-size:1.1rem;position:relative;z-index:1}.endless-card{position:relative;overflow:hidden;text-align:left;padding:18px;border-radius:22px;border:1px solid rgba(183,156,255,.35);background:radial-gradient(500px 220px at 90% 0%,rgba(183,156,255,.2),transparent 60%),linear-gradient(135deg,#7dd3c01a,#b79cff0f),var(--panel);color:var(--text)}.endless-glow{position:absolute;width:180px;height:180px;right:-40px;top:-70px;border-radius:50%;background:#b79cff47;filter:blur(50px);pointer-events:none}.endless-title{font-family:var(--font-serif);font-size:1.5rem;margin:2px 0 4px}.endless-card p{color:var(--muted);font-size:.86rem;max-width:420px}.endless-best{margin-top:10px;font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--accent-2)}.bottom-nav{display:flex;gap:8px;padding:8px;margin-top:4px;border-radius:18px;background:#090d1ad1;border:1px solid var(--line);backdrop-filter:blur(14px)}.nav-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:7px;padding:11px 6px;border-radius:12px;color:var(--muted);font-size:.8rem;font-weight:600;transition:background .2s ease,color .2s ease}.nav-btn:hover{background:#ffffff0d;color:var(--text)}.nav-btn span{color:var(--accent)}.journal-count{font-size:.8rem;color:var(--muted);padding:6px 10px;border-radius:999px;border:1px solid var(--line);background:#ffffff08}.equipped-banner{border-radius:18px;border:1px solid rgba(125,211,192,.28);background:radial-gradient(300px 120px at 0% 0%,rgba(125,211,192,.14),transparent 70%),var(--panel);padding:14px}.equipped-row{display:flex;align-items:center;gap:12px;margin-top:6px}.equipped-row>div{flex:1;min-width:0}.tech-icon{font-size:1.5rem;line-height:1;color:var(--tech-color, var(--accent));display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;min-width:42px;border-radius:12px;background:#ffffff0a;border:1px solid var(--line)}.tech-icon.big{width:58px;height:58px;min-width:58px;font-size:2rem;border-radius:16px;background:color-mix(in srgb,var(--tech-color) 14%,transparent);border-color:color-mix(in srgb,var(--tech-color) 35%,transparent)}.tech-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.tech-card{text-align:left;padding:13px;border-radius:17px;background:radial-gradient(220px 100px at 0% 0%,color-mix(in srgb,var(--tech-color) 13%,transparent),transparent 70%),var(--panel);border:1px solid var(--line);display:flex;flex-direction:column;gap:5px;min-height:148px;transition:transform .16s ease,border-color .2s ease}.tech-card:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--tech-color) 45%,transparent)}.tech-card.is-equipped{border-color:color-mix(in srgb,var(--tech-color) 60%,transparent);box-shadow:0 8px 30px #0000004d}.tech-card-top{display:flex;align-items:center;justify-content:space-between;gap:6px}.kind-badge{font-size:.58rem;letter-spacing:.1em;text-transform:uppercase;color:var(--tech-color, var(--accent));border:1px solid color-mix(in srgb,var(--tech-color, var(--accent)) 35%,transparent);border-radius:999px;padding:3px 7px;white-space:nowrap}.tech-name{font-family:var(--font-serif);font-size:1rem;font-weight:600;line-height:1.1}.tech-tagline{font-size:.72rem;color:var(--muted);line-height:1.4;flex:1}.tech-type{font-size:.6rem;letter-spacing:.08em;text-transform:uppercase;color:var(--tech-color, var(--accent));opacity:.9}.tech-actions{display:flex;gap:6px;margin-top:8px}.empty-state{text-align:center;padding:40px 20px;display:flex;flex-direction:column;align-items:center;gap:8px}.empty-icon{font-size:2.4rem;color:var(--accent);opacity:.6}.journal-note{margin-top:8px;padding:16px;border-radius:18px;border:1px solid var(--line);background:var(--panel-soft)}.journal-note p{color:var(--muted);font-size:.86rem;margin-top:6px}.journal-footer{display:flex;justify-content:space-between;gap:12px;color:var(--muted);font-size:.72rem;padding-top:8px}.modal-backdrop{position:fixed;inset:0;z-index:120;display:flex;align-items:center;justify-content:center;padding:16px;background:#03060eb8;backdrop-filter:blur(10px);overflow-y:auto;animation:fadeIn .18s ease both}.modal-inner{width:100%;max-width:580px;margin:auto}.modal-card{position:relative;width:100%;background:radial-gradient(600px 240px at 50% 0%,rgba(125,211,192,.08),transparent 60%),var(--panel-solid);border:1px solid var(--line-strong);border-radius:24px;padding:22px;box-shadow:0 30px 90px #0009;animation:slideUp .22s ease both}.modal-card.narrow{max-width:430px}.modal-card h2{margin-bottom:6px}.modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:18px;flex-wrap:wrap}.modal-actions.wrap{justify-content:center}.tech-detail-head{display:flex;gap:14px;align-items:flex-start}.tech-detail-head h2{margin-top:2px}.tech-detail-head .muted{margin-top:3px;font-size:.86rem}.effect-pill{margin-top:14px;padding:10px 14px;border-radius:12px;background:color-mix(in srgb,var(--tech-color) 12%,transparent);border:1px solid color-mix(in srgb,var(--tech-color) 30%,transparent);color:var(--text);font-size:.84rem}.steps{margin:0;padding-left:20px;display:flex;flex-direction:column;gap:7px;color:var(--muted);font-size:.88rem}.steps li::marker{color:var(--tech-color, var(--accent));font-weight:700}.steps.compact{font-size:.8rem;gap:5px}.why-box{margin-top:16px;padding:13px 15px;border-radius:14px;background:#ffffff08;border:1px solid var(--line)}.why-box p{margin-top:4px;font-size:.82rem;color:var(--muted)}.practice-card{max-width:480px;margin:0 auto;text-align:center}.practice-title{margin:6px 0 4px;font-size:1.5rem}.breath-stage{position:relative;width:230px;height:230px;margin:14px auto 8px;display:flex;align-items:center;justify-content:center}.breath-ring{position:absolute;inset:0;border-radius:50%;border:1px dashed color-mix(in srgb,var(--tech-color) 35%,transparent);opacity:.7}.breath-circle{width:170px;height:170px;border-radius:50%;background:radial-gradient(circle at 35% 30%,rgba(255,255,255,.5),transparent 45%),radial-gradient(circle at 50% 50%,color-mix(in srgb,var(--tech-color) 75%,transparent),color-mix(in srgb,var(--tech-color) 25%,transparent));box-shadow:0 0 60px color-mix(in srgb,var(--tech-color) 45%,transparent);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;transition:transform .1s linear;color:#06121a}.breath-phase{font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;font-weight:800;opacity:.8}.breath-count{font-size:2.4rem;font-weight:800;line-height:1}.practice-meta{display:flex;align-items:center;justify-content:center;gap:14px;color:var(--muted);font-size:.78rem;margin-bottom:8px}.practice-steps{text-align:left;margin-top:14px;padding-left:0;list-style:none}.practice-steps li{display:flex;gap:10px;align-items:flex-start;color:var(--muted)}.practice-steps li.done span{color:var(--text);text-decoration:line-through;opacity:.7}.practice-steps .check{width:22px;height:22px;min-width:22px;border-radius:7px;border:1px solid var(--line-strong);background:#ffffff08;color:var(--accent);font-size:.8rem;display:inline-flex;align-items:center;justify-content:center;margin-top:1px}.practice-why{margin-top:14px;font-size:.78rem;color:var(--muted);font-style:italic}.support-card{padding:18px;border-radius:20px;border:1px solid var(--line);background:var(--panel)}.support-card h2{font-size:1.25rem;margin-bottom:6px}.support-card p{color:var(--muted);font-size:.88rem}.support-card.soft{background:var(--panel-soft)}.support-card.soft h3{margin-bottom:6px}.support-card.soft p{font-size:.84rem}.resource-list{display:flex;flex-direction:column;gap:8px}.resource{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border-radius:15px;border:1px solid var(--line);background:var(--panel)}.resource-region{font-size:.6rem;letter-spacing:.12em;text-transform:uppercase;color:var(--accent);font-weight:700}.resource-name{font-size:.92rem;font-weight:600;margin-top:2px}.plain-list{margin:0;padding-left:18px;color:var(--muted);font-size:.84rem;display:flex;flex-direction:column;gap:7px}.plain-list li::marker{color:var(--accent)}.settings-group{padding:16px;border-radius:20px;border:1px solid var(--line);background:var(--panel);display:flex;flex-direction:column;gap:10px}.sync-code-row{display:flex;align-items:center;gap:10px}.sync-code-row code{flex:1;min-width:0;padding:10px 12px;border-radius:12px;border:1px solid var(--line);background:#0000004d;color:var(--accent);font-family:var(--font-mono, monospace);font-size:.72rem;overflow-wrap:anywhere}.field-label{font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);font-weight:700}.text-input{width:100%;padding:12px 14px;border-radius:12px;border:1px solid var(--line);background:#00000040;color:var(--text);outline:none;transition:border-color .2s ease}.text-input:focus{border-color:var(--accent)}.toggle-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:10px 0;text-align:left;border-bottom:1px solid var(--line)}.toggle-row:last-child{border-bottom:0}.toggle-label{font-size:.92rem;font-weight:600}.switch{width:46px;height:27px;min-width:46px;border-radius:999px;background:#ffffff1a;border:1px solid var(--line);position:relative;transition:background .2s ease}.toggle-row.on .switch{background:linear-gradient(135deg,var(--accent),var(--accent-2));border-color:transparent}.knob{position:absolute;top:3px;left:3px;width:19px;height:19px;border-radius:50%;background:#fff;transition:transform .2s ease}.toggle-row.on .knob{transform:translate(19px)}.settings-stat-row{display:flex;gap:8px;flex-wrap:wrap;color:var(--muted);font-size:.78rem}.settings-stat-row span{padding:5px 9px;border-radius:999px;background:#ffffff0a;border:1px solid var(--line)}.settings-about p{color:var(--muted);font-size:.84rem;margin-top:6px}.game-screen{position:fixed;inset:0;overflow:hidden;background:#05070d;touch-action:none;user-select:none;-webkit-user-select:none}.game-canvas{position:absolute;inset:0;width:100%;height:100%;display:block}.hud{position:absolute;inset:0 0 auto;padding:calc(10px + env(safe-area-inset-top)) 12px 0;pointer-events:none;z-index:10;display:flex;flex-direction:column;gap:6px}.hud-top{display:flex;align-items:center;gap:10px}.hud-btn{pointer-events:auto;width:40px;height:40px;min-width:40px;border-radius:12px;background:#090d1ab8;border:1px solid var(--line);color:var(--text);font-size:.72rem;letter-spacing:1px;backdrop-filter:blur(10px)}.hud-chapter{flex:1;min-width:0;text-align:center;text-shadow:0 2px 12px rgba(0,0,0,.7)}.hud-kicker{font-size:.58rem;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.hud-title{font-family:var(--font-serif);font-size:1rem;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.hud-level{display:flex;align-items:baseline;gap:4px;padding:6px 10px;border-radius:10px;background:#090d1ab8;border:1px solid var(--line);backdrop-filter:blur(10px)}.hud-level span{font-size:.55rem;letter-spacing:.1em;color:var(--muted)}.hud-level strong{font-size:.95rem;color:var(--gold)}.progress-row{display:flex;align-items:center;gap:8px}.progress-track{position:relative;flex:1;height:7px;border-radius:999px;background:#ffffff1a;overflow:visible}.progress-fill{height:100%;border-radius:999px;background:linear-gradient(90deg,var(--accent),var(--accent-2));transition:width .2s linear}.progress-runner{position:absolute;top:50%;width:10px;height:10px;border-radius:50%;background:#fff;transform:translate(-50%,-50%);box-shadow:0 0 10px var(--accent)}.progress-label{font-size:.62rem;color:var(--text);white-space:nowrap;text-shadow:0 1px 8px rgba(0,0,0,.8)}.progress-label span{color:var(--muted)}.bars{width:min(100%,470px);display:flex;flex-direction:column;gap:4px;margin-top:2px}.bar-row{display:flex;align-items:center;gap:6px}.bar-icon{width:14px;font-size:.72rem;color:var(--danger);text-align:center}.bar-icon.focus{color:#8ecbff}.bar-icon.xp{color:var(--gold)}.bar-track{flex:1;height:7px;border-radius:999px;background:#0000006b;border:1px solid rgba(255,255,255,.08);overflow:hidden}.bar-row.xp .bar-track{height:4px}.bar-fill{height:100%;border-radius:999px;transition:width .15s linear}.bar-fill.resolve{background:linear-gradient(90deg,#ff9db0,#ffd28a)}.bar-fill.resolve.low{background:linear-gradient(90deg,#ff5f76,#ff8a9a);animation:lowPulse 1s ease-in-out infinite}.bar-fill.focus{background:linear-gradient(90deg,#5ba8ff,#8ee6ff)}.bar-fill.xp{background:linear-gradient(90deg,var(--gold),#fff0c2)}.bar-label{font-size:.55rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);width:34px;text-align:right}.bar-value{min-width:40px;text-align:right;font-size:.6rem;color:var(--muted);text-shadow:0 1px 6px rgba(0,0,0,.8)}.boss-bar{margin-top:4px;width:min(100%,520px)}.boss-name{display:flex;align-items:baseline;gap:8px;margin-bottom:3px}.boss-name span{font-family:var(--font-serif);font-size:.92rem;font-weight:600;color:var(--text);text-shadow:0 2px 10px rgba(0,0,0,.8)}.boss-name em{font-style:normal;font-size:.58rem;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.boss-track{height:10px;border-radius:999px;background:#00000080;border:1px solid rgba(255,138,154,.35);overflow:hidden}.boss-fill{height:100%;background:linear-gradient(90deg,#ff5f76,#ffb4a2);transition:width .18s ease}.combo-badge,.shield-badge{position:absolute;right:12px;padding:5px 10px;border-radius:999px;font-size:.64rem;font-weight:700;letter-spacing:.06em;background:#090d1ab8;border:1px solid var(--line);backdrop-filter:blur(8px)}.combo-badge{top:104px;color:var(--gold)}.shield-badge{top:136px;color:#9fe0ff}.controls{position:absolute;left:0;right:0;bottom:0;z-index:20;padding:10px 10px calc(10px + env(safe-area-inset-bottom));display:grid;grid-template-columns:repeat(4,1fr);gap:8px;background:linear-gradient(180deg,transparent,rgba(3,6,14,.55) 35%)}.ctrl{height:70px;border-radius:16px;border:1px solid var(--line);background:#0c1222c7;backdrop-filter:blur(10px);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;color:var(--text);touch-action:none;transition:transform .1s ease,background .15s ease,border-color .15s ease}.ctrl:active{transform:scale(.96);background:#7dd3c029;border-color:#7dd3c073}.ctrl-key{font-size:1.25rem;line-height:1.1;color:var(--accent)}.ctrl-label{font-size:.66rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.ctrl-hint{font-size:.54rem;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%;padding:0 4px}.ctrl-jump .ctrl-key{color:var(--accent)}.ctrl-slide .ctrl-key{color:#8ecbff}.ctrl-pulse .ctrl-key{color:var(--gold)}.ctrl-tech .ctrl-key{color:var(--accent-2)}.overlay{position:absolute;inset:0;z-index:60;display:flex;align-items:center;justify-content:center;padding:16px;padding-top:calc(16px + env(safe-area-inset-top));padding-bottom:calc(16px + env(safe-area-inset-bottom));background:#03060eb8;backdrop-filter:blur(9px);overflow-y:auto;animation:fadeIn .2s ease both}.intro-card,.level-card,.complete-card{position:relative;width:100%;max-width:560px;margin:auto;background:radial-gradient(600px 260px at 50% 0%,color-mix(in srgb,var(--chapter-accent, var(--accent)) 14%,transparent),transparent 65%),var(--panel-solid);border:1px solid var(--line-strong);border-radius:24px;padding:22px;box-shadow:0 30px 90px #000000a6;animation:slideUp .24s ease both}.intro-title{font-size:1.8rem;margin:4px 0 6px}.intro-text{color:var(--muted);font-size:.92rem;line-height:1.65}.intro-keystone{margin-top:14px;padding:12px 14px;border-radius:14px;border:1px solid var(--line);background:#ffffff08}.intro-keystone-row{display:flex;align-items:center;gap:11px;margin-top:5px}.intro-keystone-row>div{min-width:0}.intro-controls{display:grid;grid-template-columns:repeat(2,1fr);gap:6px;margin:14px 0 10px;font-size:.72rem;color:var(--muted)}kbd{display:inline-block;min-width:20px;padding:2px 6px;margin-right:4px;border-radius:6px;border:1px solid var(--line-strong);background:#0000004d;color:var(--text);font-family:var(--font-sans);font-size:.66rem;text-align:center}.intro-note{font-size:.66rem;color:var(--muted);opacity:.8;line-height:1.5;margin-bottom:14px}.pause-actions{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin-top:16px}.pause-actions .btn{width:100%}.level-card{max-width:820px;text-align:center}.level-card h2{margin-top:2px}.level-card>.muted{margin-top:4px;font-size:.86rem}.level-choices{display:grid;grid-template-columns:1fr;gap:10px;margin-top:16px;text-align:left}.level-choice{display:flex;flex-direction:column;gap:5px;padding:15px;border-radius:18px;border:1px solid var(--line);background:radial-gradient(260px 120px at 0% 0%,color-mix(in srgb,var(--tech-color) 16%,transparent),transparent 70%),#ffffff06;color:var(--text);transition:transform .16s ease,border-color .2s ease,background .2s ease}.level-choice:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--tech-color) 55%,transparent);background:radial-gradient(260px 120px at 0% 0%,color-mix(in srgb,var(--tech-color) 24%,transparent),transparent 70%),#ffffff0a}.level-choice-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.level-choice-name{font-family:var(--font-serif);font-size:1.15rem;font-weight:600;line-height:1.1}.level-choice-tagline{color:var(--muted);font-size:.8rem;line-height:1.4}.level-choice-effect{font-size:.76rem;color:var(--tech-color);margin-top:2px}.level-choice-type{font-size:.6rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-top:2px}.complete-card{max-width:600px;overflow:hidden}.complete-glow{position:absolute;top:-80px;left:50%;transform:translate(-50%);width:340px;height:200px;border-radius:50%;background:#ffd28a2e;filter:blur(60px);pointer-events:none}.complete-card h2{font-size:2rem;margin:4px 0 6px}.complete-outro{color:var(--muted);font-size:.9rem;line-height:1.6}.keystone-card{margin-top:14px;padding:14px;border-radius:16px;border:1px solid color-mix(in srgb,var(--tech-color) 40%,transparent);background:radial-gradient(300px 120px at 0% 0%,color-mix(in srgb,var(--tech-color) 16%,transparent),transparent 70%),#ffffff08}.keystone-head{display:flex;align-items:center;gap:12px;margin:6px 0 10px}.run-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-top:16px}.run-stats>div{padding:10px 6px;border-radius:12px;background:#ffffff08;border:1px solid var(--line);display:flex;flex-direction:column;align-items:center;gap:2px}.run-stats strong{font-size:1.05rem;color:var(--accent)}.run-stats span{font-size:.56rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);text-align:center}.small-stats{grid-template-columns:repeat(3,1fr)}.dead-card h2{font-size:1.9rem}.dead-tip{margin-top:14px;padding:12px 14px;border-radius:14px;background:#7dd3c012;border:1px solid rgba(125,211,192,.2)}.dead-tip p{color:var(--muted);font-size:.82rem;margin-top:4px}.boss-banner{position:absolute;top:34%;left:50%;transform:translate(-50%,-50%);z-index:30;text-align:center;pointer-events:none;animation:bossIn .5s ease both;width:min(90%,480px)}.boss-banner-name{font-family:var(--font-serif);font-size:clamp(2rem,9vw,3.2rem);font-weight:700;color:#fff;text-shadow:0 0 40px rgba(255,138,154,.6),0 4px 20px rgba(0,0,0,.8);line-height:1.05}.boss-banner-title{color:var(--muted);font-size:.8rem;margin-top:4px;text-shadow:0 2px 10px rgba(0,0,0,.8)}.toast{position:fixed;left:50%;bottom:calc(18px + env(safe-area-inset-bottom));transform:translate(-50%);z-index:300;max-width:min(90vw,460px);padding:10px 16px;border-radius:999px;background:#0c1222eb;border:1px solid var(--line-strong);color:var(--text);font-size:.8rem;text-align:center;box-shadow:0 14px 40px #00000080;backdrop-filter:blur(12px);animation:toastIn .24s ease both}.toast.good{border-color:#8ef0c080;color:#c9ffe4}.toast.bad{border-color:#ff8a9a80;color:#ffd0d6}.game-screen .toast{top:auto;bottom:calc(96px + env(safe-area-inset-bottom))}@keyframes drift{0%{transform:translateZ(0) scale(1)}to{transform:translate3d(40px,-30px,0) scale(1.12)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@keyframes toastIn{0%{opacity:0;transform:translate(-50%,10px)}to{opacity:1;transform:translate(-50%)}}@keyframes bossIn{0%{opacity:0;transform:translate(-50%,-50%) scale(1.15);filter:blur(6px)}to{opacity:1;transform:translate(-50%,-50%) scale(1);filter:blur(0)}}@keyframes lowPulse{0%,to{opacity:1}50%{opacity:.55}}@media (min-width: 620px){.menu-screen{padding-left:24px;padding-right:24px}.tech-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.level-choices{grid-template-columns:repeat(3,1fr)}.controls{left:50%;transform:translate(-50%);width:min(100%,640px);border-radius:22px 22px 0 0}.ctrl{height:78px}}@media (max-width: 380px){.ctrl{height:62px}.ctrl-hint{display:none}.hud-title{font-size:.9rem}.run-stats{grid-template-columns:repeat(2,1fr)}}@media (max-height: 560px) and (orientation: landscape){.controls{padding-top:4px;padding-bottom:calc(4px + env(safe-area-inset-bottom))}.ctrl{height:56px}.ctrl-hint{display:none}.hud{gap:3px}.boss-banner{top:30%}.intro-card,.level-card,.complete-card{max-height:88dvh;overflow-y:auto}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}}
