@import"https://fonts.googleapis.com/css2?family=Bricolage+Grotesque:opsz,wght@12..96,500;12..96,600;12..96,800&display=swap";:root{--paper: oklch(19% .025 256);--surface: oklch(24% .028 256);--surface-2:oklch(29% .03 256);--fg: oklch(94% .012 90);--muted: oklch(68% .02 256);--border: oklch(100% 0 0 / .1);--ink-line: oklch(100% 0 0 / .2);--gold: oklch(81% .14 84);--gold-ink: oklch(84% .14 84);--gold-soft:oklch(81% .14 84 / .16);--navy: oklch(31% .045 256);--navy-2: oklch(23% .04 256);--btn-light:oklch(93% .02 88);--success: oklch(74% .15 150);--success-soft: oklch(74% .15 150 / .16);--danger: oklch(68% .19 27);--danger-soft: oklch(68% .19 27 / .16);--radius: 16px;--radius-sm:11px;--shadow: 0 14px 40px oklch(0% 0 0 / .45);--shadow-sm:0 4px 14px oklch(0% 0 0 / .3);--font-display: "Bricolage Grotesque", "Trebuchet MS", system-ui, sans-serif;--font-body: -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif;--font-mono: ui-monospace, "SF Mono", "JetBrains Mono", Menlo, monospace;--shell: oklch(13% .02 256);--rail: 236px;--bar-h: 66px}*{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%}body{font-family:var(--font-body);color:var(--fg);background:var(--shell);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.55;min-height:100dvh}.screen{position:relative;width:100%;max-width:460px;height:100dvh;margin:0 auto;background:var(--paper);display:flex;flex-direction:column;overflow:hidden}.screen[hidden]{display:none}.play-cols,.pc-left,.pc-right{display:contents}@media(min-width:768px){body{background:var(--shell)}.screen:has(.tabbar){max-width:none;width:100%;height:auto;min-height:100dvh;display:block;background:var(--paper);overflow:visible}.screen:has(.tabbar) .appbar{position:fixed;top:0;left:0;right:0;height:var(--bar-h);padding-inline:28px;z-index:40}.screen:has(.tabbar) .tabbar{position:fixed;left:0;top:var(--bar-h);bottom:0;width:var(--rail);display:flex;flex-direction:column;align-items:stretch;gap:4px;padding:18px 14px;background:#091019;border-top:none;border-right:1px solid var(--border);backdrop-filter:none;-webkit-backdrop-filter:none}.screen:has(.tabbar) .tabbar a{flex-direction:row;justify-content:flex-start;gap:14px;padding:12px 14px;border-radius:12px;font-size:14px}.screen:has(.tabbar) .tabbar a svg{width:22px;height:22px}.screen:has(.tabbar) .tabbar a.active{background:var(--gold-soft)}.screen:has(.tabbar) .tabbar a:hover{background:#ffffff0d}.screen:has(.tabbar) .body{margin-left:var(--rail);padding:calc(var(--bar-h) + 34px) 40px 48px}.screen:has(.tabbar) .body>*{max-width:880px;margin-left:auto;margin-right:auto}.screen:has(.tabbar) .body>*+*{margin-top:18px}.screen:has(.tabbar) .kpis{grid-template-columns:repeat(3,1fr)}.screen:has(.tabbar) .albgrid{grid-template-columns:1fr 1fr}.screen:not(:has(.tabbar)){max-width:none;width:100%;margin:0;border:none}.screen:not(:has(.tabbar)) #stage{width:100%;margin-inline:auto}.screen:not(:has(.tabbar)) #stage:not(:has(.hud)){max-width:460px}.screen:not(:has(.tabbar)) #stage:has(.hud){max-width:1040px}.play-cols{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(330px,.85fr);column-gap:34px;align-items:start;margin-top:18px}.pc-left,.pc-right{display:block;min-width:0}.pc-left>:first-child,.pc-right>:first-child{margin-top:0}}.appbar{display:flex;align-items:center;gap:12px;padding:14px 18px;background:var(--paper);border-bottom:1px solid var(--border);position:relative;z-index:20;flex:none}.appbar .back{width:40px;height:40px;display:grid;place-items:center;border-radius:12px;border:1px solid var(--border);background:var(--surface);color:var(--fg);text-decoration:none;flex:none}.appbar .back:active{background:var(--surface-2)}.appbar h1{font:700 18px/1.1 var(--font-display);letter-spacing:-.01em}.appbar .spacer{flex:1}.brand{display:inline-flex;align-items:center;gap:9px;text-decoration:none;color:var(--fg)}.brand .menhir{width:26px;height:26px;flex:none}.brand b{font:800 19px/1 var(--font-display);letter-spacing:-.02em}.brand b .g{color:var(--gold-ink)}.body{flex:1 1 auto;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:18px 18px 24px}.body.no-tabs{padding-bottom:24px}.tabbar{position:relative;flex:none;display:grid;grid-template-columns:repeat(4,1fr);background:#0e1621eb;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-top:1px solid var(--border);z-index:20}.tabbar a{display:flex;flex-direction:column;align-items:center;gap:3px;padding:10px 4px calc(10px + env(safe-area-inset-bottom));text-decoration:none;color:var(--muted);font:600 10.5px/1 var(--font-body);letter-spacing:.01em;min-height:44px}.tabbar a svg{width:23px;height:23px}.tabbar a.active{color:var(--gold-ink)}.tabbar a.active svg{stroke:var(--gold-ink)}.eyebrow{font:600 11.5px/1 var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--gold-ink)}.display{font-family:var(--font-display);letter-spacing:-.02em}h2.title{font:800 24px/1.08 var(--font-display);letter-spacing:-.02em}h3.sub{font:700 15px/1.2 var(--font-display);letter-spacing:-.01em}.muted{color:var(--muted)}.tnum{font-variant-numeric:tabular-nums;font-family:var(--font-mono)}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:18px;box-shadow:var(--shadow-sm)}.card+.card{margin-top:14px}.card.ink{background:radial-gradient(130% 120% at 100% 0%,oklch(81% .14 84 / .18),transparent 52%),var(--navy);border-color:#ffffff14}.btn{font:700 16px/1 var(--font-display);letter-spacing:-.01em;border:none;border-radius:13px;padding:15px 20px;min-height:52px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:9px;text-decoration:none;transition:transform .06s ease,filter .15s ease,background .15s ease;width:100%}.btn:active{transform:translateY(1px)}.btn-primary{background:var(--btn-light);color:var(--navy-2)}.btn-primary:hover{filter:brightness(1.05)}.btn-gold{background:var(--gold);color:var(--navy-2)}.btn-gold:hover{filter:brightness(1.06)}.btn-ghost{background:var(--surface);color:var(--fg);border:1.5px solid var(--ink-line)}.btn-soft{background:var(--surface-2);color:var(--fg)}.btn[disabled]{opacity:.5;pointer-events:none}.btn.sm{min-height:42px;padding:10px 16px;font-size:14px;width:auto}.seg{display:flex;gap:8px;flex-wrap:wrap}.seg button{font:600 13.5px/1 var(--font-body);border:1.5px solid var(--border);background:var(--surface);color:var(--fg);border-radius:999px;padding:10px 15px;min-height:42px;cursor:pointer;display:inline-flex;align-items:center;gap:7px}.seg button .cnt{color:var(--muted);font-variant-numeric:tabular-nums}.seg button[aria-pressed=true]{background:var(--gold-soft);color:var(--gold-ink);border-color:var(--gold)}.seg button[aria-pressed=true] .cnt{color:var(--gold-ink)}.tiles{display:grid;grid-template-columns:1fr 1fr;gap:10px}.tile{text-align:left;border:1.5px solid var(--border);background:var(--surface);border-radius:14px;padding:14px;cursor:pointer;min-height:84px;display:flex;flex-direction:column;gap:3px;justify-content:center;color:var(--fg)}.tile .t-name{font:700 15px/1.1 var(--font-display)}.tile .t-desc{font-size:12px;color:var(--muted);line-height:1.35}.tile[aria-pressed=true]{border-color:var(--gold);background:var(--gold-soft);box-shadow:inset 0 0 0 1px var(--gold)}.pill{display:inline-flex;align-items:center;gap:6px;background:var(--surface-2);border-radius:999px;padding:6px 12px;font-size:12.5px;font-weight:600;color:var(--fg)}.pill .v{font-family:var(--font-mono);color:var(--gold-ink)}.pill-row{display:flex;gap:8px;flex-wrap:wrap}.panel{position:relative;border-radius:14px;border:2px solid var(--ink-line);background:radial-gradient(circle at 30% 30%,oklch(81% .12 84 / .28),transparent 40%),radial-gradient(circle at 72% 64%,oklch(70% .1 230 / .22),transparent 44%),repeating-radial-gradient(circle at 0 0,oklch(100% 0 0 / .07) 0 1.4px,transparent 1.4px 7px),var(--surface-2);background-size:auto,auto,14px 14px,auto;overflow:hidden;box-shadow:4px 4px #00000040}.panel .panel-tag{position:absolute;left:10px;top:10px;background:#0e1621e6;border:1px solid var(--border);border-radius:8px;padding:4px 9px;font:600 10.5px/1 var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.panel .panel-mark{position:absolute;inset:0;display:grid;place-items:center;color:#ffffff47}.panel .panel-note{position:absolute;left:0;right:0;bottom:0;background:#0e1621d9;border-top:1px solid var(--border);padding:8px 12px;font-size:12px;color:var(--muted)}.rows{display:flex;flex-direction:column}.rowi{display:grid;grid-template-columns:28px 1fr auto;align-items:center;gap:12px;padding:12px 4px;border-bottom:1px solid var(--border)}.rowi:last-child{border-bottom:none}.rowi .rk{font:700 14px/1 var(--font-mono);color:var(--muted);text-align:center}.rowi .nm{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rowi .vv{font-family:var(--font-mono);font-weight:700}.rowi.me{background:var(--gold-soft);border-radius:10px;border-bottom-color:transparent;padding-left:8px;padding-right:8px}.rowi.me .rk{color:var(--gold-ink)}.albgrid{display:grid;grid-template-columns:1fr;gap:8px}.albcell{display:grid;grid-template-columns:1fr 52px 56px;align-items:center;gap:10px;background:var(--surface-2);border-radius:11px;padding:11px 13px;min-height:48px}.albcell .a-name{font-size:13.5px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.albcell .a-acc{font:700 14px/1 var(--font-mono);text-align:right}.albcell .a-frac{font:600 12px/1 var(--font-mono);color:var(--muted);text-align:right}.albcell .bar{grid-column:1 / -1;height:5px;border-radius:999px;background:#ffffff1a;overflow:hidden}.albcell .bar>i{display:block;height:100%;border-radius:999px}.kpis{display:grid;grid-template-columns:1fr 1fr;gap:10px}.kpi{background:var(--surface);border:1px solid var(--border);border-radius:13px;padding:13px 14px}.kpi .k-v{font:800 24px/1 var(--font-display);letter-spacing:-.02em}.kpi .k-v .u{font-size:14px;color:var(--muted);font-weight:600}.kpi .k-l{font-size:11.5px;color:var(--muted);margin-top:4px;font-weight:600;letter-spacing:.01em}.kpi.hot .k-v{color:var(--gold-ink)}.field{margin-top:14px}.field label{display:block;font-size:12.5px;font-weight:600;color:var(--muted);margin-bottom:6px}.input{width:100%;font:400 16px/1.3 var(--font-body);padding:14px;border:1.5px solid var(--border);border-radius:12px;background:var(--surface-2);color:var(--fg)}.input::placeholder{color:#7e8792}.input:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 3px var(--gold-soft)}.err{color:var(--danger);font-size:13px;min-height:18px;margin-top:7px;font-weight:600}.orline{display:flex;align-items:center;gap:12px;margin:16px 0;color:var(--muted);font-size:12.5px}.orline:before,.orline:after{content:"";flex:1;height:1px;background:var(--border)}.stack>*+*{margin-top:12px}.row{display:flex;gap:10px;align-items:center}.between{display:flex;align-items:center;justify-content:space-between;gap:10px}.center{text-align:center}.grow{flex:1}.mt8{margin-top:8px}.mt12{margin-top:12px}.mt16{margin-top:16px}.mt24{margin-top:24px}.small{font-size:12.5px}.quick-grid{display:grid;grid-template-columns:1fr 1fr;grid-auto-rows:1fr;gap:12px;align-items:stretch}.quick-grid .card+.card{margin-top:0}.quick{display:flex;flex-direction:column;gap:4px;text-decoration:none;color:inherit;padding:15px;height:100%}.quick .q-title{font:800 17px/1.1 var(--font-display);letter-spacing:-.01em;margin-top:2px}.reveal{border-radius:13px;padding:14px 16px;font-weight:600}.reveal.ok{background:var(--success-soft);color:var(--success);border:1px solid color-mix(in oklch,var(--success),transparent 55%)}.reveal.ko{background:var(--danger-soft);color:var(--danger);border:1px solid color-mix(in oklch,var(--danger),transparent 55%)}.reveal .pts{font-family:var(--font-mono)}.choices{display:grid;grid-template-columns:1fr;gap:10px}.choice{text-align:left;font:600 15px/1.25 var(--font-body);border:1.5px solid var(--border);background:var(--surface);color:var(--fg);border-radius:13px;padding:14px 16px;cursor:pointer;min-height:54px;display:flex;align-items:center;gap:12px}.choice .ch-n{font:700 13px/1 var(--font-mono);color:var(--muted);flex:none;width:22px}.choice:active{transform:translateY(1px)}.choice.correct{background:var(--success-soft);border-color:var(--success);color:var(--success)}.choice.correct .ch-n{color:var(--success)}.choice.wrong{background:var(--danger-soft);border-color:var(--danger);color:var(--danger)}.choice[disabled]{cursor:default}.suggest{list-style:none;margin-top:8px;max-height:60vh;overflow-y:auto;display:flex;flex-direction:column;gap:6px}.suggest li{padding:12px 14px;border:1px solid var(--border);border-radius:11px;background:var(--surface);cursor:pointer;min-height:46px;display:flex;align-items:center;gap:10px;font-weight:500;color:var(--fg)}.suggest li .s-n{font:700 12px/1 var(--font-mono);color:var(--muted)}.suggest li[aria-selected=true]{background:var(--gold-soft);border-color:var(--gold);color:var(--gold-ink)}.suggest li[aria-selected=true] .s-n{color:var(--gold-ink)}.progress{display:flex;align-items:center;gap:8px}.progress .track{flex:1;height:7px;border-radius:999px;background:var(--surface-2);overflow:hidden}.progress .track>i{display:block;height:100%;background:var(--gold);border-radius:999px;transition:width .3s ease}.progress .lbl{font:700 12px/1 var(--font-mono);color:var(--muted)}.hud{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.hud .h-cell{text-align:center;background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:9px 6px}.hud .h-v{font:800 19px/1 var(--font-display)}.hud .h-l{font:600 10px/1 var(--font-body);letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin-top:4px}.hud .timer.warn .h-v{color:var(--danger)}a.link{color:var(--gold-ink);font-weight:600;text-decoration:none}a.textlink{color:var(--muted);text-decoration:none;font-size:12.5px}a.textlink:hover{color:var(--fg)}
