@import url("https://fonts.googleapis.com/css2?family=Anton&family=Saira:wght@400;600;700;800&display=swap");:root{--ink:#eef2ff;--paper:#05070f;--surface:#131a30;--surface-2:#1b2444;--line:hsla(0,0%,100%,.12);--dim:#8b93a7;--dimmer:#5f677d;--accent:#d3ff2e;--accent-2:#a8e000;--accent-deep:#6d8f00;--accent-ink:#0a0e1c;--magenta:#ff2e7e;--magenta-deep:#b81f5a;--cyan:#21e6c1;--cyan-deep:#12b6a8;--gold:#f5c542;--gold-deep:#e0a91f;--blue:#8ea2ff;--blue-deep:#5566d8;--amber:#ff9a58;--amber-deep:#ff6a28;--win:var(--cyan);--loss:var(--magenta);--pitch:#0d1226;--pitch-2:#161f42}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}body,html{margin:0;padding:0;background:#05070f;color:var(--ink);font-family:Saira,-apple-system,Segoe UI,system-ui,sans-serif}.app-shell{max-width:440px;margin:0 auto;min-height:100vh;background:radial-gradient(120% 60% at 15% -10%,rgba(63,88,168,.35),transparent 60%),radial-gradient(80% 40% at 100% 0,rgba(211,255,46,.08),transparent 60%),var(--paper);display:flex;flex-direction:column;box-shadow:0 0 60px rgba(0,0,0,.6)}main{flex:1 1;display:flex;flex-direction:column;gap:14px;padding:20px 16px 24px}h1{font-family:Anton,Saira,sans-serif;font-weight:400;text-transform:uppercase;letter-spacing:.01em;font-size:1.3rem;line-height:.98;margin:0}a{color:var(--accent)}.row{gap:8px;flex-wrap:wrap}.row,.topbar{display:flex;align-items:center}.topbar{justify-content:space-between;margin-bottom:2px}.logo{font-family:Anton,Saira,sans-serif;font-weight:400;text-transform:uppercase;font-size:1.15rem;letter-spacing:.01em;gap:8px}.logo,.logo .crest{display:flex;align-items:center}.logo .crest{width:26px;height:26px;border-radius:8px;background:linear-gradient(150deg,#e4ff5c,#a8e000);justify-content:center;font-size:.9rem;box-shadow:0 2px 0 var(--accent-deep),0 0 14px rgba(211,255,46,.4)}.id-row{gap:10px}.flame,.id-row{display:flex;align-items:center}.flame{gap:3px;font-weight:800;font-size:.9rem;color:var(--amber)}.card,.panel{background:linear-gradient(165deg,hsla(0,0%,100%,.06),hsla(0,0%,100%,.02)),var(--surface);border:1px solid var(--line);border-radius:16px;padding:16px;box-shadow:0 16px 40px rgba(0,0,0,.45)}.eyebrow,.section-label{font-size:.66rem;font-weight:800;text-transform:uppercase;letter-spacing:.1em;color:var(--dim);margin:0 0 8px}.hero-card{background:linear-gradient(165deg,var(--pitch),var(--pitch-2));border:1px solid var(--line);border-radius:20px;padding:20px 18px;color:#eef2ff;position:relative;overflow:hidden;box-shadow:0 6px 0 #05070f,0 16px 34px rgba(0,0,0,.5)}.hero-card:before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(115deg,hsla(0,0%,100%,.03) 0 26px,transparent 26px 52px)}.hero-card .tag{position:relative;font-size:.68rem;font-weight:800;text-transform:uppercase;letter-spacing:.12em;color:#a9b4e0;margin-bottom:14px}a.chunky,button.chunky{font-family:Saira,inherit;width:100%;position:relative;border:none;border-radius:16px;padding:16px;font-weight:800;font-size:.95rem;letter-spacing:.01em;cursor:pointer;color:var(--accent-ink);background:linear-gradient(180deg,#e4ff5c,#b6ec00);box-shadow:0 5px 0 var(--accent-deep),0 10px 26px rgba(182,236,0,.35);transition:transform .08s ease,box-shadow .08s ease;text-decoration:none;text-align:center;box-sizing:border-box}a.chunky:active,button.chunky:active{transform:translateY(4px);box-shadow:0 1px 0 var(--accent-deep)}button.chunky:disabled{opacity:.5;cursor:default;transform:none}a.chunky.ghost,button.chunky.ghost{background:hsla(0,0%,100%,.06);color:var(--ink);border:1px solid var(--line);box-shadow:0 4px 0 rgba(0,0,0,.35)}a.chunky.ghost:active,button.chunky.ghost:active{box-shadow:0 1px 0 rgba(0,0,0,.35)}a.chunky.magenta,button.chunky.magenta{color:#fff;background:linear-gradient(120deg,#ff2e7e,#ff6a3d);box-shadow:0 5px 0 var(--magenta-deep),0 10px 26px rgba(255,46,126,.35)}a.chunky.magenta:active,button.chunky.magenta:active{box-shadow:0 1px 0 var(--magenta-deep)}a.chunky.cyan,button.chunky.cyan{color:var(--accent-ink);background:linear-gradient(120deg,#21e6c1,#12b6f0);box-shadow:0 5px 0 var(--cyan-deep),0 10px 26px rgba(33,230,193,.3)}a.chunky.cyan:active,button.chunky.cyan:active{box-shadow:0 1px 0 var(--cyan-deep)}.tile-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:10px;gap:10px}.tile-grid.cols-3{grid-template-columns:repeat(3,1fr)}.tile{position:relative;border:2px solid var(--line);border-radius:16px;padding:12px 10px;background:var(--surface);box-shadow:0 3px 0 rgba(0,0,0,.35);text-align:left;cursor:pointer;font-family:inherit;color:inherit;text-decoration:none;display:block;transition:border-color .12s ease,background .12s ease}.tile .ic-chip{width:34px;height:34px;border-radius:10px;background:var(--surface-2);display:flex;align-items:center;justify-content:center;font-size:1.05rem;margin-bottom:8px}.tile .t{font-weight:800;font-size:.84rem}.tile .d{font-size:.66rem;color:var(--dim);font-weight:600;margin-top:1px}.tile.active{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 12%,var(--surface));box-shadow:0 3px 0 var(--accent-deep),0 0 18px rgba(211,255,46,.25)}.tile .check,.tile.active .ic-chip{background:var(--accent);color:var(--accent-ink)}.tile .check{position:absolute;top:-6px;right:-6px;width:20px;height:20px;border-radius:50%;font-size:.68rem;font-weight:900;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 0 var(--accent-deep),0 0 0 3px var(--paper);opacity:0}.tile.active .check{opacity:1}.tile.compact{text-align:center;padding:12px 6px}.tile.compact .ic-chip{margin:0 auto 6px}.status-strip{display:flex;align-items:stretch;background:var(--surface);border:2px solid var(--line);border-radius:16px;box-shadow:0 3px 0 rgba(0,0,0,.35);overflow:hidden}.status-item{flex:1 1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:12px 4px;position:relative}.status-item+.status-item:before{content:"";position:absolute;left:0;top:14%;bottom:14%;width:1px;background:var(--line)}.status-item .badge-ic{width:32px;height:32px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:1rem}.status-item .v{font-family:Anton,Saira,sans-serif;font-weight:400;font-size:1.05rem;line-height:1;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.status-item .l{font-size:.6rem;text-transform:uppercase;letter-spacing:.07em;color:var(--dim);font-weight:700}.badge-ic.streak{background:color-mix(in srgb,var(--amber) 20%,var(--surface))}.badge-ic.rating{background:color-mix(in srgb,var(--accent) 18%,var(--surface))}.badge-ic.level{background:color-mix(in srgb,var(--cyan) 18%,var(--surface))}.ic-chip.cyan{background:color-mix(in srgb,var(--cyan) 24%,var(--surface))}.ic-chip.gold{background:color-mix(in srgb,var(--gold) 24%,var(--surface))}.ic-chip.blue{background:color-mix(in srgb,var(--blue) 24%,var(--surface))}.ic-chip.magenta{background:color-mix(in srgb,var(--magenta) 24%,var(--surface))}.tabbar{display:flex;gap:4px;border-top:1px solid var(--line);background:rgba(9,12,24,.92);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:8px 6px calc(8px + env(safe-area-inset-bottom, 10px));position:-webkit-sticky;position:sticky;bottom:0}.tab{flex:1 1;text-align:center;padding:7px 0;border-radius:12px;font-size:.58rem;font-weight:800;text-transform:uppercase;letter-spacing:.03em;color:var(--dim);text-decoration:none;display:block}.tab .ic{display:block;font-size:1.15rem;margin-bottom:2px}.tab.active{color:var(--accent-ink);background:linear-gradient(180deg,#e4ff5c,#b6ec00);box-shadow:0 0 14px rgba(211,255,46,.35)}.reward-row{display:flex;align-items:center;justify-content:center;gap:8px;background:linear-gradient(135deg,var(--accent-2),var(--accent-deep));color:var(--accent-ink);border-radius:12px;padding:12px;font-weight:800;font-size:.84rem;box-shadow:0 4px 0 var(--accent-deep)}.detail-card{border:1px solid var(--line);border-radius:12px;background:var(--surface);padding:14px;box-shadow:0 2px 0 rgba(0,0,0,.35)}.detail-row{display:flex;justify-content:space-between;font-size:.84rem;padding:6px 0;border-top:1px solid var(--line)}.detail-row:first-child{border-top:none}.detail-row .k{color:var(--dim);font-weight:600}.detail-row .v{font-weight:800}.goal-word{font-family:Anton,Saira,sans-serif;font-weight:400;text-transform:uppercase;font-size:2.4rem;letter-spacing:-.02em;margin:4px 0 2px;color:var(--accent);text-shadow:0 3px 0 rgba(0,0,0,.35),0 0 28px rgba(211,255,46,.45);animation:pop .45s cubic-bezier(.3,1.6,.5,1);text-align:center}.goal-word.save{color:var(--magenta);text-shadow:0 3px 0 rgba(0,0,0,.35),0 0 28px rgba(255,46,126,.4)}.reveal-caption{background:linear-gradient(165deg,var(--pitch),var(--pitch-2));border:1px solid var(--line);border-radius:16px;padding:14px 16px;text-align:center}.reveal-caption .hint{color:#cdd4ea}@keyframes pop{0%{transform:scale(.5);opacity:0}60%{transform:scale(1.1)}to{transform:scale(1);opacity:1}}.confetti-dot{position:absolute;border-radius:3px;z-index:2;animation:fall 1.6s ease-in forwards}@keyframes fall{0%{transform:translateY(-6px) rotate(0deg);opacity:1}to{transform:translateY(80px) rotate(280deg);opacity:0}}.score{font-family:Anton,Saira,sans-serif;font-weight:400;font-size:1.15rem;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.hint{color:var(--dim);font-size:.85rem;text-align:center}input:not([type]),input[type=text]{font:inherit;padding:12px 14px;border-radius:12px;border:2px solid var(--line);background:var(--surface-2);color:var(--ink)}table{width:100%;border-collapse:collapse;font-size:.85rem}th{text-align:left;font-size:.64rem;text-transform:uppercase;letter-spacing:.08em;color:var(--dim);font-weight:800;padding-bottom:8px}td{padding:8px 0;border-top:1px solid var(--line)}.voice-panel{margin-bottom:12px}.chat-panel{margin-top:12px}.chat-messages{gap:6px;max-height:220px;overflow-y:auto;border:2px solid var(--line);border-radius:14px;padding:10px;background:var(--surface);margin-bottom:8px}.chat-messages,.chat-msg{display:flex;flex-direction:column}.chat-msg{align-self:flex-start;max-width:80%;background:var(--surface-2);border-radius:10px;padding:6px 10px}.chat-msg.mine{align-self:flex-end;background:color-mix(in srgb,var(--accent) 18%,var(--surface))}.chat-msg-name{font-size:.62rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em;color:var(--dim)}.chat-msg-body{font-size:.85rem;font-weight:600;word-break:break-word}