@font-face{font-family:Fredoka One;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/fredoka-one-v15.woff2) format("woff2")}:root{color-scheme:light dark;font-family:system-ui,-apple-system,Segoe UI,sans-serif;line-height:1.4;--color-cream: #F9F2E5;--color-orange: #DE5518;--color-orange-light: #FF8A3D;--color-orange-dark: #D9520F;--color-orange-ink: #A84309;--color-navy: #233B70;--color-navy-light: #3B82F6;--color-amber: #F5B800;--color-gold: #FFD23F;--color-green: #059669;--color-green-light: #10B981;--color-green-dark: #047857;--color-red: #B91C1C;--color-text-dark: #1F2937;--color-text-muted: #4B5563;--font-brand: "Fredoka One", "Arial Black", system-ui, sans-serif;--focus-ring: #3478f6;--focus-ring-offset: 2px;--text-xs: .75rem;--text-sm: 1rem;--text-md: 1.25rem;--text-lg: 1.75rem;--text-xl: 3rem;--card-min-size: clamp(2.1rem, 9vw, 2.75rem);--deck-card-w: clamp(2.1rem, 8vw, 2.5rem);--deck-card-h: clamp(2.7rem, 10vw, 3.25rem);--slot-label-w: clamp(1.1rem, 4vw, 1.5rem);--slot-pad-x: clamp(.15rem, 1vw, .4rem);--slot-gap: clamp(.25rem, 1.2vw, .5rem);--round-grid-gap: clamp(.25rem, 2vw, .75rem);--piles-gap: clamp(.35rem, 2vw, .75rem)}[hidden]{display:none!important}html,body{overflow-x:clip}html{background-color:var(--color-cream);background-image:repeating-linear-gradient(45deg,color-mix(in srgb,var(--color-orange) 6%,transparent) 0,color-mix(in srgb,var(--color-orange) 6%,transparent) 1px,transparent 1px,transparent 9px),repeating-linear-gradient(45deg,color-mix(in srgb,var(--color-navy) 6%,transparent) 4px,color-mix(in srgb,var(--color-navy) 6%,transparent) 5px,transparent 5px,transparent 17px);background-attachment:fixed}.skip-link{position:fixed;top:.5rem;left:.5rem;padding:.5rem .75rem;background:Canvas;color:CanvasText;border:2px solid var(--focus-ring);border-radius:.375rem;text-decoration:none;font-weight:600;z-index:200;transform:translateY(-150%);transition:transform .15s ease-out}.skip-link:focus,.skip-link:focus-visible{transform:translateY(0);outline:none}:focus-visible{outline:2px solid var(--focus-ring);outline-offset:var(--focus-ring-offset)}body{margin:0;min-height:100dvh;display:grid;place-items:center}main{box-sizing:border-box;width:min(28rem,92vw);padding:2rem 1rem}main:has(.screen.round){width:min(46rem,96vw);padding-left:.5rem;padding-right:.5rem}h1{margin:0 0 .5rem;font-size:var(--text-xl);text-align:center}.screen{display:flex;flex-direction:column;gap:1rem;align-items:stretch}.tagline,.hint,.waiting{text-align:center;margin:0;opacity:.75}button.primary{font:inherit;font-weight:600;padding:.75rem 1rem;border:0;border-radius:999px;background:#3478f6;color:#fff;cursor:pointer;min-height:2.75rem}button.primary:disabled{opacity:.6;cursor:not-allowed}.invite{display:flex;gap:.5rem}.invite input{flex:1;font:inherit;padding:.5rem .75rem;border:1px solid currentColor;border-radius:.375rem;background:transparent;color:inherit}.invite-qr{display:block;margin:.75rem auto 0;width:220px;height:220px;max-width:100%;background:#fff;padding:.5rem;border-radius:.5rem;image-rendering:pixelated}.status{margin:0;min-height:1.25rem;text-align:center;font-size:var(--text-sm);opacity:.75}.status.is-waiting{display:inline-flex;align-items:center;justify-content:center;gap:.6rem;font-size:var(--text-sm);font-weight:500;opacity:1;min-height:2rem}.status.is-waiting:before{content:"";flex:0 0 auto;width:1.05rem;height:1.05rem;border:3px solid rgba(127,127,127,.25);border-top-color:#3478f6;border-radius:50%;animation:status-spinner .9s linear infinite}@keyframes status-spinner{to{transform:rotate(360deg)}}@media (prefers-reduced-motion: reduce){.status.is-waiting:before{animation:none;border-color:#3478f6}}.error{color:#c62828;margin:0;text-align:center}.error.inline{text-align:left;font-size:var(--text-sm);margin-top:-.25rem}.identity-line{margin:0;text-align:center;font-size:var(--text-sm);opacity:.85}.identity-line strong{font-weight:600;opacity:1}.link-button{background:none;border:0;color:#3478f6;font:inherit;text-decoration:underline;cursor:pointer;padding:.5rem;min-height:2.75rem;min-width:2.75rem}.name-modal{border:0;border-radius:.75rem;padding:1.5rem;width:min(24rem,92vw);background:Canvas;color:CanvasText;view-transition-name:identity-modal}.name-modal::backdrop{background:#0006}.name-modal form{display:flex;flex-direction:column;gap:.75rem;margin:0}.name-modal h2{margin:0;font-size:var(--text-md)}.name-modal p{margin:0;font-size:var(--text-sm);opacity:.8}.name-modal input{font:inherit;padding:.25rem .75rem;border:1px solid currentColor;border-radius:.375rem;background:transparent;color:inherit;min-height:2rem}.name-modal menu{display:flex;gap:.5rem;justify-content:flex-end;margin:.25rem 0 0;padding:0;list-style:none}.name-modal menu button{font:inherit;padding:.6rem 1rem;border-radius:.375rem;border:1px solid currentColor;background:transparent;color:inherit;cursor:pointer;min-height:2.75rem}.name-modal menu button.primary{background:#3478f6;color:#fff;border-color:#3478f6}.invite-from{text-align:center;margin:0;font-size:var(--text-sm);font-weight:500}.join form{display:flex;flex-direction:column;gap:.5rem}.join form label{font-size:var(--text-sm);font-weight:600}.join form input{font:inherit;padding:.5rem .75rem;border:1px solid currentColor;border-radius:.375rem;background:transparent;color:inherit;min-height:2.75rem}.join form button.primary{margin-top:.5rem}.muted{opacity:.6;font-weight:400}.hint.subtle{font-size:var(--text-sm);opacity:.6;text-align:left}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.players{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.5rem}.player{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;border:1px solid currentColor;border-radius:.5rem;min-height:2.75rem}.player.is-you{font-weight:600}.player.is-new{animation:player-joined 1s ease-out}@keyframes player-joined{0%{opacity:0;transform:translateY(-.25rem);background:color-mix(in srgb,var(--focus-ring) 25%,transparent)}60%{opacity:1;transform:translateY(0);background:color-mix(in srgb,var(--focus-ring) 18%,transparent)}to{opacity:1;transform:translateY(0);background:transparent}}@media (prefers-reduced-motion: reduce){.player.is-new{animation:player-joined-flash 1s ease-out}}@keyframes player-joined-flash{0%,60%{background:color-mix(in srgb,var(--focus-ring) 18%,transparent)}to{background:transparent}}.player-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dot{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:.9rem;height:.9rem;font-size:var(--text-sm);font-weight:700;line-height:1;color:#c62828}.dot:before{content:"✕"}.dot.dot-connected{color:#2e7d32}.dot.dot-connected:before{content:"●"}.dot.dot-disconnected{color:#c97a16}.dot.dot-disconnected:before{content:"◐"}.host-controls{display:flex;flex-direction:column;gap:.5rem;margin-top:.5rem}button.secondary{font:inherit;font-weight:500;padding:.6rem 1rem;border:1px solid currentColor;border-radius:999px;background:transparent;color:inherit;cursor:pointer;min-height:2.75rem}button.secondary:disabled{opacity:.5;cursor:not-allowed}button.primary,button.secondary,.match-end-actions a.primary,.match-end-actions a.secondary{transition:background-color .15s ease,box-shadow .15s ease,transform .15s ease,filter .15s ease}@media (hover: hover){button.primary:not(:disabled):hover,.match-end-actions a.primary:hover{filter:brightness(1.08);box-shadow:0 2px 6px #0000002e;transform:translateY(-1px)}button.primary:not(:disabled):active,.match-end-actions a.primary:active{filter:brightness(.95);box-shadow:none;transform:translateY(0)}button.secondary:not(:disabled):hover,.match-end-actions a.secondary:hover{background:color-mix(in srgb,currentColor 10%,transparent);transform:translateY(-1px)}button.secondary:not(:disabled):active,.match-end-actions a.secondary:active{background:color-mix(in srgb,currentColor 16%,transparent);transform:translateY(0)}}@media (prefers-reduced-motion: reduce){button.primary,button.secondary,.match-end-actions a.primary,.match-end-actions a.secondary{transition:none}button.primary:not(:disabled):hover,button.secondary:not(:disabled):hover,.match-end-actions a.primary:hover,.match-end-actions a.secondary:hover{transform:none}}.screen.round{gap:.5rem;position:relative;color:var(--color-text-dark)}.round-screen-bg{position:fixed;top:0;right:0;bottom:0;left:0;z-index:-1;background-color:var(--color-cream);background-image:repeating-linear-gradient(45deg,color-mix(in srgb,var(--color-orange) 6%,transparent) 0,color-mix(in srgb,var(--color-orange) 6%,transparent) 1px,transparent 1px,transparent 9px),repeating-linear-gradient(45deg,color-mix(in srgb,var(--color-navy) 6%,transparent) 4px,color-mix(in srgb,var(--color-navy) 6%,transparent) 5px,transparent 5px,transparent 17px);pointer-events:none}.round-header{display:flex;flex-direction:column}.round-header-top{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:.5rem}.round-back-button{display:inline-flex;align-items:center;justify-content:center;width:2.4rem;height:2.4rem;background:transparent;border:2px solid var(--color-navy);border-radius:50%;color:var(--color-navy);cursor:pointer;padding:0}.round-back-chevron{display:inline-block;width:.5rem;height:.5rem;border-left:2.5px solid currentColor;border-bottom:2.5px solid currentColor;transform:rotate(45deg);margin-left:.2rem}.round-logo{grid-column:2;margin:0;text-align:center;font-family:var(--font-brand);font-size:var(--text-md);color:var(--color-orange-dark);-webkit-text-stroke:1.2px var(--color-navy);letter-spacing:1.5px}.round-header-top button.end-match{font-size:var(--text-sm);padding:.45rem .75rem;min-height:2.4rem;border-color:var(--color-navy);color:var(--color-navy)}.player-grid-wrap{display:flex;flex-direction:column;gap:.35rem}.player-grid-label{margin:0;text-align:center;font-size:var(--text-sm);font-weight:700;letter-spacing:3px;color:var(--color-navy)}.player-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem}.player-grid-card{position:relative;display:flex;align-items:center;gap:.5rem;padding:.25rem .55rem;background:#fff;border:1.5px solid var(--color-navy);border-radius:.5rem;flex-wrap:wrap;min-width:0}.player-grid-card.is-active{border-color:#22c55e;border-width:3px;box-shadow:0 0 0 4px color-mix(in srgb,#22C55E 40%,transparent),0 1.5px 3px #0000001f}.player-grid-card.is-left{opacity:.55}.player-grid-avatar{display:inline-flex;align-items:center;justify-content:center;width:1.85rem;height:1.85rem;border-radius:50%;border:1.5px solid var(--color-navy);color:#fff;font-family:var(--font-brand);font-size:var(--text-xs);flex:0 0 auto;overflow:hidden}.player-grid-avatar-orange{background:var(--color-orange-dark)}.player-grid-avatar-navy{background:var(--color-navy)}.player-grid-avatar-purple{background:#6d28d9}.player-grid-avatar-green{background:#15803d}.player-grid-avatar-img{width:100%;height:100%;border-radius:50%;object-fit:cover;display:block}.player-grid-avatar-has-image{background:transparent}.player-grid-meta{display:flex;flex-direction:column;align-items:flex-start;gap:.05rem;min-width:0;flex:1 1 0}.player-grid-name{font-size:var(--text-sm);font-weight:700;color:var(--color-text-dark);letter-spacing:.5px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.player-grid-score{font-size:var(--text-sm);color:var(--color-navy)}.player-grid-card .dot{margin-left:auto}.player-grid-card button.abandon-player{flex:1 0 100%;margin-top:.4rem;font-size:var(--text-sm);padding:.35rem .6rem;min-height:2.2rem;border-color:var(--color-navy);color:var(--color-navy)}.player-grid-manage{position:absolute;top:50%;right:-.1rem;transform:translateY(-50%);width:1.5rem;height:1.5rem;display:inline-flex;align-items:center;justify-content:center;padding:0;border-radius:50%;border:1.5px solid var(--color-navy);background:#fff;color:var(--color-navy);font-size:var(--text-sm);line-height:1;cursor:pointer}.player-grid-manage:focus-visible{outline:2px solid var(--focus-ring);outline-offset:var(--focus-ring-offset)}.round-main{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--round-grid-gap);align-items:start}.round-right-col{display:flex;flex-direction:column;gap:.75rem;min-width:0}.your-rack{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.25rem;min-width:0}.your-rack.is-disabled{opacity:.65}.rack-slot{display:flex;align-items:center;gap:var(--slot-gap);min-height:var(--card-min-size);padding:.25rem var(--slot-pad-x);border:1px dashed rgba(127,127,127,.4);border-radius:.375rem;min-width:0}.rack-slot.is-disabled{cursor:not-allowed}.slot-label{flex:0 0 var(--slot-label-w);font-size:var(--text-xs);font-variant-numeric:tabular-nums;text-align:right;opacity:.7}.card{display:inline-flex;align-items:center;justify-content:center;min-width:var(--card-min-size);min-height:var(--card-min-size);padding:.25rem .5rem;border:1px solid currentColor;border-radius:.375rem;font-weight:600;font-variant-numeric:tabular-nums;background:#7f7f7f14}.card-face{background:#fff;color:#111}@media (prefers-color-scheme: dark){.card-face{background:#e8e8ec;color:#111}}.card-empty{background:transparent;border-style:dashed;opacity:.5}.card-back{background:url(/assets/stack-oh-back.svg) center / cover no-repeat;border-color:transparent;color:transparent}.opponent-status{display:flex;flex-direction:column;gap:.35rem;padding:.5rem .75rem;border:1px dashed rgba(127,127,127,.4);border-radius:.5rem;min-width:0}.opponent-status-line{margin:0;font-size:var(--text-sm);line-height:1.3;opacity:.85}.opponent-heading{margin:0;font-size:var(--text-sm);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.center-col{display:flex;flex-direction:column;gap:.75rem;align-items:center;min-width:0}.piles{display:flex;gap:var(--piles-gap);align-items:flex-start}.deck-stack{display:flex;flex-direction:column;align-items:center;gap:.5rem}.pile{display:flex;flex-direction:column;align-items:center;gap:.25rem;font-size:var(--text-sm);opacity:.85}.pile-label{font-weight:500}.pile-count{font-size:var(--text-sm);font-variant-numeric:tabular-nums;opacity:.85}.deck-card{min-width:var(--deck-card-w);min-height:var(--deck-card-h);padding:0}.hand-card{font-size:var(--text-sm);padding:.5rem .75rem}.discard-hand{min-height:2.75rem;padding:.5rem .75rem;font-size:var(--text-sm)}button.pile{font:inherit;color:inherit;cursor:pointer;border:0;background:transparent;padding:0;min-height:2.75rem;min-width:2.75rem}button.pile:disabled{cursor:not-allowed;opacity:.6}button.pile:focus-visible{outline:none}button.pile:not(:disabled):hover .card-back,button.pile:not(:disabled):hover .card-face,button.pile:not(:disabled):focus-visible .card-back,button.pile:not(:disabled):focus-visible .card-face,button.pile:not(:disabled):focus-visible .card-empty{outline:2px solid var(--focus-ring);outline-offset:2px}.slot-button{font:inherit;color:inherit;cursor:pointer;border:0;background:transparent;padding:0;display:inline-flex;align-items:center;flex:1;min-height:2.75rem}.slot-button:disabled{cursor:not-allowed}.slot-button:focus-visible{outline:none}.slot-button:not(:disabled):hover .card,.slot-button:not(:disabled):focus-visible .card{outline:2px solid var(--focus-ring);outline-offset:2px}.round-error{margin-top:.5rem}.turn-actions{display:flex;gap:.5rem;justify-content:center;margin-top:.5rem}.turn-actions:empty{display:none}.stack-oh-prompt-row{display:flex;flex-direction:column;align-items:center;gap:.5rem;margin-top:.5rem;padding:.6rem .75rem;border:1px solid var(--focus-ring);border-radius:.6rem;background:#3478f614}.stack-oh-prompt-row .turn-actions{margin-top:0}button.stack-oh{background:#c2185b}button.stack-oh.is-shaking{animation:stack-oh-shake .2s ease-in-out 1}@keyframes stack-oh-shake{0%{transform:translate(0)}25%{transform:translate(-4px)}50%{transform:translate(4px)}75%{transform:translate(-4px)}to{transform:translate(0)}}@media (prefers-reduced-motion: reduce){button.stack-oh.is-shaking{animation:none}}.round-end-modal{margin-top:1rem;padding:1rem;border:1px solid currentColor;border-radius:.75rem;background:#7f7f7f0f;display:flex;flex-direction:column;gap:.75rem}.round-end-heading{margin:0;text-align:center;font-size:var(--text-md)}.round-scores{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.25rem}.round-score-row{display:flex;align-items:center;justify-content:space-between;padding:.4rem .6rem;border-radius:.375rem;border:1px solid rgba(127,127,127,.4)}.round-score-row.is-winner{border-color:#2e7d32;border-width:2px;font-weight:600}.round-score-row.is-winner .round-score-name:before{content:"🏆 ";margin-right:.15rem}.round-results .round-score-row.is-winner .round-score-name:before{content:none}.round-end-actions{display:flex;flex-direction:column;align-items:center;gap:.5rem}.ready-button{min-width:12rem}.ready-button:disabled{background:#2e7d32;opacity:.85;cursor:default}.round-score-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.round-score-value{font-variant-numeric:tabular-nums;font-weight:600}.round-end-hint{margin:0;text-align:center}.match-end-modal{background:#3478f614;border-color:#3478f6}.match-end-heading{font-size:var(--text-md)}.match-end-actions{display:flex;justify-content:center;margin-top:.5rem}.match-end-actions a.primary{display:inline-block;font:inherit;font-weight:600;padding:.75rem 1.5rem;border-radius:.5rem;background:#3478f6;color:#fff;text-decoration:none;min-height:2.75rem;line-height:1.5rem}.match-end-actions{gap:.5rem;flex-wrap:wrap}.match-end-actions a.secondary{display:inline-block;font:inherit;padding:.75rem 1.25rem;border-radius:.5rem;text-decoration:none;min-height:2.75rem;line-height:1.5rem;opacity:.8}.round-header{display:flex;justify-content:flex-end;gap:.5rem}.round-header button.end-match{font-size:var(--text-sm);padding:.6rem .85rem;min-height:2.75rem}.opponent-thumb.is-left{opacity:.55}.opponent-thumb .dot.dot-left{color:#b04646}.opponent-thumb .dot.dot-left:before{content:"✕"}.opponent-thumb button.abandon-player{margin-top:.25rem;font-size:var(--text-sm);padding:.55rem .65rem;min-height:2.75rem}.settings-gear{position:fixed;top:max(.5rem,env(safe-area-inset-top));right:max(.5rem,env(safe-area-inset-right));width:2.75rem;height:2.75rem;border-radius:50%;border:2px solid var(--color-navy);background:var(--color-cream);color:var(--color-navy);font-size:var(--text-md);line-height:1;cursor:pointer;z-index:100;display:inline-flex;align-items:center;justify-content:center;padding:0;box-shadow:0 2px 4px #00000026}.settings-gear:focus-visible{outline:2px solid var(--focus-ring);outline-offset:var(--focus-ring-offset)}.settings-drawer{border:3px solid var(--color-amber);border-radius:.75rem;padding:1.25rem;box-sizing:border-box;width:min(22rem,85vw);background:var(--color-cream);color:var(--color-navy);box-shadow:0 8px 24px #00000040;view-transition-name:settings-drawer}.settings-drawer::backdrop{background:#1e3a8a73}.settings-drawer h2{margin:0 0 .75rem;font-family:var(--font-brand);font-size:var(--text-md);color:var(--color-orange-dark);-webkit-text-stroke:1px var(--color-navy);letter-spacing:1px;text-align:center}.settings-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.75rem}.settings-row{display:flex;align-items:center;justify-content:space-between;gap:.75rem;min-height:2.75rem}.settings-label{display:flex;flex-direction:column;gap:.15rem;flex:1;cursor:pointer;color:var(--color-navy);font-weight:600}.settings-hint{font-size:var(--text-sm);font-weight:400;color:var(--color-text-muted)}.settings-sound-status{font-size:var(--text-sm);font-weight:400;color:var(--color-orange-dark);margin:-.25rem 0 0;padding:0;list-style:none;line-height:1.3}.settings-toggle{flex:0 0 auto;width:2.75rem;height:1.75rem;-moz-appearance:none;appearance:none;-webkit-appearance:none;background:color-mix(in srgb,var(--color-navy) 25%,transparent);border:1px solid var(--color-navy);border-radius:1rem;position:relative;cursor:pointer;transition:background .15s ease-out;margin:0}.settings-toggle:before{content:"";position:absolute;top:.1rem;left:.1rem;width:1.45rem;height:1.45rem;border-radius:50%;background:var(--color-cream);box-shadow:0 1px 2px #00000040;transition:transform .15s ease-out}.settings-toggle:checked{background:var(--color-orange);border-color:var(--color-orange-dark)}.settings-toggle:checked:before{transform:translate(1rem);background:var(--color-amber)}.settings-toggle:focus-visible{outline:2px solid var(--focus-ring);outline-offset:var(--focus-ring-offset)}.settings-actions{display:flex;flex-direction:column;align-items:stretch;gap:.5rem;margin:1rem 0 .5rem}.settings-link{text-align:center;padding:.6rem .75rem;color:var(--color-navy);background:transparent;border:2px solid var(--color-navy);border-radius:999px;text-decoration:none;font-weight:600}.settings-leave{color:var(--color-orange-dark);border-color:var(--color-orange-dark)}.settings-close{margin-top:.75rem;width:100%;background:linear-gradient(180deg,var(--color-navy-light),var(--color-navy));color:#fff;border:2px solid var(--color-navy);border-radius:999px;font-family:var(--font-brand);letter-spacing:1px;padding:.7rem 1rem}.settings-build{margin:1rem 0 0;text-align:center;font-size:var(--text-xs);color:var(--color-text-muted);opacity:.7}.screen.home{position:relative;align-items:center;gap:.75rem;padding:.5rem 0 1.25rem;text-align:center;color:var(--color-navy)}.home-bg{position:fixed;top:0;right:0;bottom:0;left:0;z-index:-1;background-color:var(--color-cream);background-image:repeating-linear-gradient(45deg,color-mix(in srgb,var(--color-orange) 6%,transparent) 0,color-mix(in srgb,var(--color-orange) 6%,transparent) 1px,transparent 1px,transparent 9px),repeating-linear-gradient(45deg,color-mix(in srgb,var(--color-navy) 6%,transparent) 4px,color-mix(in srgb,var(--color-navy) 6%,transparent) 5px,transparent 5px,transparent 17px);pointer-events:none}.home-logo{display:flex;justify-content:center;margin:1rem 0 0;font-size:var(--text-sm);font-weight:400;line-height:1}.home-logo-img{display:block;width:min(20rem,80vw);height:auto;aspect-ratio:1044 / 536;filter:drop-shadow(2px 4px 6px rgba(0,0,0,.25))}.logo-tagline{margin:.25rem 0 0;font-family:system-ui,-apple-system,Segoe UI,sans-serif;font-size:var(--text-sm);font-weight:700;letter-spacing:3px;color:var(--color-navy);text-align:center}.screen.home .identity-line{font-size:var(--text-sm);color:var(--color-navy);opacity:1;margin-top:.5rem}.screen.home .identity-line strong{font-weight:700}.screen.home .link-button{color:var(--color-orange-dark)}.home-actions{display:flex;flex-direction:column;align-items:center;gap:.75rem;width:100%;margin:.5rem 0 0}.btn-menu{display:inline-flex;align-items:center;justify-content:center;gap:.6rem;width:min(16.25rem,100%);min-height:3rem;padding:0 1rem;border-radius:999px;font:inherit;font-family:var(--font-brand);font-size:var(--text-sm);letter-spacing:2px;cursor:pointer;box-shadow:0 3px 6px #00000040;outline-offset:3px}.btn-menu:disabled{opacity:.6;cursor:not-allowed}.btn-menu-icon{display:inline-flex;align-items:center;justify-content:center;width:1.5rem;height:1.5rem;font-size:var(--text-sm);flex:0 0 auto}.btn-menu-icon-play{width:0;height:0;border-style:solid;border-width:.45rem 0 .45rem .7rem;border-color:transparent transparent transparent white}.btn-menu-primary{background:linear-gradient(180deg,var(--color-orange-light),var(--color-orange-dark));color:#fff;border:3px solid var(--color-amber);font-size:var(--text-md);min-height:3.5rem}.btn-menu-secondary{background:linear-gradient(180deg,var(--color-navy-light),var(--color-navy));color:#fff;border:2px solid white;font-family:system-ui,-apple-system,Segoe UI,sans-serif;font-weight:700;font-size:var(--text-sm)}.btn-menu-secondary .btn-menu-icon{color:#fff}.home-footer{margin:1rem 0 0;font-size:var(--text-xs);letter-spacing:1px;color:var(--color-text-muted)}.screen.player-setup{position:relative;align-items:stretch;gap:.75rem;padding:.5rem 0 1.25rem;color:var(--color-navy);text-align:left}.player-setup-bg{position:fixed;top:0;right:0;bottom:0;left:0;z-index:-1;background-color:var(--color-cream);background-image:repeating-linear-gradient(45deg,color-mix(in srgb,var(--color-orange) 6%,transparent) 0,color-mix(in srgb,var(--color-orange) 6%,transparent) 1px,transparent 1px,transparent 9px),repeating-linear-gradient(45deg,color-mix(in srgb,var(--color-navy) 6%,transparent) 4px,color-mix(in srgb,var(--color-navy) 6%,transparent) 5px,transparent 5px,transparent 17px);pointer-events:none}.player-setup-header{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:.5rem;margin-bottom:.25rem}.setup-back-button{display:inline-flex;align-items:center;gap:.35rem;padding:.35rem .5rem;background:transparent;border:none;color:var(--color-navy);font-size:var(--text-sm);font-weight:600;cursor:pointer;border-radius:.375rem}.setup-back-chevron{display:inline-block;width:.5rem;height:.5rem;border-left:2.5px solid currentColor;border-bottom:2.5px solid currentColor;transform:rotate(45deg)}.setup-compact-logo{grid-column:2;margin:0;text-align:center;font-family:var(--font-brand);font-size:var(--text-md);color:var(--color-orange-dark);-webkit-text-stroke:1px var(--color-navy);letter-spacing:1px}.setup-title{margin:.5rem 0 0;text-align:center;font-family:var(--font-brand);font-size:var(--text-lg);color:var(--color-navy);letter-spacing:1px}.setup-subtitle{margin:0;text-align:center;color:var(--color-text-muted);font-size:var(--text-sm)}.setup-playing-as{display:flex;align-items:center;gap:.75rem;padding:.65rem .85rem;background:#fff;border:1.5px solid var(--color-navy);border-radius:.85rem;margin:.75rem 0 0}.setup-avatar{display:inline-flex;align-items:center;justify-content:center;width:2.25rem;height:2.25rem;border-radius:50%;background:var(--color-orange-dark);border:2px solid var(--color-navy);color:#fff;font-family:var(--font-brand);font-size:var(--text-sm);flex:0 0 auto}.setup-playing-as-text{flex:1 1 auto;display:flex;flex-direction:column;min-width:0}.setup-playing-as-label{font-size:var(--text-sm);letter-spacing:1px;color:var(--color-text-muted);font-weight:700}.setup-playing-as-name{font-size:var(--text-sm);color:var(--color-text-dark);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.setup-edit-button{flex:0 0 auto;padding:.35rem .85rem;background:transparent;color:var(--color-navy);border:1.5px solid var(--color-navy);border-radius:999px;font-size:var(--text-xs);font-weight:700;letter-spacing:1px;cursor:pointer}.setup-count{border:0;padding:0;margin:1rem 0 0}.setup-count-legend{display:block;width:100%;text-align:center;font-size:var(--text-sm);font-weight:700;letter-spacing:3px;color:var(--color-navy);margin-bottom:.75rem}.setup-count-tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:.6rem}.setup-count-tile{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:space-between;gap:.4rem;padding:.85rem .25rem .65rem;min-height:7.25rem;box-sizing:border-box;background:#fff;border:2px solid var(--color-navy);border-radius:.85rem;color:var(--color-navy);cursor:pointer;box-shadow:0 2px 4px #00000026;font:inherit;transition:box-shadow .15s ease-out}.setup-count-tile:has(input:checked){background:linear-gradient(180deg,var(--color-orange-light),var(--color-orange-dark));border-color:var(--color-amber);border-width:3px;color:#fff;box-shadow:0 0 0 4px color-mix(in srgb,var(--color-amber) 40%,transparent),0 3px 6px #00000040}.setup-count-tile:has(input:focus-visible){outline:3px solid var(--color-amber);outline-offset:2px}.setup-count-tile-heads{display:flex;gap:.2rem;flex-wrap:wrap;justify-content:center;max-width:4rem}.setup-head{display:inline-block;width:.85rem;height:.85rem;border-radius:50%}.setup-head-orange{background:var(--color-orange-dark)}.setup-head-navy{background:var(--color-navy)}.setup-head-purple{background:#6d28d9}.setup-head-green{background:#15803d}.setup-count-tile:has(input:checked) .setup-head-orange{background:var(--color-gold)}.setup-count-tile:has(input:checked) .setup-head-navy{background:#fff}.setup-count-tile:has(input:checked) .setup-head-purple{background:#fff}.setup-count-tile:has(input:checked) .setup-head-green{background:var(--color-gold)}.setup-count-tile-number{font-family:var(--font-brand);font-size:var(--text-lg);line-height:1}.setup-count-tile-label{font-size:var(--text-xs);font-weight:700;letter-spacing:2px;color:var(--color-text-muted)}.setup-count-tile:has(input:checked) .setup-count-tile-label{color:#fff}.setup-count-tile-check{position:absolute;top:-.4rem;right:-.4rem;width:1.25rem;height:1.25rem;border-radius:50%;background:#15803d;color:#fff;display:none;align-items:center;justify-content:center;border:2px solid white}.setup-count-tile:has(input:checked) .setup-count-tile-check{display:inline-flex}.setup-rules{margin:1rem 0 0;padding:.65rem .85rem;background:#fff9;border:1.5px dashed var(--color-navy);border-radius:.85rem;border-width:1.5px}.setup-rules-legend{padding:0 .35rem;font-size:var(--text-sm);font-weight:700;letter-spacing:2px;color:var(--color-navy)}.setup-rules-row{display:flex;align-items:flex-start;gap:.6rem;cursor:pointer}.setup-rules-checkbox{flex:0 0 auto;width:1.1rem;height:1.1rem;margin-top:.15rem;accent-color:var(--color-orange)}.setup-rules-row-text{display:grid;gap:.15rem}.setup-rules-row-label{font-weight:700;font-size:var(--text-sm);color:var(--color-navy)}.setup-rules-row-hint{font-size:var(--text-sm);color:var(--color-text-muted);line-height:1.3}.setup-win-condition{margin:1rem 0 0;padding:.65rem .85rem;background:#fff9;border:1.5px dashed var(--color-navy);border-radius:.85rem;border-width:1.5px}.setup-win-condition-modes{display:grid;grid-template-columns:1fr 1fr;gap:.5rem;margin-top:.5rem}.setup-win-condition-mode{display:grid;gap:.15rem;padding:.5rem .65rem;background:#fff;border:1.5px solid var(--color-navy);border-radius:.65rem;cursor:pointer;text-align:left}.setup-win-condition-mode:has(input:checked){background:var(--color-navy);color:#fff}.setup-win-condition-mode:has(input:focus-visible),.setup-win-condition-value:has(input:focus-visible){outline:2px solid var(--color-amber);outline-offset:2px}.setup-win-condition-mode-label{font-weight:700;font-size:var(--text-sm)}.setup-win-condition-mode-hint{font-size:var(--text-sm);opacity:.8}.setup-win-condition-values{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.55rem}.setup-win-condition-value{padding:.35rem .7rem;background:#fff;border:1.5px solid var(--color-navy);border-radius:999px;font-family:var(--font-brand);font-size:var(--text-xs);letter-spacing:1px;color:var(--color-navy);cursor:pointer}.setup-win-condition-value:has(input:checked){background:var(--color-orange);color:#fff;border-color:var(--color-orange)}.setup-win-condition-value[hidden]{display:none}.setup-summary{margin:1rem 0 0;padding:.65rem .85rem;background:#fff9;border:1.5px dashed var(--color-navy);border-radius:.85rem}.setup-summary-label{margin:0 0 .45rem;text-align:center;font-size:var(--text-sm);font-weight:700;letter-spacing:2px;color:var(--color-navy)}.setup-summary-list{margin:0;padding:0;list-style:none;display:grid;gap:.3rem}.setup-summary-list li{position:relative;padding-left:.85rem;font-size:var(--text-sm);color:var(--color-text-dark)}.setup-summary-list li:before{content:"";position:absolute;left:0;top:.55em;width:.25rem;height:.25rem;border-radius:50%;background:var(--color-orange-dark)}.setup-quick-start{display:flex;flex-direction:column;align-items:center;gap:.5rem;margin:1rem 0 0}.setup-quick-start-cta{width:100%}.setup-review-options{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:none;padding:.5rem .75rem;font-family:inherit;font-size:var(--text-sm);color:var(--color-text-muted);text-decoration:underline;cursor:pointer}.setup-review-options:hover,.setup-review-options:focus-visible{color:var(--color-navy)}.setup-actions{display:flex;flex-direction:column;align-items:center;gap:.6rem;margin:1rem 0 0}.setup-create-icon{font-family:var(--font-brand);font-size:var(--text-md);line-height:1}.setup-helper{margin:.5rem 0 0;text-align:center;font-size:var(--text-sm);color:var(--color-text-muted)}@media (prefers-reduced-motion: reduce){.setup-count-tile{transition:none}}.screen.host-lobby{position:relative;align-items:stretch;gap:.85rem;padding:.5rem 0 1.25rem;color:var(--color-navy);text-align:left}.host-lobby-bg{position:fixed;top:0;right:0;bottom:0;left:0;z-index:-1;background-color:var(--color-cream);background-image:repeating-linear-gradient(45deg,color-mix(in srgb,var(--color-orange) 6%,transparent) 0,color-mix(in srgb,var(--color-orange) 6%,transparent) 1px,transparent 1px,transparent 9px),repeating-linear-gradient(45deg,color-mix(in srgb,var(--color-navy) 6%,transparent) 4px,color-mix(in srgb,var(--color-navy) 6%,transparent) 5px,transparent 5px,transparent 17px);pointer-events:none}.host-lobby-header{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:.5rem;margin-bottom:.25rem}.host-lobby-title{margin:0;text-align:center;font-family:var(--font-brand);font-size:var(--text-lg);color:var(--color-navy);letter-spacing:1px}.screen.host-lobby>#lobby-status{color:var(--color-navy)}.screen.host-lobby .status.is-waiting:before{border-color:color-mix(in srgb,var(--color-navy) 20%,transparent);border-top-color:var(--color-orange-dark)}.host-lobby-invite{display:flex;flex-direction:column;gap:.5rem;margin-top:.25rem}.host-lobby-share-label{margin:0;text-align:center;font-size:var(--text-sm);font-weight:700;letter-spacing:2px;color:var(--color-text-muted)}.host-lobby-invite-row{display:flex;align-items:stretch;gap:.4rem}.host-lobby-invite-input{flex:1 1 auto;font-family:Courier New,Menlo,monospace;font-size:var(--text-xs);padding:.5rem .75rem;border:1.5px solid var(--color-navy);border-radius:.5rem;background:#fff;color:var(--color-text-dark);min-height:2.5rem}.host-lobby-copy-button{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;gap:.35rem;min-width:5.5rem;padding:0 .85rem;border-radius:.5rem;border:0;background:linear-gradient(180deg,var(--color-navy-light),var(--color-navy));color:#fff;font-family:system-ui,-apple-system,Segoe UI,sans-serif;font-weight:700;font-size:var(--text-sm);letter-spacing:1px;cursor:pointer;box-shadow:0 2px 4px #0003}.host-lobby-copy-button:active{transform:translateY(1px)}.host-lobby-copy-icon{font-size:var(--text-sm);line-height:1}.host-lobby-copy-status{margin:0;text-align:center;font-size:var(--text-xs);min-height:1rem;color:var(--color-text-muted)}.host-lobby-copy-status.is-success{color:#15803d;font-weight:600;opacity:1}.host-lobby-qr-card{display:flex;flex-direction:column;align-items:center;gap:.35rem;margin:.25rem auto 0;padding:.5rem;background:#fff;border:1.5px solid var(--color-navy);border-radius:.85rem;width:min(9rem,60%);box-shadow:0 2px 4px #00000026}.host-lobby-qr-img{width:clamp(5rem,20vw,7rem);height:clamp(5rem,20vw,7rem);max-width:100%;background:#fff;margin:0;padding:0;border-radius:.25rem}.host-lobby-qr-caption{margin:0;text-align:center;font-size:var(--text-sm);font-weight:700;letter-spacing:2px;color:var(--color-navy)}.host-lobby-players-section{margin-top:.5rem}.host-lobby-players-label{display:flex;align-items:center;justify-content:center;gap:.5rem;margin:0 0 .5rem;font-size:var(--text-sm);font-weight:700;letter-spacing:2px;color:var(--color-navy)}.host-lobby-count-pill{display:inline-block;padding:.1rem .55rem;border-radius:999px;background:var(--color-navy);color:#fff;font-size:var(--text-sm);letter-spacing:1px;font-weight:700}.players.host-lobby-players{gap:.4rem}.host-lobby-rules-pill{align-self:flex-start;display:inline-flex;align-items:center;gap:.35rem;margin:0;padding:.2rem .6rem;border-radius:999px;background:var(--color-navy);color:var(--color-amber);font-family:var(--font-brand);font-size:var(--text-sm);letter-spacing:1px}.host-lobby-rules-pill[hidden]{display:none}.host-lobby-win-condition-pill{align-self:flex-start;display:inline-flex;align-items:center;gap:.35rem;margin:0;padding:.2rem .6rem;border-radius:999px;background:var(--color-navy);color:var(--color-amber);font-family:var(--font-brand);font-size:var(--text-sm);letter-spacing:1px}.player.host-lobby-player{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem;padding:.4rem .65rem;min-height:2.75rem;background:#fff;border:1.5px solid var(--color-navy);border-radius:.65rem;box-shadow:0 1.5px 3px #0000001f}.player.host-lobby-player-empty{background:#ffffff80;border-style:dashed;border-color:color-mix(in srgb,var(--color-navy) 35%,transparent);opacity:.7;box-shadow:none}.player.host-lobby-player-empty .host-lobby-player-name{color:var(--color-text-muted);font-style:italic}.host-lobby-avatar{display:inline-flex;align-items:center;justify-content:center;width:1.85rem;height:1.85rem;border-radius:50%;border:1.5px solid var(--color-navy);color:#fff;font-family:var(--font-brand);font-size:var(--text-xs);flex:0 0 auto}.host-lobby-avatar-orange{background:var(--color-orange-dark)}.host-lobby-avatar-navy{background:var(--color-navy)}.host-lobby-avatar-purple{background:#6d28d9}.host-lobby-avatar-green{background:#15803d}.host-lobby-avatar-img{width:100%;height:100%;border-radius:50%;object-fit:cover;display:block}.host-lobby-avatar-has-image{background:transparent}.host-lobby-avatar-empty{background:transparent;border-style:dashed;border-color:color-mix(in srgb,var(--color-navy) 35%,transparent);color:var(--color-text-muted);font-family:system-ui,-apple-system,Segoe UI,sans-serif}.host-lobby-player-name{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--color-text-dark);font-weight:700;font-size:var(--text-sm)}.host-lobby-crown{flex:0 0 auto;color:var(--color-amber);font-size:var(--text-sm);line-height:1;-webkit-text-stroke:.6px var(--color-navy)}.host-lobby-role-pill{flex:0 0 auto;padding:.15rem .55rem;border-radius:999px;font-size:var(--text-xs);font-weight:700;letter-spacing:1px}.host-lobby-role-pill.is-host-pill{background:color-mix(in srgb,var(--color-amber) 25%,transparent);color:var(--color-orange-dark)}.host-lobby-role-pill.is-joined-pill{background:color-mix(in srgb,#15803D 18%,transparent);color:#15803d}.host-lobby-remove-button{flex:0 0 auto;padding:.2rem .7rem;border-radius:999px;font-size:var(--text-sm);font-weight:700;letter-spacing:1px;text-transform:uppercase;background:transparent;border:1px solid color-mix(in srgb,var(--color-navy) 35%,transparent);color:var(--color-navy);cursor:pointer}.host-lobby-remove-button:hover{background:color-mix(in srgb,var(--color-navy) 8%,transparent)}.host-lobby-remove-button:focus-visible{outline:2px solid var(--color-amber);outline-offset:2px}.host-controls.host-lobby-actions{margin-top:.5rem;gap:.5rem;align-items:center}.host-lobby-actions .btn-menu-primary{width:min(18rem,100%)}.host-lobby-actions .btn-menu-primary:disabled{filter:grayscale(.35)}.host-lobby-actions .btn-menu-primary.lobby-ready-pulse{animation:lobby-ready-pulse .7s ease-out 3}@keyframes lobby-ready-pulse{0%{transform:scale(1);box-shadow:0 0 color-mix(in srgb,var(--color-orange-dark) 70%,transparent)}50%{transform:scale(1.04);box-shadow:0 0 0 12px color-mix(in srgb,var(--color-orange-dark) 0%,transparent)}to{transform:scale(1);box-shadow:0 0 color-mix(in srgb,var(--color-orange-dark) 0%,transparent)}}@media (prefers-reduced-motion: reduce){.host-lobby-actions .btn-menu-primary.lobby-ready-pulse{animation:lobby-ready-pulse-flash .7s ease-out 1}}@keyframes lobby-ready-pulse-flash{0%,to{transform:none;box-shadow:none}}.host-lobby-cancel-link{background:none;border:0;color:var(--color-text-muted);font:inherit;font-size:var(--text-sm);text-decoration:underline;cursor:pointer;padding:.5rem;min-height:2.75rem}.host-lobby-cancel-link:hover{color:var(--color-orange-dark)}@media (prefers-reduced-motion: reduce){.host-lobby-copy-button:active{transform:none}}.guest-lobby-banner{display:flex;align-items:center;justify-content:center;gap:.5rem;margin:0 0 .25rem;padding:.6rem 1rem;min-height:2.5rem;background:#15803d;color:#fff;border:1.5px solid color-mix(in srgb,white 40%,transparent);border-radius:999px;font-family:var(--font-brand);font-size:var(--text-sm);letter-spacing:1px;box-shadow:0 2px 4px #00000026}.guest-lobby-banner-icon{display:inline-flex;align-items:center;justify-content:center;width:1.25rem;height:1.25rem;border-radius:50%;background:#fff;color:#15803d;font-size:var(--text-sm);font-weight:900;line-height:1}.guest-lobby-host-line{margin:0;text-align:center;font-size:var(--text-sm);color:var(--color-text-muted)}.guest-lobby-host-line strong{color:var(--color-text-dark);font-weight:900}.screen.host-lobby .player.host-lobby-player.is-you:not(.is-host){border-color:#b8860b;border-width:2.5px;box-shadow:0 0 0 4px color-mix(in srgb,var(--color-amber) 35%,transparent),0 1.5px 3px #0000001f}.screen.host-lobby .player.host-lobby-player.is-you:not(.is-host) .host-lobby-role-pill{background:color-mix(in srgb,var(--color-amber) 35%,transparent);color:var(--color-orange-dark)}.guest-lobby-tips{margin:.75rem 0 0;padding:.75rem .85rem;background:#fff9;border:1.5px dashed var(--color-navy);border-radius:.85rem}.guest-lobby-tips-label{display:flex;align-items:center;gap:.4rem;margin:0 0 .5rem;font-size:var(--text-sm);font-weight:700;letter-spacing:2px;color:var(--color-navy)}.guest-lobby-tips-list{list-style:none;margin:0;padding:0;display:grid;gap:.4rem}.guest-lobby-tips-list li{position:relative;padding-left:.95rem;font-size:var(--text-sm);color:var(--color-text-dark);line-height:1.35}.guest-lobby-tips-list li:before{content:"";position:absolute;left:0;top:.55em;width:.3rem;height:.3rem;border-radius:50%;background:var(--color-orange-dark)}.guest-lobby-actions{align-items:center}.guest-lobby-actions .btn-menu-secondary{width:min(18rem,100%);letter-spacing:2px}.screen.cancelled{position:relative;align-items:center;gap:.85rem;padding:.5rem 0 1.25rem;color:var(--color-navy);text-align:center;outline:none}.cancelled-screen-bg{position:fixed;top:0;right:0;bottom:0;left:0;z-index:-1;background-color:var(--color-cream);background-image:repeating-linear-gradient(45deg,color-mix(in srgb,var(--color-orange) 6%,transparent) 0,color-mix(in srgb,var(--color-orange) 6%,transparent) 1px,transparent 1px,transparent 9px),repeating-linear-gradient(45deg,color-mix(in srgb,var(--color-navy) 6%,transparent) 4px,color-mix(in srgb,var(--color-navy) 6%,transparent) 5px,transparent 5px,transparent 17px);pointer-events:none}.cancelled-screen-header{width:100%;text-align:center;margin-bottom:.25rem}.cancelled-screen-header .setup-compact-logo{grid-column:auto}.cancelled-screen-title{margin:0;text-align:center;font-family:var(--font-brand);font-size:var(--text-lg);color:var(--color-navy);letter-spacing:1px}.cancelled-screen-message{color:var(--color-navy);opacity:1;max-width:22rem;margin:0 auto;line-height:1.4}.cancelled-screen-actions{display:flex;justify-content:center;width:100%;margin-top:.5rem}.cancelled-screen-actions .btn-menu-primary{width:min(18rem,100%)}.screen.join-screen{position:relative;align-items:stretch;gap:.75rem;padding:.5rem 0 1.25rem;color:var(--color-navy);text-align:left}.join-screen-bg{position:fixed;top:0;right:0;bottom:0;left:0;z-index:-1;background-color:var(--color-cream);background-image:repeating-linear-gradient(45deg,color-mix(in srgb,var(--color-orange) 6%,transparent) 0,color-mix(in srgb,var(--color-orange) 6%,transparent) 1px,transparent 1px,transparent 9px),repeating-linear-gradient(45deg,color-mix(in srgb,var(--color-navy) 6%,transparent) 4px,color-mix(in srgb,var(--color-navy) 6%,transparent) 5px,transparent 5px,transparent 17px);pointer-events:none}.join-screen-title{margin:.5rem 0 0;text-align:center;font-family:var(--font-brand);font-size:var(--text-lg);color:var(--color-navy);letter-spacing:1px}.join-screen-hint{margin:0;text-align:center;color:var(--color-text-muted);font-size:var(--text-sm);opacity:1}.join-screen .invite-from{color:var(--color-text-dark)}.join-screen-form{display:flex;flex-direction:column;gap:.5rem;margin-top:.5rem}.join-screen-label{font-size:var(--text-sm);font-weight:700;letter-spacing:2px;color:var(--color-navy);margin-top:.25rem}.join-screen-input{font:inherit;padding:.25rem .85rem;border:1.5px solid var(--color-navy);border-radius:.65rem;background:#fff;color:var(--color-text-dark);min-height:2rem;box-shadow:0 1.5px 3px #00000014}.join-screen-input:focus-visible{outline-offset:1px}.join-screen-helper{margin-top:.25rem;color:var(--color-text-muted)}.join-screen-submit{margin-top:.75rem;align-self:center;width:min(18rem,100%)}.join-screen-error{color:var(--color-text-dark);font-size:var(--text-sm);opacity:1}.name-modal-branded{padding:0;border:0;background:transparent;width:min(28rem,96vw);overflow:visible}.name-modal-branded form{position:relative;display:flex;flex-direction:column;gap:.5rem;padding:1.5rem 1.25rem 1.25rem;color:var(--color-navy);border-radius:.75rem}.name-modal-branded .join-screen-bg{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:.75rem}.name-modal-branded .setup-compact-logo{grid-column:auto;margin:0 0 .25rem}.name-modal-branded .join-screen-title,.name-modal-branded .join-screen-hint{margin:0}.name-modal-branded .error.inline{margin:0;color:var(--color-orange-dark);font-size:var(--text-sm)}.name-modal-actions{display:flex;flex-direction:column;gap:.5rem;align-items:center;margin-top:.5rem}.screen.round .your-rack{background:var(--color-orange);padding:.4rem .45rem;border-radius:.875rem;box-shadow:0 10px 14px -10px #00000052;gap:.3rem}.screen.round .rack-slot{background:#fff;border:1.5px solid var(--color-navy);border-radius:.35rem;padding:.2rem .35rem;position:relative;overflow:hidden;box-shadow:0 1.5px 2px #0000001f}.screen.round .rack-slot .slot-label{background:transparent;color:var(--color-navy);font-family:var(--font-brand);font-weight:500;font-size:var(--text-sm);line-height:1.05;padding:.2rem .15rem;text-align:center;display:flex;flex-direction:column;flex:0 0 auto;min-width:2rem;opacity:1}.screen.round .rack-slot .slot-button{flex:1}.screen.round .rack-slot .card{border:0;background:transparent;flex:1;min-width:0;position:relative;font-family:var(--font-brand);font-size:var(--text-md);color:var(--color-orange-ink);padding:.15rem .35rem}.screen.round .rack-slot .card-glyph{position:absolute;top:50%;left:clamp(.9em,calc(var(--card-fill, .5) * 100%),calc(100% - .9em));transform:translate(-50%,-50%);white-space:nowrap;pointer-events:none}.screen.round .rack-slot .card-empty{color:color-mix(in srgb,var(--color-navy) 30%,transparent)}.screen.round .rack-slot .card-empty:after{content:"—"}.screen.round .piles{flex-direction:column;align-items:center;gap:1.5rem;width:100%;position:relative}.screen.round .round-right-col:has(.action-panel) .piles:after{content:"";position:absolute;left:25%;right:25%;bottom:-1rem;height:1px;background:color-mix(in srgb,var(--color-navy) 25%,transparent);pointer-events:none}.screen.round .discard.pile{position:relative}.screen.round .discard.pile:before{content:"";position:absolute;top:-.75rem;left:25%;right:25%;height:1px;background:color-mix(in srgb,var(--color-navy) 25%,transparent);pointer-events:none}.screen.round .pile{align-items:center;opacity:1}.screen.round .pile .pile-label{font-size:var(--text-sm);font-weight:700;letter-spacing:2px;color:var(--color-navy)}.screen.round .pile .pile-count{display:inline-block;padding:.2rem .6rem;border-radius:999px;background:var(--color-navy);color:#fff;font-size:var(--text-sm);letter-spacing:1px;font-weight:700}.screen.round .pile .card-back.deck-card{width:clamp(3.75rem,20vw,4.6875rem);height:clamp(5rem,27.5vw,6.25rem);min-width:0;min-height:0;border-radius:.5rem;border:none;box-shadow:0 5px 9px #0000004d;position:relative}.screen.round .pile .discard-card.has-svg-face,.screen.round .pile .hand-card.has-svg-face{border:none;background:none;padding:0}.screen.round .pile .discard-card.has-svg-face:before,.screen.round .pile .hand-card.has-svg-face:before{content:none}.card-face-svg{display:block;width:100%;height:100%;font-family:var(--font-brand);fill:var(--color-orange-ink)}.screen.round .pile .discard-card{position:relative;width:clamp(3.75rem,20vw,4.6875rem);height:clamp(5rem,27.5vw,6.25rem);min-width:0;min-height:0;border:2px solid var(--color-navy);background:#fff;border-radius:.5rem;font-family:var(--font-brand);font-size:var(--text-md);color:var(--color-orange-ink);box-shadow:0 4px 8px -3px #0000004d}.screen.round .pile .discard-card:before{content:"";position:absolute;top:3px;right:3px;bottom:3px;left:3px;border:1px solid color-mix(in srgb,var(--color-navy) 30%,transparent);border-radius:calc(.5rem - 3px);pointer-events:none}.screen.round .pile .discard-card.card-empty{border-style:dashed;background:transparent;color:color-mix(in srgb,var(--color-navy) 30%,transparent)}.screen.round .pile .discard-card.card-empty:before{content:none}.screen.round .pile.pile-with-overlay{position:relative}.screen.round .hand-card-zone.hand-card-overlay{position:absolute;top:0;left:0;right:0;height:clamp(5rem,27.5vw,6.25rem);display:flex;align-items:center;justify-content:center;pointer-events:none;z-index:2;perspective:800px}.screen.round .pile .hand-card{position:relative;width:clamp(4.375rem,22.5vw,5.5rem);height:clamp(5.625rem,30vw,7.1875rem);min-width:0;min-height:0;padding:0;border:3px solid var(--color-amber);border-radius:.55rem;background:linear-gradient(180deg,#fff,#fffbee);color:var(--color-orange-ink);font-family:var(--font-brand);font-size:var(--text-lg);display:flex;align-items:center;justify-content:center;transform:rotate(-12deg);box-shadow:3px 5px 14px #00000059}.screen.round .pile .hand-card:before{content:"";position:absolute;top:4px;right:4px;bottom:4px;left:4px;border:1px solid color-mix(in srgb,var(--color-navy) 30%,transparent);border-radius:calc(.55rem - 4px);pointer-events:none}@media (prefers-reduced-motion: reduce){.screen.round .pile .hand-card{transform:rotate(-12deg)}}.screen.round .opponent-status{background:var(--color-navy);color:#fff;border:0;border-radius:.65rem;padding:.75rem .85rem}.screen.round .opponent-status .opponent-heading{color:var(--color-amber);font-family:var(--font-brand);font-size:var(--text-sm);letter-spacing:.5px}.screen.round .opponent-status .opponent-status-line{color:#fff;opacity:.95}.screen.round .status.is-waiting:before{border-color:color-mix(in srgb,var(--color-navy) 20%,transparent);border-top-color:var(--color-orange-dark)}.screen.round .action-panel{background:var(--color-navy);color:#fff;border:0;border-radius:.75rem;padding:.85rem .95rem;box-shadow:inset 0 0 0 2px var(--color-navy),inset 0 0 0 3.5px var(--color-amber);display:flex;flex-direction:column;gap:.35rem;align-items:stretch;min-width:0;width:70%;margin-inline:auto}.screen.round .action-panel-your-turn,.screen.round .action-panel-card-drawn,.screen.round .action-panel-placed{background:var(--color-green-dark);box-shadow:inset 0 0 0 2px var(--color-green-dark),inset 0 0 0 3.5px var(--color-amber)}.screen.round .action-panel-your-turn,.screen.round .action-panel-card-drawn,.screen.round .action-panel-placed,.screen.round .opponent-status.action-panel-waiting{margin-top:1.25rem}.screen.round .action-panel-pill{display:inline-flex;align-items:center;gap:.35rem;margin:0;font-size:var(--text-xs);font-weight:700;letter-spacing:1px;color:var(--color-amber)}.screen.round .action-panel-pill-placed{color:#fff}.screen.round .action-panel-pill-waiting{color:var(--color-amber)}.screen.round .action-panel-pill-label{text-transform:uppercase}.screen.round .action-panel-status-dot{width:.65rem;height:.65rem;border-radius:50%;display:inline-block;flex:0 0 auto}.screen.round .action-panel-status-dot-green{background:#22c55e;animation:action-panel-pulse-green 1.5s ease-in-out infinite}.screen.round .action-panel-status-dot-amber{background:var(--color-amber);animation:action-panel-pulse-amber 1.8s ease-in-out infinite}@keyframes action-panel-pulse-green{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.15);opacity:.4}}@keyframes action-panel-pulse-amber{0%,to{opacity:1}50%{opacity:.3}}@media (prefers-reduced-motion: reduce){.screen.round .action-panel-status-dot-green,.screen.round .action-panel-status-dot-amber{animation:none}}.screen.round .action-panel.is-attention-pulse{animation:action-panel-attention-pulse 1.05s ease-out 5}@keyframes action-panel-attention-pulse{0%{transform:scale(1);filter:brightness(1);box-shadow:inset 0 0 0 2px var(--color-green-dark),inset 0 0 0 3.5px var(--color-amber),0 0 #f5b80099}35%{transform:scale(1.08);filter:brightness(1.25);box-shadow:inset 0 0 0 2px var(--color-green-dark),inset 0 0 0 3.5px var(--color-amber),0 0 0 10px #f5b80080}to{transform:scale(1);filter:brightness(1);box-shadow:inset 0 0 0 2px var(--color-green-dark),inset 0 0 0 3.5px var(--color-amber),0 0 0 22px #f5b80000}}@media (prefers-reduced-motion: reduce){.screen.round .action-panel.is-attention-pulse{animation:none}}.screen.round .action-panel-body{display:flex;flex-direction:column;gap:.25rem;text-align:center}.screen.round .action-panel-instruction{margin:0;font-family:var(--font-brand);font-size:var(--text-sm);color:#fff;letter-spacing:.25px}.screen.round .action-panel-sub{margin:0;font-size:var(--text-sm);color:#fff;opacity:.85;line-height:1.3}.screen.round .action-panel-meta{margin:0;font-size:var(--text-sm);color:#fff;opacity:.6;text-align:center;letter-spacing:.5px}.screen.round .stack-oh-prompt-row.action-panel-placed{color:#fff;border:0}.screen.round .stack-oh-prompt-connector{color:#fff;font-size:var(--text-sm);font-weight:600;line-height:1.3;text-align:center}.screen.round .action-panel-placed .turn-actions{flex-direction:column;gap:.5rem;margin-top:.2rem}.screen.round button.action-panel-cta-stack-oh{background:var(--color-orange);color:#fff;border:2px solid var(--color-amber);border-radius:999px;font-family:var(--font-brand);font-size:var(--text-xs);letter-spacing:1px;padding:.65rem 1rem;min-height:2.75rem;width:100%;box-shadow:0 3px 6px -2px #00000059}.screen.round button.action-panel-cta-stack-oh:hover:not(:disabled),.screen.round button.action-panel-cta-stack-oh:focus-visible:not(:disabled){background:var(--color-orange-light)}.screen.round button.action-panel-cta-end-turn{background:transparent;color:#fff;border:1.5px solid white;border-radius:999px;font-size:var(--text-xs);letter-spacing:1px;padding:.55rem 1rem;min-height:2.4rem;width:100%;text-transform:uppercase}.screen.round button.action-panel-cta-end-turn:hover:not(:disabled),.screen.round button.action-panel-cta-end-turn:focus-visible:not(:disabled){background:#ffffff1a}.screen.round button.action-panel-cta-undo-place{background:transparent;color:#fff;border:1.5px solid white;border-radius:999px;font-size:var(--text-xs);letter-spacing:1px;padding:.55rem 1rem;min-height:2.4rem;width:100%;text-transform:uppercase}.screen.round button.action-panel-cta-undo-place:hover:not(:disabled),.screen.round button.action-panel-cta-undo-place:focus-visible:not(:disabled){background:#ffffff1a}.screen.round .opponent-status.action-panel-waiting{border-color:var(--color-amber)}.screen.round .opponent-status.action-panel-waiting .opponent-heading{font-family:var(--font-brand);font-size:var(--text-sm);color:#fff;text-align:center}.screen.round .opponent-status.action-panel-waiting .opponent-status-line{color:#fff;opacity:.85;font-size:var(--text-sm);text-align:center;margin:0}.three-dot-loader{display:flex;justify-content:center;align-items:center;gap:.4rem;margin-top:.35rem;min-height:.6rem}.three-dot-loader-dot{width:.4rem;height:.4rem;border-radius:50%;background:var(--color-amber);opacity:.3;animation:three-dot-loader-pulse 1.2s ease-in-out infinite}.three-dot-loader-dot-0{animation-delay:0s}.three-dot-loader-dot-1{animation-delay:.4s}.three-dot-loader-dot-2{animation-delay:.8s}@keyframes three-dot-loader-pulse{0%,to{opacity:.3;transform:scale(1)}50%{opacity:1;transform:scale(1.2)}}@media (prefers-reduced-motion: reduce){.three-dot-loader-dot{animation:none;opacity:.7}}.screen.round .your-rack.is-disabled{opacity:.85}.screen.round .player-grid-wrap{padding-bottom:.5rem;border-bottom:1px solid color-mix(in srgb,var(--color-navy) 25%,transparent)}.round-indicator{margin:0;text-align:center;font-size:var(--text-sm);font-weight:600;letter-spacing:2px;text-transform:uppercase;color:color-mix(in srgb,var(--color-navy) 60%,transparent)}.round-results{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;margin:0;padding:1.25rem 1rem 1.5rem;border:none;border-radius:0;background:var(--color-cream);color:var(--color-text-dark);overflow-y:auto;display:flex;flex-direction:column;align-items:center;gap:.85rem;isolation:isolate}.round-results-bg{position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;overflow:hidden;pointer-events:none;background-image:repeating-linear-gradient(20deg,transparent 0,transparent 40px,rgba(255,107,26,.06) 40px,rgba(255,107,26,.06) 60px,transparent 60px,transparent 100px,rgba(30,58,138,.06) 100px,rgba(30,58,138,.06) 120px)}.round-results-trophy{position:relative;display:flex;align-items:center;justify-content:center;width:4.5rem;height:4.5rem;margin-top:.5rem}.round-results-trophy-glow{position:absolute;top:-.5rem;right:-.5rem;bottom:-.5rem;left:-.5rem;border-radius:50%;background:var(--color-amber);opacity:.35;filter:blur(8px);z-index:-1;animation:round-results-trophy-pulse 2.4s ease-in-out infinite}@keyframes round-results-trophy-pulse{0%,to{opacity:.35;transform:scale(1)}50%{opacity:.55;transform:scale(1.05)}}.round-results-trophy-icon{font-size:var(--text-xl);line-height:1;filter:drop-shadow(0 3px 4px rgba(0,0,0,.35))}.round-results-trophy-badge{position:absolute;top:55%;left:50%;transform:translate(-50%,-50%);width:1.6rem;height:1.6rem;border-radius:50%;border:2px solid white;color:#fff;font-family:var(--font-brand);font-size:var(--text-sm);display:flex;align-items:center;justify-content:center;letter-spacing:.5px}.round-results-trophy-badge-orange{background:var(--color-orange-dark)}.round-results-trophy-badge-navy{background:var(--color-navy)}.round-results-trophy-badge-purple{background:#6d28d9}.round-results-trophy-badge-green{background:#15803d}.round-results-heading{margin:0;font-family:var(--font-brand);font-size:var(--text-lg);letter-spacing:1px;text-align:center;line-height:1}.round-results-heading-you-won{color:var(--color-orange-dark);-webkit-text-stroke:2px var(--color-navy);text-shadow:0 2px 0 var(--color-navy)}.round-results-heading-opponent{color:var(--color-navy)}.round-results-heading-stalemate{color:var(--color-text-muted);font-size:var(--text-md);letter-spacing:2px}.round-results-pill{margin:0;background:var(--color-navy);border:1.5px solid var(--color-amber);border-radius:999px;color:var(--color-amber);padding:.45rem 1.5rem;font-size:var(--text-sm);font-weight:700;letter-spacing:2px;text-align:center}.round-results-rack-section{display:flex;flex-direction:column;align-items:center;gap:.4rem;width:100%}.round-results-rack-label{margin:0;display:inline-flex;align-items:center;gap:.4rem;background:var(--color-navy);border:1.5px solid var(--color-amber);border-radius:999px;color:var(--color-amber);padding:.3rem 1rem;font-size:var(--text-xs);font-weight:700;letter-spacing:2px;text-transform:uppercase}.round-results-rack-label-arrow{color:var(--color-amber);font-weight:700}.round-results-rack{list-style:none;margin:0;margin-inline:auto;padding:.5rem;width:100%;max-width:13rem;background:var(--color-orange);border-radius:.875rem;border:3px solid transparent;box-shadow:0 4px 8px -2px #0000002e;display:flex;flex-direction:column;gap:.25rem;position:relative}.round-results-you-won .round-results-rack.is-winner-rack{border-color:#15803d;box-shadow:0 0 0 4px #22c55e40,0 4px 8px -2px #0000002e}.round-results-opponent-won .round-results-rack.is-winner-rack{border-color:var(--color-amber);box-shadow:0 0 0 4px #f5b8004d,0 4px 8px -2px #0000002e}.round-results-rack:not(.is-winner-rack){border-color:var(--color-navy)}.round-results-rack-card{display:grid;grid-template-columns:2.25rem 1fr;align-items:center;gap:.4rem;height:1.65rem;background:#fff;border:1.5px solid var(--color-navy);border-radius:.3rem;padding-right:.6rem;overflow:hidden}.round-results-you-won .round-results-rack.is-winner-rack .round-results-rack-card{border-color:#15803d}.round-results-rack-card.is-empty{background:#ffffff73}.round-results-rack-card-slot{background:transparent;color:var(--color-navy);font-family:var(--font-brand);font-weight:500;font-size:var(--text-xs);line-height:1.05;text-align:center;align-self:stretch;display:flex;flex-direction:column;align-items:center;justify-content:center}.round-results-rack-card-value{font-family:var(--font-brand);font-size:var(--text-sm);color:var(--color-orange-ink);line-height:1;position:relative;align-self:stretch}.round-results-rack-card-value>span{position:absolute;top:50%;left:clamp(.9em,calc(var(--card-fill, .5) * 100%),calc(100% - .9em));transform:translate(-50%,-50%);white-space:nowrap}.round-results-rack-card.is-empty .round-results-rack-card-value{color:color-mix(in srgb,var(--color-navy) 30%,transparent)}.round-results-rack-card.is-empty .round-results-rack-card-value:after{content:"—";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.round-results-rack-viewport{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;justify-content:center;gap:.4rem;width:100%;touch-action:pan-y}.round-results-rack-slide{min-width:0}.round-results-rack-nav{display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;padding:0;background:var(--color-navy);border:1.5px solid var(--color-amber);border-radius:999px;color:var(--color-amber);font-size:1rem;line-height:1;cursor:pointer}.round-results-rack-nav:focus-visible{outline:2px solid var(--color-amber);outline-offset:2px}.round-results-rack-dots{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;margin-top:.4rem}.round-results-rack-dot{width:.7rem;height:.7rem;padding:0;background:transparent;border:1.5px solid var(--color-navy);border-radius:999px;cursor:pointer;font-size:0;color:transparent;transition:background .12s ease,transform .12s ease}.round-results-rack-dot:focus-visible{outline:2px solid var(--color-amber);outline-offset:2px}.round-results-rack-dot.is-active{background:var(--color-navy)}@media (prefers-reduced-motion: reduce){.round-results-rack-dot{transition:none}}.round-results-board{width:100%;max-width:18rem;background:var(--color-navy);border:1.5px solid var(--color-amber);border-radius:.75rem;padding:.75rem .85rem .6rem;display:flex;flex-direction:column;gap:.35rem;color:#fff}.round-results-board-heading{margin:0;text-align:center;font-size:var(--text-xs);font-weight:700;letter-spacing:2px;color:var(--color-amber)}.round-results-board-columns{display:grid;grid-template-columns:1.4rem 1fr 4.5rem 3rem;font-size:var(--text-xs);letter-spacing:1px;opacity:.6;text-align:right;padding:0 .1rem .25rem;border-bottom:1px solid rgba(245,184,0,.4)}.round-results-board-columns span:first-child{grid-column:3}.round-results-board-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.1rem}.round-results-board-row{display:grid;grid-template-columns:1.4rem 1fr 4.5rem 3rem;align-items:center;gap:.25rem;padding:.3rem .1rem;border:none;border-radius:.25rem;background:transparent;color:#fff;font-size:var(--text-sm)}.round-results-board-row.is-winner{color:var(--color-amber);font-family:var(--font-brand);border:none}.round-results-board-row.is-you:not(.is-winner){color:var(--color-orange-light)}.round-results-board-breakdown{grid-column:1 / -1;list-style:none;margin:.15rem 0 0;padding:0;display:flex;flex-direction:column;gap:.1rem;font-family:system-ui,-apple-system,Segoe UI,sans-serif;font-size:var(--text-sm);font-weight:400;color:var(--color-amber);letter-spacing:.5px}.round-results-board-breakdown-line{display:flex;justify-content:space-between;gap:.5rem;padding:0 3.25rem 0 .1rem}.round-results-board-breakdown-label{text-align:left}.round-results-board-breakdown-delta{font-variant-numeric:tabular-nums;text-align:right}.round-results-board-breakdown-total{margin-top:.15rem;padding-top:.15rem;border-top:1px solid rgba(245,184,0,.4)}.round-results-board-rank{font-size:var(--text-sm);text-align:left}.round-results-board-name{text-align:left;letter-spacing:.5px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.round-results-board-round-score,.round-results-board-total{font-family:var(--font-brand);font-size:var(--text-sm);text-align:right;font-variant-numeric:tabular-nums}.round-results-board-footer{margin:0;text-align:center;font-size:var(--text-sm);letter-spacing:2px;opacity:.85;border-top:1px solid rgba(245,184,0,.4);padding-top:.35rem}.round-results-tagline{margin:0;font-family:var(--font-brand);font-size:var(--text-sm);text-align:center;letter-spacing:.5px}.round-results-tagline-you-won{color:#15803d}.round-results-tagline-opponent{color:var(--color-navy)}.round-results-actions{width:100%;max-width:18rem;display:flex;flex-direction:column;align-items:stretch;gap:.5rem;margin-top:.25rem}.round-results-actions button{width:100%;min-height:2.75rem;border-radius:999px;cursor:pointer}button.round-results-next{font-family:var(--font-brand);font-size:var(--text-sm);letter-spacing:1.5px;background:var(--color-orange);color:#fff;border:2px solid var(--color-amber);padding:.7rem 1rem;min-height:3rem;box-shadow:0 3px 6px -2px #00000059}button.round-results-next:hover:not(:disabled),button.round-results-next:focus-visible:not(:disabled){background:var(--color-orange-light)}button.round-results-next:disabled{background:#2e7d32;border-color:#15803d;opacity:.95;cursor:default}button.round-results-menu{font-family:var(--font-brand);font-size:var(--text-sm);letter-spacing:1.5px;background:var(--color-navy);color:#fff;border:1.5px solid white;padding:.6rem 1rem;min-height:2.6rem}button.secondary.round-results-menu:not(:disabled):hover,button.secondary.round-results-menu:not(:disabled):focus-visible{background:var(--color-navy);filter:brightness(1.3);transform:translateY(-1px)}button.round-results-share{background:transparent;color:var(--color-navy);border:1.5px solid var(--color-navy);font-size:var(--text-xs);letter-spacing:1.5px;font-weight:700;padding:.45rem 1rem;min-height:2.4rem;text-transform:uppercase}button.secondary.round-results-share:not(:disabled):hover,button.secondary.round-results-share:not(:disabled):focus-visible{background:#1e3a8a14;transform:translateY(-1px)}.round-results-waiting-host{margin:0;text-align:center;font-size:var(--text-sm);font-family:var(--font-brand);letter-spacing:.5px;color:var(--color-navy)}@media (prefers-reduced-motion: reduce){.round-results-trophy-glow{animation:none}}.match-results{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;margin:0;padding:1.25rem 1rem 1.5rem;border:none;border-radius:0;background:var(--color-cream);color:var(--color-text-dark);overflow-y:auto;display:flex;flex-direction:column;align-items:center;gap:.65rem;isolation:isolate}.match-results-bg{position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;overflow:hidden;pointer-events:none;background-image:repeating-linear-gradient(20deg,transparent 0,transparent 40px,rgba(255,107,26,.06) 40px,rgba(255,107,26,.06) 60px,transparent 60px,transparent 100px,rgba(30,58,138,.06) 100px,rgba(30,58,138,.06) 120px)}.match-results-banner{margin:0;background:var(--color-navy);border:1.5px solid var(--color-amber);border-radius:999px;color:var(--color-amber);padding:.4rem 1.5rem;font-size:var(--text-xs);font-weight:700;letter-spacing:3px;text-align:center}.match-results-trophy{position:relative;display:flex;align-items:center;justify-content:center;width:5rem;height:5rem;margin-top:.25rem}.match-results-trophy-glow{position:absolute;top:-.75rem;right:-.75rem;bottom:-.75rem;left:-.75rem;border-radius:50%;background:var(--color-amber);opacity:.45;filter:blur(10px);z-index:-1;animation:match-results-trophy-pulse 2.4s ease-in-out infinite}@keyframes match-results-trophy-pulse{0%,to{opacity:.4;transform:scale(1)}50%{opacity:.6;transform:scale(1.08)}}.match-results-trophy-icon{font-size:var(--text-xl);line-height:1;filter:drop-shadow(0 4px 5px rgba(0,0,0,.4))}.match-results-trophy-badge{position:absolute;top:55%;left:50%;transform:translate(-50%,-50%);width:1.7rem;height:1.7rem;border-radius:50%;border:2px solid white;color:#fff;font-family:var(--font-brand);font-size:var(--text-xs);display:flex;align-items:center;justify-content:center;letter-spacing:.5px}.match-results-trophy-badge-orange{background:var(--color-orange-dark)}.match-results-trophy-badge-navy{background:var(--color-navy)}.match-results-trophy-badge-purple{background:#6d28d9}.match-results-trophy-badge-green{background:#15803d}.match-results-trophy-badge-img{width:100%;height:100%;border-radius:50%;object-fit:cover;display:block}.match-results-trophy-badge-has-image{background:transparent}.match-results-heading{margin:0;font-family:var(--font-brand);font-size:var(--text-xl);letter-spacing:1px;text-align:center;line-height:1;color:var(--color-orange-dark);-webkit-text-stroke:2.5px var(--color-navy);text-shadow:0 2px 0 var(--color-navy)}.match-results-no-winner .match-results-heading{color:var(--color-text-muted);-webkit-text-stroke:0;text-shadow:none;font-size:var(--text-lg);letter-spacing:2px}.match-results-subtitle{margin:0;font-family:var(--font-brand);font-size:var(--text-sm);letter-spacing:2px;text-align:center;color:var(--color-amber)}.match-results-no-winner .match-results-subtitle{color:var(--color-text-muted)}.match-results-final-score{display:inline-flex;align-items:center;gap:.75rem;background:var(--color-navy);border:1.5px solid var(--color-amber);border-radius:999px;padding:.5rem 1.5rem;min-width:14rem;justify-content:center}.match-results-final-score-label{font-size:var(--text-xs);font-weight:700;letter-spacing:2px;color:var(--color-amber)}.match-results-final-score-value{font-family:var(--font-brand);font-size:var(--text-md);color:var(--color-amber);font-variant-numeric:tabular-nums}.match-results-standings{width:100%;max-width:20rem;background:var(--color-navy);border:1.5px solid var(--color-amber);border-radius:.875rem;padding:.85rem .85rem .55rem;display:flex;flex-direction:column;gap:.35rem;color:#fff}.match-results-standings-heading{margin:0;text-align:center;font-size:var(--text-sm);font-weight:700;letter-spacing:3px;color:var(--color-amber);padding-bottom:.4rem;border-bottom:1px solid rgba(245,184,0,.4)}.match-results-standings-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.2rem}.match-results-standings-row{display:grid;grid-template-columns:1.6rem 1.5rem 1fr 3.5rem;align-items:center;gap:.5rem;padding:.4rem .5rem;border-radius:.4rem;border:none;background:transparent;color:#fff;font-size:var(--text-sm)}.match-results-standings-row.is-winner{background:linear-gradient(180deg,#FFE066,var(--color-amber));color:var(--color-navy);font-family:var(--font-brand);border:1.5px solid white}.match-results-standings-row.is-you:not(.is-winner){background:#ff8a3d2e;color:var(--color-orange-light)}.match-results-standings-rank{font-family:var(--font-brand);font-size:var(--text-sm);text-align:center;line-height:1}.match-results-standings-row.is-winner .match-results-standings-rank{font-size:var(--text-sm)}.match-results-standings-avatar{width:1.5rem;height:1.5rem;border-radius:50%;font-family:var(--font-brand);font-size:var(--text-xs);color:#fff;display:flex;align-items:center;justify-content:center;border:1.5px solid white;letter-spacing:.5px}.match-results-standings-row.is-winner .match-results-standings-avatar{border-color:var(--color-navy)}.match-results-standings-avatar-orange{background:var(--color-orange-dark)}.match-results-standings-avatar-navy{background:var(--color-navy)}.match-results-standings-avatar-purple{background:#6d28d9}.match-results-standings-avatar-green{background:#15803d}.match-results-standings-avatar-img{width:100%;height:100%;border-radius:50%;object-fit:cover;display:block}.match-results-standings-avatar-has-image{background:transparent}.match-results-standings-name{letter-spacing:.5px;font-weight:700;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.match-results-standings-row.is-winner .match-results-standings-name{font-weight:900}.match-results-standings-score{font-family:var(--font-brand);font-size:var(--text-sm);text-align:right;font-variant-numeric:tabular-nums}.match-results-standings-row.is-winner .match-results-standings-score{font-size:var(--text-sm)}.match-results-standings-footer{margin:0;text-align:center;font-size:var(--text-sm);letter-spacing:2px;opacity:.75;border-top:1px solid rgba(245,184,0,.4);padding-top:.4rem}.match-results-stats{width:100%;max-width:20rem;display:grid;grid-template-columns:1fr 1px 1fr 1px 1fr;align-items:center;padding:.5rem 0}.match-results-stats:before,.match-results-stats:after{content:"";display:block;width:1px;height:2.25rem;background:#1e3a8a4d;grid-row:1}.match-results-stats:before{grid-column:2}.match-results-stats:after{grid-column:4}.match-results-stat{display:flex;flex-direction:column;align-items:center;gap:.1rem}.match-results-stat:nth-child(1){grid-column:1}.match-results-stat:nth-child(2){grid-column:3}.match-results-stat:nth-child(3){grid-column:5}.match-results-stat-value{font-family:var(--font-brand);font-size:var(--text-md);color:var(--color-orange-dark);line-height:1}.match-results-stat-label{font-size:var(--text-xs);font-weight:700;letter-spacing:1px;color:var(--color-navy)}.match-results-stat-detail{font-size:var(--text-xs);color:var(--color-text-muted)}.match-results-stats-panel{width:100%;max-width:20rem;margin:0;font-size:var(--text-sm);color:var(--color-navy)}.match-results-stats-panel-summary{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.55rem .85rem;border:1.5px solid rgba(30,58,138,.35);border-radius:999px;background:#ffffff8c;font-family:var(--font-brand);letter-spacing:1px;cursor:pointer;list-style:none}.match-results-stats-panel-summary::-webkit-details-marker{display:none}.match-results-stats-panel-summary:hover,.match-results-stats-panel-summary:focus-visible{background:#fffc;outline:none}.match-results-stats-panel-summary-chevron{display:inline-block;font-size:1.4em;font-weight:700;line-height:1;transition:transform .15s ease-out}.match-results-stats-panel[open] .match-results-stats-panel-summary-chevron{transform:rotate(180deg)}@media (prefers-reduced-motion: reduce){.match-results-stats-panel-summary-chevron{transition:none}}.match-results-stats-panel-body{display:flex;flex-direction:column;gap:.75rem;padding:.75rem .5rem .25rem}.match-results-stats-panel-row{display:flex;align-items:baseline;justify-content:space-between;gap:.75rem;padding:.25rem 0;border-bottom:1px dashed rgba(30,58,138,.2)}.match-results-stats-panel-row:last-child{border-bottom:none}.match-results-stats-panel-row-label{font-weight:600;letter-spacing:.5px}.match-results-stats-panel-row-value{font-family:var(--font-brand);color:var(--color-orange-dark)}.match-results-stats-panel-group{display:flex;flex-direction:column;gap:.35rem;padding-top:.25rem}.match-results-stats-panel-group-heading{margin:0;font-weight:700;font-size:var(--text-xs);text-transform:uppercase;letter-spacing:1.5px;opacity:.8}.match-results-stats-panel-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.2rem}.match-results-stats-panel-list-row{display:flex;align-items:baseline;justify-content:space-between;gap:.5rem;padding:.2rem .25rem;border-radius:.35rem}.match-results-stats-panel-list-row.is-you{background:#f5b8002e}.match-results-stats-panel-list-value{font-family:var(--font-brand);color:var(--color-orange-dark)}.match-results-actions{width:100%;max-width:20rem;display:flex;flex-direction:column;align-items:stretch;gap:.55rem;margin-top:.25rem}.match-results-actions button{width:100%;min-height:2.75rem;border-radius:999px;cursor:pointer}button.match-results-play-again{font-family:var(--font-brand);font-size:var(--text-sm);letter-spacing:2px;background:var(--color-orange);color:#fff;border:2.5px solid var(--color-amber);padding:.8rem 1rem;min-height:3.25rem;box-shadow:0 3px 6px -2px #00000059}button.match-results-play-again:hover:not(:disabled),button.match-results-play-again:focus-visible:not(:disabled){background:var(--color-orange-light)}button.match-results-play-again:disabled{background:#2e7d32;border-color:#15803d;opacity:.95;cursor:default}.match-results-waiting-host{margin:0;padding:.55rem .75rem;font-family:var(--font-brand);font-size:var(--text-sm);letter-spacing:1px;color:var(--color-navy);text-align:center}.match-results-secondary-row{display:grid;grid-template-columns:1fr 1fr;gap:.5rem}button.match-results-menu,button.match-results-share{font-family:var(--font-brand);font-size:var(--text-sm);letter-spacing:1.5px;background:var(--color-navy);color:#fff;border:1.5px solid white;padding:.55rem .75rem;min-height:2.4rem}button.secondary.match-results-menu:not(:disabled):hover,button.secondary.match-results-menu:not(:disabled):focus-visible,button.secondary.match-results-share:not(:disabled):hover,button.secondary.match-results-share:not(:disabled):focus-visible{background:var(--color-navy);filter:brightness(1.3);transform:translateY(-1px)}@media (prefers-reduced-motion: reduce){.match-results-trophy-glow{animation:none}}.tutorial-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#1e3a8a73;display:flex;align-items:center;justify-content:center;padding:1rem;z-index:1000;animation:tutorial-overlay-fade-in .18s ease-out}.tutorial-spotlight{position:fixed;z-index:0;border:3px solid var(--color-amber);border-radius:12px;box-shadow:0 0 0 9999px #1e3a8a59,0 0 18px 4px #f5b8008c;pointer-events:none;transition:top .18s ease-out,left .18s ease-out,width .18s ease-out,height .18s ease-out}@keyframes tutorial-overlay-fade-in{0%{opacity:0}to{opacity:1}}.tutorial-popover{background:var(--color-navy);color:#fff;position:relative;z-index:1;border:2px solid var(--color-amber);border-radius:12px;box-shadow:0 8px 24px #00000040;padding:1.25rem 1.5rem;max-width:min(360px,calc(100vw - 24px));display:flex;flex-direction:column;gap:.75rem;outline:none;transition:top .2s ease-out,left .2s ease-out}.tutorial-popover-arrow{position:absolute;width:0;height:0;border-style:solid;pointer-events:none}.tutorial-popover-arrow[data-side=right]{left:-12px;margin-top:-8px;border-width:8px 12px 8px 0;border-color:transparent var(--color-amber) transparent transparent}.tutorial-popover-arrow[data-side=left]{right:-12px;margin-top:-8px;border-width:8px 0 8px 12px;border-color:transparent transparent transparent var(--color-amber)}.tutorial-popover-arrow[data-side=bottom]{top:-12px;margin-left:-8px;border-width:0 8px 12px 8px;border-color:transparent transparent var(--color-amber) transparent}.tutorial-popover-arrow[data-side=top]{bottom:-12px;margin-left:-8px;border-width:12px 8px 0 8px;border-color:var(--color-amber) transparent transparent transparent}.tutorial-step-indicator{font-family:Fredoka One,Fredoka,system-ui,sans-serif;color:#ffffffb3;font-size:var(--text-sm);letter-spacing:.1em;margin:0;text-transform:uppercase}.tutorial-popover-heading{font-family:Fredoka One,Fredoka,system-ui,sans-serif;color:var(--color-amber);font-size:var(--text-md);letter-spacing:.05em;margin:0}.tutorial-popover-body{color:#fff;font-size:var(--text-sm);line-height:1.4;margin:0}.tutorial-popover-paragraph{margin:0}.tutorial-popover-paragraph+.tutorial-popover-paragraph{margin-top:.5rem}.tutorial-popover-actions{display:flex;gap:.75rem;justify-content:flex-end;margin-top:.5rem}button.tutorial-skip,button.tutorial-back{background:transparent;border:1px solid rgba(255,255,255,.4);color:#fff;padding:.4rem .85rem;border-radius:999px;font-size:var(--text-sm);cursor:pointer}button.tutorial-skip:hover,button.tutorial-skip:focus-visible,button.tutorial-back:hover,button.tutorial-back:focus-visible{background:#ffffff1a;border-color:#fff}.tutorial-popover-actions{align-items:center}button.tutorial-skip{margin-right:auto}button.tutorial-next{background:var(--color-orange);border:2px solid var(--color-amber);color:#fff;padding:.4rem 1rem;border-radius:999px;font-family:Fredoka One,Fredoka,system-ui,sans-serif;font-size:var(--text-sm);letter-spacing:.04em;cursor:pointer}button.tutorial-next:hover,button.tutorial-next:focus-visible{background:var(--color-orange-light)}@media (prefers-reduced-motion: reduce){.tutorial-overlay{animation:none}.tutorial-popover,.tutorial-spotlight{transition:none}}.screen.round .rack-slot.is-just-placed{border-color:#22c55e;background:linear-gradient(180deg,#fff,#fffbee);box-shadow:inset 0 0 0 1px #22c55e,0 0 12px 2px #22c55e8c,0 3px 8px #0003;overflow:visible;transition:border-color .2s ease-out,box-shadow .2s ease-out}.rack-slot-checkmark{position:absolute;top:-8px;right:4px;width:18px;height:18px;border-radius:50%;background:#15803d;color:#fff;font-size:var(--text-xs);font-weight:700;line-height:18px;text-align:center;box-shadow:0 0 0 1.5px #fff,0 1px 3px #0000004d;pointer-events:none;z-index:2}.rack-slot.is-just-placed.is-from-discard .card{transform:rotate(var(--discard-tilt, 0deg));transition:transform .25s ease-out}@media (prefers-reduced-motion: reduce){.screen.round .rack-slot.is-just-placed{transition:none}.rack-slot.is-just-placed.is-from-discard .card{transform:none;transition:none}}.discard.pile .discard-card.is-swap-incoming{animation:discard-swap-incoming .6s ease-out 1}@keyframes discard-swap-incoming{0%{box-shadow:0 0 #f5b80000,0 1px 3px #00000026;transform:scale(1.08)}40%{box-shadow:0 0 16px 4px #f5b800bf,0 4px 10px #00000040;transform:scale(1.02)}to{box-shadow:0 0 #f5b80000,0 1px 3px #00000026;transform:scale(1)}}@media (prefers-reduced-motion: reduce){.discard.pile .discard-card.is-swap-incoming{animation:none}}.hand-card.is-just-drawn{will-change:transform,opacity}.hand-card.is-flipping{transform-style:preserve-3d;backface-visibility:hidden;will-change:transform,opacity,box-shadow}@media (prefers-reduced-motion: reduce){.hand-card.is-just-drawn,.hand-card.is-flipping{will-change:auto;transition:none}.hand-card.is-flipping{transform:none}}.round-results-rack.is-stack-oh-won{animation:stack-oh-rack-glow .6s ease-out 1}@keyframes stack-oh-rack-glow{0%{box-shadow:0 0 #f5b80000,0 4px 8px -2px #0000002e}35%{box-shadow:0 0 32px 12px #f5b800cc,0 4px 8px -2px #0000002e}to{box-shadow:0 0 #f5b80000,0 4px 8px -2px #0000002e}}.stack-oh-confetti{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;overflow:hidden;z-index:3}.stack-oh-confetti-particle{position:absolute;top:-16px;width:8px;height:12px;border-radius:2px;opacity:.95;animation:stack-oh-confetti-fall 1.2s ease-in forwards}@keyframes stack-oh-confetti-fall{0%{transform:translateY(0) rotate(0);opacity:1}to{transform:translateY(800px) rotate(540deg);opacity:0}}@media (prefers-reduced-motion: reduce){.round-results-rack.is-stack-oh-won{animation:none}.stack-oh-confetti{display:none}}.how-to-play-modal{border:3px solid var(--color-amber);border-radius:.75rem;padding:1.25rem;width:min(32rem,96vw);max-height:90vh;background:var(--color-cream);color:var(--color-navy);box-shadow:0 8px 24px #00000040;display:flex;flex-direction:column;gap:.75rem;view-transition-name:how-to-play-modal}.how-to-play-modal::backdrop{background:#1e3a8a73}.how-to-play-heading{margin:0;font-family:var(--font-brand);font-size:var(--text-lg);color:var(--color-orange-dark);-webkit-text-stroke:1px var(--color-navy);letter-spacing:1px;text-align:center}.how-to-play-body{overflow-y:auto;display:flex;flex-direction:column;gap:1rem;padding-right:.25rem}.how-to-play-section{display:flex;flex-direction:column;gap:.35rem}.how-to-play-section-heading{margin:0;font-family:var(--font-brand);font-size:var(--text-sm);color:var(--color-navy);letter-spacing:.5px}.how-to-play-section p{margin:0;line-height:1.45}.how-to-play-list{margin:0;padding-left:1.05rem;display:flex;flex-direction:column;gap:.35rem;line-height:1.45}.how-to-play-list li::marker{color:var(--color-orange)}.how-to-play-list-joiner{list-style:none;margin-left:-1.05rem;text-align:center;font-size:var(--text-sm);letter-spacing:.08em;text-transform:uppercase;color:var(--color-navy);opacity:.55}.how-to-play-examples{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:.4rem}.how-to-play-example{margin:0;flex:1 1 8.5rem;min-width:0;display:flex;flex-direction:column;gap:.4rem;align-items:center}.how-to-play-example-rack{list-style:none;margin:0;padding:.35rem;background:var(--color-orange);border:1.5px solid var(--color-navy);border-radius:.4rem;display:flex;flex-direction:column;gap:.18rem;width:100%;max-width:9rem}.how-to-play-example-slot{display:grid;grid-template-columns:1.4rem 1fr;gap:.35rem;align-items:center;height:1.25rem;background:#fff;border:1px solid var(--color-navy);border-radius:.25rem;padding-right:.35rem;overflow:hidden}.how-to-play-example-slot.is-out-of-prefix{background:#ffffff80;opacity:.7}.how-to-play-example-slot-label{background:transparent;color:var(--color-navy);font-family:var(--font-brand);font-size:var(--text-xs);line-height:1.05;text-align:center;align-self:stretch;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:0 .15rem}.how-to-play-example-slot-label-value,.how-to-play-example-slot-label-unit{font-family:var(--font-brand)}.how-to-play-example-slot-value{font-family:var(--font-brand);font-size:var(--text-sm);color:var(--color-orange-ink);text-align:right;line-height:1}.how-to-play-example-slot.is-out-of-prefix .how-to-play-example-slot-value{color:var(--color-text-muted)}.how-to-play-example-caption{text-align:center;font-size:var(--text-sm);line-height:1.3;color:var(--color-navy)}.how-to-play-close{margin-top:.25rem;width:100%;background:linear-gradient(180deg,var(--color-navy-light),var(--color-navy));color:#fff;border:2px solid var(--color-navy);border-radius:.5rem;font-family:var(--font-brand);letter-spacing:1px;padding:.7rem 1rem;cursor:pointer}.how-to-play-close:focus-visible{outline:2px solid var(--focus-ring);outline-offset:var(--focus-ring-offset)}.join-modal{border:3px solid var(--color-amber);border-radius:.75rem;padding:1.25rem;width:min(28rem,96vw);max-height:90vh;background:var(--color-cream);color:var(--color-navy);box-shadow:0 8px 24px #00000040;display:flex;flex-direction:column;gap:.6rem;text-align:center;view-transition-name:join-modal}.join-modal::backdrop{background:#1e3a8a73}.join-modal-heading{margin:0}.join-modal-form{display:flex;flex-direction:column;gap:.5rem}.join-modal-input{font-family:var(--font-brand);font-size:var(--text-md);letter-spacing:.15em;text-transform:uppercase;text-align:center}.join-modal-hint{margin:0;font-size:var(--text-sm);color:var(--color-text-muted)}.join-modal-error{margin:0}.join-modal-actions{display:flex;flex-direction:column;gap:.5rem;margin-top:.25rem}.host-instructions-modal{border:3px solid var(--color-amber);border-radius:.75rem;padding:1.25rem;width:min(32rem,96vw);max-height:90vh;background:var(--color-cream);color:var(--color-navy);box-shadow:0 8px 24px #00000040;display:flex;flex-direction:column;gap:.75rem;view-transition-name:host-instructions-modal}.host-instructions-modal::backdrop{background:#1e3a8a73}.host-instructions-heading{margin:0;font-family:var(--font-brand);font-size:var(--text-lg);color:var(--color-orange-dark);-webkit-text-stroke:1px var(--color-navy);letter-spacing:1px;text-align:center}.host-instructions-intro{margin:0;text-align:center;color:var(--color-text-muted);font-size:var(--text-sm)}.host-instructions-body{overflow-y:auto;display:flex;flex-direction:column;gap:1rem;padding-right:.25rem}.host-instructions-section{display:flex;flex-direction:column;gap:.35rem}.host-instructions-section-heading{margin:0;font-family:var(--font-brand);font-size:var(--text-sm);color:var(--color-navy);letter-spacing:.5px}.host-instructions-section p{margin:0;line-height:1.45}.host-instructions-list{margin:0;padding-left:1.05rem;display:flex;flex-direction:column;gap:.35rem;line-height:1.45}.host-instructions-list li::marker{color:var(--color-orange)}.host-instructions-close{margin-top:.25rem;width:100%;background:linear-gradient(180deg,var(--color-navy-light),var(--color-navy));color:#fff;border:2px solid var(--color-navy);border-radius:.5rem;font-family:var(--font-brand);letter-spacing:1px;padding:.7rem 1rem;cursor:pointer}.host-instructions-close:focus-visible{outline:2px solid var(--focus-ring);outline-offset:var(--focus-ring-offset)}.player-manager-modal{border:3px solid var(--color-amber);border-radius:.75rem;padding:1.25rem;box-sizing:border-box;width:min(22rem,85vw);max-height:90vh;background:var(--color-cream);color:var(--color-navy);box-shadow:0 8px 24px #00000040;display:flex;flex-direction:column;gap:.75rem;view-transition-name:player-manager-modal}.player-manager-modal::backdrop{background:#1e3a8a73}.player-manager-heading{margin:0;font-family:var(--font-brand);font-size:var(--text-md);color:var(--color-orange-dark);-webkit-text-stroke:1px var(--color-navy);letter-spacing:1px;text-align:center}.player-manager-name{margin:0;text-align:center;font-size:var(--text-sm);font-weight:700;color:var(--color-navy)}.player-manager-actions{display:flex;flex-direction:column;gap:.5rem}.player-manager-remove{width:100%;background:linear-gradient(180deg,#ef4444,#b91c1c);color:#fff;border:2px solid #7f1d1d;border-radius:.5rem;font-family:var(--font-brand);letter-spacing:1px;padding:.7rem 1rem;cursor:pointer}.player-manager-remove:disabled{background:#d1d5db;border-color:#9ca3af;color:#4b5563;cursor:not-allowed}.player-manager-remove:focus-visible{outline:2px solid var(--focus-ring);outline-offset:var(--focus-ring-offset)}.player-manager-hint{margin:0;font-size:var(--text-sm);color:var(--color-text-muted);text-align:center;line-height:1.4}.player-manager-close{margin-top:.25rem;width:100%;background:linear-gradient(180deg,var(--color-navy-light),var(--color-navy));color:#fff;border:2px solid var(--color-navy);border-radius:.5rem;font-family:var(--font-brand);letter-spacing:1px;padding:.7rem 1rem;cursor:pointer}.player-manager-close:focus-visible{outline:2px solid var(--focus-ring);outline-offset:var(--focus-ring-offset)}.round-host-actions{display:inline-flex;align-items:center;gap:.35rem}.round-host-instructions-button{font-size:var(--text-sm);padding:.45rem .75rem;min-height:2.4rem;border-color:var(--color-navy);color:var(--color-navy)}.player-left-toast{position:fixed;left:50%;bottom:1.25rem;transform:translate(-50%);z-index:1000;max-width:min(90vw,22rem);padding:.65rem 1rem;border-radius:.75rem;background:var(--color-navy);color:#fff;font-family:var(--font-brand);font-size:var(--text-sm);letter-spacing:.5px;text-align:center;box-shadow:0 6px 18px #00000040;pointer-events:none}.screen{view-transition-name:screen}::view-transition-old(screen),::view-transition-new(screen){animation-duration:.25s;animation-timing-function:cubic-bezier(.2,.8,.2,1);animation-fill-mode:both}[data-vt-direction=forward]::view-transition-old(screen){animation-name:stack-oh-screen-slide-out-left}[data-vt-direction=forward]::view-transition-new(screen){animation-name:stack-oh-screen-slide-in-right}[data-vt-direction=back]::view-transition-old(screen){animation-name:stack-oh-screen-slide-out-right}[data-vt-direction=back]::view-transition-new(screen){animation-name:stack-oh-screen-slide-in-left}@keyframes stack-oh-screen-slide-in-right{0%{transform:translate(100%);opacity:0}}@keyframes stack-oh-screen-slide-out-left{to{transform:translate(-100%);opacity:0}}@keyframes stack-oh-screen-slide-in-left{0%{transform:translate(-100%);opacity:0}}@keyframes stack-oh-screen-slide-out-right{to{transform:translate(100%);opacity:0}}@media (prefers-reduced-motion: reduce){[data-vt-direction]::view-transition-old(screen),[data-vt-direction]::view-transition-new(screen){animation-name:none}}[data-vt-direction=drawer-up]::view-transition-new(settings-drawer){animation-name:stack-oh-settings-drawer-up;animation-duration:.25s;animation-timing-function:cubic-bezier(.2,.8,.2,1);animation-fill-mode:both}[data-vt-direction=drawer-down]::view-transition-old(settings-drawer){animation-name:stack-oh-settings-drawer-down;animation-duration:.2s;animation-timing-function:cubic-bezier(.4,0,1,1);animation-fill-mode:both}[data-vt-direction=drawer-up]::view-transition-old(root),[data-vt-direction=drawer-up]::view-transition-new(root),[data-vt-direction=drawer-down]::view-transition-old(root),[data-vt-direction=drawer-down]::view-transition-new(root){animation-duration:.2s;animation-timing-function:cubic-bezier(.2,.8,.2,1);animation-fill-mode:both}@keyframes stack-oh-settings-drawer-up{0%{transform:translateY(100%);opacity:0}}@keyframes stack-oh-settings-drawer-down{to{transform:translateY(100%);opacity:0}}@media (prefers-reduced-motion: reduce){[data-vt-direction=drawer-up]::view-transition-new(settings-drawer),[data-vt-direction=drawer-down]::view-transition-old(settings-drawer){animation-name:none}[data-vt-direction=drawer-up]::view-transition-old(root),[data-vt-direction=drawer-up]::view-transition-new(root),[data-vt-direction=drawer-down]::view-transition-old(root),[data-vt-direction=drawer-down]::view-transition-new(root){animation-name:none}}[data-vt-direction=modal-in]::view-transition-new(how-to-play-modal){animation-name:stack-oh-modal-in;animation-duration:.22s;animation-timing-function:cubic-bezier(.2,.8,.2,1);animation-fill-mode:both}[data-vt-direction=modal-out]::view-transition-old(how-to-play-modal){animation-name:stack-oh-modal-out;animation-duration:.18s;animation-timing-function:cubic-bezier(.4,0,1,1);animation-fill-mode:both}@keyframes stack-oh-modal-in{0%{transform:translateY(100%);opacity:0}}@keyframes stack-oh-modal-out{to{transform:translateY(100%);opacity:0}}@media (prefers-reduced-motion: reduce){[data-vt-direction=modal-in]::view-transition-new(how-to-play-modal),[data-vt-direction=modal-out]::view-transition-old(how-to-play-modal){animation-name:none}}[data-vt-direction=modal-in]::view-transition-new(identity-modal){animation-name:stack-oh-modal-in;animation-duration:.22s;animation-timing-function:cubic-bezier(.2,.8,.2,1);animation-fill-mode:both}[data-vt-direction=modal-out]::view-transition-old(identity-modal){animation-name:stack-oh-modal-out;animation-duration:.18s;animation-timing-function:cubic-bezier(.4,0,1,1);animation-fill-mode:both}@media (prefers-reduced-motion: reduce){[data-vt-direction=modal-in]::view-transition-new(identity-modal),[data-vt-direction=modal-out]::view-transition-old(identity-modal){animation-name:none}}[data-vt-direction=modal-in]::view-transition-new(host-instructions-modal){animation-name:stack-oh-modal-in;animation-duration:.22s;animation-timing-function:cubic-bezier(.2,.8,.2,1);animation-fill-mode:both}[data-vt-direction=modal-out]::view-transition-old(host-instructions-modal){animation-name:stack-oh-modal-out;animation-duration:.18s;animation-timing-function:cubic-bezier(.4,0,1,1);animation-fill-mode:both}@media (prefers-reduced-motion: reduce){[data-vt-direction=modal-in]::view-transition-new(host-instructions-modal),[data-vt-direction=modal-out]::view-transition-old(host-instructions-modal){animation-name:none}}[data-vt-direction=modal-in]::view-transition-new(player-manager-modal){animation-name:stack-oh-modal-in;animation-duration:.22s;animation-timing-function:cubic-bezier(.2,.8,.2,1);animation-fill-mode:both}[data-vt-direction=modal-out]::view-transition-old(player-manager-modal){animation-name:stack-oh-modal-out;animation-duration:.18s;animation-timing-function:cubic-bezier(.4,0,1,1);animation-fill-mode:both}@media (prefers-reduced-motion: reduce){[data-vt-direction=modal-in]::view-transition-new(player-manager-modal),[data-vt-direction=modal-out]::view-transition-old(player-manager-modal){animation-name:none}}[data-vt-direction=modal-in]::view-transition-new(join-modal){animation-name:stack-oh-modal-in;animation-duration:.22s;animation-timing-function:cubic-bezier(.2,.8,.2,1);animation-fill-mode:both}[data-vt-direction=modal-out]::view-transition-old(join-modal){animation-name:stack-oh-modal-out;animation-duration:.18s;animation-timing-function:cubic-bezier(.4,0,1,1);animation-fill-mode:both}@media (prefers-reduced-motion: reduce){[data-vt-direction=modal-in]::view-transition-new(join-modal),[data-vt-direction=modal-out]::view-transition-old(join-modal){animation-name:none}}.dev-mode-slot{outline:2px dashed #f5b800;outline-offset:2px;animation:cheat-mode-slot-pulse 1s ease-in-out infinite}@keyframes cheat-mode-slot-pulse{0%,to{outline-color:#f5b800}50%{outline-color:transparent}}@media (prefers-reduced-motion: reduce){.dev-mode-slot{animation:none}}.cheat-passcode-modal,.cheat-value-picker-modal{border:3px solid var(--color-amber);border-radius:.75rem;padding:1.25rem;background:var(--color-cream);color:var(--color-navy);box-shadow:0 8px 24px #00000040;max-width:min(28rem,calc(100vw - 2rem));display:flex;flex-direction:column;gap:.75rem}.cheat-passcode-modal::backdrop,.cheat-value-picker-modal::backdrop{background:#1e3a8a73}.cheat-passcode-modal h2,.cheat-value-picker-modal h2{margin:0;font-family:var(--font-brand);font-size:var(--text-md);color:var(--color-orange-dark);-webkit-text-stroke:1px var(--color-navy);letter-spacing:1px;text-align:center}.cheat-passcode-modal form{display:flex;flex-direction:column;gap:.75rem;margin:0}.cheat-passcode-modal p{margin:0;font-size:var(--text-sm);color:var(--color-text-muted)}.cheat-passcode-modal .error{color:var(--color-orange-dark);font-size:var(--text-sm)}.cheat-passcode-modal input{font:inherit;padding:.5rem .75rem;border:1px solid var(--color-navy);border-radius:.375rem;background:transparent;color:var(--color-navy);min-height:2.75rem}.cheat-passcode-modal menu,.cheat-value-picker-modal menu{display:flex;gap:.5rem;justify-content:flex-end;margin:0;padding:0;list-style:none}.cheat-passcode-modal menu button,.cheat-value-picker-modal menu button{font:inherit;padding:.6rem 1rem;border-radius:.375rem;border:1px solid var(--color-navy);background:transparent;color:var(--color-navy);cursor:pointer;min-height:2.75rem}.cheat-passcode-modal menu button.primary{background:linear-gradient(180deg,var(--color-navy-light),var(--color-navy));color:#fff;border-color:var(--color-navy)}.cheat-passcode-modal menu button.primary:disabled{opacity:.6;cursor:not-allowed}.cheat-value-picker-grid{display:grid;grid-template-columns:repeat(var(--cheat-picker-cols, 10),minmax(0,1fr));gap:.25rem}.cheat-value-picker-cell{font:inherit;border:1px solid var(--color-navy);background:transparent;color:var(--color-navy);font-weight:600;border-radius:.25rem;padding:.35rem 0;cursor:pointer}.cheat-value-picker-cell:hover,.cheat-value-picker-cell:focus-visible{background:var(--color-navy);color:var(--color-cream)}.solo-start-modal{padding:2rem 1.75rem 1.75rem;border:0;border-radius:1rem;background:var(--color-cream);color:var(--color-navy);width:min(26rem,92vw);box-shadow:0 30px 60px -20px #00000073,0 8px 16px -8px #0003;display:flex;flex-direction:column;align-items:center;gap:1rem;overflow:hidden;isolation:isolate}.solo-start-modal::backdrop{background:#0f172a8c;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.solo-start-bg{position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;pointer-events:none;border-radius:inherit;background-image:repeating-linear-gradient(45deg,color-mix(in srgb,var(--color-orange) 7%,transparent) 0,color-mix(in srgb,var(--color-orange) 7%,transparent) 1px,transparent 1px,transparent 9px),repeating-linear-gradient(45deg,color-mix(in srgb,var(--color-navy) 7%,transparent) 4px,color-mix(in srgb,var(--color-navy) 7%,transparent) 5px,transparent 5px,transparent 17px)}.solo-start-eyebrow{margin:0;font-size:var(--text-xs);letter-spacing:3px;font-weight:700;color:var(--color-orange-dark);text-transform:uppercase}.solo-start-title{margin:0;font-family:var(--font-brand);font-size:var(--text-xl);color:var(--color-navy);letter-spacing:1px;line-height:1;text-align:center}.solo-start-hint{margin:0;text-align:center;color:var(--color-text-muted);font-size:var(--text-sm);max-width:26ch}.solo-start-button{margin-top:.75rem}.solo-timer-wrap{display:flex;flex-direction:column;align-items:flex-end}.solo-timer{font-family:var(--font-mono, monospace);font-size:var(--text-sm);font-weight:700;color:var(--color-amber);letter-spacing:.04em;line-height:1.1}.solo-timer-label{font-size:var(--text-xs);color:var(--color-cream);opacity:.7;letter-spacing:.06em;text-transform:uppercase}.solo-results-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#1e3a8ad9;display:flex;align-items:center;justify-content:center;z-index:100}.solo-results-card{background:var(--color-cream);border-radius:16px;padding:2rem 2.5rem;text-align:center;max-width:320px;width:90%;display:flex;flex-direction:column;gap:.75rem;box-shadow:0 8px 32px #00000059}.solo-result-headline{font-size:var(--text-lg);font-weight:900;color:var(--color-orange);-webkit-text-stroke:1px var(--color-navy);letter-spacing:.04em;margin:0}.solo-result-time-label{font-size:var(--text-sm);letter-spacing:.12em;color:var(--color-navy);opacity:.7;margin:0;text-transform:uppercase}.solo-result-time{font-family:var(--font-mono, monospace);font-size:var(--text-xl);font-weight:900;color:var(--color-navy);margin:0;letter-spacing:.04em}.solo-result-rank{font-size:var(--text-sm);color:var(--color-navy);margin:0}.solo-result-actions{display:flex;flex-direction:column;gap:.5rem;margin-top:.5rem}.solo-run-history-row{grid-template-columns:1.4rem 1fr auto}.solo-run-name-col{display:contents}.solo-run-time{font-weight:700;font-family:var(--font-mono, monospace)}.solo-run-date{font-size:var(--text-xs);color:#cbd5e1;font-weight:500;text-align:right}.round-results-board-row.solo-run-this-run.is-you{background:var(--color-amber);color:var(--color-text-dark);border-radius:.35rem;padding:.35rem .5rem;font-weight:600}.round-results-board-row.solo-run-this-run.is-you .solo-run-date{color:var(--color-text-dark);font-weight:600}.solo-run-badge{display:none}.btn-menu,.settings-close,.how-to-play-close,.host-instructions-close,.player-manager-close,.player-manager-remove,.host-lobby-copy-button,.settings-leave,.settings-link,.setup-back-button,.setup-edit-button,.link-button,.setup-count-tile,.setup-win-condition-mode,.setup-win-condition-value,.player-grid-manage,.settings-gear{transition:background-color .15s ease,color .15s ease,border-color .15s ease,box-shadow .15s ease,transform .15s ease,filter .15s ease}@media (hover: hover){.btn-menu:not(:disabled):hover,.settings-close:not(:disabled):hover,.how-to-play-close:not(:disabled):hover,.host-instructions-close:not(:disabled):hover,.player-manager-close:not(:disabled):hover,.player-manager-remove:not(:disabled):hover,.host-lobby-copy-button:not(:disabled):hover{filter:brightness(1.08);transform:translateY(-1px)}.btn-menu:not(:disabled):active,.settings-close:not(:disabled):active,.how-to-play-close:not(:disabled):active,.host-instructions-close:not(:disabled):active,.player-manager-close:not(:disabled):active,.player-manager-remove:not(:disabled):active,.host-lobby-copy-button:not(:disabled):active{filter:brightness(.95);transform:translateY(0)}.settings-leave:not(:disabled):hover,.settings-link:not(:disabled):hover,.setup-back-button:not(:disabled):hover,.setup-edit-button:not(:disabled):hover,.link-button:not(:disabled):hover{background:color-mix(in srgb,currentColor 10%,transparent);transform:translateY(-1px)}.settings-leave:not(:disabled):active,.settings-link:not(:disabled):active,.setup-back-button:not(:disabled):active,.setup-edit-button:not(:disabled):active,.link-button:not(:disabled):active{background:color-mix(in srgb,currentColor 16%,transparent);transform:translateY(0)}.setup-count-tile:not(:has(input:checked)):not(:has(input:disabled)):hover,.setup-win-condition-mode:not(:has(input:checked)):not(:has(input:disabled)):hover,.setup-win-condition-value:not(:has(input:checked)):not(:has(input:disabled)):hover{background:color-mix(in srgb,var(--color-navy) 6%,white);transform:translateY(-1px)}.setup-count-tile:not(:has(input:checked)):not(:has(input:disabled)):active,.setup-win-condition-mode:not(:has(input:checked)):not(:has(input:disabled)):active,.setup-win-condition-value:not(:has(input:checked)):not(:has(input:disabled)):active{background:color-mix(in srgb,var(--color-navy) 12%,white);transform:translateY(0)}.setup-count-tile:has(input:checked):not(:has(input:disabled)):hover,.setup-win-condition-mode:has(input:checked):not(:has(input:disabled)):hover,.setup-win-condition-value:has(input:checked):not(:has(input:disabled)):hover{filter:brightness(1.08);transform:translateY(-1px)}.setup-count-tile:has(input:checked):not(:has(input:disabled)):active,.setup-win-condition-mode:has(input:checked):not(:has(input:disabled)):active,.setup-win-condition-value:has(input:checked):not(:has(input:disabled)):active{filter:brightness(.95);transform:translateY(0)}.player-grid-manage:not(:disabled):hover{background:var(--color-navy);color:#fff}.player-grid-manage:not(:disabled):active{background:color-mix(in srgb,var(--color-navy) 80%,black);color:#fff}.settings-gear:not(:disabled):hover{background:var(--color-navy);color:var(--color-cream);transform:translateY(-1px)}.settings-gear:not(:disabled):active{background:color-mix(in srgb,var(--color-navy) 80%,black);color:var(--color-cream);transform:translateY(0)}}@media (prefers-reduced-motion: reduce){.btn-menu,.settings-close,.how-to-play-close,.host-instructions-close,.player-manager-close,.player-manager-remove,.host-lobby-copy-button,.settings-leave,.settings-link,.setup-back-button,.setup-edit-button,.link-button,.setup-count-tile,.setup-win-condition-mode,.setup-win-condition-value,.player-grid-manage,.settings-gear{transition:none}.btn-menu:not(:disabled):hover,.settings-close:not(:disabled):hover,.how-to-play-close:not(:disabled):hover,.host-instructions-close:not(:disabled):hover,.player-manager-close:not(:disabled):hover,.player-manager-remove:not(:disabled):hover,.host-lobby-copy-button:not(:disabled):hover,.settings-leave:not(:disabled):hover,.settings-link:not(:disabled):hover,.setup-back-button:not(:disabled):hover,.setup-edit-button:not(:disabled):hover,.link-button:not(:disabled):hover,.setup-count-tile:not(:has(input:disabled)):hover,.setup-win-condition-mode:not(:has(input:disabled)):hover,.setup-win-condition-value:not(:has(input:disabled)):hover,.settings-gear:not(:disabled):hover{transform:none}}.debug-bar{position:fixed;left:.75rem;bottom:.75rem;z-index:9000;display:flex;gap:.5rem;align-items:center}.debug-bar-button{font:inherit;font-weight:700;font-size:var(--text-sm);padding:.5rem .85rem;border-radius:999px;border:2px solid #10B981;background:#047857;color:#fff;cursor:pointer}.debug-bar-button:hover{background:#059669}.debug-bar-button:focus-visible{outline:3px solid #10B981;outline-offset:2px}.debug-count-toggle{display:flex;gap:.25rem;padding:.2rem;border-radius:999px;background:#1f2937;border:2px solid #10B981}.debug-count-button{font:inherit;font-weight:700;font-size:var(--text-sm);min-width:2rem;padding:.3rem .5rem;border-radius:999px;border:none;background:transparent;color:#fff;cursor:pointer}.debug-count-button.is-active{background:#10b981;color:#07351f}.debug-count-button:focus-visible{outline:3px solid #10B981;outline-offset:2px}.debug-menu-modal{border:3px solid #10B981;border-radius:14px;padding:0;width:min(30rem,92vw);max-height:84vh;overflow-y:auto;background:#1f2937;color:#fff}.debug-menu-modal::backdrop{background:#0009}.debug-menu-header{position:sticky;top:0;display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:1rem 1.1rem;background:#111827;border-bottom:2px solid #10B981}.debug-menu-heading{margin:0;font-size:var(--text-sm);font-weight:800;color:#fff}.debug-menu-close{font:inherit;font-size:var(--text-sm);line-height:1;width:2rem;height:2rem;border-radius:999px;border:2px solid #10B981;background:transparent;color:#fff;cursor:pointer}.debug-menu-close:focus-visible,.debug-menu-entry:focus-visible{outline:3px solid #10B981;outline-offset:2px}.debug-menu-section{padding:.5rem 1.1rem .75rem}.debug-menu-section-title{margin:.75rem 0 .4rem;font-size:var(--text-xs);font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:#6ee7b7}.debug-menu-entry{display:block;width:100%;text-align:left;font:inherit;font-size:var(--text-sm);padding:.6rem .75rem;margin:.3rem 0;border-radius:8px;border:1px solid #374151;background:#374151;color:#fff;cursor:pointer}.debug-menu-entry:hover{border-color:#10b981;background:#3f4a5c}.false-stack-oh-warning{border:0;border-radius:.75rem;padding:1.5rem;width:min(24rem,92vw);background:Canvas;color:CanvasText}.false-stack-oh-warning::backdrop{background:#0006}.false-stack-oh-warning-heading{margin:0 0 .5rem;font-size:var(--text-md)}.false-stack-oh-warning-body{margin:0 0 1rem;font-size:var(--text-sm)}.false-stack-oh-warning-actions{display:flex;justify-content:flex-end}.false-stack-oh-warning-ok{font:inherit;padding:.6rem 1.25rem;border-radius:.375rem;border:1px solid #3478f6;background:#3478f6;color:#fff;cursor:pointer;min-height:2.75rem}.round-results-board-breakdown-penalty .round-results-board-breakdown-delta{color:#c03030}.screen.profile-screen{align-items:center;text-align:center;gap:1rem;padding:1.5rem 1rem 2rem;color:var(--color-navy)}.profile-title{font-family:var(--font-brand);font-size:var(--text-lg);margin:.5rem 0 0}.account-avatar-mount{display:inline-flex;align-items:center;justify-content:center}.account-avatar{display:inline-flex;align-items:center;justify-content:center;width:4.5rem;height:4.5rem;border-radius:50%;border:2px solid var(--color-navy);color:#fff;font-family:var(--font-brand);font-size:var(--text-xl);flex:0 0 auto;overflow:hidden}.account-avatar-orange{background:var(--color-orange-dark)}.account-avatar-navy{background:var(--color-navy)}.account-avatar-purple{background:#6d28d9}.account-avatar-green{background:#15803d}.account-avatar-img{width:100%;height:100%;border-radius:50%;object-fit:cover;display:block}.account-avatar-has-image{background:transparent}.profile-intro{max-width:30rem;margin:0;line-height:1.5}.profile-signed-in{margin:0;font-size:var(--text-sm)}.profile-signin{display:flex;flex-direction:column;align-items:center;gap:.75rem;width:100%}.account-sso-btn{display:inline-flex;align-items:center;justify-content:center;gap:.6rem;width:min(16.25rem,100%);min-height:2.75rem;padding:0 1rem;border:1px solid transparent;border-radius:999px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;font-size:1rem;font-weight:500;letter-spacing:normal;cursor:pointer;outline-offset:2px}.account-sso-btn:disabled{opacity:.5;cursor:not-allowed}.account-sso-icon{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;line-height:1}.account-sso-apple{background:#000;color:#fff;border-color:#000}.account-sso-apple:hover:not(:disabled),.account-sso-apple:focus-visible:not(:disabled){background:#1a1a1a;border-color:#1a1a1a}.account-sso-google{background:#fff;color:#1f1f1f;border-color:#747775}.account-sso-google:hover:not(:disabled),.account-sso-google:focus-visible:not(:disabled){background:#f8f9fa;border-color:#303030}.profile-magic-form{display:flex;flex-direction:column;align-items:center;gap:.5rem;width:min(16.25rem,100%);margin-top:.5rem}.profile-magic-form label{font-size:var(--text-sm);font-weight:600}.profile-magic-form input{font:inherit;width:100%;padding:.7rem .85rem;border:1.5px solid var(--color-navy);border-radius:.65rem;background:#fff;color:var(--color-text-dark);min-height:2.75rem;box-shadow:0 1.5px 3px #00000014}.profile-back{margin:.5rem 0 0}.profile-back a{color:var(--color-navy);font-weight:600}.profile-screen-header{align-self:stretch;display:flex;justify-content:flex-start;margin:0}.profile-stats{display:flex;flex-direction:column;align-items:center;gap:.6rem;width:min(22rem,100%)}.profile-record{margin:0;font-family:var(--font-brand);font-size:var(--text-lg)}.profile-solo{margin:0;font-size:var(--text-sm);opacity:.85}.profile-history-title{margin:.75rem 0 0;font-family:var(--font-brand);font-size:var(--text-sm);letter-spacing:1px}.profile-history-empty{margin:0;opacity:.8}.profile-history{list-style:none;margin:0;padding:0;width:100%;display:flex;flex-direction:column;gap:.4rem}.profile-history-row{display:flex;align-items:baseline;gap:.5rem;padding:.5rem .75rem;background:#fff;border-radius:.6rem;border-left:4px solid var(--color-navy);box-shadow:0 1.5px 3px #00000014;text-align:left}.profile-history-row.is-win{border-left-color:#1f7a3d}.profile-history-row.is-loss{border-left-color:#c03030}.profile-history-result{font-weight:700;flex:none}.profile-history-row.is-win .profile-history-result{color:#1f7a3d}.profile-history-row.is-loss .profile-history-result{color:#c03030}.profile-history-detail{font-size:var(--text-sm);opacity:.85}.profile-opponents-title{margin:.75rem 0 0;font-family:var(--font-brand);font-size:var(--text-sm);letter-spacing:1px}.profile-opponents{list-style:none;margin:0;padding:0;width:100%;display:flex;flex-direction:column;gap:.4rem}.profile-opponent-row{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.4rem .4rem .4rem .75rem;background:#fff;border-radius:.6rem;box-shadow:0 1.5px 3px #00000014}.profile-opponent-name{font-weight:600;text-align:left;overflow-wrap:anywhere}.btn-rematch{flex:none;font:inherit;font-family:var(--font-brand);font-size:var(--text-sm);letter-spacing:1px;padding:.45rem .9rem;min-height:2.5rem;border:0;border-radius:999px;background:var(--color-navy);color:#fff;cursor:pointer}.btn-rematch:disabled{opacity:.6;cursor:not-allowed}.profile-paused-title{margin:.75rem 0 0;font-family:var(--font-brand);font-size:var(--text-sm);letter-spacing:1px}.profile-paused-empty{margin:0;opacity:.8}.profile-paused{list-style:none;margin:0;padding:0;width:100%;display:flex;flex-direction:column;gap:.4rem}.profile-paused-row{margin:0}.btn-resume{font:inherit;display:flex;flex-direction:column;gap:.25rem;width:100%;text-align:left;padding:.65rem .75rem;background:#fff;border:0;border-radius:.6rem;border-left:6px solid var(--color-amber, #F5B800);box-shadow:0 1.5px 3px #00000014;color:inherit;cursor:pointer}.btn-resume:focus-visible{outline:2px solid var(--color-amber, #F5B800);outline-offset:2px}.btn-resume:disabled{opacity:.6;cursor:not-allowed}.profile-paused-heading{margin:0;font-weight:700;font-family:var(--font-brand);font-size:var(--text-sm);letter-spacing:1px}.profile-paused-opponents{margin:0;font-size:var(--text-sm);opacity:.85;overflow-wrap:anywhere}.profile-paused-scores{margin:0;font-size:var(--text-xs);opacity:.75;overflow-wrap:anywhere}.profile-paused-resume-cta{margin:.15rem 0 0;align-self:flex-end;font-family:var(--font-brand);font-size:var(--text-xs);letter-spacing:1px;color:var(--color-amber, #F5B800)}.profile-delete-button{font:inherit;margin-top:.25rem;padding:.4rem .75rem;background:transparent;border:0;color:#a82323;text-decoration:underline;cursor:pointer;border-radius:.375rem}.profile-delete-button:disabled{opacity:.6;cursor:not-allowed}.screen.history-screen{gap:1.25rem}.history-title{font-size:var(--text-xl)}.history-back{align-self:flex-start;margin:0}.history-body{display:flex;flex-direction:column;align-items:center;gap:1.25rem;width:min(44rem,100%)}.screen.history-screen{padding-inline:.5rem}.history-section{display:flex;flex-direction:column;align-items:center;gap:.4rem;width:100%}.history-body>.history-section+.history-section{padding-top:1.5rem;border-top:1px solid color-mix(in srgb,var(--color-navy) 60%,transparent)}.history-section-heading{font-family:var(--font-brand);font-size:var(--text-md);margin:0}.history-section-subtitle{margin:0;font-size:var(--text-sm);opacity:.75;text-align:center}.history-record-numbers{margin:.25rem 0 0;font-family:var(--font-brand);font-size:var(--text-lg)}.history-record-count{font-size:1.5em}.history-record-sep{margin:0 .4rem;opacity:.5}.history-record-winrate{margin:0;font-size:var(--text-sm);opacity:.85}.history-empty-hero{display:flex;flex-direction:column;align-items:center;gap:.85rem;padding-top:.5rem}.history-empty-message{margin:0;max-width:22rem;line-height:1.5;text-align:center}.history-empty-cta{text-decoration:none}.history-error-screen{gap:1rem}.history-error-message{margin:0;font-size:var(--text-md)}.history-error-actions{display:flex;flex-direction:column;gap:.6rem;width:min(16.25rem,100%)}details.history-paused-section,details.history-recent-section,details.history-solo-section{width:100%}details.history-paused-section>summary,details.history-recent-section>summary,details.history-solo-section>summary{list-style:none;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:.2rem;padding:.4rem 0}details.history-paused-section>summary::-webkit-details-marker,details.history-recent-section>summary::-webkit-details-marker,details.history-solo-section>summary::-webkit-details-marker{display:none}.history-section-heading-row{display:inline-flex;align-items:center;gap:.55rem}.history-section-chevron{display:inline-block;width:.5em;height:.5em;border-right:.16em solid currentColor;border-bottom:.16em solid currentColor;transform:rotate(45deg) translate(-.1em,-.1em);transform-origin:center;transition:transform .18s ease;flex:0 0 auto}details.history-paused-section[open]>summary .history-section-chevron,details.history-recent-section[open]>summary .history-section-chevron,details.history-solo-section[open]>summary .history-section-chevron{transform:rotate(-135deg) translate(-.1em,-.1em)}@media (prefers-reduced-motion: reduce){.history-section-chevron{transition:none}}.history-paused-list{margin-top:.75rem}.history-recent-list{margin:.75rem 0 0;list-style:none;padding:0;width:100%;display:flex;flex-direction:column;gap:.4rem}.history-recent-row{margin:0}.history-recent-row-button{font:inherit;display:flex;flex-direction:column;gap:.25rem;width:100%;text-align:left;padding:.65rem .75rem;background:#fff;border:0;border-radius:.6rem;border-left:6px solid var(--color-navy, #1e293b);box-shadow:0 1.5px 3px #00000014;cursor:pointer;color:inherit}.history-recent-row-button-won{border-left-color:var(--color-green-dark, #047857)}.history-recent-row-button-lost{border-left-color:var(--color-red, #B91C1C)}.history-recent-row-button:focus-visible{outline:2px solid var(--color-orange, #d97706);outline-offset:2px}.history-recent-top{margin:0;display:flex;flex-wrap:wrap;align-items:baseline;gap:.5rem}.history-recent-badge{font-family:var(--font-brand);font-size:var(--text-xs);letter-spacing:1px;padding:.15rem .55rem;border-radius:999px;color:#fff}.history-recent-badge-won{background:#15803d}.history-recent-badge-lost{background:#6b7280}.history-recent-opponents{font-size:var(--text-sm);font-weight:600;overflow-wrap:anywhere}.history-recent-meta{margin:0;font-size:var(--text-xs);opacity:.7}.history-recent-scores{margin:0;font-family:var(--font-brand);font-size:var(--text-sm);letter-spacing:.5px}.history-recent-more{margin-top:.75rem;align-self:center}.history-solo-totals{display:flex;justify-content:center;gap:1.5rem;margin-top:.75rem}.history-solo-totals-cell{display:flex;flex-direction:column;align-items:center;gap:.1rem}.history-solo-totals-value{font-family:var(--font-brand);font-size:var(--text-xl);letter-spacing:.5px}.history-solo-totals-label{font-size:var(--text-xs);opacity:.7;letter-spacing:1px;text-transform:uppercase}.history-solo-list{margin:.75rem 0 0;list-style:none;padding:0;width:100%;display:flex;flex-direction:column;gap:.4rem}.history-solo-row{margin:0;display:flex;align-items:baseline;gap:.75rem;padding:.55rem .75rem;background:#fff;border-radius:.6rem;border-left:6px solid var(--color-navy, #1e293b);box-shadow:0 1.5px 3px #00000014}.history-solo-row-best{border-left-color:var(--color-amber, #F5B800)}.history-solo-when{flex:1 1 auto;font-size:var(--text-xs);opacity:.75}.history-solo-duration{font-family:var(--font-brand);font-size:var(--text-md);letter-spacing:.5px}.history-solo-badge{font-family:var(--font-brand);font-size:var(--text-xs);letter-spacing:1px;padding:.15rem .55rem;border-radius:999px;background:var(--color-amber, #F5B800);color:var(--color-navy, #1e293b)}.history-solo-more{margin-top:.75rem;align-self:center}.history-inline-error{margin:0;padding:.55rem .85rem;width:min(28rem,100%);border-radius:.55rem;background:#a823231a;color:#a82323;font-size:var(--text-sm);text-align:center}.account-banner{width:min(28rem,100%);margin:0 auto;padding:.65rem .9rem;border-radius:.65rem;background:#d86d151f;color:var(--color-navy);font-size:var(--text-sm);text-align:center}.match-results-signin-nudge{display:flex;align-items:center;justify-content:center;gap:.4rem;margin:.85rem auto 0;font-size:var(--text-sm);color:var(--color-navy)}.match-results-signin-nudge a{color:var(--color-navy);font-weight:700}.match-results-signin-dismiss{font:inherit;font-size:1.15rem;line-height:1;padding:.1rem .4rem;background:transparent;border:0;color:var(--color-navy);cursor:pointer}.profile-redirecting-modal,.profile-magic-sent-modal{border:3px solid var(--color-amber);border-radius:.75rem;padding:1.5rem;box-sizing:border-box;width:min(26rem,85vw);background:var(--color-cream);color:var(--color-navy);box-shadow:0 8px 24px #00000040;display:flex;flex-direction:column;gap:.75rem}.profile-redirecting-modal::backdrop,.profile-magic-sent-modal::backdrop{background:#1e3a8a73}.profile-redirecting-heading,.profile-magic-sent-heading{margin:0;font-family:var(--font-brand);font-size:var(--text-lg);color:var(--color-orange-dark);-webkit-text-stroke:1px var(--color-navy);letter-spacing:1px;text-align:center}.profile-redirecting-text,.profile-magic-sent-text{margin:0;font-size:var(--text-sm);line-height:1.45;text-align:center}.profile-magic-sent-email{font-weight:700;word-break:break-all}.profile-magic-sent-hint{margin:0;font-size:var(--text-sm);text-align:center;color:var(--color-text-muted)}.profile-magic-sent-close{margin-top:.25rem;width:100%;background:linear-gradient(180deg,var(--color-navy-light),var(--color-navy));color:#fff;border:2px solid var(--color-navy);border-radius:.5rem;font-family:var(--font-brand);letter-spacing:1px;padding:.7rem 1rem;cursor:pointer}.profile-magic-sent-close:focus-visible{outline:2px solid var(--focus-ring);outline-offset:var(--focus-ring-offset)}.history-detail-summary{position:static;inset:auto;z-index:auto;width:100%;max-width:28rem;padding:0;overflow-y:visible;background:transparent}.history-detail-actions{gap:.75rem}
