:root{--surface-base:#e8f1f8;--surface-raised:#fff;--surface-scenic-dim:#0b1a2a;--ink-primary:#1a1b1f;--ink-secondary:#4a5560;--ink-inverse:#fff;--accent-blue:#2b6cb0;--accent-yellow:#f5c518;--accent-green:#2f9e44;--accent-orange:#f08c00;--accent-red:#e03131;--gold-pts:#e6b422;--border-comic:#1a1b1f;--bladder-fill:#f5c518;--bladder-warn:#f08c00;--bladder-critical:#e03131;--pressure-low:#e03131;--pressure-mid:#f5c518;--pressure-sweet:#2f9e44;--pressure-high:#e03131;--shop-banner:#2b6cb0;--shop-cta-points:#2f9e44;--shop-cta-stripe:#2b6cb0;--hud-plaque:#c4a574;--event-banner-default:#f5c518;--event-banner-noise:#7b2cbf;--event-banner-hazard:#e8590c;--event-malus:#e03131;--event-sheet:#fff;--inventory-glow:#f5c518;--vidange-fill:#74b816;--font-display:"Trebuchet MS", "Segoe UI", sans-serif;--font-ui:"Segoe UI", "Trebuchet MS", sans-serif;--font-score:ui-monospace, "Cascadia Code", monospace;--rounded-sm:8px;--rounded-md:14px;--rounded-lg:20px;--rounded-full:9999px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--hud-gutter:12px;--safe-bottom:max(24px, env(safe-area-inset-bottom));--shadow-comic:3px 3px 0 #1a1b1f;--tap-min:44px}*,:before,:after{box-sizing:border-box}html,body,#app{background:var(--surface-base);width:100%;height:100%;color:var(--ink-primary);font-family:var(--font-ui);-webkit-tap-highlight-color:transparent;margin:0;overflow:hidden}button{cursor:pointer;font-family:inherit}.screen{flex-direction:column;display:none;position:absolute;inset:0;overflow:auto}.screen.active{display:flex}.btn{min-height:var(--tap-min);min-width:var(--tap-min);border:3px solid var(--border-comic);border-radius:var(--rounded-md);box-shadow:var(--shadow-comic);padding:12px 18px;font-size:16px;font-weight:700}.btn-primary{background:var(--accent-yellow);color:var(--ink-primary)}.btn-points{background:var(--shop-cta-points);color:var(--ink-inverse);border-radius:var(--rounded-sm)}.btn-stripe{background:var(--shop-cta-stripe);color:var(--ink-inverse);border-radius:var(--rounded-sm)}.btn-secondary{background:var(--surface-raised);color:var(--ink-secondary);border-style:dashed;border-width:2px}.btn-event-use{background:var(--accent-green);color:var(--ink-inverse)}.chip{background:var(--surface-raised);border:3px solid var(--border-comic);border-radius:var(--rounded-sm);box-shadow:var(--shadow-comic);padding:8px 12px;font-weight:700}.menu-shell{min-height:100%;padding:var(--space-5) var(--space-4) var(--safe-bottom);background:radial-gradient(ellipse at 50% 0%, #b8d4e8 0%, transparent 55%), linear-gradient(180deg, var(--surface-base), #d4e4f2);align-items:center;gap:var(--space-4)}.brand-block{margin:var(--space-5) 0 var(--space-3);flex-direction:column;align-items:center;width:min(320px,100%);display:flex}.brand-logo{filter:drop-shadow(3px 3px #1a1b1f);width:min(280px,85vw);height:auto;display:block}.brand-sub{color:var(--ink-secondary);margin:var(--space-3) 0 var(--space-4);text-align:center;max-width:280px}.menu-actions{gap:var(--space-3);flex-direction:column;width:min(320px,100%);display:flex}.menu-actions .btn{width:100%}.meta-error{border:3px solid var(--accent-red);border-radius:var(--rounded-md);padding:var(--space-3);margin:var(--space-3);color:var(--accent-red);background:#ffe3e3;font-weight:600}.play-shell{background:var(--surface-scenic-dim);width:100%;height:100%;position:relative}.end-overlay{z-index:25;padding:calc(var(--space-4) + env(safe-area-inset-top)) var(--space-4) calc(var(--space-4) + env(safe-area-inset-bottom));pointer-events:auto;background:#0b1a2a9e;justify-content:center;align-items:center;display:none;position:absolute;inset:0}.end-overlay.show{display:flex}.end-overlay-card{text-align:center;background:var(--surface-raised);border:4px solid var(--border-comic);border-radius:var(--rounded-lg);width:min(100%,420px);max-height:min(92vh,640px);box-shadow:var(--shadow-comic);padding:var(--space-5) var(--space-4);align-items:center;gap:var(--space-3);flex-direction:column;display:flex;overflow:auto}.end-overlay.end-overlay--fail{background:#0b1a2a73;align-items:center}.end-overlay-card--fail{width:min(100%,400px)}.end-overlay-card--fail h1{color:var(--bladder-critical,#e03131)}.end-overlay-card h1{font-family:var(--font-display);margin:0;font-size:clamp(1.5rem,5vw,2rem)}.end-overlay-wallet,.end-overlay-gag{color:var(--ink-secondary);margin:0;font-size:15px;font-weight:600}.end-overlay-art{border:3px solid var(--border-comic);border-radius:var(--rounded-md);width:min(100%,360px);height:auto;box-shadow:var(--shadow-comic);background:#fff;display:block}.end-overlay-actions{gap:var(--space-3);width:100%;margin-top:var(--space-2);flex-wrap:wrap;justify-content:center;display:flex}#playfield{touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;width:100%;height:100%;display:block}.hud{align-items:start;column-gap:var(--space-2);row-gap:var(--space-2);padding:calc(var(--hud-gutter) + env(safe-area-inset-top)) var(--hud-gutter) 0;pointer-events:none;z-index:2;grid-template-columns:auto minmax(0,1fr) auto;grid-template-areas:"meter score tools""inv inv inv";display:grid;position:absolute;top:0;left:0;right:0}.hud>*{pointer-events:auto}#hud-meter{grid-area:meter}.hud-score{font-family:var(--font-score);grid-area:score;justify-self:center;font-weight:800;position:relative;overflow:visible}.hud-tools{gap:var(--space-2);flex-wrap:nowrap;grid-area:tools;justify-content:flex-end;align-items:flex-start;display:flex}.hud-inv{-webkit-overflow-scrolling:touch;scrollbar-width:thin;flex-wrap:nowrap;grid-area:inv;gap:6px;max-width:100%;padding-bottom:2px;display:flex;overflow:auto hidden}.meter{width:120px}.meter-label{letter-spacing:.04em;margin-bottom:4px;font-size:11px;font-weight:800}.meter-track{border:3px solid var(--border-comic);border-radius:var(--rounded-full);background:var(--surface-raised);height:14px;box-shadow:var(--shadow-comic);overflow:hidden}.meter-fill{background:var(--bladder-fill);width:0%;height:100%;transition:width 80ms linear}.meter-fill.warn{background:var(--bladder-warn)}.meter-fill.critical{background:var(--bladder-critical)}.meter-fill.vidange{background:var(--vidange-fill)}.meter-fill.emptying{background:linear-gradient(90deg,#74b816,#2f9e44);transition:width .1s linear}.meter-fill.emptying.mid{background:linear-gradient(90deg,#f5c518,#74b816)}.meter-fill.emptying.low{background:linear-gradient(90deg,#e03131,#f08c00)}.hud-score.score-flash{background:var(--accent-yellow);z-index:5;animation:.9s ease-out score-lightning;box-shadow:0 0 0 3px #fff,0 0 18px 4px #f5c518e6}.hud-score.score-pulse{z-index:5;background:#ebfbee;animation:.85s ease-out score-bank-pulse;box-shadow:0 0 0 3px #fff,0 0 14px 3px #2f9e44bf}.hud-score.score-pulse-danger{z-index:5;background:#fff5f5;animation:.85s ease-out score-bank-pulse;box-shadow:0 0 0 3px #fff,0 0 14px 3px #e03131bf}@keyframes score-bank-pulse{0%{transform:scale(1)}25%{transform:scale(1.12)}50%{transform:scale(1.04)}70%{transform:scale(1.1)}to{transform:scale(1)}}.hud-score.score-flash:before{content:"⚡";pointer-events:none;font-size:22px;animation:.9s ease-out score-bolt;position:absolute;top:-14px;left:-10px}.hud-score.score-flash:after{content:attr(data-milestone) " !";color:#c92a2a;border:2px solid var(--border-comic);pointer-events:none;background:#fff;border-radius:6px;padding:1px 5px;font-size:11px;font-weight:900;animation:.9s ease-out score-bolt;position:absolute;top:-16px;right:-6px}@keyframes score-lightning{0%{filter:brightness();transform:scale(1)}20%{filter:brightness(1.4);transform:scale(1.18)rotate(-2deg)}45%{transform:scale(1.08)rotate(1deg)}to{filter:brightness();transform:scale(1)}}@keyframes score-bolt{0%{opacity:0;transform:translateY(6px)scale(.6)}25%{opacity:1;transform:translateY(-2px)scale(1.15)}to{opacity:0;transform:translateY(-14px)scale(1)}}.dart-legend{flex-wrap:wrap;justify-content:center;gap:6px;margin:8px 0 4px;font-size:11px;font-weight:800;display:flex}.dart-legend span{border:2px solid var(--border-comic);border-radius:999px;padding:2px 8px}.dart-bull{color:#fff;background:#2f9e44}.dart-inner{background:#f5c518}.dart-outer{background:#ff8787}.dart-miss{background:#dee2e6}.inv-counter{min-height:var(--tap-min);border:3px solid var(--border-comic);border-radius:var(--rounded-sm);background:var(--surface-raised);box-shadow:var(--shadow-comic);align-items:center;gap:4px;padding:6px 10px;font-size:13px;font-weight:800;display:inline-flex}.inv-icon{object-fit:contain;border-radius:4px;width:28px;height:28px}.inv-counter.glow{border-color:var(--inventory-glow);box-shadow:0 0 0 3px var(--inventory-glow), var(--shadow-comic)}.keyboard-hint{left:50%;bottom:calc(108px + env(safe-area-inset-bottom,0px));z-index:2;pointer-events:none;opacity:.92;align-items:center;gap:8px;display:flex;position:absolute;transform:translate(-50%)}.keyboard-hint[hidden]{display:none!important}.keycap{min-width:36px;height:36px;color:var(--ink-primary);background:var(--surface-raised);border:3px solid var(--border-comic);border-radius:var(--rounded-sm);box-shadow:var(--shadow-comic);justify-content:center;align-items:center;padding:0 8px;font-family:inherit;font-size:16px;font-weight:800;line-height:1;display:inline-flex}.keycap-enter{min-width:40px}.keyboard-hint-label{color:var(--ink-primary);text-shadow:0 1px #ffffffbf;font-size:12px;font-weight:700}.play-bottom{padding:var(--space-3) var(--hud-gutter) var(--safe-bottom);gap:var(--space-2);z-index:3;pointer-events:none;grid-template-columns:auto minmax(0,1fr);grid-template-areas:"loc cta";align-items:end;display:grid;position:absolute;bottom:0;left:0;right:0}.play-bottom>*{pointer-events:auto}#play-cta{flex-direction:column;grid-area:cta;justify-self:center;align-items:center;gap:6px;width:auto;max-width:100%;display:flex}.play-cta-row{flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;width:100%;display:flex}.location-label{background:var(--hud-plaque);border:3px solid var(--border-comic);border-radius:var(--rounded-sm);box-shadow:var(--shadow-comic);cursor:pointer;min-height:var(--tap-min);grid-area:loc;place-self:end start;padding:6px 12px;font-family:inherit;font-weight:800}.hud-icon-btn{min-width:var(--tap-min);padding:8px 12px;font-size:14px}.urinal-focus{flex-wrap:wrap;justify-content:center;gap:8px;margin-bottom:8px;display:flex}.choose-hint{color:var(--ink-primary);text-align:center;text-shadow:0 1px #ffffffb3;margin:0;font-size:12px;font-weight:600}.aim-panel{background:var(--surface-raised);border:3px solid var(--border-comic);border-radius:var(--rounded-md);width:min(360px,100%);padding:var(--space-3);box-shadow:var(--shadow-comic);text-align:center}.pressure-track{border:3px solid var(--border-comic);border-radius:var(--rounded-full);background:linear-gradient(90deg, var(--pressure-low), var(--pressure-mid), var(--pressure-sweet), var(--pressure-mid), var(--pressure-high));height:18px;margin:var(--space-2) 0;position:relative}.pressure-cursor{background:var(--ink-primary);border-radius:2px;width:8px;height:26px;position:absolute;top:-4px;transform:translate(-50%)}.event-banner{top:calc(env(safe-area-inset-top,0px) + 96px);z-index:4;color:var(--ink-primary);border:3px solid var(--border-comic);border-radius:var(--rounded-md);font-family:var(--font-display);box-shadow:var(--shadow-comic);text-align:center;background:#fffcf5f5;max-width:min(92%,340px);padding:8px 14px;font-size:13px;font-weight:800;line-height:1.25;position:absolute;left:50%;transform:translate(-50%)}.event-banner.noise{color:#3b0764;background:#f7f0fff5;border-color:#5b21b6}.event-banner.hazard{color:#7c2d12;background:#fff7edf5;border-color:#c2410c}.malus-chip{top:calc(env(safe-area-inset-top,0px) + 132px);z-index:4;background:var(--event-malus);color:#fff;border:3px solid var(--border-comic);border-radius:var(--rounded-sm);padding:6px 10px;font-size:12px;font-weight:800;animation:1.2s ease-out rise;position:absolute;right:12px}@keyframes rise{0%{opacity:1;transform:translateY(8px)}to{opacity:0;transform:translateY(-20px)}}.event-sheet{background:var(--event-sheet);border:3px solid var(--border-comic);border-radius:var(--rounded-lg);width:min(400px,100%);padding:var(--space-4);box-shadow:var(--shadow-comic)}.event-sheet--compact{width:min(320px,100%);padding:10px 12px 12px}.event-sheet--compact strong{font-size:14px;line-height:1.2;display:block}.event-hint{color:var(--ink-primary);margin:6px 0 8px;font-size:13px;line-height:1.3}.event-timer-label{margin:4px 0 8px;font-size:12px;font-weight:600}.event-actions{flex-wrap:wrap;gap:8px;display:flex}.flush-sheet,.empty-sheet{background:var(--event-sheet);border:3px solid var(--border-comic);border-radius:var(--rounded-lg);width:min(400px,100%);padding:var(--space-4);box-shadow:var(--shadow-comic);text-align:center}.flush-sheet--coach,.flush-sheet--compact{width:min(280px,100%);margin-inline:auto;padding:8px 12px 10px}.flush-sheet--coach strong,.flush-sheet--compact strong{font-size:14px}.flush-sheet--coach .flush-lead,.flush-sheet--compact .flush-lead{margin:4px 0 0;font-size:12px}.flush-sheet--coach .flush-hint{margin:4px 0 0;font-size:11px}.flush-actions{flex-wrap:wrap;justify-content:center;gap:8px;margin-top:8px;display:flex}.flush-sheet--broken{border-color:var(--accent-red,#e03131);background:#fff5f5}.flush-sheet--saved{border-color:var(--accent-green,#2f9e44);background:#ebfbee}.flush-sheet--failed{border-color:var(--accent-red,#e03131);background:#fff5f5}.flush-outcome-art,.flush-badge{display:none}.flush-lead{color:var(--ink-secondary,#4a5560);margin:6px 0 10px;font-size:14px}.flush-facts{text-align:left;gap:6px;margin:0 0 12px;padding:0;font-size:13px;list-style:none;display:grid}.flush-facts li{border-radius:var(--rounded-sm);background:#f4f7fa;border:2px solid #e2e8f0;padding:6px 10px}.flush-bonus{color:#2f9e44}.flush-malus{color:#e03131;font-weight:700}.flush-hint{color:var(--ink-secondary,#4a5560);margin:10px 0 0;font-size:12px}.btn-flush{min-width:min(280px,100%);padding:14px 20px;font-size:17px;animation:1.4s ease-in-out infinite flush-pulse}@keyframes flush-pulse{0%,to{box-shadow:var(--shadow-comic);transform:scale(1)}50%{box-shadow:0 0 0 3px #fff, 0 6px 0 var(--border-comic);transform:scale(1.03)}}@media (prefers-reduced-motion:reduce){.btn-flush{animation:none}}.empty-progress{border:2px solid var(--border-comic);border-radius:var(--rounded-full);height:12px;margin:var(--space-2) 0 4px;background:#eee;overflow:hidden}.empty-progress>i{background:linear-gradient(90deg,#74b816,#2f9e44);width:0%;height:100%;transition:width .1s linear;display:block}.empty-progress-label{margin:0 0 8px;font-size:13px;font-weight:700}.meter-fill.empty-done{background:#2f9e44;box-shadow:inset 0 0 0 2px #2f9e4459;width:0%!important}.event-timer{border:2px solid var(--border-comic);border-radius:var(--rounded-full);height:10px;margin:var(--space-2) 0;background:#eee;overflow:hidden}.event-timer>i{background:var(--accent-orange);width:100%;height:100%;display:block}.sr-announce{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}.boutique{background:var(--surface-base);min-height:100%;overflow-y:auto}.boutique-stage{min-height:100%;padding-bottom:var(--safe-bottom);background:radial-gradient(120% 60% at 50% -10%,#f5c5182e,#0000 55%),linear-gradient(165deg,#e8f1f8 0%,#d4e4f0 45%,#c5d8e8 100%)}.boutique-header{color:var(--ink-primary);padding:calc(var(--space-4) + env(safe-area-inset-top)) var(--space-4) var(--space-3);gap:var(--space-3);background:0 0;border-bottom:none;flex-direction:column;display:flex}.boutique-title-row{justify-content:space-between;align-items:flex-start;gap:var(--space-3);display:flex}.boutique-title-banner{background:var(--shop-banner);color:#fff;font-family:var(--font-display);letter-spacing:.02em;border:3px solid var(--border-comic);box-shadow:var(--shadow-comic);border-radius:4px 18px;align-items:center;gap:8px;padding:10px 18px;font-size:clamp(22px,6vw,32px);font-weight:900;display:inline-flex;transform:rotate(-2deg)}.pts-pill{color:var(--ink-primary);border:3px solid var(--border-comic);border-radius:var(--rounded-full);font-variant-numeric:tabular-nums;box-shadow:var(--shadow-comic);white-space:nowrap;background:#fff;align-items:center;gap:6px;padding:8px 14px;font-weight:800;display:inline-flex}.pts-pill--shake{color:#c92a2a;background:#fff5f5;border-color:#e03131;animation:.55s pts-shake}@keyframes pts-shake{0%,to{transform:translate(0)}20%{transform:translate(-5px)rotate(-1deg)}40%{transform:translate(5px)rotate(1deg)}60%{transform:translate(-4px)}80%{transform:translate(3px)}}.boutique-toast{z-index:8;margin:0 var(--space-4);margin-top:calc(var(--space-3) + env(safe-area-inset-top,0px));color:#c92a2a;border-radius:var(--rounded-md);box-shadow:var(--shadow-comic);text-align:center;opacity:0;pointer-events:none;background:#fff5f5;border:3px solid #e03131;padding:12px 14px;font-size:14px;font-weight:800;line-height:1.35;position:sticky;top:0;transform:translateY(-8px)}.boutique-toast--show{opacity:1;transition:opacity .2s,transform .2s;transform:translateY(0)}.boutique-bubble--warn{color:#c92a2a;background:#fff5f5;border-color:#e03131}.shop-card--unaffordable{opacity:.88;background:#f8fafc}.shop-card--unaffordable .shop-icon{filter:grayscale(.35)}.shop-card--nudge{animation:.45s shop-nudge}@keyframes shop-nudge{0%,to{transform:translate(0)}25%{transform:translate(-4px)}75%{transform:translate(4px)}}.shop-need{color:#e03131;margin:0;font-size:11px;font-weight:800}.btn-points--muted{color:#495057!important;background:#ced4da!important}.pts-coin{color:#e6b422;font-size:1.1em}.boutique-tip{align-items:center;gap:var(--space-3);display:flex}.boutique-mascot{object-fit:contain;filter:drop-shadow(3px 3px #1a1b1f40);flex-shrink:0}.boutique-bubble{border:3px solid var(--border-comic);box-shadow:var(--shadow-comic);background:#fff;border-radius:16px;margin:0;padding:10px 14px;font-size:13px;font-weight:700;line-height:1.35}.boutique-pts-hint{color:var(--ink-secondary);align-self:flex-end;margin:0;font-size:12px;font-weight:700}.boutique-tabs{gap:var(--space-2);margin:var(--space-2) 0 0;display:flex}.boutique-tab{border:3px solid var(--border-comic);border-radius:var(--rounded-md);background:var(--surface-raised);text-transform:uppercase;cursor:pointer;min-height:44px;box-shadow:var(--shadow-comic);flex:1;font-weight:900}.boutique-tab.active{background:var(--accent-blue);color:#fff}.shop-grid--persos{grid-template-columns:repeat(2,1fr)}@media (width>=520px){.shop-grid--persos{grid-template-columns:repeat(3,1fr)}}.shop-card--avatar h3{text-align:center;margin:0}.shop-card--avatar .shop-gag{text-align:center;min-height:0;margin:0}.shop-card--avatar .shop-icon-wrap{align-self:center;width:100%;height:auto}.shop-card--avatar .shop-icon,.shop-card--avatar .avatar-card-art{aspect-ratio:1;object-fit:contain;width:100%;max-width:120px;height:auto;transform:none}.shop-avatar-placeholder{border-radius:var(--rounded-md);border:3px solid var(--border-comic);color:#fff;text-shadow:1px 1px #000;place-items:center;width:96px;height:96px;font-size:2rem;font-weight:900;display:grid}.shop-card--owned{outline:3px solid var(--accent-green)}.shop-owned-badge{color:var(--accent-green);letter-spacing:.04em;font-size:12px;font-weight:900}.shop-grid{gap:var(--space-3);padding:var(--space-3) var(--space-4);grid-template-columns:repeat(2,1fr);display:grid}@media (width>=520px){.shop-grid{grid-template-columns:repeat(4,1fr)}}.shop-card{border:3px solid var(--border-comic);border-radius:var(--rounded-md);box-shadow:var(--shadow-comic);padding:var(--space-3);text-align:center;background:#fff;flex-direction:column;gap:4px;min-height:210px;display:flex;position:relative}.shop-card h3{text-transform:uppercase;text-align:left;margin:0 4px 0 28px;font-size:13px;font-weight:900;line-height:1.2}.shop-gag{color:var(--ink-secondary);text-align:left;min-height:2.4em;margin:0 0 2px;font-size:11px;font-style:italic;font-weight:600}.shop-icon-wrap{background:0 0;align-self:center;place-items:center;width:104px;height:104px;display:grid}.shop-icon{object-fit:contain;background:0 0;border:none;border-radius:0;width:96px;height:96px}.shop-inv{color:var(--ink-secondary);font-size:12px;font-weight:700}.shop-card .btn-points{justify-content:center;align-items:center;gap:6px;width:100%;margin-top:auto;display:inline-flex}.shop-index{border-radius:var(--rounded-full);background:var(--accent-blue);color:#fff;border:2px solid var(--border-comic);place-items:center;width:28px;height:28px;font-size:12px;font-weight:800;display:grid;position:absolute;top:8px;left:8px}.event-cost{border:2px solid var(--border-comic);border-radius:var(--rounded-sm);background:#fff3cd;margin:6px 0 0;padding:8px 10px;font-size:14px}.event-cost-value{color:#c92a2a;font-family:var(--font-score)}.boutique-footer{padding:var(--space-3) var(--space-4) var(--safe-bottom);gap:var(--space-3);flex-direction:column;align-items:stretch;margin-top:auto;display:flex}.boutique-footer-cta{align-items:flex-end;gap:var(--space-3);display:flex}.boutique-footer-copy{gap:var(--space-2);flex-direction:column;flex:1;display:flex}.btn-retour{color:var(--ink-primary);border:3px solid var(--border-comic);box-shadow:var(--shadow-comic);background:#fff;align-self:flex-start;font-weight:900}.interest-ack{text-align:center;color:var(--accent-green);font-weight:600}.panel{padding:calc(var(--space-5) + env(safe-area-inset-top)) var(--space-4) var(--safe-bottom);gap:var(--space-4);width:100%;max-width:480px;margin:0 auto}.panel h1{font-family:var(--font-display);margin:0}.fail-screen{text-align:center;align-items:center;max-width:520px}.fail-art{border:4px solid var(--border-comic);border-radius:var(--rounded-lg);width:min(100%,480px);height:auto;box-shadow:var(--shadow-comic);background:#fff;display:block}.fail-gag{color:var(--ink-secondary);margin:0;font-size:15px;font-weight:600}.fail-actions{gap:var(--space-3);flex-wrap:wrap;justify-content:center;width:100%;display:flex}.avatar-grid{gap:var(--space-3);grid-template-columns:repeat(2,1fr);display:grid}@media (width>=520px){.avatar-grid{grid-template-columns:repeat(3,1fr)}}.auth-screen{overflow-y:auto}.auth-stage{max-width:520px;min-height:100%;padding:calc(var(--space-5) + env(safe-area-inset-top)) var(--space-4) var(--safe-bottom);gap:var(--space-3);background:radial-gradient(100% 50% at 20% 0,#f5c51833,#0000 55%),linear-gradient(165deg,#e8f1f8 0%,#dce8f2 50%,#cfddec 100%);flex-direction:column;margin:0 auto;display:flex}.auth-title-banner{background:var(--accent-blue);color:#fff;font-family:var(--font-display);border:3px solid var(--border-comic);box-shadow:var(--shadow-comic);border-radius:4px 18px;align-self:flex-start;padding:10px 16px;font-size:clamp(20px,5.5vw,28px);font-weight:900;display:inline-flex}.auth-lead{color:var(--ink-secondary);margin:8px 0 0;font-size:14px;font-weight:600}.auth-tabs{gap:8px;margin-top:12px;display:flex}.auth-tab{border:3px solid var(--border-comic);border-radius:var(--rounded-md);cursor:pointer;min-height:44px;box-shadow:var(--shadow-comic);background:#fff;flex:1;font-weight:800}.auth-tab.active{background:var(--accent-yellow)}.auth-toast{border-radius:var(--rounded-md);color:#c92a2a;background:#fff5f5;border:3px solid #e03131;padding:10px 12px;font-size:14px;font-weight:800}.auth-form{border:3px solid var(--border-comic);border-radius:var(--rounded-lg);padding:var(--space-4);box-shadow:var(--shadow-comic);background:#fff;flex-direction:column;gap:12px;display:flex}.auth-field{flex-direction:column;gap:6px;font-size:13px;font-weight:800;display:flex}.auth-field input{border:2px solid var(--border-comic);border-radius:var(--rounded-sm);min-height:44px;padding:8px 12px;font-size:16px;font-weight:600}.auth-avatar-label{margin:0;font-size:14px;font-weight:800}.auth-avatar-grid{grid-template-columns:repeat(3,1fr);max-height:220px;overflow-y:auto}.auth-meta-hint{color:var(--ink-secondary);margin:0;font-size:12px}.avatar-screen{overflow-y:auto}.avatar-stage{max-width:560px;min-height:100%;padding:calc(var(--space-5) + env(safe-area-inset-top)) var(--space-4) var(--safe-bottom);gap:var(--space-4);background:radial-gradient(100% 50% at 80% 0,#2b6cb029,#0000 55%),linear-gradient(165deg,#e8f1f8 0%,#dce8f2 50%,#cfddec 100%);flex-direction:column;margin:0 auto;display:flex}.avatar-header{gap:var(--space-2);flex-direction:column;display:flex}.avatar-title-banner{background:var(--accent-yellow);color:var(--ink-primary);font-family:var(--font-display);letter-spacing:.02em;border:3px solid var(--border-comic);box-shadow:var(--shadow-comic);border-radius:4px 18px;align-self:flex-start;padding:10px 16px;font-size:clamp(20px,5.5vw,28px);font-weight:900;display:inline-flex;transform:rotate(-1.5deg)}.avatar-lead{color:var(--ink-secondary);margin:0;font-size:14px;font-weight:600}.avatar-preview{align-items:center;gap:var(--space-4);border:3px solid var(--border-comic);border-radius:var(--rounded-lg);box-shadow:var(--shadow-comic);padding:var(--space-3) var(--space-4);background:#fff;display:flex}.avatar-preview-art{object-fit:contain;filter:drop-shadow(3px 4px #1a1b1f33);background:0 0;width:min(42vw,180px);height:min(42vw,180px)}.avatar-preview-meta{flex-direction:column;gap:4px;display:flex}.avatar-preview-meta strong{font-family:var(--font-display);font-size:22px}.avatar-preview-meta span{color:var(--ink-secondary);font-size:14px;font-weight:600}.avatar-card{border:3px solid var(--border-comic);border-radius:var(--rounded-md);box-shadow:var(--shadow-comic);padding:var(--space-3);min-height:var(--tap-min);text-align:center;background:#fff;flex-direction:column;align-items:center;gap:6px;display:flex}.avatar-card.selected{outline:4px solid var(--accent-yellow);background:#fffbeb}.avatar-card-art{aspect-ratio:1;object-fit:contain;background:0 0;width:100%;max-width:120px}.avatar-card strong{font-size:14px}.avatar-card-trait{color:var(--ink-secondary);font-size:12px;font-weight:600}.avatar-footer{gap:var(--space-3);flex-direction:column;margin-top:auto;display:flex}.avatar-swatch{display:none}.toggle-row{min-height:var(--tap-min);background:var(--surface-raised);border:3px solid var(--border-comic);border-radius:var(--rounded-md);padding:0 var(--space-3);box-shadow:var(--shadow-comic);justify-content:space-between;align-items:center;display:flex}.nudge{left:var(--space-3);right:var(--space-3);bottom:var(--safe-bottom);z-index:20;background:var(--surface-raised);border:3px solid var(--border-comic);border-radius:var(--rounded-lg);box-shadow:var(--shadow-comic);padding:var(--space-4);display:none;position:fixed}.nudge.show{display:block}.ops-denied{color:var(--accent-red);font-weight:700}.ops-metrics{gap:var(--space-3);grid-template-columns:1fr 1fr;display:grid}.ops-metric{background:var(--surface-raised);border:3px solid var(--border-comic);border-radius:var(--rounded-md);padding:var(--space-3);box-shadow:var(--shadow-comic)}.ops-metric strong{font-variant-numeric:tabular-nums;font-size:24px;display:block}.ops-players{gap:var(--space-3);margin-bottom:var(--space-4);display:grid}@media (width>=720px){.ops-players{grid-template-columns:1fr 1.2fr;align-items:start}}.ops-player-list{flex-direction:column;gap:8px;max-height:320px;display:flex;overflow-y:auto}.ops-player-row{text-align:left;border:3px solid var(--border-comic);border-radius:var(--rounded-md);cursor:pointer;box-shadow:var(--shadow-comic);background:#fff;flex-direction:column;align-items:flex-start;gap:2px;padding:10px 12px;font-weight:700;display:flex}.ops-player-row span{color:var(--ink-secondary);font-size:12px;font-weight:600}.ops-player-row.active{background:var(--accent-yellow)}.ops-player-edit{background:var(--surface-raised);border:3px solid var(--border-comic);border-radius:var(--rounded-md);padding:var(--space-3);box-shadow:var(--shadow-comic)}.ops-player-edit h3,.ops-player-edit h4{margin:0 0 8px}.ops-player-edit label{justify-content:space-between;gap:var(--space-3);margin-bottom:var(--space-2);align-items:center;font-size:13px;font-weight:700;display:flex}.ops-player-edit input{border:2px solid var(--border-comic);border-radius:var(--rounded-sm);width:90px;min-height:40px;padding:6px 8px;font-weight:700}.ops-empty{color:var(--ink-secondary);font-weight:700}.ops-hint{margin:0 0 var(--space-3);color:var(--ink-secondary);font-size:.85rem}.economy-form label{justify-content:space-between;gap:var(--space-3);margin-bottom:var(--space-2);align-items:center;display:flex}.economy-form input{border:2px solid var(--border-comic);border-radius:var(--rounded-sm);width:90px;min-height:40px;padding:6px 8px;font-weight:700}@media (prefers-reduced-motion:reduce){.malus-chip,.hud-score.score-flash,.hud-score.score-flash:before,.hud-score.score-flash:after,.hud-score.score-pulse,.hud-score.score-pulse-danger{animation:none}.pts-pill--shake,.shop-card--nudge,.boutique-toast--show{transition:none;animation:none}}
