:root{--pitch-green: #16a34a;--stadium-green: #14532d;--button-rim: #15803d;--moss: #166534;--cta-green: #006b2c;--mint: #f0fdf4;--gold: #f59e0b;--gold-rim: #d97706;--gold-badge-bg: #fef3c7;--gold-badge-text: #92400e;--peach: #ffe0b2;--coral: #ef4444;--sky: #0ea5e9;--canvas: #fafaf7;--surface-lavender: #f9f9ff;--surface-lavender-2: #f1f3ff;--surface-lavender-3: #e9edff;--card: #ffffff;--border: #e5e7eb;--track: #f3f4f6;--text-primary: #111827;--text-secondary: #6b7280;--chalk: rgba(255, 255, 255, .85);--green-ink: #14532d;--green-border: #bbf7d0;--tint-blue-bg: #e0f2fe;--tint-blue-fg: #0369a1;--tint-orange-bg: #ffedd5;--tint-orange-fg: #ea580c;--tint-red-bg: #fee2e2;--tint-red-fg: #b91c1c;--tint-amber-bg: #fef3c7;--tint-amber-border: #fde68a;--warm-a: #fff3e0;--warm-b: #ffe0b2;--warm-border: #fed7aa;--error-bg: #fef2f2;--warn-bg: #fff7ed;--card-glass: rgba(255, 255, 255, .92);--r-card: 16px;--r-btn: 12px;--r-input: 12px;--r-pill: 999px;--s-1: 4px;--s-2: 8px;--s-3: 12px;--s-4: 16px;--s-5: 20px;--s-6: 24px;--s-8: 32px;--s-10: 40px;--s-12: 48px;--e-1: 0 2px 4px rgba(17, 24, 39, .04), 0 8px 16px rgba(17, 24, 39, .03);--e-2: 0 4px 6px -1px rgba(17, 24, 39, .07), 0 12px 24px -4px rgba(20, 83, 45, .08);--e-modal-backdrop: rgba(17, 24, 39, .5);--font-head: "Outfit", system-ui, -apple-system, "Segoe UI", sans-serif;--font-body: "Inter", system-ui, -apple-system, "Segoe UI", sans-serif;--font-num: "Barlow Condensed", "Inter", sans-serif;--focus-ring: 0 0 0 3px rgba(22, 163, 74, .15);--content-max: 1200px;--tabbar-h: 68px;--appbar-h: 60px;--flyout-w: 320px;--ease-out: cubic-bezier(.22, 1, .36, 1);--dur-token: .36s}:root[data-theme=dark]{color-scheme:dark;--moss: #86efac;--mint: #12301f;--green-ink: #86efac;--green-border: #1f5a37;--gold-badge-bg: #3a2a08;--gold-badge-text: #fcd34d;--peach: #3a2a12;--canvas: #0e1411;--surface-lavender: #171f1b;--surface-lavender-2: #1c2622;--surface-lavender-3: #222e28;--card: #18211c;--border: #2b3830;--track: #212c26;--text-primary: #f3f4f6;--text-secondary: #9ca3af;--tint-blue-bg: #0c2a3d;--tint-blue-fg: #7dd3fc;--tint-orange-bg: #3a1f0d;--tint-orange-fg: #fdba74;--tint-red-bg: #3b1414;--tint-red-fg: #fca5a5;--tint-amber-bg: #3a2a08;--tint-amber-border: #5c4310;--warm-a: #2e2210;--warm-b: #3a2a12;--warm-border: #5c4310;--error-bg: #2f1517;--warn-bg: #2f2010;--card-glass: rgba(24, 33, 28, .92);--e-1: 0 2px 4px rgba(0, 0, 0, .3), 0 8px 16px rgba(0, 0, 0, .25);--e-2: 0 4px 6px -1px rgba(0, 0, 0, .4), 0 12px 24px -4px rgba(0, 0, 0, .35);--e-modal-backdrop: rgba(0, 0, 0, .65);--focus-ring: 0 0 0 3px rgba(74, 222, 128, .25)}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--canvas);color:var(--text-primary);font-family:var(--font-body);font-size:16px;line-height:24px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}h1,h2,h3,h4,h5,h6,p,figure,blockquote{margin:0}ul,ol{margin:0;padding:0;list-style:none}button{font:inherit;color:inherit;border:0;background:none;cursor:pointer}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}:focus-visible{outline:2px solid var(--pitch-green);outline-offset:2px;border-radius:6px;box-shadow:var(--focus-ring)}.t-headline-xl{font-family:var(--font-head);font-weight:800;font-size:30px;line-height:36px;letter-spacing:-.02em}.t-headline-lg{font-family:var(--font-head);font-weight:700;font-size:24px;line-height:30px;letter-spacing:-.015em}.t-headline-md{font-family:var(--font-head);font-weight:700;font-size:20px;line-height:26px;letter-spacing:-.01em}.t-headline-sm{font-family:var(--font-head);font-weight:600;font-size:18px;line-height:24px}.t-body-lg{font-size:16px;line-height:24px}.t-body-md{font-size:14px;line-height:20px}.t-body-sm{font-size:12px;line-height:16px}.t-label-meta{font-family:var(--font-body);font-weight:600;font-size:11px;line-height:14px;text-transform:uppercase;letter-spacing:.04em}.t-score-lg,.t-score-md,.t-num{font-family:var(--font-num);font-weight:700;font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1}.t-score-lg{font-size:36px;line-height:1}.t-score-md{font-size:24px;line-height:1}@media(min-width:841px){.t-headline-xl{font-size:40px;line-height:48px}.t-headline-lg{font-size:32px;line-height:40px}}.text-secondary{color:var(--text-secondary)}.msym{font-family:Material Symbols Outlined;font-weight:400;font-style:normal;line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;white-space:nowrap;word-wrap:normal;direction:ltr;-webkit-font-feature-settings:"liga";-webkit-font-smoothing:antialiased;font-variation-settings:"FILL" 0,"wght" 400,"GRAD" 0,"opsz" 24;-webkit-user-select:none;user-select:none}.msym[data-fill="1"]{font-variation-settings:"FILL" 1,"wght" 400,"GRAD" 0,"opsz" 24}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}}.app-shell{min-height:100dvh;background:var(--canvas)}.app-body{display:block}.app-main{padding-bottom:calc(var(--tabbar-h) + env(safe-area-inset-bottom,0px) + 16px)}.page{width:100%;max-width:520px;margin:0 auto;padding:16px;display:flex;flex-direction:column;gap:16px}.appbar{position:sticky;top:0;z-index:40;background:var(--card);border-bottom:1px solid var(--border)}.appbar__inner{max-width:var(--content-max);margin:0 auto;min-height:var(--appbar-h);padding:8px 16px;display:flex;align-items:center;gap:10px}.appbar__brand{display:flex;align-items:center;gap:8px;margin-right:auto;min-width:0}.appbar__logo{height:22px;width:auto;flex:none}.appbar__wordmark{font-family:var(--font-head);font-weight:700;font-size:17px;letter-spacing:-.02em;color:var(--green-ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.streak-pill{display:inline-flex;align-items:center;gap:4px;height:32px;padding:0 10px;border-radius:var(--r-pill);background:var(--peach);color:var(--gold-badge-text);flex:none}.streak-pill .msym{font-size:18px;color:#f97316}.streak-pill__n{font-size:18px;line-height:1}.avatar{position:relative;width:36px;height:36px;flex:none}.avatar__img{width:36px;height:36px;border-radius:50%;background:linear-gradient(135deg,#a7f3d0,#6ee7b7);border:2px solid var(--card);box-shadow:0 0 0 1px var(--border);display:grid;place-items:center;font-family:var(--font-head);font-weight:700;font-size:14px;color:var(--green-ink);overflow:hidden}.avatar__level{position:absolute;right:-3px;bottom:-3px;min-width:18px;height:18px;padding:0 3px;border-radius:var(--r-pill);background:var(--pitch-green);color:#fff;border:2px solid var(--card);font-family:var(--font-num);font-weight:700;font-size:11px;display:grid;place-items:center}.tabbar{position:fixed;left:0;right:0;bottom:0;z-index:50;background:var(--card);border-top:1px solid var(--border);padding-bottom:env(safe-area-inset-bottom,0px);box-shadow:0 -2px 12px #1118270a}.tabbar__inner{display:grid;grid-template-columns:repeat(6,1fr);max-width:520px;margin:0 auto}.tab{min-height:var(--tabbar-h);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;padding:8px 2px;color:var(--text-secondary);transition:color .16s var(--ease-out)}.tab .msym{font-size:24px}.tab__label{font-family:var(--font-body);font-weight:600;font-size:11px;line-height:14px}.tab.is-active{color:var(--green-ink)}.tab.is-active .msym{font-variation-settings:"FILL" 1,"wght" 600,"GRAD" 0,"opsz" 24}.sidebar,.flyout{display:none}.card{background:var(--card);border:1px solid var(--border);border-radius:var(--r-card);box-shadow:var(--e-1)}.card--pad{padding:16px}.card--pad-lg{padding:24px}.fp{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:12px 20px;border-radius:var(--r-btn);font-family:var(--font-head);font-weight:600;font-size:16px;line-height:20px;text-align:center;transition:transform 90ms var(--ease-out),box-shadow 90ms var(--ease-out),background-color .16s var(--ease-out);-webkit-user-select:none;user-select:none}.fp--block{display:flex;width:100%}.fp .msym{font-size:20px}.fp--primary{background:var(--cta-green);color:#fff;box-shadow:0 4px 0 var(--button-rim)}.fp--primary:hover{background:#057a33}.fp--gold{background:var(--gold);color:#fff;box-shadow:0 4px 0 var(--gold-rim)}.fp--gold:hover{background:#ea9308}.fp--primary:active{transform:translateY(4px);box-shadow:0 0 0 var(--button-rim)}.fp--gold:active{transform:translateY(4px);box-shadow:0 0 0 var(--gold-rim)}.fp--secondary{background:var(--card);color:var(--text-primary);border:2px solid var(--border)}.fp--secondary:hover{background:var(--canvas)}.fp--secondary:active{transform:translateY(2px)}.fp--soft{background:var(--surface-lavender-2);color:var(--text-primary);border:1px solid var(--surface-lavender-3)}.fp--soft:hover{background:var(--surface-lavender-3)}.fp--soft:active{transform:translateY(2px)}.fp--tertiary{background:none;color:var(--sky);min-height:44px;padding:10px 12px;font-weight:600}.fp--tertiary:hover{text-decoration:underline}.fp--sm{min-height:40px;padding:8px 14px;font-size:14px}.fp:disabled,.fp[aria-disabled=true]{opacity:.45;cursor:not-allowed;transform:none}.icon-btn{width:44px;height:44px;flex:none;display:grid;place-items:center;border-radius:var(--r-pill);color:var(--text-primary);transition:background-color .16s var(--ease-out)}.icon-btn:hover{background:var(--track)}.icon-btn--chevron{width:36px;height:36px;background:var(--surface-lavender-2);color:var(--green-ink)}.icon-btn--outline{border:1px solid var(--border);background:var(--card)}.pill{display:inline-flex;align-items:center;gap:6px;padding:5px 10px;border-radius:var(--r-pill);font-family:var(--font-body);font-weight:600;font-size:12px;line-height:16px;white-space:nowrap}.stack>.pill{align-self:flex-start}.pill--green{background:var(--mint);color:var(--moss)}.pill--green-solid{background:var(--pitch-green);color:#fff}.pill--dark{background:var(--stadium-green);color:#fff}.pill--gold{background:var(--gold-badge-bg);color:var(--gold-badge-text)}.pill--peach{background:var(--peach);color:var(--gold-badge-text)}.pill--lavender{background:var(--surface-lavender-2);color:#4338ca}.pill--blue{background:var(--tint-blue-bg);color:var(--tint-blue-fg)}.pill--red{background:var(--tint-red-bg);color:var(--tint-red-fg)}.pill--grey{background:var(--track);color:var(--text-secondary)}.pill--ghost{background:#ffffff29;color:#fff}.pill--white{background:var(--card);color:var(--text-primary)}.pill .msym{font-size:14px}.chip-row{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;padding:2px 0}.chip-row::-webkit-scrollbar{display:none}.chip{flex:none;min-height:36px;padding:8px 14px;border-radius:var(--r-pill);background:var(--card);border:1px solid var(--border);color:var(--text-primary);font-family:var(--font-body);font-weight:600;font-size:13px;line-height:18px;display:inline-flex;align-items:center;gap:6px;transition:background-color .16s var(--ease-out),color .16s var(--ease-out),border-color .16s var(--ease-out)}.chip .msym{font-size:16px}.chip:hover{background:var(--canvas)}.chip.is-active{background:var(--stadium-green);border-color:var(--green-ink);color:#fff}.chip--on{background:var(--mint);border-color:var(--green-border);color:var(--moss)}.chip--amber{background:var(--tint-amber-bg);border-color:var(--tint-amber-border);color:var(--gold-badge-text)}.lang{position:relative;display:inline-flex;background:var(--track);border-radius:var(--r-pill);padding:3px;flex:none}.lang__thumb{position:absolute;top:3px;bottom:3px;left:3px;width:calc(50% - 3px);border-radius:var(--r-pill);background:var(--card);box-shadow:0 2px 4px #00000014;transition:transform .28s var(--ease-out)}.lang__thumb[data-i="1"]{transform:translate(100%)}.lang__seg{position:relative;z-index:1;min-width:40px;padding:5px 10px;border-radius:var(--r-pill);font-family:var(--font-body);font-weight:600;font-size:12px;line-height:16px;color:var(--text-secondary);transition:color .2s var(--ease-out)}.lang__seg.is-active{color:var(--text-primary)}.lang__seg:after{content:"";position:absolute;top:-9px;right:-2px;bottom:-9px;left:-2px}.lang--wide .lang__seg{min-width:76px;padding:7px 12px}.xpbar{position:relative;height:14px;border-radius:var(--r-pill);background:var(--track);overflow:hidden}.xpbar__fill{position:relative;height:100%;border-radius:var(--r-pill);background:linear-gradient(180deg,#fbbf24 0%,var(--gold) 55%,var(--gold-rim) 100%);box-shadow:inset 0 1px #ffffff8c;transition:width .6s var(--ease-out);overflow:hidden}.xpbar__fill:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(100deg,transparent 20%,rgba(255,255,255,.55) 50%,transparent 80%);transform:translate(-100%);animation:xp-shimmer 2.6s var(--ease-out) infinite}@keyframes xp-shimmer{0%{transform:translate(-100%)}60%{transform:translate(100%)}to{transform:translate(100%)}}.progress{height:10px;border-radius:var(--r-pill);background:var(--track);overflow:hidden}.progress__fill{height:100%;border-radius:var(--r-pill);background:var(--pitch-green);transition:width .5s var(--ease-out)}.tile{width:44px;height:44px;flex:none;border-radius:12px;display:grid;place-items:center}.tile .msym{font-size:22px}.tile--blue{background:var(--tint-blue-bg);color:var(--tint-blue-fg)}.tile--orange{background:var(--tint-orange-bg);color:var(--tint-orange-fg)}.tile--red{background:var(--tint-red-bg);color:var(--tint-red-fg)}.tile--green{background:var(--mint);color:var(--moss)}.tile--gold{background:var(--gold-badge-bg);color:var(--gold-badge-text)}.tile--lavender{background:var(--surface-lavender-2);color:#4338ca}.tile--greensolid{background:var(--pitch-green);color:#fff}.tile--goldsolid{background:var(--gold);color:#fff}.tile--circle{border-radius:50%}.tile--lg{width:52px;height:52px}.tile--lg .msym{font-size:26px}.input{width:100%;min-height:48px;padding:12px 14px;border-radius:var(--r-input);background:var(--canvas);border:1px solid var(--border);font-family:var(--font-body);font-size:14px;line-height:20px;color:var(--text-primary)}.input:focus{outline:none;border-color:var(--pitch-green);box-shadow:var(--focus-ring)}.section-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.stack{display:flex;flex-direction:column}.stack-1{gap:4px}.stack-2{gap:8px}.stack-3{gap:12px}.stack-4{gap:16px}.stack-6{gap:24px}.row{display:flex;align-items:center}.row-2{gap:8px}.row-3{gap:12px}.row-4{gap:16px}.grow{flex:1 1 auto;min-width:0}.wrap{flex-wrap:wrap}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.scrim{position:fixed;top:0;right:0;bottom:0;left:0;z-index:90;background:var(--e-modal-backdrop);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:flex;align-items:flex-end;justify-content:center;animation:scrim-in .2s var(--ease-out)}@keyframes scrim-in{0%{opacity:0}to{opacity:1}}.drawer{width:100%;max-width:520px;background:var(--card);border-radius:24px 24px 0 0;padding:24px 20px calc(24px + env(safe-area-inset-bottom,0px));box-shadow:var(--e-2);animation:drawer-up .32s var(--ease-out);text-align:center}@keyframes drawer-up{0%{transform:translateY(100%)}to{transform:translateY(0)}}.drawer__handle{width:40px;height:4px;border-radius:var(--r-pill);background:var(--border);margin:0 auto 16px}.drawer__medal{width:76px;height:76px;margin:0 auto;border-radius:50%;background:radial-gradient(circle at 35% 30%,#fde68a,var(--gold));display:grid;place-items:center;box-shadow:0 8px 20px #d977064d}.drawer__medal .msym{font-size:40px;color:#fff}.confetti{position:fixed;top:0;right:0;bottom:0;left:0;z-index:95;pointer-events:none;overflow:hidden}.confetti__bit{position:absolute;top:-16px;width:9px;height:14px;border-radius:2px;animation:confetti-fall linear forwards}@keyframes confetti-fall{0%{transform:translateY(-20px) rotate(0);opacity:1}to{transform:translateY(105vh) rotate(720deg);opacity:.9}}.skeleton{display:block;width:100%;border-radius:var(--r-card);background:linear-gradient(90deg,var(--track) 25%,var(--border) 37%,var(--track) 63%);background-size:400% 100%;animation:skeleton-sweep 1.4s ease infinite}@keyframes skeleton-sweep{0%{background-position:100% 50%}to{background-position:0 50%}}@media(prefers-reduced-motion:reduce){.skeleton{animation:none}}.theme-toggle{display:inline-grid;place-items:center;width:36px;height:36px;flex:none;border:0;border-radius:50%;background:var(--track);color:var(--text-primary);cursor:pointer}.theme-toggle:hover{background:var(--surface-lavender-3)}.theme-toggle:focus-visible{outline:none;box-shadow:var(--focus-ring)}.pitch{position:relative;width:100%;border-radius:var(--r-card);overflow:hidden;background:var(--stadium-green);isolation:isolate}.pitch__turf{position:absolute;top:0;right:0;bottom:0;left:0;background-color:var(--stadium-green);background-image:repeating-linear-gradient(180deg,rgba(22,163,74,.55) 0,rgba(22,163,74,.55) var(--stripe, 7.6923%),rgba(22,101,52,.38) var(--stripe, 7.6923%),rgba(22,101,52,.38) calc(var(--stripe, 7.6923%) * 2))}.pitch__turf:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse at 50% 50%,transparent 45%,rgba(5,46,22,.35) 100%)}.pitch__lines{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.chalk{position:absolute;border:2px solid var(--chalk)}.chalk--outer{top:3%;right:3%;bottom:3%;left:3%;border-radius:2px}.chalk--halfway{left:3%;right:3%;top:50%;border:0;border-top:2px solid var(--chalk)}.chalk--circle{left:50%;top:50%;width:34%;aspect-ratio:1;transform:translate(-50%,-50%);border-radius:50%}.chalk--spot{left:50%;top:50%;width:6px;height:6px;transform:translate(-50%,-50%);border-radius:50%;background:var(--chalk);border:0}.chalk--pen-top{left:22%;right:22%;top:3%;height:15%;border-top:0}.chalk--pen-bottom{left:22%;right:22%;bottom:3%;height:15%;border-bottom:0}.chalk--six-top{left:36%;right:36%;top:3%;height:6.5%;border-top:0}.chalk--six-bottom{left:36%;right:36%;bottom:3%;height:6.5%;border-bottom:0}.chalk--arc-top{left:50%;top:18%;width:18%;aspect-ratio:2 / 1;transform:translate(-50%);border-radius:0 0 100% 100%;border-top:0}.chalk--arc-bottom{left:50%;bottom:18%;width:18%;aspect-ratio:2 / 1;transform:translate(-50%);border-radius:100% 100% 0 0;border-bottom:0}.pitch__zones{position:absolute;top:3%;right:3%;bottom:3%;left:3%;display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(5,1fr);pointer-events:none;opacity:0;transition:opacity .26s var(--ease-out)}.pitch__zones.is-on{opacity:1}.pitch__zones>span{border:1px dashed rgba(255,255,255,.28);background:#ffffff0d}.pitch__zones>span:nth-child(3n+2){background:#ffffff17}.offside{position:absolute;left:0;right:0;height:0;border-top:2px dashed #f97316;box-shadow:0 0 12px #f9731699;transition:top .38s var(--ease-out);pointer-events:none}.offside__flag{position:absolute;right:8px;top:-13px;background:var(--pitch-green);color:#fff;font-family:var(--font-body);font-weight:600;font-size:10px;line-height:14px;padding:4px 8px;border-radius:var(--r-pill);white-space:nowrap;box-shadow:0 2px 6px #00000040}.ptoken{position:absolute;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;gap:2px;transition:top var(--dur-token) var(--ease-out),left var(--dur-token) var(--ease-out);z-index:3}.ptoken__disc{position:relative;width:34px;height:34px;border-radius:50%;background:#fff;color:var(--stadium-green);display:grid;place-items:center;font-family:var(--font-num);font-weight:700;font-variant-numeric:tabular-nums;font-size:17px;line-height:1;box-shadow:inset 0 1px #ffffffe6,0 3px #00000038,0 4px 8px #00000040;transition:background-color .22s var(--ease-out),color .22s var(--ease-out),transform .22s var(--ease-out)}.ptoken:hover .ptoken__disc{transform:translateY(-2px)}.ptoken__code{font-family:var(--font-body);font-weight:600;font-size:9px;line-height:12px;letter-spacing:.04em;color:#ffffffeb;text-shadow:0 1px 2px rgba(0,0,0,.5);white-space:nowrap}.ptoken__name{font-family:var(--font-body);font-weight:600;font-size:9px;line-height:12px;color:#ffffffd1;text-shadow:0 1px 2px rgba(0,0,0,.55);white-space:nowrap}.ptoken--gk .ptoken__disc{background:#fde68a;color:#78350f}.ptoken--selected{z-index:6}.ptoken--selected .ptoken__disc{background:linear-gradient(180deg,#fbbf24,var(--gold));color:#fff;transform:scale(1.12);box-shadow:inset 0 1px #fff9,0 3px 0 var(--gold-rim),0 0 0 4px #f59e0b47,0 6px 14px #0000004d}.ptoken__star{position:absolute;top:-8px;right:-8px;width:18px;height:18px;border-radius:50%;background:#fff;color:var(--gold);display:grid;place-items:center;box-shadow:0 2px 4px #00000040}.ptoken__star .msym{font-size:12px;font-variation-settings:"FILL" 1}.heatblob{position:absolute;left:50%;top:50%;width:116px;height:116px;transform:translate(-50%,-50%);border-radius:50%;background:radial-gradient(circle,rgba(245,158,11,.45) 0%,rgba(245,158,11,.16) 45%,transparent 70%);pointer-events:none;z-index:-1;animation:heat-breathe 2.8s ease-in-out infinite}@keyframes heat-breathe{0%,to{transform:translate(-50%,-50%) scale(1);opacity:.9}50%{transform:translate(-50%,-50%) scale(1.12);opacity:1}}.ptoken--highlight .ptoken__disc{background:#bbf7d0;color:var(--moss)}.pitch__hint{position:absolute;left:10px;bottom:10px;z-index:5;background:#1118278c;color:#fff;font-family:var(--font-body);font-weight:600;font-size:10px;line-height:14px;padding:5px 10px;border-radius:var(--r-pill);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.pass-path{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:2}.pass-path path{fill:none;stroke:#4ade80;stroke-width:1.6;stroke-linecap:round;stroke-dasharray:5 4;animation:pass-march 1.4s linear infinite;filter:drop-shadow(0 0 3px rgba(74,222,128,.6))}@keyframes pass-march{to{stroke-dashoffset:-18}}.pitch--mini .ptoken__disc{width:26px;height:26px;font-size:14px;box-shadow:inset 0 1px #ffffffe6,0 2px #00000038,0 3px 6px #00000040}.pitch--mini .ptoken__code{font-size:8px;line-height:11px}.hero{position:relative;border-radius:20px;overflow:hidden;background:var(--stadium-green);padding:20px;color:#fff;box-shadow:var(--e-2)}.hero__turf{position:absolute;top:0;right:0;bottom:0;left:0;background-image:repeating-linear-gradient(180deg,#16a34a33 0,#16a34a33 26px,#14532d00 26px,#14532d00 52px)}.hero__inner{position:relative;display:flex;flex-direction:column;gap:16px}.hero h1{color:#fff;max-width:14ch}.hero__sub{color:#ffffffd1;font-size:14px;line-height:20px;max-width:34ch}.hero__pitch{--stripe: 10%;aspect-ratio:16 / 11;border:1px solid rgba(255,255,255,.14)}.hero__actions{display:flex;flex-direction:column;gap:10px}.immersion{background:var(--surface-lavender-2);border:1px solid var(--surface-lavender-3);border-radius:var(--r-card);padding:16px;display:flex;flex-direction:column;gap:12px}.immersion__note{background:var(--card);border-radius:12px;padding:12px;display:flex;align-items:flex-start;gap:10px;box-shadow:var(--e-1)}.immersion__note .msym{color:var(--pitch-green);font-size:20px;flex:none}.drill{background:linear-gradient(135deg,var(--warm-a),var(--warm-b));border:1px solid var(--warm-border);border-radius:var(--r-card);padding:16px;display:flex;align-items:center;gap:14px}.drill__body{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:6px}.drill__flag{width:46px;height:46px;flex:none;border-radius:50%;background:linear-gradient(180deg,#fbbf24,var(--gold));color:#fff;display:grid;place-items:center;box-shadow:0 3px 0 var(--gold-rim)}.drill__flag .msym{font-size:24px}.roadmap{display:flex;align-items:flex-start;justify-content:space-between;position:relative;padding-top:4px}.roadmap:before{content:"";position:absolute;left:12%;right:12%;top:22px;height:3px;background:var(--border);border-radius:var(--r-pill)}.roadmap>li{position:relative;z-index:1;flex:1 1 0;display:flex}.roadmap__step{flex:1 1 0;display:flex;flex-direction:column;align-items:center;gap:6px;padding:2px 0;text-align:center;border-radius:12px;transition:background-color .16s var(--ease-out)}.roadmap__step:hover{background:var(--surface-lavender-2)}.roadmap__badge{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:var(--track);color:var(--text-secondary);border:3px solid var(--card);box-shadow:0 0 0 1px var(--border)}.roadmap__badge .msym{font-size:20px}.roadmap__step.is-done .roadmap__badge{background:var(--pitch-green);color:#fff;box-shadow:0 0 0 1px var(--pitch-green)}.roadmap__step.is-current .roadmap__badge{background:var(--mint);color:var(--moss);box-shadow:0 0 0 3px #16a34a40}.roadmap__label{font-family:var(--font-body);font-weight:600;font-size:11px;line-height:14px;color:var(--text-secondary)}.roadmap__step.is-done .roadmap__label,.roadmap__step.is-current .roadmap__label{color:var(--text-primary)}.module{display:flex;align-items:center;gap:14px;padding:16px;text-align:left;width:100%;transition:transform .16s var(--ease-out),box-shadow .16s var(--ease-out)}.module:hover{transform:translateY(-2px);box-shadow:var(--e-2)}.module__body{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:4px}.module__meta{display:flex;align-items:center;flex-wrap:wrap;gap:2px 6px;font-family:var(--font-body);font-weight:600;font-size:11px;line-height:14px;letter-spacing:.04em;text-transform:uppercase}.module__meta .dot{color:var(--border)}.module__meta .dur{color:var(--text-secondary)}.module__desc{color:var(--text-secondary);font-size:13px;line-height:18px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.division{display:flex;flex-direction:column;gap:14px}.weekstrip{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}.weekstrip__day{display:flex;flex-direction:column;align-items:center;gap:4px}.weekstrip__dot{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:var(--track);color:#cbd5e1}.weekstrip__dot .msym{font-size:16px}.weekstrip__day.is-done .weekstrip__dot{background:var(--pitch-green);color:#fff}.weekstrip__day.is-today .weekstrip__dot{background:var(--gold);color:#fff;box-shadow:0 0 0 3px #f59e0b40}.weekstrip__letter{font-family:var(--font-body);font-weight:600;font-size:10px;line-height:14px;color:var(--text-secondary)}.path{position:relative;display:flex;flex-direction:column;padding:8px 0 16px}.path__link{height:32px;pointer-events:none}.path__link svg{display:block;width:100%;height:100%;overflow:visible}.path__row{position:relative;z-index:1;display:flex;justify-content:center}.path__row[data-align=left]{justify-content:flex-start;padding-left:8%}.path__row[data-align=right]{justify-content:flex-end;padding-right:8%}.node{position:relative;display:flex;flex-direction:column;align-items:center;gap:8px;width:132px}.node__stars{display:flex;gap:2px;height:14px;color:var(--gold)}.node__stars .msym{font-size:14px;font-variation-settings:"FILL" 1}.node__tag{background:var(--stadium-green);color:#fff;font-family:var(--font-body);font-weight:700;font-size:9px;line-height:12px;letter-spacing:.06em;padding:4px 8px;border-radius:var(--r-pill);white-space:nowrap}.node__btn{display:block;border-radius:50%;line-height:0}.node__disc{width:64px;height:64px;border-radius:50%;display:grid;place-items:center;background:var(--pitch-green);color:#fff;box-shadow:inset 0 2px #ffffff47,0 5px 0 var(--button-rim),0 8px 14px #14532d2e;transition:transform .14s var(--ease-out),box-shadow .14s var(--ease-out)}.node__disc .msym{font-size:30px}.node__btn:active .node__disc{transform:translateY(5px);box-shadow:0 0 0 var(--button-rim)}.node--unlocked .node__disc{background:var(--card);color:var(--pitch-green);box-shadow:inset 0 2px #ffffffe6,0 5px 0 var(--border),0 8px 14px #11182714}.node--locked .node__disc{background:var(--surface-lavender-3);color:#a5b4fc;box-shadow:0 4px #dbe0f5}.node--locked .node__btn{cursor:not-allowed}.node--active .node__disc{width:76px;height:76px;position:relative}.node--active .node__disc .msym{font-size:36px}.node--active .node__disc:before{content:"";position:absolute;top:-8px;right:-8px;bottom:-8px;left:-8px;border-radius:50%;border:3px solid rgba(22,163,74,.45);animation:node-pulse 2s var(--ease-out) infinite}@keyframes node-pulse{0%{transform:scale(.92);opacity:.9}70%{transform:scale(1.18);opacity:0}to{transform:scale(1.18);opacity:0}}.node__label{font-family:var(--font-body);font-weight:600;font-size:11px;line-height:14px;text-align:center;color:var(--text-primary);background:var(--card);border:1px solid var(--border);border-radius:var(--r-pill);padding:4px 10px}.node--locked .node__label{color:#9ca3af;background:transparent;border-color:transparent}.node__xp{margin-top:2px}.shake{animation:shake .42s var(--ease-out)}@keyframes shake{0%,to{transform:translate(0)}20%{transform:translate(-6px)}40%{transform:translate(6px)}60%{transform:translate(-4px)}80%{transform:translate(4px)}}.lesson-detail{display:flex;flex-direction:column;gap:14px}.inset-lavender{background:var(--surface-lavender-2);border-radius:12px;padding:14px;display:flex;gap:12px;align-items:flex-start}.bounty{background:linear-gradient(135deg,var(--warm-a),var(--warm-b));border:1px solid var(--warm-border);border-radius:12px;padding:12px 14px;display:flex;align-items:center;gap:12px}.quote-foot{font-style:italic;font-size:12px;line-height:18px;color:var(--text-secondary);text-align:center;padding:4px 8px}.field-pitch{--stripe: 7.1428%;aspect-ratio:3 / 4;box-shadow:var(--e-2)}.duties{background:var(--surface-lavender-2);border-radius:12px;padding:14px;display:flex;flex-direction:column;gap:10px}.duties__item{display:flex;gap:10px;align-items:flex-start;font-size:13px;line-height:19px;color:var(--text-primary)}.duties__item .msym{font-size:18px;color:var(--pitch-green);flex:none;margin-top:1px}.pos-badge{width:46px;height:46px;flex:none;border-radius:12px;background:var(--peach);color:var(--gold-badge-text);display:grid;place-items:center;font-family:var(--font-num);font-weight:700;font-size:20px;letter-spacing:.02em}.search-field{display:flex;align-items:center;gap:8px;background:var(--card);border:1px solid var(--border);border-radius:var(--r-pill);padding:10px 14px}.search-field .msym{color:var(--text-secondary);font-size:20px}.search-field input{flex:1;border:none;background:none;font-family:var(--font-body);font-size:15px;color:var(--text-primary);min-width:0}.search-field input:focus{outline:none}.search-field__clear{border:none;background:none;color:var(--text-secondary);display:flex;cursor:pointer;padding:2px}.club-hero{position:relative;border-radius:var(--r-card);padding:18px;color:#fff;overflow:hidden;box-shadow:var(--e-2);background:linear-gradient(140deg,var(--club-a, #dc2626),var(--club-b, #7f1d1d))}.club-hero:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(140deg,#00000052,#00000085)}.club-hero:after{content:"";position:absolute;right:-40px;top:-40px;width:180px;height:180px;border-radius:50%;background:#ffffff14}.club-hero__inner{position:relative;display:flex;flex-direction:column;gap:12px}.club-crest{width:56px;height:56px;flex:none;border-radius:14px;background:#ffffffeb;display:grid;place-items:center;font-family:var(--font-head);font-weight:800;font-size:18px;color:var(--club-a, #dc2626);box-shadow:0 4px 10px #0003}.chant{overflow:hidden}.chant__head{background:var(--surface-lavender-2);padding:14px 16px;display:flex;align-items:flex-start;gap:12px;border-bottom:1px solid var(--surface-lavender-3)}.chant__body{padding:16px;display:flex;flex-direction:column;gap:14px}.audio-bar{background:var(--card);border:1px solid var(--border);border-radius:12px;padding:10px 12px;display:flex;align-items:center;gap:12px}.audio-bar__play{width:40px;height:40px;flex:none;border-radius:50%;background:var(--pitch-green);color:#fff;display:grid;place-items:center;box-shadow:0 3px 0 var(--button-rim);transition:transform 90ms var(--ease-out),box-shadow 90ms var(--ease-out)}.audio-bar__play:active{transform:translateY(3px);box-shadow:0 0 0 var(--button-rim)}.audio-bar__play .msym{font-size:22px;font-variation-settings:"FILL" 1}.eq{display:flex;align-items:flex-end;gap:3px;height:22px}.eq span{width:3px;border-radius:2px;background:var(--pitch-green);height:30%}.eq.is-playing span{animation:eq-bounce .9s ease-in-out infinite}.eq span:nth-child(1){animation-delay:0ms}.eq span:nth-child(2){animation-delay:.12s}.eq span:nth-child(3){animation-delay:.24s}.eq span:nth-child(4){animation-delay:80ms}.eq span:nth-child(5){animation-delay:.3s}.eq span:nth-child(6){animation-delay:.18s}.eq span:nth-child(7){animation-delay:60ms}@keyframes eq-bounce{0%,to{height:25%}50%{height:100%}}.layer{border-radius:12px;padding:14px;display:flex;flex-direction:column;gap:8px}.layer--1{background:var(--canvas);border:1px solid var(--border)}.layer--2{background:var(--tint-blue-bg)}.layer--3{background:linear-gradient(135deg,var(--warm-a),var(--warm-b))}.layer__quote{font-style:italic;font-size:15px;line-height:24px;color:var(--text-primary)}.layer--1 .layer__quote{font-size:17px;line-height:27px}.placeholder-note{font-size:11px;line-height:16px;color:var(--text-secondary);font-style:normal}.chant-row{display:flex;align-items:center;gap:12px;padding:14px 16px;width:100%;text-align:left}.spotlight{position:relative;border-radius:var(--r-card);overflow:hidden;min-height:260px;display:flex;align-items:flex-end;box-shadow:var(--e-2);background:var(--stadium-green)}.spotlight__img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover}.spotlight__scrim{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,#11182740,#111827b3 45%,#111827f5)}.spotlight__body{position:relative;padding:16px;color:#fff;display:flex;flex-direction:column;gap:10px;width:100%}.spotlight__mini{background:#ffffff1f;border:1px solid rgba(255,255,255,.18);border-radius:12px;padding:12px;display:flex;align-items:center;gap:10px;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.quiz-head{display:flex;flex-direction:column;gap:12px}.compat{background:var(--card);border:1px solid var(--border);border-radius:var(--r-card);padding:12px 14px;display:flex;align-items:center;gap:12px;box-shadow:var(--e-1)}.compat__score{min-width:58px;height:40px;padding:0 10px;border-radius:10px;background:#22c55e;color:#fff;display:grid;place-items:center;font-size:24px;box-shadow:0 3px 0 var(--button-rim)}.qopt{display:flex;gap:12px;align-items:flex-start;width:100%;text-align:left;padding:14px;border-radius:var(--r-card);background:var(--card);border:1px solid var(--border);box-shadow:var(--e-1);transition:border-color .18s var(--ease-out),background-color .18s var(--ease-out),transform .16s var(--ease-out)}.qopt:hover{transform:translateY(-1px)}.qopt.is-selected{background:var(--mint);border:2px solid var(--pitch-green);padding:13px;box-shadow:inset 4px 0 0 var(--pitch-green),var(--e-1)}.qopt__check{width:24px;height:24px;flex:none;border-radius:50%;border:2px solid var(--surface-lavender-3);background:var(--surface-lavender);display:grid;place-items:center;color:transparent;margin-top:2px;transition:background-color .18s var(--ease-out),border-color .18s var(--ease-out)}.qopt.is-selected .qopt__check{background:var(--pitch-green);border-color:var(--pitch-green);color:#fff}.qopt__check .msym{font-size:16px}.qopt__body{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:6px}.qopt__top{display:flex;align-items:flex-start;gap:8px}.qopt__desc{color:var(--text-secondary);font-size:13px;line-height:19px}.qopt__metas{display:flex;flex-wrap:wrap;gap:8px}.meta-tag{display:inline-flex;align-items:center;gap:4px;font-family:var(--font-body);font-weight:600;font-size:11px;line-height:14px;color:var(--text-secondary)}.meta-tag .msym{font-size:14px;color:var(--text-secondary)}.quiz-actions{position:sticky;bottom:calc(var(--tabbar-h) + env(safe-area-inset-bottom,0px));z-index:30;background:var(--card-glass);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-top:1px solid var(--border);margin:0 -16px -16px;padding:12px 16px calc(12px + env(safe-area-inset-bottom,0px));display:flex;flex-direction:column;gap:8px}.result-row{display:flex;align-items:center;gap:12px;padding:12px 14px}.result-row__rank{width:28px;font-size:20px;color:var(--text-secondary);text-align:center;flex:none}.result-row.is-top .result-row__rank{color:var(--gold)}.result-row__bar{height:8px;border-radius:var(--r-pill);background:var(--track);overflow:hidden}.result-row__bar>i{display:block;height:100%;border-radius:var(--r-pill);background:var(--pitch-green);transition:width .7s var(--ease-out)}.result-row.is-top .result-row__bar>i{background:var(--gold)}.result-row__pct{font-size:22px;color:var(--text-primary);flex:none}.lesson-visual{--stripe: 8.3333%;aspect-ratio:4 / 3;box-shadow:var(--e-2)}.lesson-opt .qopt__check .msym{font-size:18px}.lesson-opt:disabled{cursor:default;opacity:1}.lesson-opt.is-correct{background:var(--mint);border:2px solid var(--pitch-green);padding:13px;box-shadow:inset 4px 0 0 var(--pitch-green),var(--e-1)}.lesson-opt.is-correct .qopt__check{background:var(--pitch-green);border-color:var(--pitch-green);color:#fff}.lesson-opt.is-wrong{background:var(--error-bg);border:2px solid var(--coral);padding:13px;box-shadow:inset 4px 0 0 var(--coral),var(--e-1)}.lesson-opt.is-wrong .qopt__check{background:var(--coral);border-color:var(--coral);color:#fff}.explain{display:flex;gap:12px;align-items:flex-start;padding:14px;border-radius:12px}.explain .msym{font-size:22px;flex:none}.explain--good{background:var(--mint);color:var(--moss)}.explain--good .msym{color:var(--pitch-green)}.explain--bad{background:var(--warn-bg);color:var(--gold-badge-text)}.explain--bad .msym{color:var(--gold-rim)}.avatar--xl,.avatar--xl .avatar__img{width:88px;height:88px}.avatar--xl .avatar__img{font-size:32px}.avatar--xl .avatar__level{min-width:28px;height:28px;font-size:15px;right:2px;bottom:2px}.stats-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.stat{display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center}.badge-row{display:flex;align-items:center;gap:12px}.badge-row:not(.is-earned) .t-headline-sm{color:var(--text-secondary)}.streak-hero{display:flex;flex-direction:column;align-items:center;gap:4px;padding:28px 20px;border-radius:var(--r-card);background:linear-gradient(160deg,var(--warm-a),var(--warm-b));border:1px solid var(--warm-border);text-align:center}.streak-hero__flame{width:64px;height:64px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(180deg,#fbbf24,var(--gold));color:#fff;box-shadow:0 4px 0 var(--gold-rim)}.streak-hero__flame .msym{font-size:34px}.streak-hero__n{font-size:72px;line-height:1.05;color:var(--gold-badge-text)}.play-hero{position:relative;border-radius:20px;overflow:hidden;background:var(--stadium-green);padding:24px 20px;color:#fff;box-shadow:var(--e-2)}.play-hero__turf{position:absolute;top:0;right:0;bottom:0;left:0;background-image:repeating-linear-gradient(180deg,#16a34a38 0,#16a34a38 24px,#14532d00 24px,#14532d00 48px)}.play-hero__inner{position:relative;display:flex;flex-direction:column;gap:12px;align-items:flex-start}.play-hero h1{color:#fff}.play-shell{display:flex;flex-direction:column;gap:8px;height:calc(100dvh - var(--appbar-h) - var(--tabbar-h) - 28px);min-height:300px;padding:10px;background:var(--canvas)}.hud{flex:none;display:grid;grid-template-columns:1fr auto 1fr auto;grid-template-areas:"home score away btn" "poss poss poss btn";align-items:center;column-gap:10px;row-gap:4px;padding:8px 12px;border-radius:var(--r-card);background:var(--stadium-green);color:#fff}.hud__dot{width:10px;height:10px;border-radius:50%;flex:none}.hud__dot--home{background:#fff}.hud__dot--away{background:var(--sky)}.hud__sep{opacity:.5}.hud__team{grid-area:home;display:flex;align-items:center;gap:6px;min-width:0}.hud__team--end{grid-area:away;justify-content:flex-end}.hud__score{grid-area:score;font-size:24px;line-height:1;text-align:center}.hud__clock{grid-area:score;align-self:end;font-size:13px;color:#bbf7d0;text-align:center}.hud__possess{grid-area:poss;display:flex;align-items:center;gap:8px;min-width:0}.hud__poss{flex:1 1 auto;height:10px;border-radius:var(--r-pill);background:#ffffff2e;overflow:hidden}.hud__poss-fill{display:block;height:100%;background:#4ade80;transition:width .24s var(--ease-out)}.hud__poss-num{flex:none;font-size:14px;color:#bbf7d0}.hud__actions{grid-area:btn;display:flex;gap:6px}.hud__btn{width:36px;height:36px;flex:none;display:grid;place-items:center;border-radius:10px;background:#ffffff24;color:#fff}.hud__btn:hover{background:#ffffff3d}.play-stage{position:relative;flex:1 1 auto;min-height:0;width:100%;display:flex;align-items:center;justify-content:center}.play-frame{position:relative;border-radius:var(--r-card);overflow:hidden;box-shadow:var(--e-2);background:var(--stadium-green)}.play-canvas{display:block;touch-action:none}.coach-feed{position:absolute;top:8px;left:50%;transform:translate(-50%);z-index:3;display:flex;flex-wrap:wrap;justify-content:center;gap:6px;max-width:92%;pointer-events:none}.coach-chip{display:inline-flex;align-items:center;gap:6px;padding:4px 9px;border-radius:var(--r-pill);font-family:var(--font-body);font-weight:600;font-size:11px;line-height:15px;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);box-shadow:0 2px 8px #0003;animation:coach-in .26s var(--ease-out)}.coach-chip .msym{font-size:14px}.coach-chip--good{background:#dcfce7f0;color:var(--moss)}.coach-chip--bad{background:#fee2e2f0;color:#b91c1c}.coach-chip--info{background:#f1f3fff0;color:#4338ca}@keyframes coach-in{0%{opacity:0;transform:translateY(-4px) scale(.96)}to{opacity:1;transform:none}}.pad{position:absolute;inset:auto 0 0 0;z-index:4;display:flex;align-items:flex-end;justify-content:space-between;padding:10px 12px;pointer-events:none;-webkit-user-select:none;user-select:none}.pad__stick,.pad__buttons{pointer-events:auto}.pad__stick{position:relative;width:92px;height:92px;flex:none;border-radius:50%;background:#ffffff2e;border:1px solid rgba(255,255,255,.35);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);touch-action:none}.pad__knob{position:absolute;left:50%;top:50%;width:44px;height:44px;margin:-22px 0 0 -22px;border-radius:50%;background:#ffffffeb;box-shadow:0 2px 8px #0000004d;transition:transform 60ms linear}.pad__buttons{display:flex;gap:10px;align-items:flex-end}.pad__btn{width:64px;height:64px;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;color:#fff;font-family:var(--font-head);font-weight:700;font-size:11px;touch-action:none;transition:transform 80ms var(--ease-out),box-shadow 80ms var(--ease-out)}.pad__btn .msym{font-size:22px}.pad__btn--pass{background:var(--sky);box-shadow:0 4px #0369a1}.pad__btn--shoot{background:var(--cta-green);box-shadow:0 4px 0 var(--button-rim)}.pad__btn--pass:active{transform:translateY(4px);box-shadow:0 0 #0369a1}.pad__btn--shoot:active{transform:translateY(4px);box-shadow:0 0 0 var(--button-rim)}.play-keys{display:none;flex:none;margin:0}.rotate-hint{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:5;display:inline-flex;align-items:center;gap:8px;padding:10px 16px;border-radius:var(--r-pill);background:#111827d1;color:#fff;font-family:var(--font-body);font-weight:600;font-size:13px;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);animation:coach-in .3s var(--ease-out)}.play-shell:fullscreen{width:100vw;height:100vh;padding:8px;background:#041a0d}.play-shell:fullscreen .hud{background:#052e16e6}.play-shell:fullscreen .play-keys{color:#ffffff80}.play-result{display:flex;flex-direction:column;align-items:center;gap:8px;padding:26px 20px;border-radius:var(--r-card);text-align:center;color:#fff;box-shadow:var(--e-2)}.play-result--win{background:linear-gradient(160deg,#22c55e,#15803d)}.play-result--draw{background:linear-gradient(160deg,#64748b,#334155)}.play-result--loss{background:linear-gradient(160deg,#f87171,#b91c1c)}.play-result h1{color:#fff}.play-result .t-label-meta{color:#ffffffbf}.play-result__score{font-size:56px;line-height:1.05;letter-spacing:.02em}.matchday{position:relative;width:100%;text-align:left;border-radius:var(--r-card);overflow:hidden;padding:18px;background:linear-gradient(140deg,#166534,#052e16);box-shadow:var(--e-2);transition:transform .16s var(--ease-out)}.matchday:hover{transform:translateY(-2px)}.matchday:active{transform:translateY(1px)}.matchday__turf{position:absolute;top:0;right:0;bottom:0;left:0;background-image:repeating-linear-gradient(180deg,rgba(34,197,94,.18) 0,rgba(34,197,94,.18) 20px,transparent 20px,transparent 40px)}.matchday__inner{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:10px}@media(max-height:560px){body.game-live .appbar,body.game-live .tabbar,body.game-live .flyout{display:none}body.game-live .app-main{padding-bottom:0}body.game-live .app-body{padding:0;grid-template-columns:1fr}body.game-live .sidebar{display:none}body.game-live .play-shell{height:100dvh;padding:6px;border-radius:0}body.game-live .hud{padding:4px 10px}body.game-live .hud__score{font-size:20px}body.game-live .play-keys{display:none}}.spotlight--flat{background:linear-gradient(145deg,#0f172a,#1e293b);min-height:0}.spotlight--flat .spotlight__scrim{background:none}.chant__source{display:inline-flex;align-items:center;gap:6px;min-height:44px;font-weight:600;font-size:14px;color:var(--green-ink);text-decoration:underline}.chant__source:hover{opacity:.85}.spotify-embed{display:flex;flex-direction:column;gap:4px}.spotify-embed iframe{border:0;border-radius:var(--r-btn);display:block;width:100%}.spotify-embed__toggle{align-self:flex-start;display:inline-flex;align-items:center;gap:6px;border:none;background:var(--pitch-green);color:#fff;border-radius:var(--r-pill);padding:8px 16px;font-weight:700;font-size:13px;cursor:pointer}.spotify-embed__toggle:hover{opacity:.9}.spotify-cue{align-self:flex-start}.club-crest{position:relative;display:grid;place-items:center;width:56px;height:56px;border-radius:var(--r-btn);overflow:hidden;background:var(--club-a);box-shadow:inset 0 0 0 2px #ffffff8c;flex:none}.club-crest__text{position:relative;font-weight:800;font-size:15px;letter-spacing:.02em;color:#fff;text-shadow:0 1px 3px rgba(0,0,0,.65)}.club-crest--stripes{background:repeating-linear-gradient(90deg,var(--club-a) 0 8px,var(--club-b) 8px 16px)}.club-crest--hoops{background:repeating-linear-gradient(180deg,var(--club-a) 0 10px,var(--club-b) 10px 20px)}.club-crest--band{background:linear-gradient(90deg,var(--club-a) 0 38%,var(--club-b) 38% 62%,var(--club-a) 62% 100%)}.club-hero--photo{background-size:cover;background-position:center}.club-crest--img{display:block;width:56px;height:56px;border-radius:var(--r-btn);object-fit:contain;background:#ffffffeb;padding:4px;box-shadow:none;flex:none}.club-crest--img.is-broken{display:none}.scene{width:100%}.scene__prompt{font-family:var(--font-body);font-weight:600;font-size:13px;line-height:18px;color:var(--text-secondary);display:flex;align-items:center;gap:6px}.scene__readout{position:absolute;top:10px;left:10px;z-index:6;font-family:var(--font-num);font-weight:700;font-variant-numeric:tabular-nums;font-size:13px;line-height:16px;letter-spacing:.06em;padding:6px 11px;border-radius:var(--r-pill);color:#fff;background:#111827b8;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);box-shadow:0 2px 8px #0000004d;transition:background-color .24s var(--ease-out)}.scene__readout--good{background:var(--pitch-green)}.scene__readout--bad{background:#ea580c}.scene__slider{display:flex;flex-direction:column;gap:10px}.scene__slider input[type=range]{width:100%;height:28px;margin:0;background:transparent;accent-color:var(--pitch-green);cursor:pointer}.scene__ticks{display:flex;gap:8px;justify-content:space-between}.scene__tick{flex:1 1 0;min-width:0;padding:7px 6px;border-radius:10px;border:1px solid var(--border);background:var(--card);color:var(--text-secondary);font-family:var(--font-body);font-weight:600;font-size:11px;line-height:15px;text-align:center;cursor:pointer;transition:background-color .18s var(--ease-out),color .18s var(--ease-out),border-color .18s var(--ease-out)}.scene__tick:hover{background:var(--canvas)}.scene__tick.is-on{background:var(--stadium-green);border-color:var(--stadium-green);color:#fff}.scene__note{display:flex;gap:12px;align-items:flex-start;padding:14px;border-radius:12px;background:var(--canvas);color:var(--text-primary)}.scene__note .msym{font-size:22px;flex:none}.scene__note--neutral .msym{color:#6366f1}.scene__note--good{background:var(--mint);color:var(--moss)}.scene__note--good .msym{color:var(--pitch-green)}.scene__note--bad{background:#fff7ed;color:var(--gold-badge-text)}.scene__note--bad .msym{color:#ea580c}.lane path{stroke:#4ade80;stroke-width:1.4;animation:pass-march 1.4s linear infinite}.lane--blocked path{stroke:#f87171;stroke-dasharray:3 3;animation:none;filter:drop-shadow(0 0 3px rgba(248,113,113,.6))}.lane__block{position:absolute;transform:translate(-50%,-50%);z-index:4;width:26px;height:26px;border-radius:50%;display:grid;place-items:center;background:#dc2626;color:#fff;box-shadow:0 2px 6px #00000059}.lane__block .msym{font-size:16px}.hotspot{position:absolute;z-index:4;border:2px dashed rgba(255,255,255,.55);border-radius:8px;background:#ffffff0f;padding:0;cursor:pointer;display:grid;place-items:center;transition:background-color .2s var(--ease-out),border-color .2s var(--ease-out)}.hotspot:hover{background:#ffffff29}.hotspot.is-on{border:2px solid var(--gold);background:#f59e0b4d;box-shadow:0 0 0 3px #f59e0b40}.hotspot__label{font-family:var(--font-body);font-weight:700;font-size:10px;line-height:13px;color:#fff;text-shadow:0 1px 3px rgba(0,0,0,.8);text-align:center;padding:0 4px;opacity:0;transition:opacity .2s var(--ease-out)}.hotspot:hover .hotspot__label,.hotspot.is-on .hotspot__label{opacity:1}.stadium{position:relative;width:100%;aspect-ratio:4 / 3;border-radius:var(--r-card);overflow:hidden;background:#1e293b;box-shadow:var(--e-2);isolation:isolate}.stadium__bowl{position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse at 50% 50%,#0f172a00 40%,#0f172abf),repeating-linear-gradient(180deg,#94a3b838 0,#94a3b838 3px,#4755694d 3px,#4755694d 6px)}.stadium__pitch{position:absolute;top:24%;right:26%;bottom:24%;left:26%;border-radius:4px;border:2px solid rgba(255,255,255,.5);background-color:var(--stadium-green);background-image:repeating-linear-gradient(180deg,#16a34a99 0,#16a34a99 8px,#16653473 8px,#16653473 16px)}.ptoken--dimmed{opacity:.32}.ptoken--dimmed .ptoken__disc{box-shadow:0 2px 4px #0003}.scene__layers{display:flex;flex-direction:column;gap:10px}.layer{border:1px solid var(--border);border-radius:12px;background:var(--card);overflow:hidden;transition:border-color .2s var(--ease-out)}.layer.is-open{border-color:var(--pitch-green)}.layer__head{width:100%;display:flex;align-items:center;gap:10px;padding:13px 14px;background:none;border:0;text-align:left;cursor:pointer;color:var(--text-primary)}.layer__head:hover{background:var(--canvas)}.layer.is-open .layer__head{background:var(--mint);color:var(--moss)}.layer__body{padding:0 14px 14px;color:var(--text-secondary)}@media(prefers-reduced-motion:reduce){.lane path{animation:none}.scene__readout,.scene__tick,.hotspot,.hotspot__label{transition:none}}.fifa-intro{max-width:68ch}.fifa-grid{display:grid;gap:12px;grid-template-columns:1fr;list-style:none;margin:0;padding:0}.fifa-card{display:flex;flex-direction:column;gap:8px;height:100%;color:inherit;text-decoration:none;transition:transform .16s var(--ease-out),box-shadow .16s var(--ease-out),border-color .16s var(--ease-out)}.fifa-card:hover{transform:translateY(-2px);box-shadow:var(--e-2);border-color:var(--green-border)}.fifa-card__foot{margin-top:auto;color:var(--moss);font-weight:600}.fifa-card--country{flex-direction:row;align-items:center;gap:12px}.fifa-flag{flex:none;display:grid;place-items:center;width:var(--flag-size, 56px);aspect-ratio:1 / 1;padding:6px;border:1px solid var(--border);border-radius:12px;background:var(--surface-lavender-2);overflow:hidden}.fifa-flag--md{--flag-size: 56px}.fifa-flag--xl{--flag-size: 96px;padding:8px;border-radius:16px}.fifa-flag img{display:block;width:100%;height:100%;object-fit:contain}.fifa-photo-figure{margin:0;display:flex;flex-direction:column;gap:4px;width:100%;max-width:220px}.fifa-photo{display:block;width:100%;max-width:220px;aspect-ratio:4 / 5;object-fit:cover;object-position:top;border-radius:12px;background:var(--track)}.fifa-photo--empty{display:grid;place-items:center;width:100%;max-width:220px;color:var(--text-secondary)}.fifa-photo--empty .msym{font-size:72px}.fifa-photo__credit{font-size:11px;line-height:14px;color:var(--text-secondary)}.fifa-photo__credit a{color:inherit;text-decoration:underline}.fifa-crumbs{display:flex;flex-wrap:wrap;align-items:center;gap:4px;list-style:none;margin:0;padding:0;font-size:14px}.fifa-crumbs .msym{font-size:18px;color:var(--text-secondary)}.fifa-crumbs__link{color:var(--moss);font-weight:600;text-decoration:none;border-radius:4px}.fifa-crumbs__link:hover{text-decoration:underline}.fifa-crumbs__current{color:var(--text-secondary)}.fifa-hero{display:flex;align-items:center;gap:16px}.fifa-stats{display:grid;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr));margin:0}.fifa-stat{display:flex;flex-direction:column;gap:6px;min-width:0}.fifa-stat dd{margin:0}.fifa-stat__value{font-family:var(--font-display, inherit);font-weight:700;font-size:28px;line-height:32px;color:var(--text-primary)}.fifa-stat__text{font-size:16px;line-height:22px;font-weight:600}.fifa-stat__hint{display:flex;flex-direction:column;align-items:flex-start;gap:6px}.fifa-stat--wide{grid-column:1 / -1}.fifa-back{align-self:flex-start;text-decoration:none}@media(min-width:600px){.fifa-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.fifa-grid--countries{grid-template-columns:repeat(3,minmax(0,1fr))}.fifa-grid--single{grid-template-columns:minmax(0,320px)}.fifa-stats{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(min-width:841px){.fifa-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.fifa-grid--countries{grid-template-columns:repeat(4,minmax(0,1fr))}}@media(prefers-reduced-motion:reduce){.fifa-card{transition:none}.fifa-card:hover{transform:none}}.field{width:100%;min-height:48px;padding:10px 12px;border:2px solid var(--border);border-radius:var(--r-btn);background:var(--card);color:var(--text-primary);font:inherit}.field::placeholder{color:var(--text-secondary)}.field:focus-visible{outline:none;border-color:var(--pitch-green)}select.field{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:linear-gradient(45deg,transparent 50%,currentColor 50%),linear-gradient(135deg,currentColor 50%,transparent 50%);background-position:calc(100% - 20px) 21px,calc(100% - 14px) 21px;background-size:6px 6px,6px 6px;background-repeat:no-repeat;padding-right:40px}.signin-pill{display:inline-flex;align-items:center;gap:6px;min-height:40px;padding:0 12px;border-radius:var(--r-pill);border:2px solid var(--green-ink);color:var(--green-ink);font-weight:700;font-size:14px;text-decoration:none;white-space:nowrap}.signin-pill:hover{background:color-mix(in srgb,var(--green-ink) 12%,transparent)}@media(max-width:520px){.signin-pill__text{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}}.country-flag{border-radius:3px;object-fit:cover;flex:none}.chip-row .chip{display:inline-flex;align-items:center;gap:6px}@media(max-width:480px){.appbar__inner{gap:6px;padding:8px 12px}.appbar__wordmark{font-size:15px}.lang__seg{min-width:32px;padding:5px 8px}.appbar .avatar,.appbar .avatar__img{width:32px;height:32px}.streak-pill{padding:0 8px}.appbar .avatar__level{min-width:15px;height:15px;padding:0 2px;font-size:9px;border-width:1.5px;right:-2px;bottom:-2px}}@media(max-width:379px){.appbar__wordmark{display:none}.appbar__inner{gap:8px}}@media(pointer:coarse){.chip{min-height:40px}.lang__seg{min-height:36px}.appbar .lang__seg{min-height:32px}.theme-toggle,.icon-btn{min-width:40px;min-height:40px}.streak-pill{min-height:36px}.hotspot:after{content:"";position:absolute;top:-12px;right:-12px;bottom:-12px;left:-12px}.scene__tick{min-height:44px;font-size:10px}.scene__slider input[type=range]{height:40px}}@media(max-width:840px){.app-shell .chatbot-ball{width:48px;height:48px}.app-shell .chatbot-ball .msym{font-size:22px}.app-shell:has(.quiz-actions) .chatbot-ball{bottom:calc(var(--tabbar-h) + env(safe-area-inset-bottom,0px) + 82px)}.app-shell:has(.quiz-actions) .chatbot-panel{bottom:calc(var(--tabbar-h) + env(safe-area-inset-bottom,0px) + 142px)}}@media(max-width:840px){.chip-row{scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;-webkit-mask-image:linear-gradient(to right,#000 calc(100% - 28px),transparent 100%);mask-image:linear-gradient(to right,#000 calc(100% - 28px),transparent 100%)}.chip-row>*{scroll-snap-align:start}.page>.chip-row,.page>*>.chip-row{padding-left:16px;padding-right:16px;margin-left:-16px;margin-right:-16px}}@media(max-width:480px){.split-quiz{display:flex;flex-direction:column;gap:16px}.split-quiz__side{order:-1}}@media(min-width:481px){.page{max-width:720px;padding:24px;gap:20px}.hero{padding:28px}.split-field{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px;align-items:start}.split-field__pitch{position:sticky;top:calc(var(--appbar-h) + 16px)}.split-quiz{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:20px;align-items:start}.split-quiz__side{position:sticky;top:calc(var(--appbar-h) + 16px)}.stats-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.modules-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.module,.hero__actions{flex-direction:row}.hero__actions>*{flex:1 1 0}.quiz-actions{margin:0 -24px -24px;padding:16px 24px calc(16px + env(safe-area-inset-bottom,0px));flex-direction:row;align-items:center;justify-content:space-between}.quiz-actions .fp{width:auto;min-width:280px}}@media(min-width:841px){.tabbar{display:none}.app-main{padding-bottom:48px}.app-body{display:grid;grid-template-columns:244px minmax(0,1fr);gap:32px;max-width:var(--content-max);margin:0 auto;padding:24px;align-items:start}.sidebar{display:block;position:sticky;top:calc(var(--appbar-h) + 24px)}.sidebar__nav{display:flex;flex-direction:column;gap:4px}.sidebar__item{display:flex;align-items:center;gap:12px;min-height:48px;padding:12px 14px;border-radius:var(--r-btn);color:var(--text-secondary);font-family:var(--font-head);font-weight:600;font-size:15px;transition:background-color .16s var(--ease-out),color .16s var(--ease-out)}.sidebar__item .msym{font-size:22px}.sidebar__item:hover{background:var(--surface-lavender-2);color:var(--text-primary)}.sidebar__item.is-active{background:var(--mint);color:var(--green-ink)}.sidebar__item.is-active .msym{font-variation-settings:"FILL" 1,"wght" 600,"GRAD" 0,"opsz" 24}.flyout{display:block}.flyout__tabs{position:fixed;right:0;top:50%;z-index:46;display:flex;flex-direction:column;gap:8px;transform:translateY(-50%);transition:transform .32s var(--ease-out)}.flyout__tabs.is-shifted{transform:translateY(-50%) translate(calc(var(--flyout-w) * -1))}.flyout__tab{display:flex;flex-direction:column;align-items:center;gap:8px;width:46px;padding:16px 6px;background:var(--card);border:1px solid var(--border);border-right:0;border-radius:12px 0 0 12px;box-shadow:var(--e-2);color:var(--text-secondary);transition:background-color .18s var(--ease-out),color .18s var(--ease-out),border-color .18s var(--ease-out)}.flyout__tab .msym{font-size:22px}.flyout__tab-label{writing-mode:vertical-rl;text-orientation:mixed;font-family:var(--font-body);font-weight:600;font-size:11px;line-height:14px;letter-spacing:.04em;white-space:nowrap}.flyout__tab:hover{background:var(--mint);color:var(--green-ink)}.flyout__tab.is-open{background:var(--stadium-green);border-color:var(--green-ink);color:#fff}.flyout__panel{position:fixed;top:var(--appbar-h);right:0;bottom:0;z-index:45;width:var(--flyout-w);padding:20px;background:var(--card);border-left:1px solid var(--border);box-shadow:-12px 0 32px #1118271a;overflow-y:auto;overscroll-behavior:contain;display:flex;flex-direction:column;gap:16px;transform:translate(100%);visibility:hidden;transition:transform .32s var(--ease-out),visibility .32s var(--ease-out)}.flyout__panel.is-open{transform:translate(0);visibility:visible}.flyout__head{display:flex;align-items:center;gap:8px}.flyout__panel .card{border:0;box-shadow:none;padding:0}.page{max-width:none;padding:0;gap:24px}.hero__inner{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:28px;align-items:center}.hero__copy{display:flex;flex-direction:column;gap:16px}.hero__actions{flex-direction:column}.hero__pitch{aspect-ratio:4 / 3}.modules-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.module{position:relative;flex-direction:column;align-items:flex-start;gap:12px}.module__chev{position:absolute;top:16px;right:16px;margin:0}.module .tile{margin-right:44px}.split-field{grid-template-columns:minmax(0,520px) minmax(0,1fr);gap:32px}.split-quiz{grid-template-columns:minmax(0,1fr) 320px;gap:32px}.path__link{height:44px}.path__row[data-align=left]{padding-left:18%}.path__row[data-align=right]{padding-right:18%}.learn-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px;align-items:start}.quiz-actions{position:sticky;bottom:0;margin:0;border-radius:var(--r-card);border:1px solid var(--border);padding:16px;background:var(--card-glass);box-shadow:var(--e-2)}.culture-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:24px;align-items:start}}@media(min-width:1400px){.app-body{gap:40px}}@media(min-width:841px){.play-keys{display:block;text-align:center}.play-shell{height:calc(100dvh - var(--appbar-h) - 108px)}.hud{grid-template-columns:1fr auto auto auto 1fr auto;grid-template-areas:"home score clock poss away btn";column-gap:16px}.hud__clock{display:block;grid-area:clock;font-size:18px;color:#bbf7d0}.hud__possess{grid-area:poss;width:190px}.pad{padding:14px 18px}}@media(min-width:841px)and (pointer:fine){.pad{display:none}}.chatbot-ball{position:fixed;right:var(--s-4);bottom:calc(var(--tabbar-h) + env(safe-area-inset-bottom,0px) + var(--s-4));z-index:200;width:56px;height:56px;border-radius:var(--r-pill);border:none;background:var(--pitch-green);color:#fff;box-shadow:var(--e-2);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:transform var(--dur-token) var(--ease-out)}.chatbot-ball:hover{transform:scale(1.06)}.chatbot-ball:active{transform:scale(.96)}.chatbot-ball .msym{font-size:28px}.chatbot-ball__pulse{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:var(--r-pill);border:2px solid var(--pitch-green);animation:chatbot-pulse 2.2s var(--ease-out) infinite;pointer-events:none}@keyframes chatbot-pulse{0%{transform:scale(1);opacity:.6}to{transform:scale(1.6);opacity:0}}.chatbot-panel{position:fixed;right:var(--s-4);bottom:calc(var(--tabbar-h) + env(safe-area-inset-bottom,0px) + var(--s-4) + 68px);z-index:200;width:min(340px,calc(100vw - 32px));height:min(480px,calc(100vh - 180px));background:var(--card);border:1px solid var(--border);border-radius:var(--r-card);box-shadow:var(--e-2);display:flex;flex-direction:column;overflow:hidden;font-family:var(--font-body)}.chatbot-panel__head{display:flex;align-items:center;gap:var(--s-2);padding:var(--s-3) var(--s-4);background:var(--pitch-green);color:#fff}.chatbot-panel__head .msym{font-size:20px}.chatbot-panel__title{font-family:var(--font-head);font-weight:700;font-size:15px;flex:1}.chatbot-panel__action{background:none;border:none;color:#fff;cursor:pointer;display:flex;padding:var(--s-1);border-radius:var(--r-btn)}.chatbot-panel__action:hover:not(:disabled){background:#ffffff26}.chatbot-panel__action:disabled{opacity:.4;cursor:default}.chatbot-panel__body{flex:1;overflow-y:auto;padding:var(--s-3);display:flex;flex-direction:column;gap:var(--s-2)}.chatbot-msg{max-width:85%;padding:var(--s-2) var(--s-3);border-radius:var(--r-card);font-size:14px;line-height:1.4;white-space:pre-wrap;overflow-wrap:anywhere}.chatbot-msg--bot{white-space:normal}.chatbot-msg--error{border:1px solid var(--border)}.chatbot-md>*{margin:0}.chatbot-md>*+*{margin-top:var(--s-2)}.chatbot-md ul,.chatbot-md ol{padding-left:1.25em}.chatbot-md li+li{margin-top:2px}.chatbot-link{color:var(--pitch-green);font-weight:600;text-decoration:underline}.chatbot-link--app{display:inline-flex;align-items:center;gap:2px;padding:0 var(--s-2);border-radius:var(--r-pill);border:1px solid var(--pitch-green);text-decoration:none;background:var(--card)}.chatbot-link--app:hover{background:var(--surface-lavender)}.chatbot-link--app .msym{font-size:14px}.chatbot-nav{display:inline-flex;align-items:center;gap:var(--s-1);margin-top:var(--s-2);padding:2px var(--s-2);border-radius:var(--r-pill);border:1px solid var(--pitch-green);background:var(--card);color:var(--pitch-green);font-size:12px;font-weight:600;font-family:var(--font-body);cursor:pointer}.chatbot-nav .msym{font-size:14px}.chatbot-msg--bot{align-self:flex-start;background:var(--track);color:var(--text-primary);border-bottom-left-radius:4px}.chatbot-msg--user{align-self:flex-end;background:var(--pitch-green);color:#fff;border-bottom-right-radius:4px}.chatbot-msg--typing{display:flex;gap:4px;align-items:center;padding:var(--s-3)}.chatbot-msg--typing span{width:6px;height:6px;border-radius:50%;background:var(--text-secondary);animation:chatbot-typing 1.1s ease-in-out infinite}.chatbot-msg--typing span:nth-child(2){animation-delay:.15s}.chatbot-msg--typing span:nth-child(3){animation-delay:.3s}@keyframes chatbot-typing{0%,80%,to{opacity:.3;transform:translateY(0)}40%{opacity:1;transform:translateY(-3px)}}.chatbot-suggestions{display:flex;flex-direction:column;gap:var(--s-2);padding:var(--s-2) 0;align-items:flex-start}.chatbot-suggestion{text-align:left;background:var(--surface-lavender);border:1px solid var(--border);border-radius:var(--r-btn);padding:var(--s-2) var(--s-3);font-size:13px;color:var(--text-primary);cursor:pointer;font-family:var(--font-body)}.chatbot-suggestion:hover{background:var(--surface-lavender-2)}.chatbot-panel__form{display:flex;gap:var(--s-2);padding:var(--s-3);border-top:1px solid var(--border);align-items:flex-end}.chatbot-panel__input{flex:1;border:1px solid var(--border);border-radius:var(--r-input);padding:var(--s-2) var(--s-3);font-size:14px;font-family:var(--font-body);min-width:0;resize:none;line-height:1.35;background:var(--card);color:var(--text-primary)}.chatbot-panel__input:disabled{opacity:.6}.chatbot-panel__input:focus{outline:none;box-shadow:var(--focus-ring);border-color:var(--pitch-green)}.chatbot-panel__send{border:none;background:var(--pitch-green);color:#fff;border-radius:var(--r-pill);width:36px;height:36px;display:flex;align-items:center;justify-content:center;cursor:pointer;flex:none}.chatbot-panel__send:disabled{opacity:.5;cursor:default}@media(min-width:841px){.chatbot-ball{display:none}.chatbot-panel{right:auto;left:0;top:var(--appbar-h);bottom:0;width:max(25vw,320px);height:auto;border-width:0 1px 0 0;border-radius:0;animation:chatbot-slide-in .26s var(--ease-out)}@keyframes chatbot-slide-in{0%{transform:translate(-100%)}to{transform:translate(0)}}@media(prefers-reduced-motion:reduce){.chatbot-panel{animation:none}}.sidebar__leo{width:100%;border:none;background:none;cursor:pointer;text-align:left}}
