/* BihmanDecks Design System V2 — foundations and reusable product primitives. */
:root{--bg-0:#060b19;--bg-1:#0a1330;--surface-1:#0d1932;--surface-2:#101f3d;--surface-raised:#14284b;--surface-interactive:#193660;--text-strong:#f5f8ff;--text:#d7e4f7;--text-muted:#9eb2d1;--text-disabled:#7184a2;--action-gold:#f7bf45;--action-gold-hover:#ffd36c;--action-blue:#2f81f7;--action-blue-hover:#559aff;--focus-cyan:#63dff6;--success:#56d49a;--warning:#f3c65f;--danger:#ef7189;--border-subtle:#22395d;--border:#36557f;--border-strong:#628fc5;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--space-7:48px;--space-8:64px;--space-9:96px;--radius-sm:8px;--radius-md:12px;--radius-lg:18px;--radius-xl:24px;--shadow-sm:0 4px 12px rgb(0 0 0 / .22);--shadow-md:0 14px 32px rgb(0 0 0 / .28);--shadow-lg:0 24px 54px rgb(0 0 0 / .36);--shadow-focus:0 0 0 3px rgb(99 223 246 / .38);--motion-fast:120ms;--motion-normal:180ms;--motion-slow:240ms;--ease-standard:cubic-bezier(.2,.7,.2,1);--font-display:ui-serif,Georgia,serif;--font-body:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--type-display:clamp(44px,6vw,76px);--type-h1:clamp(36px,4vw,58px);--type-h2:clamp(26px,3vw,36px);--type-h3:20px;--type-body-large:17px;--type-body:16px;--type-body-small:14px;--type-label:12px;--type-metric:28px;--type-button:14px;--container-reading:760px;--container-product:1240px;--container-wide:1480px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:320px;background:var(--bg-0);color:var(--text);font:var(--type-body)/1.5 var(--font-body)}a{color:inherit}button,input,select,textarea{font:inherit}button,[role="button"],input,select,textarea{min-height:44px}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[role="button"]:focus-visible{outline:3px solid var(--focus-cyan);outline-offset:3px}input,select,textarea{width:100%;padding:10px 12px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-2);color:var(--text-strong);transition:border-color var(--motion-fast) var(--ease-standard),box-shadow var(--motion-fast) var(--ease-standard)}input:hover,select:hover,textarea:hover{border-color:var(--border-strong)}input:focus,select:focus,textarea:focus{border-color:var(--focus-cyan);box-shadow:var(--shadow-focus);outline:0}input:disabled,select:disabled,textarea:disabled{border-color:var(--border-subtle);background:var(--surface-1);color:var(--text-disabled);cursor:not-allowed}input[aria-invalid="true"],.is-invalid{border-color:var(--danger)}
.btn-game-primary,.btn-game-secondary,.btn-game-tertiary,.PrimaryGameCTA,.SecondaryCTA,.UtilityCTA{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);min-height:44px;padding:0 var(--space-4);border:1px solid transparent;border-radius:var(--radius-md);font:800 var(--type-button)/1 var(--font-body);letter-spacing:.01em;text-decoration:none;cursor:pointer;transition:transform var(--motion-fast) var(--ease-standard),background var(--motion-fast) var(--ease-standard),border-color var(--motion-fast) var(--ease-standard),box-shadow var(--motion-fast) var(--ease-standard)}.btn-game-primary,.PrimaryGameCTA{border-color:var(--action-gold-hover);background:linear-gradient(135deg,var(--action-gold),#d98d25);color:#211500;box-shadow:var(--shadow-sm)}.btn-game-primary:hover,.PrimaryGameCTA:hover{background:linear-gradient(135deg,var(--action-gold-hover),var(--action-gold));transform:translateY(-1px)}.btn-game-secondary,.SecondaryCTA{border-color:var(--border-strong);background:var(--action-blue);color:var(--text-strong)}.btn-game-secondary:hover,.SecondaryCTA:hover{background:var(--action-blue-hover);transform:translateY(-1px)}.btn-game-tertiary,.UtilityCTA{border-color:var(--border);background:var(--surface-interactive);color:var(--text)}.btn-game-tertiary:hover,.UtilityCTA:hover{border-color:var(--border-strong);background:var(--surface-raised)}.btn-game-primary:active,.btn-game-secondary:active,.btn-game-tertiary:active,.PrimaryGameCTA:active,.SecondaryCTA:active,.UtilityCTA:active{transform:translateY(0)}.btn-game-primary:disabled,.btn-game-secondary:disabled,.btn-game-tertiary:disabled,[aria-disabled="true"]{background:var(--surface-1);border-color:var(--border-subtle);color:var(--text-disabled);box-shadow:none;cursor:not-allowed;pointer-events:none}.is-loading{cursor:progress}.is-loading::after{content:"";width:12px;height:12px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:ds-spin var(--motion-slow) linear infinite}
.btn-support,.manual-actions button,.generated-deck-actions button,.tool-card button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 var(--space-4);border:1px solid var(--border-strong);border-radius:var(--radius-md);background:var(--action-blue);color:var(--text-strong);font:800 var(--type-button)/1 var(--font-body);cursor:pointer}.btn-support:hover,.manual-actions button:hover,.generated-deck-actions button:hover,.tool-card button:hover{background:var(--action-blue-hover)}
.DeckGrid,.deck-grid{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:var(--space-2)}.CardTile,.card-tile{position:relative;min-width:0;overflow:hidden;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-2)}.CardTile img,.card-tile img{display:block;width:100%;aspect-ratio:1/1;object-fit:contain}.CardTile.is-selected,.card-tile.is-selected{border-color:var(--focus-cyan);box-shadow:var(--shadow-focus)}.CardTile.is-unavailable,.card-tile.is-unavailable{opacity:.5;filter:saturate(.4)}.CardTile.is-unowned,.card-tile.is-unowned{opacity:.68}.Badge,.badge{display:inline-flex;align-items:center;min-height:22px;padding:3px 7px;border:1px solid var(--border);border-radius:999px;background:var(--surface-interactive);color:var(--text);font-size:var(--type-label);font-weight:800}.Badge--evolution,.badge-evolution{border-color:color-mix(in srgb,var(--focus-cyan) 60%,var(--border));color:var(--focus-cyan)}.Badge--warning,.badge-warning{border-color:color-mix(in srgb,var(--warning) 60%,var(--border));color:var(--warning)}.Badge--derived,.badge-derived{color:var(--text-muted)}.Metric,.deck-metric{display:grid;gap:2px}.Metric__label,.deck-metric__label{color:var(--text-muted);font-size:var(--type-label);font-weight:800;letter-spacing:.06em}.Metric__value,.deck-metric__value{color:var(--text-strong);font-size:var(--type-metric);font-weight:800;letter-spacing:-.04em}
.InlineStatus,.inline-status{padding:var(--space-3);border-left:3px solid var(--focus-cyan);border-radius:var(--radius-sm);background:var(--surface-2);color:var(--text);font-size:var(--type-body-small)}.ErrorMessage,.error-message{border-color:var(--danger);color:var(--danger)}.SuccessMessage,.success-message{border-color:var(--success);color:var(--success)}.Toast,.toast{position:fixed;right:var(--space-4);bottom:var(--space-4);z-index:20;max-width:360px;padding:var(--space-3) var(--space-4);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-raised);box-shadow:var(--shadow-lg)}.LoadingState,.loading-state,.SkeletonDeck,.skeleton-deck{min-height:100px;border:1px solid var(--border-subtle);border-radius:var(--radius-lg);background:var(--surface-2)}.EmptyState,.empty-state{padding:var(--space-5);border:1px dashed var(--border);border-radius:var(--radius-lg);color:var(--text-muted);text-align:center}.Section{margin-block:var(--space-8)}.SectionHeader,.section-header{display:flex;align-items:end;justify-content:space-between;gap:var(--space-4);margin-bottom:var(--space-4)}.SectionIntro,.section-intro{max-width:var(--container-reading);color:var(--text-muted);font-size:var(--type-body-large)}
@keyframes ds-spin{to{transform:rotate(1turn)}}@media (max-width:767px){.DeckGrid,.deck-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.Section{margin-block:var(--space-6)}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:1ms;animation-iteration-count:1;transition-duration:1ms}}
