.card-view{--card-aspect: 5 / 7;--card-radius: 15px;--card-border: 2px solid rgba(20, 20, 50, .2);--card-face-bg: radial-gradient(circle at 82% 16%, rgba(50, 214, 198, .06), transparent 26%), linear-gradient(165deg, #fffaf0 0%, var(--color-card-cream) 58%, var(--color-card-cream-shadow) 100%);--card-shadow: 0 5px 0 rgba(20, 12, 52, .38), 0 12px 22px rgba(8, 4, 26, .28), 0 1px 0 rgba(255, 255, 255, .58) inset;--card-shadow-stack: 0 5px 0 rgba(20, 12, 52, .42), 0 8px 0 rgba(50, 214, 198, .18), 0 16px 28px rgba(8, 4, 26, .28);--card-glow-selected: 0 0 0 3px var(--color-turquoise-bright), 0 0 22px rgba(50, 214, 198, .34), var(--card-shadow);position:relative;display:block;width:100%;margin:0;padding:0;border:none;background:transparent;box-shadow:none;font-family:var(--font-sans);font-weight:inherit;color:inherit;cursor:default;-webkit-tap-highlight-color:transparent;touch-action:manipulation;transition:transform var(--duration-fast) var(--ease-out),box-shadow var(--duration-normal) var(--ease-out),filter var(--duration-fast) var(--ease-out)}.card-view[data-interactive=true]{cursor:pointer}.card-view[data-interactive=true]:hover:not(:disabled){transform:translateY(-3px)}.card-view[data-interactive=true]:active:not(:disabled){transform:translateY(-1px) scale(.985)}.card-view:disabled{opacity:1;filter:none;cursor:default}.card-view[data-selected=true]{z-index:var(--z-raised)}.card-view[data-selected=true] .card-view__shell{box-shadow:var(--card-glow-selected),var(--card-shadow);transform:translateY(-5px) scale(1.025)}.card-view[data-selected=true]:after{content:"Selected";position:absolute;left:50%;bottom:-6px;z-index:calc(var(--z-raised) + 1);transform:translate(-50%);padding:2px 8px;border-radius:var(--radius-pill);background:var(--color-turquoise-bright);color:#061a28;font-size:.6rem;font-weight:var(--font-weight-bold);box-shadow:var(--shadow-sm)}.card-view[data-reveal=true] .card-view__shell{animation:cardViewReveal .22s var(--ease-out)}.card-view--movement-in .card-view__shell{animation:cardMovementIn .22s var(--ease-out)}.card-view--movement-out .card-view__shell{animation:cardMovementOut .18s var(--ease-out)}.card-view--shake .card-view__shell{animation:cardMistakeShake .22s var(--ease-out)}.card-view--focus .card-view__shell,.card-view[data-size=large][data-reveal=true] .card-view__shell{animation:cardPeekFocus .32s var(--ease-out)}.card-view[data-stack=true] .card-view__shell{box-shadow:var(--card-shadow-stack)}.card-view[data-size=small]{width:var(--card-pile-width);flex-shrink:0}.card-view[data-size=medium]{width:100%}.card-view[data-size=large]{width:min(200px,78vw);margin-inline:auto}.card-view__shell{display:block;width:100%;aspect-ratio:var(--card-aspect);border-radius:var(--card-radius);border:var(--card-border);overflow:hidden;box-shadow:var(--card-shadow);transition:box-shadow var(--duration-normal) var(--ease-out),transform var(--duration-normal) var(--ease-out)}.card-view[data-hidden=true] .card-view__shell{border-color:#32d6c680}.card-view[data-size=small]{--card-radius: 11px}.card-view[data-size=large]{--card-radius: 20px}.card-view__face{width:100%;height:100%;display:grid;grid-template-rows:auto 1fr auto;padding:6% 7%;background:var(--card-face-bg);animation:cardViewFlipIn var(--duration-normal) var(--ease-out)}.card-view[data-size=small] .card-view__face{padding:5% 6%}.card-view[data-size=large] .card-view__face{padding:7% 8%}.card-view__face--red{--pip-color: var(--color-suit-red);color:var(--pip-color)}.card-view__face--black{--pip-color: var(--color-suit-black);color:var(--pip-color)}.card-view__corner{display:flex;flex-direction:column;align-items:center;gap:.05em;line-height:1;color:var(--pip-color);justify-self:start;align-self:start}.card-view__corner--mirror{justify-self:end;align-self:end;transform:rotate(180deg)}.card-view__rank{font-weight:var(--font-weight-bold);font-size:clamp(.65rem,4.2vw,.95rem);letter-spacing:-.02em}.card-view[data-size=small] .card-view__rank{font-size:.62rem}.card-view[data-size=large] .card-view__rank{font-size:1.35rem}.card-view__suit{fill:currentColor;color:var(--pip-color)}.card-view__suit--corner{width:clamp(.55rem,3.8vw,.85rem);height:clamp(.55rem,3.8vw,.85rem)}.card-view[data-size=small] .card-view__suit--corner{width:.5rem;height:.5rem}.card-view[data-size=large] .card-view__suit--corner{width:1.1rem;height:1.1rem}.card-view__center{display:grid;place-items:center;align-self:center;justify-self:center}.card-view__suit--center{width:clamp(1.6rem,14vw,2.75rem);height:clamp(1.6rem,14vw,2.75rem)}.card-view[data-size=small] .card-view__suit--center{width:1.15rem;height:1.15rem}.card-view[data-size=large] .card-view__suit--center{width:3.6rem;height:3.6rem}.card-view__rank--solo{font-size:clamp(1.2rem,10vw,2rem)}.card-view__face--joker{background:radial-gradient(circle at 22% 18%,rgba(50,214,198,.16),transparent 30%),linear-gradient(160deg,#fff8f0,#f3ead6 42%,#e0fbff);color:#0e6d68}.card-view__face--joker .card-view__corner{color:#0e6d68}.card-view__center--joker{display:flex;flex-direction:column;align-items:center;gap:.15em}.card-view__joker-star{font-size:clamp(1.4rem,12vw,2.8rem);line-height:1;color:var(--color-turquoise);text-shadow:0 1px 0 rgba(255,255,255,.8)}.card-view[data-size=large] .card-view__joker-star{font-size:3.2rem}.card-view__joker-label{font-size:clamp(.55rem,3.5vw,.8rem);font-weight:var(--font-weight-bold);letter-spacing:.14em;text-transform:uppercase;color:#0e6d68}.card-view[data-size=large] .card-view__joker-label{font-size:1rem}.card-view__special-tag{font-size:clamp(.55rem,3vw,.72rem);font-weight:var(--font-weight-bold);letter-spacing:.08em}.card-view[data-size=large] .card-view__special-tag{font-size:.95rem}.card-view__face--bonus{background:radial-gradient(circle at 78% 18%,rgba(50,214,198,.2),transparent 28%),linear-gradient(165deg,#fffef8,#eafffb,#fff4dc);color:var(--color-turquoise)}.card-view__face--bonus .card-view__corner{color:#0d6b63}.card-view__bonus-tag{font-size:clamp(.45rem,2.8vw,.62rem);font-weight:var(--font-weight-bold);letter-spacing:.06em;text-transform:uppercase;color:var(--color-turquoise)}.card-view__bonus-tag--lg{font-size:clamp(.7rem,4.5vw,1rem);letter-spacing:.1em}.card-view[data-size=large] .card-view__bonus-tag--lg{font-size:1.15rem}.card-view__bonus-zero{font-size:clamp(.85rem,6vw,1.2rem);font-weight:var(--font-weight-bold);line-height:1;color:var(--color-turquoise)}.card-view__bonus-zero--lg{font-size:clamp(1.8rem,16vw,3rem);color:var(--color-turquoise)}.card-view[data-size=large] .card-view__bonus-zero--lg{font-size:3.5rem}.card-view__center--bonus{display:flex;flex-direction:column;align-items:center;gap:.1em}.card-view__back{width:100%;height:100%;padding:5%;background:radial-gradient(circle at 26% 18%,rgba(50,214,198,.22),transparent 28%),linear-gradient(145deg,var(--color-card-back-base) 0%,#0b1c2a 48%,#16213a 100%)}.card-view__back-frame{width:100%;height:100%;border-radius:calc(var(--card-radius) - 4px);border:2px solid rgba(101,244,232,.48);box-shadow:inset 0 0 0 2px #fff2d51f;position:relative;overflow:hidden;display:grid;place-items:center}.card-view__back-pattern{position:absolute;top:-20%;right:-20%;bottom:-20%;left:-20%;background-color:#102f35;background-image:conic-gradient(from 0deg at 50% 50%,rgba(101,244,232,.44) 0deg 18deg,transparent 18deg 36deg,rgba(255,242,213,.18) 36deg 54deg,transparent 54deg 72deg,rgba(50,214,198,.34) 72deg 90deg,transparent 90deg 108deg,rgba(101,244,232,.44) 108deg 126deg,transparent 126deg 144deg,rgba(255,242,213,.18) 144deg 162deg,transparent 162deg 180deg,rgba(50,214,198,.34) 180deg 198deg,transparent 198deg 216deg,rgba(101,244,232,.44) 216deg 234deg,transparent 234deg 252deg,rgba(255,242,213,.18) 252deg 270deg,transparent 270deg 288deg,rgba(50,214,198,.34) 288deg 306deg,transparent 306deg 324deg,rgba(101,244,232,.44) 324deg 342deg,transparent 342deg),repeating-linear-gradient(45deg,transparent 0 8px,rgba(255,252,245,.07) 8px 9px,transparent 9px 18px),repeating-linear-gradient(-45deg,transparent 0 8px,rgba(255,252,245,.05) 8px 9px,transparent 9px 18px);opacity:.95}.card-view__back-medallion{position:relative;z-index:1;width:38%;aspect-ratio:1;border-radius:50%;display:grid;place-items:center;background:radial-gradient(circle at 35% 30%,var(--color-card-cream),#d8f7ef 55%,var(--color-turquoise) 100%);border:2px solid rgba(255,252,245,.55);box-shadow:0 4px 12px #00000059,inset 0 2px 4px #ffffff59}.card-view[data-size=small] .card-view__back-medallion{width:42%}.card-view[data-size=large] .card-view__back-medallion{width:34%}.card-view__back-mark{font-size:clamp(.9rem,8vw,1.4rem);font-weight:var(--font-weight-bold);color:#0b1020;letter-spacing:.02em;text-shadow:0 1px 0 rgba(255,255,255,.35)}.card-view[data-size=large] .card-view__back-mark{font-size:2rem}@keyframes cardViewFlipIn{0%{transform:rotateY(12deg) scale(.96);opacity:.82}to{transform:rotateY(0) scale(1);opacity:1}}@keyframes cardViewReveal{0%{transform:scale(1)}35%{transform:scale(1.025)}to{transform:scale(1)}}@keyframes cardMovementIn{0%{transform:translateY(-12px) rotate(-3deg) scale(.94);opacity:.45}70%{transform:translateY(1px) rotate(.5deg) scale(1.015);opacity:1}to{transform:none}}@keyframes cardMovementOut{0%{transform:none;opacity:1}to{transform:translateY(-18px) rotate(6deg) scale(.92);opacity:.24}}@keyframes cardMistakeShake{0%,to{transform:translate(0)}25%{transform:translate(-5px) rotate(-1deg)}50%{transform:translate(5px) rotate(1deg)}75%{transform:translate(-3px)}}@keyframes cardPeekFocus{0%{transform:rotateY(24deg) scale(.92);filter:brightness(.9)}58%{transform:rotateY(0) scale(1.035);filter:brightness(1.08) drop-shadow(0 0 14px rgba(50,214,198,.34))}to{transform:scale(1);filter:none}}.card-view{--card-radius: 10px;--card-border: 1px solid rgba(26, 26, 46, .18);--card-face-bg: var(--color-card-face);--card-shadow: 0 2px 8px rgba(0, 0, 0, .4);--card-shadow-stack: 0 2px 8px rgba(0, 0, 0, .4), 0 4px 0 rgba(0, 0, 0, .18);--card-glow-selected: 0 0 0 2px var(--color-primary), var(--card-shadow)}.card-view[data-size=small]{--card-radius: 8px}.card-view[data-size=large]{--card-radius: 12px}.card-view__shell{box-shadow:var(--card-shadow)}.card-view[data-selected=true] .card-view__shell{box-shadow:var(--card-glow-selected);transform:translateY(-3px) scale(1.015)}.card-view[data-selected=true]:after{color:#fff;background:var(--color-primary-dim);box-shadow:none}.card-view__face,.card-view__face--joker,.card-view__face--bonus{background:var(--color-card-face)}.card-view__face--red{--pip-color: var(--color-danger)}.card-view__face--black{--pip-color: #1a1a2e}.card-view__rank{letter-spacing:0}.card-view__joker-star,.card-view__joker-label,.card-view__face--joker .card-view__corner,.card-view__face--bonus,.card-view__face--bonus .card-view__corner,.card-view__bonus-tag,.card-view__bonus-zero{color:#1a1a2e}.card-view__back{padding:6%;background:var(--color-card-back)}.card-view__back-frame{border:1px solid rgba(250,250,248,.22);box-shadow:inset 0 0 0 6px #ffffff1a}.card-view__back-pattern{top:0;right:0;bottom:0;left:0;opacity:1;background-color:var(--color-card-back);background-image:repeating-linear-gradient(45deg,rgba(250,250,248,.15) 0 1px,transparent 1px 9px),repeating-linear-gradient(-45deg,rgba(250,250,248,.08) 0 1px,transparent 1px 9px)}.card-view__back-medallion,.card-view__back-mark{display:none}.card-view__back-frame:after{content:"◆";position:relative;z-index:1;color:#fff;font-size:clamp(1.35rem,16vw,2rem);line-height:1;opacity:.25}.card-view[data-size=small] .card-view__back-frame:after{font-size:1.2rem}.card-view[data-size=large] .card-view__back-frame:after{font-size:2.45rem}.card-view__back{background-color:var(--color-card-back);background-image:linear-gradient(45deg,rgba(255,255,255,.04) 25%,transparent 25%),linear-gradient(-45deg,rgba(255,255,255,.04) 25%,transparent 25%),linear-gradient(45deg,transparent 75%,rgba(255,255,255,.04) 75%),linear-gradient(-45deg,transparent 75%,rgba(255,255,255,.04) 75%);background-position:0 0,0 4px,4px -4px,-4px 0;background-size:8px 8px}.card-view__back-frame{box-shadow:inset 0 0 0 5px #ffffff1f}.card-view__back-pattern{background-color:transparent;background-image:linear-gradient(45deg,rgba(255,255,255,.04) 25%,transparent 25%),linear-gradient(-45deg,rgba(255,255,255,.04) 25%,transparent 25%),linear-gradient(45deg,transparent 75%,rgba(255,255,255,.04) 75%),linear-gradient(-45deg,transparent 75%,rgba(255,255,255,.04) 75%);background-position:0 0,0 4px,4px -4px,-4px 0;background-size:8px 8px}.card-view__back-frame:after{opacity:.35}.card-view__face--joker{grid-template-rows:auto 1fr auto;background:var(--color-card-face)}.card-view__center--joker{display:grid;place-items:center}.card-view__joker-star{font-size:2.5rem;color:#1a1a2e;line-height:1;text-shadow:none}.card-view[data-size=small] .card-view__joker-star{font-size:1.45rem}.card-view[data-size=large] .card-view__joker-star{font-size:3rem}.card-view__joker-label{display:none}.card-view__special-tag{color:#1a1a2e;font-size:.72rem}.card-view[data-size=small] .card-view__special-tag{font-size:.56rem}.card-view{--card-face-bg: #1a1a2e;--card-border: 1.5px solid rgba(212, 175, 55, .3);--card-shadow: 0 2px 8px rgba(0, 0, 0, .5);--card-shadow-stack: 0 2px 8px rgba(0, 0, 0, .5), 0 4px 0 rgba(0, 0, 0, .2);--card-glow-selected: 0 0 0 2px rgba(212, 175, 55, .7), var(--card-shadow)}.card-view__shell{background:#1a1a2e}.card-view__face,.card-view__face--joker,.card-view__face--bonus{background:#1a1a2e;color:#d4af37}.card-view__rank,.card-view__special-tag{font-weight:700}.card-view__back{position:relative;background-color:#0d1f2d;background-image:radial-gradient(rgba(212,175,55,.08) 1px,transparent 1px);background-size:6px 6px}.card-view__back:before,.card-view__back:after{position:absolute;z-index:2;color:#d4af374d;font-size:.5rem;line-height:1}.card-view__back:before{content:"♠";top:10%;left:12%}.card-view__back:after{content:"♠";right:12%;bottom:10%;transform:rotate(180deg)}.card-view__back-frame{border:1.5px solid rgba(212,175,55,.4);box-shadow:inset 0 0 0 4px #d4af3726}.card-view__back-pattern{background-color:transparent;background-image:radial-gradient(rgba(212,175,55,.08) 1px,transparent 1px);background-size:6px 6px}.card-view__back-frame:after{content:"❖";color:#d4af3799;font-size:2rem;opacity:1}.card-view[data-size=small] .card-view__back-frame:after{font-size:1.35rem}.card-view[data-size=large] .card-view__back-frame:after{font-size:2.6rem}.card-view__back{background-color:#162030}.card-view__back-frame{border-color:#d4af3780}.card-view__back-frame:after{color:#d4af3799;opacity:1}.card-view__shell{box-shadow:0 4px 12px #0009,0 1px 3px #0006,inset 0 0 0 1px #ffffff0f}.card-view[data-hidden=true] .card-view__shell{border-color:#d4af3799}.card-view__face,.card-view__face--joker,.card-view__face--bonus{background:#1e1d2e;color:#d4af37}.card-view__face--red,.card-view__face--black{--pip-color: #d4af37}.card-view__corner,.card-view__rank,.card-view__suit,.card-view__special-tag,.card-view__joker-star,.card-view__face--joker .card-view__corner,.card-view__face--bonus,.card-view__face--bonus .card-view__corner,.card-view__bonus-tag,.card-view__bonus-zero{color:#d4af37}:root{--color-bg: #12111A;--color-surface: #1C1B27;--color-border: #21262d;--color-card-face: #1E1D2E;--color-card-back: #1a4a4f;--color-primary: #25d366;--color-primary-dim: #128c7e;--color-bank: #f0b429;--color-danger: #e53e3e;--color-text: #f0f6fc;--color-muted: #8b949e;--color-bg-deep: var(--color-bg);--color-bg-emerald: var(--color-surface);--color-bg-table: #1C1B27;--color-bg-table-mid: #1A1428;--color-bg-surface: rgba(28, 27, 39, .88);--color-bg-surface-raised: rgba(28, 27, 39, .96);--color-bg-overlay: rgba(18, 17, 26, .86);--color-amber: var(--color-bank);--color-amber-bright: #f6ca68;--color-gold: var(--color-bank);--color-coral: var(--color-primary);--color-coral-soft: #5ee68b;--color-turquoise: var(--color-primary);--color-turquoise-bright: #54e889;--color-card-cream: var(--color-card-face);--color-card-cream-shadow: #e6e2d8;--color-card-back-base: var(--color-card-back);--color-card-back-pattern: rgba(250, 250, 248, .15);--color-card-back-line: rgba(250, 250, 248, .15);--color-suit-red: var(--color-danger);--color-suit-black: #1a1a2e;--color-text-soft: var(--color-text);--color-text-muted: var(--color-muted);--color-text-navy: #111827;--color-text-on-amber: #111827;--color-danger-bg: rgba(229, 62, 62, .16);--color-success: var(--color-primary);--color-success-bg: rgba(37, 211, 102, .14);--font-sans: "Inter", system-ui, -apple-system, "Segoe UI", sans-serif;--font-size-xs: .75rem;--font-size-sm: .8125rem;--font-size-base: .9375rem;--font-size-md: 1.0625rem;--font-size-lg: 1.25rem;--font-size-xl: 1.5rem;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--line-height-tight: 1.2;--line-height-normal: 1.45;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--space-safe-bottom: max(12px, env(safe-area-inset-bottom));--space-safe-top: max(8px, env(safe-area-inset-top));--space-safe-x: max(12px, env(safe-area-inset-left), env(safe-area-inset-right));--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 20px;--radius-pill: 999px;--radius-card: 10px;--shadow-sm: 0 2px 8px rgba(0, 0, 0, .28);--shadow-md: 0 8px 20px rgba(0, 0, 0, .3);--shadow-lg: 0 18px 42px rgba(0, 0, 0, .36);--shadow-card: 0 2px 8px rgba(0, 0, 0, .4);--shadow-glow-amber: 0 0 0 1px rgba(240, 180, 41, .52), 0 0 18px rgba(240, 180, 41, .22);--shadow-glow-turquoise: 0 0 0 1px rgba(37, 211, 102, .4), 0 0 14px rgba(37, 211, 102, .12);--z-base: 0;--z-raised: 10;--z-sticky: 20;--z-modal: 40;--z-toast: 50;--ease-out: cubic-bezier(.22, 1, .36, 1);--ease-spring: cubic-bezier(.34, 1.2, .64, 1);--duration-fast: .14s;--duration-normal: .22s;--duration-slow: .36s;--app-max-width: 480px;--touch-min: 44px;--card-min-height: clamp(108px, 28vw, 148px);--card-pile-width: clamp(64px, 18vw, 80px);--card-pile-height: clamp(90px, 24vw, 112px)}:root{--game-dock-height: 104px}.app--in-game{max-width:100%;padding-top:max(6px,env(safe-area-inset-top));padding-bottom:calc(var(--game-dock-height) + var(--space-safe-bottom) + var(--space-2));overflow-x:hidden}.app-header--game{min-height:38px;display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);margin-bottom:var(--space-1)}.app-header__actions{display:flex;align-items:center;gap:var(--space-2);flex-shrink:0}.sound-toggle{display:inline-flex;align-items:center;gap:5px;min-height:30px;padding:5px 8px;border-radius:var(--radius-pill);border:1px solid rgba(255,252,245,.14);background:#fffcf514;color:var(--color-text-muted);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);cursor:pointer;box-shadow:none}.sound-toggle[aria-pressed=true]{color:var(--color-turquoise-bright);border-color:#32d6c652;background:#32d6c61a}.sound-toggle:active{transform:scale(.98)}.sound-toggle__icon{font-size:1rem;line-height:1}.sound-toggle__label{line-height:1}.room-panel__sound{display:flex;justify-content:flex-start;margin-top:calc(var(--space-2) * -1)}.app-header--game h1{font-size:var(--font-size-md);margin:0}.app-header__round{display:none;font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);letter-spacing:.06em;text-transform:uppercase;color:#f4f7f594;padding:var(--space-1) var(--space-2);border-radius:var(--radius-pill);background:#fffcf514;border:1px solid rgba(255,252,245,.12);white-space:nowrap}.game-shell{display:flex;flex-direction:column;gap:var(--space-2);min-width:0}.online-game-shell .app-header--game{min-height:30px;margin-bottom:2px;flex:0 0 auto;padding:0 2px}.online-game-shell .app-header--game h1{font-size:.88rem;color:var(--color-text-soft);text-shadow:0 2px 0 rgba(5,8,18,.65)}.online-game-shell .game-exit-btn{min-height:28px;padding:4px 10px;font-size:.72rem}.online-game-shell .game-shell{position:relative;flex:1 1 auto;min-height:0;display:grid;grid-template-rows:minmax(102px,auto) minmax(40px,auto) minmax(88px,.58fr) minmax(0,1.42fr);gap:6px;overflow:hidden;border-radius:20px;background:radial-gradient(ellipse at 50% 36%,rgba(50,214,198,.12),transparent 48%),radial-gradient(ellipse at 50% 72%,rgba(16,47,53,.58),transparent 44%),linear-gradient(180deg,rgba(255,242,213,.025),transparent 42%)}.online-game-shell--pending-card .game-shell{grid-template-rows:minmax(102px,auto) minmax(40px,auto) minmax(84px,.5fr) auto minmax(0,1.36fr)}.opponents-strip{display:flex;gap:var(--space-2);overflow-x:auto;overflow-y:hidden;padding-bottom:2px;margin:0 calc(var(--space-safe-x) * -.35);padding-inline:calc(var(--space-safe-x) * .35);scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;scrollbar-width:none}.opponents-strip::-webkit-scrollbar{display:none}.opponent-chip{flex:0 0 auto;min-width:124px;max-width:148px;display:flex;align-items:center;gap:var(--space-2);padding:7px var(--space-2);border-radius:var(--radius-md);background:#fff6dc16;border:1px solid rgba(255,246,220,.12);box-shadow:0 3px #08041a33;scroll-snap-align:start}.online-game-shell .opponents-strip{min-height:102px;padding-bottom:0;gap:7px;align-items:stretch}.online-game-shell .opponent-chip{min-width:92px;max-width:116px;padding:4px 6px;gap:5px;border-radius:999px;background:#fff6dc0f;border-color:#fff6dc17}.online-game-shell .opponent-chip__avatar{font-size:.9rem}.online-game-shell .opponent-chip__name{font-size:.68rem}.online-game-shell .opponent-chip__stats{font-size:.58rem;gap:3px}.online-game-shell .opponent-chip__badge{font-size:.48rem;padding:1px 4px}.opponent-chip--active{border-color:#32d6c68f;background:#32d6c61a;box-shadow:0 0 18px #32d6c624,0 3px #08041a3d}.opponent-chip--out{opacity:.62}.opponent-chip--disconnected{opacity:.58}.opponent-chip__avatar{font-size:1.2rem;line-height:1;flex-shrink:0}.opponent-chip__body{min-width:0;display:flex;flex-direction:column;gap:2px}.opponent-chip__name{font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);color:var(--color-text-soft);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.opponent-chip__stats{font-size:var(--font-size-xs);color:var(--color-text-muted);display:flex;align-items:center;gap:4px}.opponent-chip__mini-grid{display:grid;grid-template-columns:repeat(2,12px);gap:3px;margin-top:3px}.opponent-chip__mini-grid--extra{grid-template-columns:repeat(4,10px)}.opponent-chip__mini-card{width:12px;height:16px;border-radius:3px;border:1px solid rgba(255,242,213,.14);background:linear-gradient(135deg,rgba(50,214,198,.52),transparent 42%),var(--color-card-back-base);box-shadow:0 1px #05081261}.opponent-chip__mini-grid--extra .opponent-chip__mini-card{width:10px;height:14px}.opponent-chip__mini-card--shown{background:var(--color-card-cream);border-color:#fff2d566}.opponent-chip__score{font-weight:var(--font-weight-semibold);color:var(--color-turquoise-bright)}.opponent-chip__badge{margin-left:auto;flex-shrink:0;font-size:.6rem;font-weight:var(--font-weight-bold);text-transform:uppercase;letter-spacing:.04em;padding:2px 6px;border-radius:var(--radius-pill);background:var(--color-danger-bg);border:1px solid rgba(214,69,69,.45);color:#ffc9c9}.opponent-memory{flex:0 0 auto;width:136px;display:grid;gap:5px;padding:6px 7px;border-radius:15px;background:radial-gradient(circle at 22% 12%,rgba(50,214,198,.08),transparent 32%),linear-gradient(180deg,#fff6dc14,#fff6dc08);border:1px solid rgba(255,246,220,.075);box-shadow:0 2px #08041a2e;scroll-snap-align:start}.opponent-memory--active{border-color:#32d6c670;background:#32d6c61a}.opponent-memory--disconnected{opacity:.58}.opponent-memory__header{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:4px}.opponent-memory__avatar{width:22px;height:22px;display:grid;place-items:center;border-radius:8px;background:#fff6dc14;border:1px solid rgba(50,214,198,.22);font-size:.88rem;line-height:1}.opponent-memory__name{min-width:0;color:var(--color-text-soft);font-size:.66rem;font-weight:var(--font-weight-bold);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.opponent-memory__meta{color:var(--color-text-muted);font-size:.56rem;font-weight:var(--font-weight-semibold);white-space:nowrap}.opponent-memory__badge{grid-column:1 / -1;justify-self:start;padding:1px 5px;border-radius:var(--radius-pill);color:var(--color-turquoise-bright);background:#32d6c61f;border:1px solid rgba(50,214,198,.24);font-size:.48rem;font-weight:var(--font-weight-bold);text-transform:uppercase}.opponent-memory__badge--muted{color:#f4f7f5ad;background:#fffcf514;border-color:#fffcf51f}.opponent-memory__grid{display:grid;grid-template-columns:repeat(2,31px);justify-content:center;gap:4px}.opponent-memory__grid--extra{grid-template-columns:repeat(4,20px)}.opponent-memory__slot{position:relative;width:31px;aspect-ratio:5 / 7;display:grid;place-items:center;padding:0;border-radius:7px;border:1px dashed rgba(255,252,245,.16);background:#fffcf509;box-shadow:none}.opponent-memory__grid--extra .opponent-memory__slot{width:20px;border-radius:4px}.opponent-memory__slot--occupied{border-style:solid;border-color:#32d6c661;background:repeating-linear-gradient(45deg,rgba(101,244,232,.2) 0 2px,transparent 2px 4px),linear-gradient(145deg,var(--color-card-back-base),#071927)}.opponent-memory__slot--selected{border-color:var(--color-turquoise-bright);box-shadow:0 0 0 2px #32d6c647,0 0 14px #32d6c63d}.opponent-memory__slot:not(:disabled){cursor:pointer}.opponent-memory__slot:not(:disabled):active{transform:scale(.96)}.opponent-memory__back{width:70%;height:70%;border-radius:3px;background:repeating-linear-gradient(45deg,rgba(101,244,232,.34) 0 2px,transparent 2px 4px),#071f23cc}.opponent-memory__marker{position:absolute;right:-6px;top:-6px;min-width:16px;height:16px;display:grid;place-items:center;border-radius:999px;color:#061a28;background:var(--color-turquoise-bright);font-size:.54rem;font-weight:var(--font-weight-bold);line-height:1}.card-move-highlight,.slot-recent-change{animation:slotRecentPulse .36s ease-out}.slot-action-deck,.slot-action-discard{--slot-action-color: var(--color-turquoise-bright)}.slot-action-jack{--slot-action-color: var(--color-coral-soft)}.slot-action-match{--slot-action-color: #b7f4d2}.slot-recent-change{border-color:var(--slot-action-color, var(--color-turquoise-bright));box-shadow:0 0 0 1px color-mix(in srgb,var(--slot-action-color, var(--color-turquoise-bright)) 70%,transparent),0 0 16px color-mix(in srgb,var(--slot-action-color, var(--color-turquoise-bright)) 34%,transparent)}@keyframes slotRecentPulse{0%{transform:translateY(-1px) scale(1.035);filter:brightness(1.24)}to{transform:translateY(0) scale(1);filter:brightness(1)}}.online-status-banner{min-height:38px;display:grid;align-content:center;justify-items:center;gap:2px;padding:5px 10px;border-radius:14px;background:radial-gradient(circle at 18% 16%,rgba(50,214,198,.08),transparent 32%),linear-gradient(135deg,#16213aa3,#102f356b);border:1px solid rgba(255,246,220,.075);box-shadow:0 2px #08041a2e,0 1px #fff6dc0f inset}.online-status-banner strong{color:var(--color-text-soft);font-size:.94rem;line-height:1.05;text-align:center}.online-status-banner span{color:var(--color-text-muted);font-size:.66rem;line-height:1.15;text-align:center}.online-status-banner small{color:#f4f7f5cc;font-size:.6rem;line-height:1.1;padding:2px 8px;border-radius:var(--radius-pill);background:#fff6dc0f}.online-game-shell--waiting .online-status-banner{background:#fff6dc0b;border-color:#fff6dc0f;box-shadow:none}.online-game-shell--bank-called .online-status-banner{min-height:50px;background:radial-gradient(circle at 50% 35%,rgba(255,214,110,.28),transparent 42%),linear-gradient(135deg,#ffbd4747,#ff4f8b29);border-color:#ffd66e57;box-shadow:0 0 0 1px #ffd66e29,0 0 26px #ffd66e2e}.online-game-shell--bank-called .online-status-banner strong{color:var(--color-amber-bright)}.focused-reveal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:calc(var(--z-modal) + 8);display:grid;place-items:center;padding:max(18px,env(safe-area-inset-top)) var(--space-safe-x) max(22px,env(safe-area-inset-bottom));background:radial-gradient(circle at 50% 36%,rgba(50,214,198,.12),transparent 32%),#050812d1;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);cursor:pointer;touch-action:manipulation}.focused-reveal--queen{background:radial-gradient(circle at 50% 36%,rgba(50,214,198,.14),transparent 32%),#050812d6}.focused-reveal--jack{background:radial-gradient(circle at 50% 36%,rgba(232,93,117,.13),transparent 34%),#050812d6}.focused-reveal--swap{background:radial-gradient(circle at 50% 36%,rgba(255,242,213,.1),transparent 34%),#050812d1}.focused-reveal--setup{background:radial-gradient(circle at 50% 36%,rgba(212,175,55,.14),transparent 34%),#050812d6}.focused-reveal__panel{width:min(310px,86vw);display:grid;justify-items:center;gap:12px;animation:focusedRevealIn .22s var(--ease-out)}.focused-reveal__copy{display:grid;justify-items:center;gap:3px;text-align:center;text-shadow:0 2px 10px rgba(0,0,0,.45)}.focused-reveal__copy strong{color:var(--color-text-soft);font-size:1.05rem;line-height:1}.focused-reveal__copy span,.focused-reveal__retry{color:var(--color-text-muted);font-size:.76rem;font-weight:var(--font-weight-semibold)}.focused-reveal__retry{color:var(--color-coral)}.focused-reveal .card-view{width:min(190px,58vw)}.focused-reveal .card-view__shell{box-shadow:0 0 0 1px #fff2d529,0 22px 60px #0000007a,0 0 42px #32d6c629}.focused-reveal__progress{width:min(180px,48vw);height:4px;overflow:hidden;border-radius:var(--radius-pill);background:#fff2d51f;box-shadow:0 1px #fff2d51f inset}.focused-reveal__progress span{display:block;width:100%;height:100%;border-radius:inherit;transform-origin:left center;background:linear-gradient(90deg,var(--color-turquoise-bright),var(--color-gold));transition:transform 80ms linear}.setup-peek-overlay__panel{gap:14px}.setup-peek-overlay__cards{display:flex;justify-content:center;gap:14px}.setup-peek-overlay__cards .card-view{width:min(138px,38vw)}.setup-peek-overlay__hint{color:var(--color-text-muted);font-size:.76rem;font-weight:var(--font-weight-semibold)}@keyframes focusedRevealIn{0%{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@media (prefers-reduced-motion: reduce){.focused-reveal__panel{animation:none}.focused-reveal__progress span{transition:none}}.bank-opportunity-chip{position:absolute;z-index:8;top:clamp(86px,18dvh,132px);left:50%;width:min(92%,340px);transform:translate(-50%);display:flex;align-items:center;justify-content:space-between;gap:8px;padding:7px 8px 7px 12px;border-radius:var(--radius-pill);background:radial-gradient(circle at 18% 16%,rgba(255,246,220,.24),transparent 32%),linear-gradient(135deg,#ffbd47eb,#ffd66edb);border:1px solid rgba(255,246,220,.58);color:#170c2f;box-shadow:0 5px #6f370a6b,0 0 22px #ffd66e3d;animation:bankOpportunityIn .24s var(--ease-spring)}.bank-opportunity-chip span{min-width:0;font-size:.72rem;font-weight:var(--font-weight-bold);line-height:1.12}.bank-opportunity-chip button{flex:0 0 auto;min-height:30px;padding:6px 11px;font-size:.72rem;border-radius:var(--radius-pill)}.table-zone{padding:var(--space-2);border-radius:var(--radius-lg);background:radial-gradient(ellipse at 50% 50%,rgba(34,214,197,.18),transparent 60%),linear-gradient(180deg,#fff6dc1f,#fff6dc0e);border:1px solid rgba(255,246,220,.12);box-shadow:var(--shadow-md)}.online-game-shell .table-zone{min-height:0;padding:0;border-radius:0;display:grid;grid-template-rows:1fr;align-items:center}.online-game-shell .table-zone--compact{background:transparent;border:0;box-shadow:none}.turn-banner{margin-bottom:var(--space-2);padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);background:#0000001f;border:1px solid rgba(255,252,245,.08)}.online-game-shell .turn-banner{margin-bottom:6px;padding:6px 8px;border-radius:10px}.online-game-shell .turn-banner__top{margin-bottom:2px}.online-game-shell .turn-banner__headline{font-size:.88rem}.online-game-shell .turn-banner__hint{font-size:.68rem;line-height:1.2}.turn-banner--active{background:linear-gradient(135deg,#32d6c624,#16213a6b);border-color:#32d6c652;box-shadow:0 0 0 1px #32d6c61f}.turn-banner__top{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);margin-bottom:var(--space-1)}.turn-banner__round{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);letter-spacing:.05em;text-transform:uppercase;color:var(--color-turquoise-bright)}.turn-banner__tag{font-size:.65rem;font-weight:var(--font-weight-bold);text-transform:uppercase;letter-spacing:.06em;padding:2px 8px;border-radius:var(--radius-pill);background:#32d6c624;color:var(--color-turquoise-bright)}.turn-banner__headline{margin:0;font-size:var(--font-size-md);font-weight:var(--font-weight-bold);line-height:var(--line-height-tight);color:var(--color-text-soft)}.turn-banner__hint{margin:2px 0 0;font-size:var(--font-size-xs);color:var(--color-text-muted)}.table-piles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:end;gap:var(--space-2)}.online-game-shell .table-piles{display:flex;align-items:center;justify-content:center;gap:clamp(8px,2.8vw,14px);min-height:0}.table-pile{position:relative;display:flex;flex-direction:column;align-items:center;gap:3px;min-width:0;padding:var(--space-1);border-radius:var(--radius-md);background:#fff6dc0e}.online-game-shell .table-pile{width:min(22vw,74px);padding:2px;gap:2px;background:transparent;border:0}.online-game-shell .table-pile--draw,.online-game-shell .table-pile--discard{width:min(19vw,64px)}.online-game-shell .table-pile--hand{width:min(27vw,98px)}.table-pile--actionable{border:0;background:transparent;box-shadow:none}.table-pile--actionable .card-view__shell,.table-pile--actionable .table-pile__empty{box-shadow:0 0 0 3px #32d6c66b,0 0 24px #32d6c63d,var(--shadow-card)}.table-pile--actionable .table-pile__label,.table-pile--actionable .table-pile__count{color:var(--color-turquoise-bright)}.table-pile__stack{position:relative;min-height:var(--card-pile-height)}.online-game-shell .table-pile__stack{min-height:auto}.table-pile__stack--hand .card-view[data-size=small]{width:calc(var(--card-pile-width) * 1.08)}.table-pile--hand-active .table-pile__stack--hand .card-view[data-size=medium]{width:min(104px,28vw)}.table-pile--hand-active .table-pile__stack--hand .card-view{filter:drop-shadow(0 0 10px rgba(50,214,198,.38))}.table-pile--hand-active .table-pile__label{color:var(--color-turquoise-bright);font-weight:var(--font-weight-bold)}.table-pile__empty{width:var(--card-pile-width);aspect-ratio:5 / 7;border-radius:var(--radius-md);border:2px dashed rgba(255,246,220,.24);display:grid;place-items:center;background:#fffcf50a;color:var(--color-turquoise-bright);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold)}.table-pile__empty[role=button]{cursor:pointer;border-color:#32d6c694;color:var(--color-turquoise-bright)}.table-pile__empty[role=button]:active{transform:scale(.98)}.table-pile__label{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.04em}.online-game-shell .table-pile__label{font-size:.56rem;letter-spacing:.03em}.table-pile__count{font-size:.68rem;color:var(--color-text-muted);opacity:.9;white-space:nowrap}.online-game-shell .table-pile__count{font-size:.52rem}.table-pile--empty{opacity:.78}.drawn-decision-card{width:min(100%,318px);margin:-3px auto 0;display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:40px;padding:6px 8px 6px 11px;border-radius:14px;background:radial-gradient(circle at 16% 14%,rgba(50,214,198,.12),transparent 35%),linear-gradient(135deg,#fff6dc1b,#fff6dc0b);border:1px solid rgba(50,214,198,.2);box-shadow:0 4px #08041a33}.drawn-decision-card div{min-width:0;display:grid;gap:1px;text-align:start}.drawn-decision-card strong{color:var(--color-turquoise-bright);font-size:.74rem;line-height:1.05}.drawn-decision-card span{color:var(--color-text-muted);font-size:.62rem}.drawn-decision-card button{flex:0 0 auto;min-height:30px;padding:5px 9px;border-radius:var(--radius-pill);font-size:.72rem}.online-game-shell--pending-card .play-hand__grid .card-view[data-interactive=true] .card-view__shell{box-shadow:0 0 0 2px #61f0dc61,0 0 18px #61f0dc38,var(--card-shadow)}.online-game-shell--pending-card .play-hand__grid .card-view[data-interactive=true]{animation:swappableSlotBreathe .64s ease-in-out infinite}.game-motion .table-zone,.game-motion .table-pile,.game-motion .play-hand,.game-motion .opponents-strip,.game-motion .online-status-banner,.game-motion .practice-banner{position:relative}.game-motion--draw .table-pile--draw:after,.game-motion--discard .table-pile--hand:after,.game-motion--swap .table-pile--hand:after,.game-motion--jack .opponent-memory__slot--selected:after{content:"";position:absolute;z-index:5;width:clamp(30px,10vw,46px);aspect-ratio:5 / 7;border-radius:8px;border:1px solid rgba(101,244,232,.48);background:radial-gradient(circle at 50% 50%,rgba(50,214,198,.2),transparent 34%),repeating-linear-gradient(45deg,rgba(255,246,220,.1) 0 5px,transparent 5px 10px),linear-gradient(150deg,var(--color-card-back-base),#071927);box-shadow:0 0 16px #32d6c647,0 8px 14px #00000047;pointer-events:none}.game-motion--draw .table-pile--draw:after{top:8px;right:-12px;animation:tableCardDraw .24s var(--ease-out) both}.game-motion--discard .table-pile--hand:after,.game-motion--swap .table-pile--hand:after{top:8px;left:50%;animation:tableCardToDiscard .22s var(--ease-out) both}.game-motion--discard .table-pile--discard .card-view__shell,.game-motion--discard .table-pile--discard .table-pile__empty,.game-motion--match-success .table-pile--discard .card-view__shell,.game-motion--match-success .table-pile--discard .table-pile__empty{animation:discardPilePulse .22s var(--ease-out)}.game-motion--draw .table-pile--hand-active .card-view__shell{animation:heldCardArrive .24s var(--ease-out)}.game-motion--draw .table-pile--hand-active .card-view[data-hidden=false] .card-view__face{animation:delayedDrawFaceReveal .24s var(--ease-out) both}.game-motion--swap .play-hand .card-view[data-reveal=true] .card-view__shell,.game-motion--queen .play-hand .card-view[data-reveal=true] .card-view__shell,.game-motion--jack .play-hand .card-view[data-reveal=true] .card-view__shell{animation:peekFocus .34s var(--ease-out)}.game-motion--swap .play-hand__grid .card-view[data-selected=true] .card-view__shell{animation:slotSwapGlow .24s var(--ease-out)}.game-motion--match-fail .play-hand__grid{animation:matchPenaltyShake .22s var(--ease-out)}.game-motion--match-fail .play-hand:after{content:"";position:absolute;right:24%;top:30%;z-index:4;width:clamp(34px,12vw,48px);aspect-ratio:5 / 7;border-radius:9px;border:1px solid rgba(101,244,232,.46);background:radial-gradient(circle at 50% 50%,rgba(50,214,198,.16),transparent 36%),repeating-linear-gradient(45deg,rgba(255,246,220,.08) 0 4px,transparent 4px 8px),linear-gradient(150deg,var(--color-card-back-base),#071927);box-shadow:0 0 18px #32d6c647,0 8px 14px #00000042;pointer-events:none;animation:penaltyCardDrop .28s var(--ease-out) both}.game-motion--match-success .play-hand__grid .card-view[data-selected=true]{animation:matchCardFlick .18s var(--ease-out)}.game-motion--bank .online-status-banner,.game-motion--bank .practice-banner,.game-motion--bank .turn-banner{animation:bankTableFlash .38s var(--ease-out)}.game-motion--bank .online-status-banner strong{animation:bankStatusEntrance .34s var(--ease-out)}.game-motion--bank .opponent-chip--active,.game-motion--bank .opponent-memory--active{animation:bankCallerGlow .42s var(--ease-out)}.game-motion--round-reveal .flow-results-hero{animation:bankTableFlash .42s var(--ease-out)}.game-motion--jack .opponents-strip{animation:jackRailPulse .26s var(--ease-out)}.game-motion--jack .opponent-memory__slot--selected:after{top:0;right:0;bottom:0;left:0;margin:auto;width:70%;opacity:0;animation:jackMiniSwap .26s var(--ease-out) both}.game-motion--swap .online-status-banner small,.game-motion--match-success .online-status-banner small,.game-motion--match-fail .online-status-banner small,.game-motion--jack .online-status-banner small{color:#061a28;background:#65f4e8e6;animation:recentMoveToast .22s var(--ease-out)}.slot-recent-change .opponent-memory__marker,.card-move-highlight .opponent-memory__marker{animation:moveMarkerPop .22s var(--ease-out)}@keyframes tableCardDraw{0%{transform:translate(0) rotate(-6deg) scale(.82);opacity:0}35%{opacity:1}to{transform:translate(64px,-4px) rotate(4deg) scale(.98);opacity:0}}@keyframes bankOpportunityIn{0%{transform:translate(-50%,8px) scale(.96);opacity:0}to{transform:translate(-50%) scale(1);opacity:1}}@keyframes swappableSlotBreathe{0%,to{transform:translateY(0)}50%{transform:translateY(-2px)}}@keyframes tableCardToDiscard{0%{transform:translate(-50%) rotate(4deg) scale(1);opacity:.95}to{transform:translate(-150%,1px) rotate(-7deg) scale(.86);opacity:0}}@keyframes discardPilePulse{0%,to{transform:scale(1);filter:none}45%{transform:scale(1.035) rotate(-.5deg);filter:drop-shadow(0 0 12px rgba(97,240,220,.34))}}@keyframes heldCardArrive{0%{transform:translate(-22px) scale(.92) rotate(-4deg);opacity:.4}70%{transform:translate(1px) scale(1.015) rotate(.5deg);opacity:1}to{transform:none}}@keyframes delayedDrawFaceReveal{0%,54%{opacity:0;filter:blur(1px)}to{opacity:1;filter:none}}@keyframes peekFocus{0%{transform:scale(.94) rotateY(28deg);filter:brightness(.9)}60%{transform:scale(1.04) rotateY(0);filter:brightness(1.08) drop-shadow(0 0 14px rgba(50,214,198,.34))}to{transform:scale(1);filter:none}}@keyframes slotSwapGlow{0%,to{transform:translateY(-5px) scale(1.025)}50%{transform:translateY(-6px) scale(1.035) rotate(.5deg)}}@keyframes matchPenaltyShake{0%,to{transform:translate(0)}20%{transform:translate(-4px) rotate(-.4deg)}45%{transform:translate(4px) rotate(.4deg)}70%{transform:translate(-2px)}}@keyframes penaltyCardDrop{0%{transform:translateY(-28px) rotate(-6deg) scale(.9);opacity:0}58%{transform:translateY(3px) rotate(2deg) scale(1.02);opacity:1}78%{transform:translateY(-2px) rotate(-.5deg) scale(.99)}to{transform:translateY(0) rotate(0) scale(1);opacity:0}}@keyframes matchCardFlick{0%{transform:translateY(-5px) scale(1.025);opacity:1}to{transform:translateY(-20px) rotate(-7deg) scale(.92);opacity:.2}}@keyframes bankTableFlash{0%,to{box-shadow:inherit;filter:none}42%{box-shadow:0 0 0 2px #ffd66e9e,0 0 28px #ffd66e57;filter:saturate(1.14) brightness(1.06)}}@keyframes bankStatusEntrance{0%{transform:scale(.92);opacity:.4;letter-spacing:.04em}66%{transform:scale(1.025);opacity:1;letter-spacing:.01em}to{transform:none;opacity:1;letter-spacing:0}}@keyframes recentMoveToast{0%{transform:translateY(3px) scale(.96);opacity:0}70%{transform:translateY(0) scale(1.01);opacity:1}to{transform:none;opacity:1}}@keyframes bankCallerGlow{0%,to{filter:none}50%{filter:drop-shadow(0 0 12px rgba(255,214,110,.46))}}@keyframes jackRailPulse{0%,to{filter:none}50%{filter:drop-shadow(0 0 10px rgba(232,93,117,.24))}}@keyframes jackMiniSwap{0%{transform:translate(-14px) rotate(-7deg) scale(.84);opacity:0}40%{opacity:.88}to{transform:translate(14px) rotate(7deg) scale(.84);opacity:0}}@keyframes moveMarkerPop{0%{transform:scale(.84)}55%{transform:scale(1.12)}to{transform:scale(1)}}@media (prefers-reduced-motion: reduce){.game-motion *,.game-motion *:before,.game-motion *:after,.slot-recent-change,.card-move-highlight{animation-duration:1ms!important;animation-iteration-count:1!important;transition-duration:1ms!important}}.play-hand{width:100%;max-width:348px;margin-inline:auto;padding:var(--space-2);border-radius:var(--radius-lg);background:radial-gradient(ellipse at 50% 0%,rgba(50,214,198,.1),transparent 48%),linear-gradient(165deg,#fff6dc1f,#fff6dc0b);border:1px solid rgba(97,240,220,.26);box-shadow:var(--shadow-lg)}.online-game-shell .play-hand{min-height:0;max-height:100%;width:min(100%,352px);max-width:352px;padding:2px 4px 6px;border-radius:0;display:grid;grid-template-rows:auto minmax(0,1fr);overflow:hidden;background:transparent;border:0;box-shadow:none}.play-hand__header{display:flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-2)}.online-game-shell .play-hand__header{margin-bottom:3px;justify-content:center;gap:6px}.online-game-shell .play-hand__avatar{width:22px;height:22px;font-size:.82rem;border-radius:8px}.online-game-shell .play-hand__name{font-size:.74rem}.online-game-shell .play-hand__score{font-size:.6rem;margin-top:0}.play-hand__avatar{font-size:1.45rem;line-height:1;width:36px;height:36px;display:grid;place-items:center;border-radius:var(--radius-md);background:#fff6dc1a;border:1px solid rgba(50,214,198,.28)}.play-hand__name{margin:0;font-size:var(--font-size-md);font-weight:var(--font-weight-bold);color:var(--color-text-soft)}.play-hand__score{margin:2px 0 0;font-size:var(--font-size-sm);color:var(--color-text-muted)}.play-hand__score strong{color:var(--color-text-soft);font-weight:var(--font-weight-bold)}.play-hand__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-2)}.online-game-shell .play-hand__grid{min-height:0;align-content:center;justify-content:center;gap:clamp(6px,2dvh,9px);overflow-y:auto;overscroll-behavior:contain;scrollbar-width:none}.online-game-shell .play-hand__grid::-webkit-scrollbar{display:none}.online-game-shell .play-hand__grid--four{grid-template-columns:repeat(2,minmax(88px,120px))}.play-hand__grid--extra{grid-template-columns:repeat(auto-fit,minmax(92px,1fr))}.online-game-shell .play-hand__grid--extra{grid-template-columns:repeat(auto-fit,minmax(56px,78px));align-content:start}.online-game-shell .play-hand__grid--extra .card-view[data-size=medium]{max-width:78px}.online-game-shell .play-hand__grid--four .card-view[data-size=medium]{max-width:120px}.play-hand__grid .card-view{min-width:0}.action-dock{position:fixed;left:0;right:0;bottom:0;z-index:var(--z-sticky);padding:var(--space-2) var(--space-safe-x) var(--space-safe-bottom);pointer-events:none}.action-dock__panel{pointer-events:auto;max-width:var(--app-max-width);margin:0 auto;padding:var(--space-2);border-radius:var(--radius-lg);background:radial-gradient(circle at 18% 10%,rgba(50,214,198,.08),transparent 34%),linear-gradient(180deg,#16213af7,#0b1020fa);border:1px solid rgba(255,246,220,.15);box-shadow:0 -6px #08041a57,0 -16px 32px #00000057;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);display:grid;gap:6px}.action-dock__helper{margin:0;color:var(--color-text-muted);font-size:.68rem;font-weight:var(--font-weight-semibold);text-align:center}.action-dock__actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.action-dock__actions .action-dock__btn:only-child{grid-column:1 / -1}.action-dock__btn{min-height:40px;padding:7px var(--space-3);border-radius:var(--radius-pill);font-size:.82rem;font-weight:var(--font-weight-bold);border:2px solid transparent;box-shadow:var(--shadow-sm);transition:transform var(--duration-fast) var(--ease-out),opacity var(--duration-fast) var(--ease-out),box-shadow var(--duration-fast) var(--ease-out)}.action-dock__btn--primary{color:#fff8ef;background:radial-gradient(circle at 18% 15%,rgba(255,255,255,.24),transparent 30%),linear-gradient(180deg,var(--color-coral-soft),var(--color-coral) 58%,#b83b51);border-color:#e85d7557}.action-dock__btn--accent{color:#170c2f;background:radial-gradient(circle at 18% 15%,rgba(255,255,255,.34),transparent 30%),linear-gradient(180deg,var(--color-amber-bright),var(--color-amber) 58%,var(--color-gold));border-color:#fff6dc7a;box-shadow:0 4px #6f370a85,0 0 24px #ffbd4738}.action-dock__btn--secondary{color:#061a28;background:radial-gradient(circle at 18% 15%,rgba(255,255,255,.24),transparent 30%),linear-gradient(180deg,var(--color-turquoise-bright),var(--color-turquoise) 58%,#13a1a0);border-color:#61f0dc6b;min-height:40px;font-size:var(--font-size-xs)}.action-dock__btn:disabled{opacity:.38;transform:none;filter:grayscale(.25);box-shadow:none}.action-dock__btn:not(:disabled):active{transform:translateY(3px) scale(.98)}.action-dock__panel--status{padding-block:var(--space-3)}.game-footer{display:grid;gap:var(--space-2);margin-top:var(--space-1)}.debug-drawer--compact{margin:0}.debug-drawer--compact summary{font-size:.68rem;color:#f4f7f573;list-style:none;cursor:pointer;width:fit-content;padding:2px 6px;border-radius:var(--radius-pill);border:1px solid rgba(255,252,245,.08)}.debug-drawer--compact summary::-webkit-details-marker{display:none}.debug-drawer--compact[open] summary{color:var(--color-text-muted)}.debug-panel--compact{margin-top:var(--space-2);max-height:120px;overflow:auto;font-size:.65rem;line-height:1.35}@media (max-width: 360px){:root{--game-dock-height: 148px}.action-dock__actions{grid-template-columns:1fr}.opponent-chip{min-width:118px}}@media (min-width: 420px){.play-hand__grid{gap:var(--space-4)}}.opponent-chip__badge--active{background:#32d6c624;border-color:#32d6c661;color:var(--color-turquoise-bright)}@media (max-height: 720px){.app--in-game{--card-pile-width: clamp(56px, 16vw, 68px)}.play-hand{max-width:324px}}.online-game-shell{--game-dock-height: 62px;background:var(--color-bg);background-image:none}.online-game-shell--dockless{--game-dock-height: 4px}.online-game-shell .app-header--game{min-height:32px;padding:0}.online-game-shell .app-header--game h1{color:var(--color-text);font-size:.95rem;letter-spacing:.03em;text-shadow:none}.game-exit-btn,.sound-toggle{color:var(--color-muted);background:transparent;border:1px solid var(--color-border);box-shadow:none}.sound-toggle[aria-pressed=true],.game-exit-btn:active{color:var(--color-primary);border-color:#25d36661;background:#25d36614}.online-game-shell .game-shell{border-radius:0;background:radial-gradient(ellipse at 50% 48%,rgba(16,47,53,.75),transparent 58%),linear-gradient(180deg,transparent 0%,rgba(16,47,53,.28) 45%,transparent 100%);box-shadow:none}.opponents-strip{gap:8px}.opponent-chip,.opponent-memory{background:transparent;border:1px solid var(--color-border);box-shadow:none}.opponent-memory{width:132px;border-radius:14px}.opponent-chip--active,.opponent-memory--active{border-color:#25d36685;background:#25d36614;box-shadow:none}.opponent-memory__avatar,.opponent-chip__avatar{background:var(--color-surface);border-color:var(--color-border)}.opponent-chip__score,.opponent-memory__badge,.opponent-chip__badge--active{color:var(--color-primary)}.opponent-memory__badge,.opponent-chip__badge--active{background:#25d3661a;border-color:#25d3663d}.opponent-memory__slot{border-color:var(--color-border);background:#fafaf808}.opponent-memory__slot--occupied,.opponent-chip__mini-card{border-color:#fafaf824;background:repeating-linear-gradient(45deg,rgba(250,250,248,.15) 0 2px,transparent 2px 7px),var(--color-card-back)}.opponent-memory__back{background:repeating-linear-gradient(45deg,rgba(250,250,248,.15) 0 2px,transparent 2px 6px),#1a4a4fe6}.opponent-memory__marker{color:#fff;background:var(--color-primary-dim)}.slot-action-jack{--slot-action-color: var(--color-primary)}.slot-action-penalty{--slot-action-color: var(--color-danger)}.slot-action-match{--slot-action-color: var(--color-primary)}.online-status-banner{min-height:34px;padding:3px 8px;background:transparent;border:0;box-shadow:none}.online-status-banner strong{color:var(--color-text)}.online-status-banner span,.online-status-banner small{color:var(--color-muted);background:transparent}.online-game-shell--bank-called .online-status-banner{background:#f0b4291a;border:1px solid rgba(240,180,41,.28);box-shadow:none}.online-game-shell--bank-called .online-status-banner strong{color:var(--color-bank)}.table-zone,.online-game-shell .table-zone{background:transparent;border:0;box-shadow:none}.table-pile,.online-game-shell .table-pile{background:transparent}.table-pile__label,.table-pile__count{color:var(--color-muted)}.table-pile--actionable .card-view__shell,.table-pile--actionable .table-pile__empty{box-shadow:0 0 0 2px #25d36673,var(--shadow-card)}.table-pile--actionable .table-pile__label,.table-pile--actionable .table-pile__count{color:var(--color-primary)}.table-pile--hand-active .table-pile__stack--hand .card-view{filter:none}.table-pile--hand-active .table-pile__label{color:var(--color-primary)}.table-pile__empty{color:var(--color-muted);border-color:var(--color-border);background:#fafaf808}.drawn-decision-card{background:var(--color-surface);border:1px solid var(--color-border);box-shadow:none}.drawn-decision-card strong{color:var(--color-primary)}.play-hand,.online-game-shell .play-hand{background:transparent;border:0;box-shadow:none}.play-hand__name,.play-hand__score strong{color:var(--color-text)}.play-hand__score{color:var(--color-muted)}.play-hand__avatar{background:var(--color-surface);border-color:var(--color-border)}.online-game-shell--pending-card .play-hand__grid .card-view[data-interactive=true]{animation:none}.online-game-shell--pending-card .play-hand__grid .card-view[data-interactive=true] .card-view__shell{box-shadow:0 0 0 2px #25d36661,var(--shadow-card)}.online-game-readonly{background:#0d1117f0;border:0;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}.online-game-actions{gap:8px}.online-game-actions button{min-height:38px;border-radius:12px}.bank-action-btn,.online-game-actions .bank-action-btn,.bank-opportunity-chip button{color:#111827;background:var(--color-bank);border-color:var(--color-bank);box-shadow:none;font-weight:700}.bank-opportunity-chip{color:#111827;background:var(--color-bank);border-color:#f0b4298a;box-shadow:var(--shadow-md)}.focused-reveal,.focused-reveal--queen,.focused-reveal--jack,.focused-reveal--swap{background:#000000b3}.focused-reveal__copy{text-shadow:none}.focused-reveal__copy strong{color:var(--color-text)}.focused-reveal__copy span,.focused-reveal__retry{color:var(--color-muted)}.focused-reveal__retry{color:var(--color-danger)}.focused-reveal .card-view__shell{box-shadow:0 18px 48px #00000080}.focused-reveal__progress{background:#fafaf824}.focused-reveal__progress span{background:var(--color-primary)}.room-panel{background:var(--color-surface);border-color:var(--color-border)}.game-motion--bank .online-status-banner,.game-motion--bank .practice-banner,.game-motion--bank .turn-banner{animation:bankTableFlash .32s var(--ease-out)}.game-motion--swap .online-status-banner small,.game-motion--match-success .online-status-banner small,.game-motion--match-fail .online-status-banner small,.game-motion--jack .online-status-banner small{color:var(--color-primary);background:#25d3661a}.online-game-shell .game-shell{grid-template-rows:minmax(90px,auto) minmax(34px,auto) minmax(78px,.56fr) minmax(0,.98fr)}.online-game-shell--pending-card .game-shell{grid-template-rows:minmax(90px,auto) minmax(34px,auto) minmax(76px,.5fr) auto minmax(0,.92fr)}.online-game-shell .play-hand{width:min(100%,300px);max-width:300px;padding:0 4px 4px}.online-game-shell .play-hand__grid{gap:10px;align-content:center}.online-game-shell .play-hand__grid--four{grid-template-columns:repeat(2,minmax(74px,clamp(82px,24vw,94px)))}.online-game-shell .play-hand__grid--four .card-view[data-size=medium]{max-width:clamp(82px,24vw,94px);min-width:44px}.online-game-shell .play-hand__grid--extra{grid-template-columns:repeat(auto-fit,minmax(52px,70px));gap:8px}.online-game-shell .play-hand__grid--extra .card-view[data-size=medium]{max-width:70px;min-width:44px}.online-game-shell .play-hand__grid .card-view__shell{border:1.5px solid rgba(255,255,255,.15)}.opponent-memory{width:auto;min-width:116px;padding:3px 2px;border:0;border-radius:0;background:transparent}.opponent-memory--active{border:0;background:transparent}.opponent-memory__header{grid-template-columns:auto minmax(0,1fr) auto;gap:4px}.opponent-memory__badge{padding:1px 5px;font-size:.46rem}.opponent-memory__grid{grid-template-columns:repeat(2,28px);gap:4px}.opponent-memory__grid--extra{grid-template-columns:repeat(4,18px)}.opponent-memory__slot{width:28px;height:36px;aspect-ratio:auto;border-radius:6px}.opponent-memory__grid--extra .opponent-memory__slot{width:18px;height:24px;border-radius:4px}.opponent-memory__slot--occupied{border-color:#ffffff24}.opponent-memory--active .opponent-memory__avatar{border-color:#25d3666b}.opponent-memory--active .opponent-memory__name{color:var(--color-text)}.opponent-memory--active .opponent-memory__badge{color:#fff;background:var(--color-primary-dim);border-color:transparent}@media (max-height: 720px){.online-game-shell .play-hand{width:min(100%,284px);max-width:284px}.online-game-shell .play-hand__grid--four{grid-template-columns:repeat(2,minmax(72px,86px))}.online-game-shell .play-hand__grid--four .card-view[data-size=medium]{max-width:86px}}.online-game-shell .game-shell{grid-template-rows:minmax(92px,auto) minmax(32px,auto) minmax(74px,.54fr) minmax(0,.82fr)}.online-game-shell--pending-card .game-shell{grid-template-rows:minmax(92px,auto) minmax(32px,auto) minmax(72px,.48fr) auto minmax(0,.76fr)}.online-game-shell .play-hand{width:min(100%,188px);max-width:188px;justify-self:center}.online-game-shell .play-hand__header{justify-content:flex-start;margin-bottom:4px;padding-inline:0}.online-game-shell .play-hand__avatar{display:none}.online-game-shell .play-hand__meta{display:inline-flex;align-items:baseline;justify-content:flex-start;gap:6px;width:100%;min-width:0}.online-game-shell .play-hand__meta:before{content:"";order:2;width:3px;height:3px;border-radius:999px;background:var(--color-muted)}.online-game-shell .play-hand__name{order:1;font-size:13px;font-weight:600;color:var(--color-text);line-height:1.1}.online-game-shell .play-hand__score{order:3;margin:0;font-size:11px;color:var(--color-muted);line-height:1.1}.online-game-shell .play-hand__score strong{color:var(--color-muted);font-weight:500}.online-game-shell .play-hand__grid{gap:10px;justify-content:start}.online-game-shell .play-hand__grid--four{grid-template-columns:repeat(2,78px)}.online-game-shell .play-hand__grid--four .card-view[data-size=medium]{width:78px;max-width:100px;min-width:44px}.online-game-shell .play-hand__grid--four .card-view[data-size=medium] .card-view__shell{max-width:100px;max-height:110px}.online-game-shell .play-hand__grid--extra{grid-template-columns:repeat(auto-fit,minmax(44px,64px))}.online-game-shell .play-hand__grid--extra .card-view[data-size=medium]{width:64px;max-height:90px}.online-game-shell .play-hand__grid--extra .card-view[data-size=medium] .card-view__shell{max-height:90px}.table-pile__label,.online-game-shell .table-pile__label{font-size:10px;font-weight:500;letter-spacing:.08em}.table-pile__count,.online-game-shell .table-pile__count{font-size:10px}.opponents-strip{margin-inline:calc(var(--space-safe-x) * -1);padding-left:16px;padding-right:var(--space-safe-x)}.opponent-memory{min-width:116px;padding:2px 0}.opponent-memory__header,.opponent-memory__grid{justify-content:start}.opponent-memory__grid{margin-left:26px}.online-game-shell{--game-dock-height: 66px}.online-game-shell .play-hand{width:min(100%,184px);max-width:184px}.online-game-shell .play-hand__header{display:grid;grid-template-columns:32px minmax(0,1fr);align-items:center;gap:8px;margin-bottom:5px}.online-game-shell .play-hand__avatar{width:32px;height:32px;display:grid;place-items:center;border:0;border-radius:999px;background:var(--avatar-color, #128c7e);color:#fff;font-size:.92rem;font-weight:700}.online-game-shell .play-hand__meta{display:grid;gap:2px;justify-content:start}.online-game-shell .play-hand__meta:before{content:none}.online-game-shell .play-hand__name{font-size:14px;font-weight:600}.online-game-shell .play-hand__score{font-size:12px}.play-hand__progress{width:100%;height:4px;overflow:hidden;margin:0 0 8px;border-radius:2px;background:#ffffff1a}.play-hand__progress span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#25d366,#f0b429)}.play-hand__progress--critical span{animation:scoreDangerPulse .9s ease-in-out infinite}@keyframes scoreDangerPulse{0%,to{opacity:.78}50%{opacity:1}}.online-game-shell .play-hand__grid{gap:8px}.online-game-shell .play-hand__grid--four .card-view[data-size=medium]{width:88px;max-width:88px;height:108px}.online-game-shell .play-hand__grid--four .card-view[data-size=medium] .card-view__shell{width:88px;height:108px;max-width:88px;max-height:108px}.table-pile__stack{position:relative}.table-pile__badge{position:absolute;left:-6px;bottom:-5px;z-index:4;width:24px;height:24px;display:grid;place-items:center;border-radius:999px;background:#f0b429;color:#0d1117;font-size:11px;font-weight:700;box-shadow:0 2px 6px #00000059}.table-pile--draw .table-pile__count{display:none}.table-pile__empty{border:1.5px dashed rgba(255,255,255,.18);background:transparent}.table-pile__empty span{display:none}.opponent-memory{min-width:132px;padding:8px}.opponent-memory--active{border:1px solid rgba(212,175,55,.3);border-radius:12px;padding:8px}.opponent-memory__avatar{width:28px;height:28px;border:0;border-radius:999px;background:var(--avatar-color, #128c7e);color:#fff;font-size:.8rem;font-weight:700}.opponent-memory__meta{color:var(--color-muted)}.opponent-memory__grid{grid-template-columns:repeat(2,44px);gap:6px;margin-left:32px}.opponent-memory__slot{width:44px;height:56px;border-radius:8px}.opponent-memory__grid--extra{grid-template-columns:repeat(4,28px)}.opponent-memory__grid--extra .opponent-memory__slot{width:28px;height:36px}.opponent-memory__slot--occupied,.opponent-memory__back,.opponent-chip__mini-card{border-color:#d4af3766;background-color:#0d1f2d;background-image:radial-gradient(rgba(212,175,55,.08) 1px,transparent 1px);background-size:6px 6px}.online-game-readonly{min-height:66px;background:#161b22;border-top:1px solid #21262d}.online-game-actions{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.online-game-actions button,.online-action-btn{min-height:42px;padding:8px 10px;border:0;border-radius:10px;box-shadow:none;font-size:.82rem}.online-action-btn--match,.online-action-btn--take,.online-game-actions button.secondary{color:#fff;background:#21262d}.online-action-btn--draw{color:#0d1117;background:#f0b429;font-weight:700}.online-action-btn--bank,.online-game-actions .bank-action-btn,.bank-action-btn{color:#fff;background:#e05c3a;border-color:#e05c3a;font-weight:700}.bank-opportunity-chip{width:auto;max-width:min(92%,320px);color:var(--color-text);background:#161b22;border:1px solid rgba(224,92,58,.38);box-shadow:var(--shadow-md)}.bank-opportunity-chip button{color:#fff;background:#e05c3a;border-color:#e05c3a}@media (max-height: 720px){.online-game-shell .play-hand{width:min(100%,184px);max-width:184px}.online-game-shell .play-hand__grid--four{grid-template-columns:repeat(2,88px)}.online-game-shell .play-hand__grid--four .card-view[data-size=medium],.online-game-shell .play-hand__grid--four .card-view[data-size=medium] .card-view__shell{width:88px;max-width:88px;height:108px;max-height:108px}}.online-game-shell .game-shell{grid-template-rows:minmax(90px,auto) minmax(30px,auto) minmax(70px,.5fr) minmax(0,.76fr)}.online-game-shell--pending-card .game-shell{grid-template-rows:minmax(90px,auto) minmax(30px,auto) minmax(68px,.46fr) auto minmax(0,.7fr)}.online-game-shell .play-hand{width:min(100%,200px);max-width:200px;padding:0 0 2px}.online-game-shell .play-hand__header{margin-bottom:4px}.play-hand__progress{width:184px;height:3px;margin:0 0 6px;background:#ffffff1a}.play-hand__progress span{background:#25d366}.play-hand__progress--danger span,.play-hand__progress--critical span{background:#e53e3e}.online-game-shell .play-hand__grid{gap:8px;max-height:232px;overflow:visible}.online-game-shell .play-hand__grid--four{grid-template-columns:repeat(2,88px)}.online-game-shell .play-hand__grid--four .card-view[data-size=medium],.online-game-shell .play-hand__grid--four .card-view[data-size=medium] .card-view__shell{width:88px;max-width:96px;height:112px;max-height:112px}.table-pile--actionable .table-pile__label,.table-pile--actionable .table-pile__count,.table-pile__label,.table-pile__count,.online-game-shell .table-pile__label,.online-game-shell .table-pile__count{color:var(--color-muted)}.table-pile--discard .table-pile__count,.table-pile--empty .table-pile__count{display:none}.table-pile__empty,.table-pile__empty[role=button]{color:transparent;border:1.5px dashed rgba(255,255,255,.18);background:transparent}.table-pile__empty *,.table-pile__empty:before,.table-pile__empty:after{display:none!important;content:none!important}.opponent-memory--active{border:1px solid rgba(212,175,55,.4);border-radius:10px;padding:6px}.opponent-memory__slot--occupied,.opponent-memory__back,.opponent-chip__mini-card{border-color:#d4af3780;background-color:#162030}.opponent-memory__slot--occupied:after,.opponent-memory__back:after,.opponent-chip__mini-card:after{color:#d4af3799}.online-action-btn--draw{color:#0d1117;background:#f0b429}.online-action-btn--bank,.online-game-actions .bank-action-btn,.bank-action-btn,.bank-opportunity-chip button{color:#fff;background:#c0392b;border-color:#c0392b}@media (max-height: 720px){.online-game-shell .play-hand{width:min(100%,200px);max-width:200px}}.online-game-shell .play-hand{width:min(100%,200px);max-width:200px;padding-block:0}.online-game-shell .play-hand__grid{height:calc(100dvh - 500px);min-height:188px;max-height:248px;gap:8px;align-content:center;justify-content:center;overflow:visible}.online-game-shell .play-hand__grid--four{grid-template-columns:repeat(2,auto)}.online-game-shell .play-hand__grid--four .card-view[data-size=medium]{height:clamp(90px,calc((100dvh - 516px)/2),120px);max-height:120px;width:auto;max-width:96px;min-width:44px;aspect-ratio:5 / 7}.online-game-shell .play-hand__grid--four .card-view[data-size=medium] .card-view__shell{width:100%;height:100%;max-width:96px;max-height:120px}.action-btn-bank,button[data-action=bank],.bank-btn,.call-bank-btn,.bank-action-btn,.online-action-btn--bank,.online-game-actions .bank-action-btn,.bank-opportunity-chip button{background:#c0392b!important;background-image:none!important;color:#fff!important;border-color:#c0392b!important}.online-action-btn--draw{background:#f0b429!important;background-image:none!important;color:#0d1117!important}.opponent-memory__slot--occupied,.opponent-memory__back,.opponent-chip__mini-card{border-color:#d4af3799;background-color:#1e3a4a;box-shadow:inset 0 0 0 3px #d4af3733,0 1px 4px #0006}.opponent-memory__slot--occupied:after,.opponent-memory__back:after,.opponent-chip__mini-card:after{color:#d4af37b3}@media (max-height: 696px){.online-game-shell .opponents-strip{max-height:none}.online-game-shell .opponent-memory__grid{grid-template-columns:repeat(2,38px);gap:5px}.online-game-shell .opponent-memory__slot{width:38px;height:48px}}.online-game-shell .opponents-strip,.opponent-memory{max-height:none}.opponent-memory__grid{min-height:120px;align-content:start}.opponent-memory__slot--occupied,.opponent-memory__back,.opponent-chip__mini-card{position:relative;overflow:hidden;border:1.5px solid rgba(212,175,55,.5);background-color:#1e3a4a;background-image:radial-gradient(rgba(212,175,55,.08) 1px,transparent 1px);background-size:6px 6px;box-shadow:inset 0 0 0 3px #d4af3726}.opponent-memory__slot--occupied:after,.opponent-memory__back:after,.opponent-chip__mini-card:after{content:"❖";position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;color:#d4af3799;font-size:1.15rem;line-height:1;pointer-events:none}.opponent-memory__grid--extra{min-height:auto}.opponent-memory__grid--extra .opponent-memory__slot--occupied:after,.opponent-memory__grid--extra .opponent-memory__back:after,.opponent-chip__mini-grid--extra .opponent-chip__mini-card:after{font-size:.75rem}.play-hand__progress span{min-width:8px}.online-game-shell{--game-dock-height: 84px;width:100vw;max-width:none;height:100dvh;min-height:100dvh;margin:0;padding:0;overflow:hidden;background:radial-gradient(ellipse 80% 50% at 50% 60%,#1e3a4a66,#0d1117 70%)}.online-game-shell .app-header--game{position:fixed;top:0;left:0;right:0;z-index:30;width:100%;min-height:44px;padding:max(6px,env(safe-area-inset-top)) 16px 6px;background:transparent}.online-game-shell .game-shell{min-height:100dvh;height:100dvh;display:flex;flex-direction:column;gap:10px;padding:152px 16px calc(96px + env(safe-area-inset-bottom));overflow:hidden;background:transparent}.online-game-shell .opponents-strip{position:fixed;top:calc(42px + env(safe-area-inset-top));left:0;right:0;z-index:10;width:100%;min-height:84px;max-height:none;display:flex;align-items:center;gap:12px;margin:0;padding:8px 16px;overflow-x:auto;overflow-y:visible;background:#0d1117d9;border-radius:0 0 16px 16px;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.online-game-shell .opponent-memory{flex:0 0 auto;min-width:184px;max-height:none;display:grid;grid-template-columns:minmax(86px,auto) auto;align-items:center;gap:8px;padding:0;border:0;border-radius:0;background:transparent}.online-game-shell .opponent-memory--active{padding:6px;border:1px solid rgba(212,175,55,.4);border-radius:10px}.online-game-shell .opponent-memory__header{display:grid;grid-template-columns:32px minmax(0,1fr) auto;align-items:center;gap:5px}.online-game-shell .opponent-memory__avatar{width:32px;height:32px}.online-game-shell .opponent-memory__name{font-size:.72rem}.online-game-shell .opponent-memory__meta{grid-column:2 / 4;font-size:.62rem}.online-game-shell .opponent-memory__badge{width:7px;min-width:7px;height:7px;padding:0;overflow:hidden;border-radius:999px;color:transparent;background:#d4af37;border:0}.online-game-shell .opponent-memory__badge--muted{width:auto;min-width:0;height:auto;padding:1px 4px;color:var(--color-muted);background:transparent}.online-game-shell .opponent-memory__grid{min-height:auto;grid-template-columns:repeat(2,28px);gap:4px;margin:0}.online-game-shell .opponent-memory__slot{width:28px;height:36px;border-radius:6px}.online-game-shell .opponent-memory__slot--occupied:after,.online-game-shell .opponent-memory__back:after{font-size:.78rem}.online-game-shell .table-zone{order:1;flex:1 1 auto;min-height:100px;display:grid;place-items:center;padding:0;margin:0}.online-game-shell .table-piles{gap:clamp(18px,8vw,34px)}.online-game-shell .table-pile{width:auto}.online-game-shell .table-pile--draw,.online-game-shell .table-pile--discard{width:72px}.online-game-shell .table-pile--hand{width:96px}.online-game-shell .table-pile__label,.online-game-shell .table-pile__count{font-size:10px}.online-game-shell .online-status-banner{order:3;min-height:auto;padding:0;margin:0 auto;background:transparent;border:0;opacity:1;transition:opacity .15s ease}.online-game-shell .online-status-banner strong{color:#fff;font-size:16px;font-weight:600}.online-game-shell .online-status-banner span{color:var(--color-muted);font-size:13px}.online-game-shell .online-status-banner small{display:block;margin-top:3px;color:var(--color-muted)}.online-game-shell .drawn-decision-card{order:2;width:min(100%,300px);margin:-4px auto 0}.online-game-shell .play-hand{order:4;width:202px;max-width:202px;margin-inline:auto}.online-game-shell .play-hand__grid{height:auto;min-height:0;max-height:none;grid-template-columns:repeat(2,96px);gap:10px}.online-game-shell .play-hand__grid--four{grid-template-columns:repeat(2,96px)}.online-game-shell .play-hand__grid--four .card-view[data-size=medium],.online-game-shell .play-hand__grid--four .card-view[data-size=medium] .card-view__shell{width:96px;max-width:96px;height:auto;max-height:none;aspect-ratio:2 / 3}.online-game-shell .play-hand__progress{width:202px;height:4px;margin-bottom:10px}.online-game-shell--waiting .play-hand{opacity:.7}.online-game-readonly{min-height:auto;padding:12px 16px max(12px,env(safe-area-inset-bottom));border-radius:20px 20px 0 0;background:#161b22f2;border:0;border-top:1px solid rgba(255,255,255,.06);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);transition:min-height .2s ease,padding .2s ease}.online-game-control{left:0;right:0;bottom:0}.online-game-shell--waiting .online-game-readonly{min-height:40px;padding-top:10px;padding-bottom:max(10px,env(safe-area-inset-bottom))}.online-game-waiting-line{margin:0;color:var(--color-muted);font-size:.86rem;text-align:center}.online-game-actions{display:flex;gap:8px}.online-game-actions button,.online-action-btn{flex:1 1 0;height:48px;min-height:48px;border-radius:12px}.online-bank-window{display:flex;align-items:center;justify-content:center;gap:10px;color:var(--color-muted);font-size:.8rem}.online-bank-window button{flex:0 0 auto;height:38px;min-height:38px;padding:8px 14px;border-radius:999px}.bank-opportunity-chip{display:none}.online-game-shell .game-shell{padding-top:120px;padding-bottom:calc(100px + env(safe-area-inset-bottom))}.online-game-shell .play-hand{width:184px;max-width:184px}.online-game-shell .play-hand__grid,.online-game-shell .play-hand__grid--four{height:auto;min-height:0;max-height:none;grid-template-columns:repeat(2,88px);gap:8px;align-content:start;justify-content:center;overflow:visible}.online-game-shell .play-hand__grid--four .card-view[data-size=medium],.online-game-shell .play-hand__grid--four .card-view[data-size=medium] .card-view__shell{width:88px;min-width:44px;max-width:88px;height:110px;max-height:110px;aspect-ratio:auto}.online-game-shell .play-hand__progress{width:184px}.online-game-shell .opponents-strip{align-items:flex-start;gap:0;min-height:104px;padding-block:8px}.online-game-shell .opponent-memory{min-width:128px;display:grid;grid-template-columns:32px minmax(0,1fr);grid-template-rows:auto auto;column-gap:8px;row-gap:4px;align-items:start;padding:0 12px 0 0;border-radius:0}.online-game-shell .opponent-memory+.opponent-memory{padding-left:12px;border-left:1px solid rgba(255,255,255,.08)}.online-game-shell .opponent-memory--active{padding:6px 12px 6px 6px;border:1px solid rgba(212,175,55,.4);border-radius:10px}.online-game-shell .opponent-memory--active+.opponent-memory{padding-left:12px}.online-game-shell .opponent-memory__header{grid-column:1 / -1;display:grid;grid-template-columns:32px minmax(0,auto) auto auto;align-items:center;column-gap:5px;row-gap:0}.online-game-shell .opponent-memory__name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.online-game-shell .opponent-memory__meta{grid-column:auto;font-size:.62rem;white-space:nowrap}.online-game-shell .opponent-memory__grid{grid-column:2;grid-row:2;min-height:96px;grid-template-columns:repeat(2,36px);gap:4px;margin:0}.online-game-shell .opponent-memory__slot{width:36px;height:46px;border-radius:7px}.online-game-shell .game-shell{padding-top:160px;padding-bottom:calc(88px + env(safe-area-inset-bottom))}.online-game-shell .online-game-actions{display:flex;flex-wrap:nowrap;gap:8px;width:100%}.online-game-shell .online-game-actions button,.online-game-shell .online-action-btn{flex:1 1 0;min-width:0;height:48px;min-height:48px;padding:8px 6px;font-size:13px;white-space:nowrap}.online-game-shell .table-pile--discard .card-view[data-hidden=false] .card-view__shell,.online-game-shell .table-pile--discard .card-view[data-hidden=false] .card-view__face,.online-game-shell .table-pile--discard .card-view[data-hidden=false] .card-view__face--joker,.online-game-shell .table-pile--discard .card-view[data-hidden=false] .card-view__face--bonus{background:#1a1a2e;color:#d4af37}.online-game-shell .table-pile--discard .card-view[data-hidden=false] .card-view__face--red,.online-game-shell .table-pile--discard .card-view[data-hidden=false] .card-view__face--black{--pip-color: #d4af37}.online-game-shell .table-pile--discard .card-view[data-hidden=false] .card-view__corner,.online-game-shell .table-pile--discard .card-view[data-hidden=false] .card-view__rank,.online-game-shell .table-pile--discard .card-view[data-hidden=false] .card-view__suit,.online-game-shell .table-pile--discard .card-view[data-hidden=false] .card-view__special-tag,.online-game-shell .table-pile--discard .card-view[data-hidden=false] .card-view__joker-star,.online-game-shell .table-pile--discard .card-view[data-hidden=false] .card-view__bonus-tag,.online-game-shell .table-pile--discard .card-view[data-hidden=false] .card-view__bonus-zero{color:#d4af37}.online-game-shell{background-color:#12111a;background-image:radial-gradient(ellipse 80% 50% at 50% 55%,#1a1428e6,#12111a 70%),url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.65' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)' opacity='0.03'/%3E%3C/svg%3E");background-size:auto,200px 200px}.online-game-shell .opponents-strip{background:#12111ae6}.online-game-shell .online-game-readonly{background:#12111af2}.online-game-shell .app-header--game,.online-game-shell .room-panel,.online-game-shell .online-game-panel{background-color:#1c1b27}.online-game-shell .card-view__shell,.online-game-shell .opponent-memory__slot--occupied,.online-game-shell .table-pile__empty{box-shadow:0 4px 12px #0009,0 1px 3px #0006,inset 0 0 0 1px #ffffff0f}.online-game-shell .play-hand .card-view[data-hidden=true] .card-view__shell{border-color:#d4af3799}.online-game-shell .card-view[data-hidden=true] .card-view__shell{background-image:radial-gradient(rgba(212,175,55,.08) 1px,transparent 1px);background-size:6px 6px}.online-game-shell .card-view[data-hidden=false] .card-view__shell,.online-game-shell .card-view[data-hidden=false] .card-view__face,.online-game-shell .card-view[data-hidden=false] .card-view__face--joker,.online-game-shell .card-view[data-hidden=false] .card-view__face--bonus{background:#1e1d2e;color:#d4af37}.online-game-shell .card-view[data-hidden=false] .card-view__face--red,.online-game-shell .card-view[data-hidden=false] .card-view__face--black{--pip-color: #d4af37}.app.app--practice.app--in-game{width:100vw;max-width:none;min-height:100dvh;height:100dvh;padding:0;overflow:hidden;background-color:#12111a;background-image:radial-gradient(ellipse 80% 50% at 50% 55%,#1a1428e6,#12111a 70%),url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.65' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)' opacity='0.03'/%3E%3C/svg%3E");background-size:auto,200px 200px}.app--practice.app--in-game .app-header--game{position:fixed;top:0;left:0;right:0;z-index:30;width:100%;min-height:44px;padding:max(6px,env(safe-area-inset-top)) 16px 6px;background:transparent}.app--practice.app--in-game .app-header--game h1{font-size:1rem;letter-spacing:.04em}.app--practice.app--in-game .app-header__actions{gap:6px}.app--practice.app--in-game .practice-game-menu{position:relative}.app--practice.app--in-game .practice-game-menu__trigger{width:32px;min-width:32px;height:32px;min-height:32px;display:grid;place-items:center;padding:0;border-radius:999px;color:#fff;background:#ffffff0f;border:1px solid rgba(255,255,255,.1);font-size:1.2rem;line-height:1}.app--practice.app--in-game .practice-game-menu__sheet{position:absolute;top:calc(100% + 8px);right:0;z-index:50;width:176px;display:grid;gap:4px;padding:8px;border-radius:14px;background:#12111af5;border:1px solid rgba(255,255,255,.1);box-shadow:0 16px 36px #0000006b;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}.app--practice.app--in-game .practice-game-menu__sheet button,.app--practice.app--in-game .practice-game-menu__sound .sound-toggle{width:100%;min-height:36px;justify-content:flex-start;padding:8px 10px;border-radius:10px;color:#fff;background:transparent;border:0;box-shadow:none;font-size:.86rem;text-align:left}.app--practice.app--in-game .practice-game-menu__sheet button:active,.app--practice.app--in-game .practice-game-menu__sound .sound-toggle:active{background:#ffffff14}.app--practice.app--in-game .game-exit-btn,.app--practice.app--in-game .sound-toggle{min-height:32px;padding:6px 9px;border-radius:999px;font-size:.72rem}.app--practice.app--in-game .app-header__round{color:var(--color-muted);font-size:.72rem}.app--practice.app--in-game .game-shell{min-height:100dvh;height:100dvh;display:flex;flex-direction:column;gap:8px;padding:142px 16px calc(88px + env(safe-area-inset-bottom));overflow:hidden;background:transparent}.app--practice.app--in-game .opponents-strip{position:fixed;top:calc(42px + env(safe-area-inset-top));left:0;right:0;z-index:10;width:100%;max-height:100px;min-height:96px;display:flex;align-items:flex-start;gap:0;margin:0;padding:8px 16px;overflow-x:auto;overflow-y:hidden;background:#12111ae6;border-radius:0 0 16px 16px;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);scrollbar-width:none}.app--practice.app--in-game .opponents-strip:after{content:"";position:fixed;top:calc(42px + env(safe-area-inset-top));right:0;z-index:11;width:32px;height:100px;pointer-events:none;background:linear-gradient(to right,transparent,rgba(18,17,26,.8));border-radius:0 0 16px}.app--practice.app--in-game .opponents-strip::-webkit-scrollbar{display:none}.app--practice.app--in-game .opponent-chip{flex:0 0 124px;min-width:124px;max-width:124px;display:grid;grid-template-columns:28px minmax(0,1fr) auto;grid-template-rows:auto auto;align-items:start;column-gap:7px;row-gap:4px;padding:0 10px 0 0;border:0;border-radius:0;background:transparent;box-shadow:none}.app--practice.app--in-game .opponent-chip+.opponent-chip{padding-left:10px;border-left:1px solid rgba(255,255,255,.08)}.app--practice.app--in-game .opponent-chip--active{border-color:transparent;background:transparent;box-shadow:none}.app--practice.app--in-game .opponent-chip__avatar{grid-column:1;grid-row:1;width:28px;height:28px;display:grid;place-items:center;border-radius:999px;background:#d4af3729;color:#fff;font-size:.95rem}.app--practice.app--in-game .opponent-chip__body{grid-column:2;grid-row:1 / span 2;display:grid;grid-template-columns:1fr;gap:3px;min-width:0}.app--practice.app--in-game .opponent-chip__name{color:#fff;font-size:11px;line-height:1.05;text-overflow:clip}.app--practice.app--in-game .opponent-chip__stats{color:var(--color-muted);font-size:.56rem;line-height:1}.app--practice.app--in-game .opponent-chip__score:after{content:"/150";color:var(--color-muted);font-weight:500}.app--practice.app--in-game .opponent-chip__dot,.app--practice.app--in-game .opponent-chip__cards{display:none}.app--practice.app--in-game .opponent-chip__mini-grid{display:grid;grid-template-columns:repeat(2,28px);gap:4px;margin-top:1px}.app--practice.app--in-game .opponent-chip__mini-card{position:relative;width:28px;height:36px;border-radius:6px;overflow:hidden;background-color:#1e3a4a;background-image:radial-gradient(rgba(212,175,55,.08) 1px,transparent 1px);background-size:6px 6px;border:1.5px solid rgba(212,175,55,.5);box-shadow:0 4px 12px #0009,0 1px 3px #0006,inset 0 0 0 3px #d4af3726}.app--practice.app--in-game .opponent-chip__mini-card:after{content:"❖";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:#d4af3799;font-size:.75rem;line-height:1}.app--practice.app--in-game .opponent-chip__badge{grid-column:3;grid-row:1;width:8px;min-width:8px;height:8px;margin:10px 0 0;padding:0;overflow:hidden;border:0;border-radius:999px;color:transparent;background:#d4af37}.app--practice.app--in-game .opponent-chip__badge:not(.opponent-chip__badge--active){width:auto;min-width:0;height:auto;margin:0;padding:1px 4px;color:var(--color-muted);background:transparent}.app--practice.app--in-game .table-zone{order:1;flex:0 1 100px;min-height:78px;display:flex;align-items:center;justify-content:center;padding:0;margin:0 auto;width:100%;text-align:center}.app--practice.app--in-game .turn-banner{display:none}.app--practice.app--in-game .table-piles{display:flex;width:100%;max-width:260px;align-items:center;justify-content:center;margin:0 auto;gap:16px;text-align:center}.app--practice.app--in-game .table-pile,.app--practice.app--in-game .table-pile__stack{margin-left:auto;margin-right:auto;text-align:center}.app--practice.app--in-game .table-pile--draw,.app--practice.app--in-game .table-pile--discard{width:72px}.app--practice.app--in-game .table-pile--hand{width:96px}.app--practice.app--in-game .table-pile__label,.app--practice.app--in-game .table-pile__count{color:var(--color-muted);font-size:10px}.app--practice.app--in-game .practice-banner{order:3;flex:0 0 auto;min-height:auto;padding:0;margin:0 auto;text-align:center;background:transparent;border:0;box-shadow:none}.app--practice.app--in-game .practice-banner strong,.app--practice.app--in-game .practice-hint{display:none}.app--practice.app--in-game .practice-banner span{color:#fff;font-size:16px;font-weight:600}.app--practice.app--in-game .play-hand{order:4;flex:0 0 auto;width:184px;max-width:184px;margin-inline:auto;padding:0;background:transparent;border:0;box-shadow:none}.app--practice.app--in-game .play-hand__header{display:grid;grid-template-columns:28px minmax(0,1fr);gap:8px;align-items:center;margin-bottom:6px}.app--practice.app--in-game .play-hand__avatar{width:28px;height:28px;font-size:.78rem}.app--practice.app--in-game .play-hand__name{color:#fff;font-size:13px}.app--practice.app--in-game .play-hand__score{color:var(--color-muted);font-size:11px}.app--practice.app--in-game .play-hand__grid,.app--practice.app--in-game .play-hand__grid--four{grid-template-columns:repeat(2,88px);gap:8px;justify-content:center;overflow:visible}.app--practice.app--in-game .play-hand__grid--four .card-view[data-size=medium],.app--practice.app--in-game .play-hand__grid--four .card-view[data-size=medium] .card-view__shell{width:88px;min-width:44px;max-width:88px;height:110px;max-height:110px;aspect-ratio:auto}.app--practice.app--in-game .play-hand__progress{width:184px;height:4px;margin-bottom:10px}.app--practice.app--in-game .card-view__shell,.app--practice.app--in-game .table-pile__empty{box-shadow:0 4px 12px #0009,0 1px 3px #0006,inset 0 0 0 1px #ffffff0f}.app--practice.app--in-game .card-view[data-hidden=true] .card-view__shell{background-image:radial-gradient(rgba(212,175,55,.08) 1px,transparent 1px);background-size:6px 6px;border-color:#d4af3799}.app--practice.app--in-game .card-view[data-hidden=false] .card-view__shell,.app--practice.app--in-game .card-view[data-hidden=false] .card-view__face,.app--practice.app--in-game .card-view[data-hidden=false] .card-view__face--joker,.app--practice.app--in-game .card-view[data-hidden=false] .card-view__face--bonus{background:#1e1d2e;color:#d4af37}.app--practice.app--in-game .card-view[data-hidden=false] .card-view__face--red,.app--practice.app--in-game .card-view[data-hidden=false] .card-view__face--black{--pip-color: #d4af37}.app--practice.app--in-game .action-dock{z-index:40;padding:12px 16px max(12px,env(safe-area-inset-bottom))}.app--practice.app--in-game .action-dock__panel{max-width:none;padding:8px 0 0;border:0;border-radius:20px 20px 0 0;background:#12111af2;box-shadow:0 -12px 32px #0000005c;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}.app--practice.app--in-game .action-dock__helper{padding:0 12px;color:var(--color-muted);font-size:11px;opacity:.6}.app--practice.app--in-game .action-dock__actions{display:flex;flex-wrap:nowrap;gap:8px;width:100%;padding:8px 0 0}.app--practice.app--in-game .action-dock__btn{flex:1 1 0;min-width:0;height:48px;min-height:48px;padding:8px 6px;border-radius:12px;font-size:13px;white-space:nowrap}.app--practice.app--in-game .action-dock__btn--primary{color:#0d1117;background:#f0b429;background-image:none;border-color:#f0b42973}.app--practice.app--in-game .action-dock__btn--secondary{color:#fff;background:#21262d;background-image:none;border-color:#ffffff14}.app--practice.app--in-game .action-dock__btn--accent{color:#fff;background:#c0392b;background-image:none;border-color:#c0392b59}.app--practice.app--in-game .game-footer{display:none}.flow-modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-modal);display:flex;align-items:flex-end;justify-content:center;padding:0;background:#050812d6;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);animation:flowModalFadeIn var(--duration-normal) var(--ease-out)}.flow-modal__sheet{width:100%;max-height:min(95dvh,720px);display:flex;flex-direction:column;border-radius:var(--radius-xl) var(--radius-xl) 0 0;background:radial-gradient(circle at 18% 0%,rgba(50,214,198,.1),transparent 32%),linear-gradient(180deg,var(--color-bg-surface-raised) 0%,#12243a 52%,var(--color-bg-deep) 100%);border:1px solid rgba(255,252,245,.16);border-bottom:none;box-shadow:0 -12px 40px #0006;animation:flowModalSlideUp var(--duration-normal) var(--ease-out);overflow:hidden}.flow-modal__sheet--wide{max-width:520px}.flow-modal__sheet--full{max-height:96dvh}.flow-modal__header{flex-shrink:0;padding:var(--space-4) var(--space-4) var(--space-2);text-align:center}.flow-modal__title{margin:0;font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);color:var(--color-text-soft);line-height:var(--line-height-tight)}.flow-modal__subtitle{margin:var(--space-2) 0 0;font-size:var(--font-size-base);color:var(--color-text-muted);line-height:var(--line-height-normal)}.flow-modal__body{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:var(--space-2) var(--space-4) var(--space-4);-webkit-overflow-scrolling:touch}.flow-modal__footer{flex-shrink:0;position:sticky;bottom:0;padding:var(--space-3) var(--space-4) max(var(--space-safe-bottom),var(--space-4));border-top:1px solid rgba(255,252,245,.1);background:linear-gradient(180deg,#0f1e2feb,#050812fa);display:grid;gap:var(--space-2)}.flow-modal__btn-primary{width:100%;min-height:54px;padding:var(--space-3) var(--space-4);border-radius:var(--radius-pill);border:1px solid rgba(50,214,198,.5);font-size:var(--font-size-base);font-weight:var(--font-weight-bold);color:#061a28;background:linear-gradient(180deg,var(--color-turquoise-bright),var(--color-turquoise));box-shadow:var(--shadow-md);cursor:pointer;transition:transform var(--duration-fast) var(--ease-out)}.flow-modal__btn-primary:active:not(:disabled){transform:scale(.98)}.flow-modal__btn-primary:disabled{opacity:.45;cursor:not-allowed}.flow-modal__btn-secondary{width:100%;min-height:46px;padding:var(--space-2) var(--space-4);border-radius:var(--radius-pill);border:1px solid rgba(94,212,204,.35);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-soft);background:#3db8b033;cursor:pointer}.flow-modal__btn-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-2)}.flow-modal__card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3);max-width:300px;margin-inline:auto}.flow-modal__reveal{display:grid;place-items:center;padding:var(--space-4) 0;min-height:200px}.flow-modal__reveal--focus{min-height:min(48dvh,360px);align-content:center}.flow-modal__reveal .card-view{filter:drop-shadow(0 12px 28px rgba(0,0,0,.35))}.flow-steps{display:flex;gap:5px;margin-bottom:var(--space-3);padding:0 var(--space-1)}.flow-steps__item{flex:1;display:flex;flex-direction:column;align-items:center;gap:4px;min-width:0}.flow-steps__dot{width:100%;max-width:32px;height:5px;border-radius:var(--radius-pill);background:#fffcf526;transition:background var(--duration-fast) var(--ease-out)}.flow-steps__item--done .flow-steps__dot,.flow-steps__item--active .flow-steps__dot{background:linear-gradient(90deg,var(--color-turquoise),var(--color-turquoise-bright))}.flow-steps__item--active .flow-steps__dot{box-shadow:0 0 10px #32d6c661}.flow-steps__label{font-size:.55rem;line-height:1.2;text-align:center;color:#f4f7f573;font-weight:var(--font-weight-semibold)}.flow-steps__item--active .flow-steps__label,.flow-steps__item--done .flow-steps__label{color:var(--color-text-muted)}.flow-steps__item--active .flow-steps__label{color:var(--color-turquoise-bright)}.flow-opponent-pick{display:grid;gap:var(--space-2)}.flow-opponent-pick__btn{display:flex;align-items:center;gap:var(--space-3);width:100%;min-height:56px;padding:var(--space-3);border-radius:var(--radius-md);border:1px solid rgba(255,252,245,.14);background:#fffcf50f;color:var(--color-text-soft);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);text-align:left;cursor:pointer;transition:background var(--duration-fast) var(--ease-out),border-color var(--duration-fast) var(--ease-out)}.flow-opponent-pick__btn--selected,.flow-opponent-pick__btn:focus-visible{border-color:#32d6c699;background:#32d6c624;outline:none}.flow-opponent-pick__btn:active{transform:scale(.99);background:#fffcf51f}.flow-opponent-pick__avatar{font-size:1.5rem;line-height:1}.flow-confirm-box{padding:var(--space-4);border-radius:var(--radius-md);background:#0003;border:1px solid rgba(255,252,245,.1);text-align:center;color:var(--color-text-muted);font-size:var(--font-size-sm);line-height:var(--line-height-normal)}.flow-confirm-box strong{color:var(--color-text-soft)}.queen-peek-modal .flow-modal__card-grid,.jack-swap-modal .flow-modal__card-grid{padding-bottom:var(--space-2)}.jack-flow{display:grid;gap:var(--space-3)}.jack-selection-strip{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-2);align-items:stretch}.jack-selection-summary{min-width:0;display:grid;justify-items:center;align-content:center;gap:var(--space-1);padding:var(--space-2);border-radius:var(--radius-md);background:#00000029;border:1px solid rgba(255,252,245,.1);color:var(--color-text-soft);text-align:center}.jack-selection-summary__label,.jack-confirm-card span{font-size:.62rem;font-weight:var(--font-weight-bold);letter-spacing:.05em;text-transform:uppercase;color:var(--color-text-muted)}.jack-selection-summary__avatar{font-size:1.8rem;line-height:1}.jack-selection-summary strong{max-width:100%;overflow:hidden;font-size:var(--font-size-sm);text-overflow:ellipsis;white-space:nowrap}.flow-confirm-box--jack{display:grid;gap:var(--space-3)}.jack-confirm-cards{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:var(--space-2);align-items:center}.jack-confirm-card{display:grid;justify-items:center;gap:var(--space-1);min-width:0}.jack-confirm-arrow{display:inline-grid;place-items:center;min-width:48px;min-height:28px;padding:0 var(--space-2);border-radius:var(--radius-pill);background:#3db8b02e;border:1px solid rgba(94,212,204,.28);color:var(--color-turquoise-bright);font-size:.65rem;font-weight:var(--font-weight-bold);text-transform:uppercase}.flow-results-hero{display:grid;gap:var(--space-2);margin-bottom:var(--space-3);padding:var(--space-3);border-radius:var(--radius-lg);background:linear-gradient(135deg,#32d6c624,#16213a57);border:1px solid rgba(50,214,198,.26)}.flow-results-hero__eyebrow{display:block;margin-bottom:2px;font-size:.62rem;font-weight:var(--font-weight-bold);letter-spacing:.06em;text-transform:uppercase;color:var(--color-turquoise-bright)}.flow-results-hero__title{margin:0;color:var(--color-text-soft);font-size:var(--font-size-md);font-weight:var(--font-weight-bold);line-height:var(--line-height-tight)}.flow-results-hero__bank{margin:0;padding-top:var(--space-2);border-top:1px solid rgba(255,252,245,.12);color:var(--color-amber-bright);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);animation:scoreDeltaPop .26s var(--ease-out) .14s both}.flow-results-scroll{display:grid;gap:var(--space-3)}.flow-result-player{padding:var(--space-3);border-radius:var(--radius-md);background:#fffcf50f;border:1px solid rgba(255,252,245,.1)}.flow-result-player--winner{border-color:#32d6c68c;background:linear-gradient(135deg,#32d6c61f,#fffcf50f);animation:resultWinnerGlow .34s var(--ease-out) both}.flow-result-player--bank{box-shadow:inset 0 0 0 1px #5ed4cc59;animation:resultBankPulse .36s var(--ease-out) both}.flow-result-player--out{opacity:.72}.flow-result-player__head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-2);margin-bottom:var(--space-2)}.flow-result-player__identity{min-width:0;display:flex;align-items:center;gap:var(--space-2)}.flow-result-player__rank{display:inline-grid;place-items:center;width:28px;height:28px;flex:0 0 auto;border-radius:var(--radius-pill);background:#fffcf514;border:1px solid rgba(255,252,245,.1);color:var(--color-turquoise-bright);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold)}.flow-result-player__name{font-weight:var(--font-weight-bold);font-size:var(--font-size-md);color:var(--color-text-soft)}.flow-result-player__badges{display:flex;flex-wrap:wrap;gap:4px;justify-content:flex-end}.flow-result-badge{font-size:.62rem;font-weight:var(--font-weight-bold);text-transform:uppercase;letter-spacing:.05em;padding:2px 7px;border-radius:var(--radius-pill);border:1px solid transparent}.flow-result-badge--winner{background:#32d6c62e;border-color:#32d6c666;color:var(--color-turquoise-bright)}.flow-result-badge--bank{background:#3db8b033;border-color:#5ed4cc66;color:var(--color-turquoise-bright)}.flow-result-badge--out{background:var(--color-danger-bg);border-color:#d6454566;color:#ffc9c9}.flow-result-player__cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin-top:var(--space-3)}.flow-result-player__cards .card-view{width:100%;animation:roundRevealFlip .3s var(--ease-out) both}.flow-result-player__cards .card-view:nth-child(2){animation-delay:40ms}.flow-result-player__cards .card-view:nth-child(3){animation-delay:80ms}.flow-result-player__cards .card-view:nth-child(4){animation-delay:.12s}.flow-result-player__cards .card-view:nth-child(n+5){animation-delay:.16s}.flow-result-player__stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-2);text-align:center;margin-top:var(--space-2);padding:var(--space-2);border-radius:var(--radius-md);background:#0000001f}.flow-result-stat{display:flex;flex-direction:column;gap:2px}.flow-result-stat__label{font-size:.62rem;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted)}.flow-result-stat__value{font-size:var(--font-size-md);font-weight:var(--font-weight-bold);color:var(--color-text-soft);animation:scoreDeltaPop .24s var(--ease-out) .18s both}.flow-result-stat__value--positive{color:var(--color-coral-soft)}.flow-result-stat__value--zero{color:var(--color-success)}@keyframes flowModalFadeIn{0%{opacity:0}to{opacity:1}}@keyframes flowModalSlideUp{0%{transform:translateY(24px);opacity:.9}to{transform:translateY(0);opacity:1}}@keyframes roundRevealFlip{0%{transform:rotateY(52deg) translateY(5px) scale(.94);opacity:0}70%{transform:rotateY(0) translateY(0) scale(1.01);opacity:1}to{transform:none;opacity:1}}@keyframes scoreDeltaPop{0%{transform:translateY(3px) scale(.96);opacity:0}70%{transform:translateY(0) scale(1.025);opacity:1}to{transform:none;opacity:1}}@keyframes resultWinnerGlow{0%{transform:scale(.98);filter:brightness(.95)}55%{transform:scale(1.006);filter:brightness(1.08) drop-shadow(0 0 14px rgba(50,214,198,.24))}to{transform:none;filter:none}}@keyframes resultBankPulse{0%,to{box-shadow:inset 0 0 0 1px #5ed4cc59}52%{box-shadow:inset 0 0 0 1px #ffd66e9e,0 0 14px #ffd66e33}}@media (prefers-reduced-motion: reduce){.flow-result-player,.flow-result-player__cards .card-view,.flow-result-stat__value,.flow-results-hero__bank{animation-duration:1ms!important;animation-iteration-count:1!important}}@media (min-width: 520px){.flow-modal{align-items:center;padding:var(--space-4)}.flow-modal__sheet{border-radius:var(--radius-xl);border-bottom:1px solid rgba(255,252,245,.16);max-height:min(88dvh,680px);animation:flowModalPopIn var(--duration-normal) var(--ease-out)}.flow-modal__footer{border-radius:0 0 var(--radius-xl) var(--radius-xl)}}@keyframes flowModalPopIn{0%{transform:scale(.96);opacity:0}to{transform:scale(1);opacity:1}}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;font-family:var(--font-sans);font-size:var(--font-size-base);line-height:var(--line-height-normal);color:var(--color-text-soft);min-height:100vh;min-height:100dvh;background-color:var(--color-bg-deep);background-image:radial-gradient(ellipse 90% 60% at 18% -10%,rgba(232,93,117,.12),transparent 56%),radial-gradient(ellipse 90% 60% at 100% 8%,rgba(50,214,198,.12),transparent 52%),radial-gradient(ellipse 80% 70% at 50% 110%,rgba(16,47,53,.5),transparent 55%),repeating-linear-gradient(135deg,rgba(255,242,213,.025) 0 1px,transparent 1px 14px),linear-gradient(165deg,#0b1020 0%,#111827 38%,var(--color-bg-table) 68%,var(--color-bg-deep) 100%);background-attachment:fixed}body.body--online-game{overflow:hidden;overscroll-behavior:none}.app{max-width:var(--app-max-width);margin:0 auto;padding:var(--space-safe-top) var(--space-safe-x) calc(var(--space-safe-bottom) + var(--space-4))}h1,h2,h3{margin:0;line-height:var(--line-height-tight)}.u-text-muted{color:var(--color-text-muted)}.u-surface{background:var(--color-bg-surface);border:1px solid rgba(255,252,245,.1);border-radius:var(--radius-lg)}.u-surface-raised{background:var(--color-bg-surface-raised);border:1px solid rgba(255,252,245,.14);border-radius:var(--radius-lg);box-shadow:var(--shadow-md)}button{font-family:inherit;font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);line-height:var(--line-height-tight);color:#fff8ef;border:2px solid rgba(232,93,117,.34);border-radius:var(--radius-md);padding:13px var(--space-4);min-height:var(--touch-min);cursor:pointer;background:radial-gradient(circle at 18% 15%,rgba(255,255,255,.28),transparent 28%),linear-gradient(180deg,var(--color-coral-soft) 0%,var(--color-coral) 54%,#b83b51 100%);box-shadow:var(--shadow-sm),inset 0 2px #ffffff38;transition:transform var(--duration-fast) var(--ease-out),box-shadow var(--duration-fast) var(--ease-out),filter var(--duration-fast) var(--ease-out)}button:active:not(:disabled){transform:translateY(3px) scale(.99);filter:brightness(1.04);box-shadow:0 2px #08041a7a,0 8px 18px #08041a3d}button.secondary{color:#061a28;background:radial-gradient(circle at 18% 16%,rgba(255,255,255,.28),transparent 30%),linear-gradient(180deg,var(--color-turquoise-bright) 0%,var(--color-turquoise) 55%,#12a6a5 100%);border-color:#61f0dc85;box-shadow:var(--shadow-sm)}button:disabled{opacity:.42;cursor:not-allowed;filter:grayscale(.2) brightness(.92);box-shadow:none}.start-panel{margin-top:var(--space-3);display:flex;flex-wrap:wrap;gap:var(--space-2);align-items:center}input{width:100%;min-height:48px;padding:12px var(--space-3);border-radius:var(--radius-md);border:2px solid rgba(255,246,220,.14);background:#fff6dc17;color:var(--color-text-soft);font:inherit;outline:none}input:focus{border-color:#5ed4cc99;box-shadow:var(--shadow-glow-turquoise)}select{width:100%;min-height:48px;padding:12px var(--space-3);border-radius:var(--radius-md);border:2px solid rgba(255,246,220,.14);background:#fff6dc17;color:var(--color-text-soft);font:inherit;outline:none}select:focus{border-color:#5ed4cc99;box-shadow:var(--shadow-glow-turquoise)}.auth-shell{min-height:100dvh;display:grid;place-items:center;padding:var(--space-safe-top) var(--space-safe-x) calc(var(--space-safe-bottom) + var(--space-4))}.auth-card{width:min(100%,430px);display:grid;gap:var(--space-4);padding:var(--space-5);border-radius:var(--radius-xl);background:radial-gradient(circle at 18% 10%,rgba(232,93,117,.11),transparent 36%),radial-gradient(circle at 84% 16%,rgba(50,214,198,.12),transparent 32%),linear-gradient(180deg,#fff6dc21,#fff6dc0e),#16213aeb;border:2px solid rgba(255,246,220,.13);box-shadow:var(--shadow-lg)}.auth-card--hero{min-height:min(640px,calc(100dvh - 32px));align-content:center;overflow:hidden}.auth-brand{display:grid;justify-items:center;gap:var(--space-2);text-align:center}.auth-brand__mark{width:74px;height:74px;display:grid;place-items:center;border-radius:24px;background:radial-gradient(circle at 30% 20%,rgba(101,244,232,.28),transparent 38%),linear-gradient(145deg,#1f4860,#16213a 52%,#0b1020);border:3px solid rgba(50,214,198,.58);color:var(--color-card-cream);font-size:2.25rem;font-weight:var(--font-weight-bold);box-shadow:var(--shadow-md)}.auth-brand h1,.auth-screen-header h1,.main-menu-profile h1{font-size:2rem;color:var(--color-text-soft);background:none;-webkit-background-clip:initial;background-clip:initial}.auth-brand p,.auth-screen-header p,.main-menu-profile p{margin:0;color:var(--color-text-muted)}.auth-muted-copy{margin:0;color:var(--color-text-muted);font-size:var(--font-size-sm);line-height:1.35;text-align:center}.account-status--online{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);justify-self:center}.auth-brand__hero{color:var(--color-text-soft)!important;font-size:clamp(1.35rem,9vw,2.5rem);font-weight:var(--font-weight-bold);line-height:1;text-shadow:0 3px 0 rgba(5,8,18,.65),0 0 24px rgba(50,214,198,.18)}.welcome-card-table{position:relative;width:min(312px,86vw);min-height:166px;display:grid;place-items:center;margin:var(--space-1) 0 var(--space-2);border-radius:32px;background:radial-gradient(ellipse at 52% 58%,rgba(50,214,198,.16),transparent 42%),radial-gradient(ellipse at 50% 55%,rgba(16,47,53,.78),transparent 62%),linear-gradient(135deg,#102f35f0,#0b1020f0);border:2px solid rgba(50,214,198,.2);box-shadow:inset 0 0 30px #32d6c614,0 14px 32px #0508126b}.welcome-card-table--animated:before{content:"";position:absolute;top:14px;right:14px;bottom:14px;left:14px;border-radius:26px;background:linear-gradient(90deg,transparent,rgba(255,246,220,.08),transparent),repeating-linear-gradient(135deg,rgba(255,246,220,.055) 0 1px,transparent 1px 14px);opacity:.62;pointer-events:none}.welcome-table-pile{position:absolute;left:26px;top:28px;width:64px;aspect-ratio:5 / 7}.welcome-card{position:absolute;width:70px;aspect-ratio:5 / 7;display:grid;place-items:center;border-radius:15px;border:2px solid rgba(20,20,50,.22);font-size:1.1rem;font-weight:var(--font-weight-bold);box-shadow:var(--shadow-card)}.welcome-card--back{transform:rotate(-10deg);color:var(--color-turquoise-bright);background:repeating-linear-gradient(45deg,rgba(101,244,232,.22) 0 5px,transparent 5px 10px),linear-gradient(145deg,var(--color-card-back-base),#071927);animation:welcomeCardHover 2.9s ease-in-out infinite}.welcome-card--shadow{transform:translate(5px,6px) rotate(-7deg);opacity:.5;animation-delay:-1.2s}.welcome-card--red{z-index:1;right:28px;top:30px;transform:rotate(5deg);color:var(--color-suit-red);background:var(--color-card-cream);animation:welcomeDiscardPop 3.4s ease-in-out infinite}.welcome-card--gold{transform:rotate(13deg);color:var(--color-turquoise);background:linear-gradient(165deg,#fffaf0,#eafffb)}.welcome-mini-hand{position:absolute;left:50%;bottom:18px;display:grid;grid-template-columns:repeat(2,42px);gap:7px;transform:translate(-50%)}.welcome-mini-slot{position:relative;aspect-ratio:5 / 7;border-radius:10px;border:1px solid rgba(50,214,198,.5);background:radial-gradient(circle at 50% 50%,rgba(50,214,198,.18),transparent 36%),repeating-linear-gradient(45deg,rgba(255,246,220,.08) 0 4px,transparent 4px 8px),linear-gradient(150deg,#102f35,#0b1728);box-shadow:0 4px #08041a59,0 8px 14px #0003;animation:welcomeSlotBreathe 3.2s ease-in-out infinite}.welcome-mini-slot:nth-child(2){animation-delay:-.45s}.welcome-mini-slot:nth-child(3){animation-delay:-.9s}.welcome-mini-slot:nth-child(4){animation-delay:-1.35s}.welcome-mini-slot--glint:after{content:"";position:absolute;top:7px;right:7px;bottom:7px;left:7px;border-radius:8px;background:linear-gradient(130deg,transparent 0 38%,rgba(255,246,220,.42) 46%,transparent 56% 100%);animation:welcomeFlipGlint 2.2s ease-in-out infinite}.welcome-bank-chip{position:absolute;right:24px;bottom:23px;min-width:74px;padding:8px 13px;border-radius:var(--radius-pill);color:#170c2f;background:radial-gradient(circle at 24% 20%,rgba(255,255,255,.46),transparent 32%),linear-gradient(180deg,var(--color-amber-bright),var(--color-amber) 58%,var(--color-gold));border:2px solid rgba(255,246,220,.58);box-shadow:0 5px #6f370a94,0 0 24px #ffbd4752;font-size:.78rem;font-weight:var(--font-weight-bold);text-transform:uppercase;letter-spacing:.07em;animation:welcomeBankPulse 1.8s ease-in-out infinite}.account-status{display:inline-block;max-width:100%;margin-top:var(--space-2);padding:3px 8px;border-radius:var(--radius-pill);background:#2d9d6b2e;border:1px solid rgba(45,157,107,.28);color:#c8f8dd;font-size:.68rem;font-weight:var(--font-weight-semibold);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.auth-actions,.auth-form{display:grid;gap:var(--space-3)}.auth-sound-control{display:flex;justify-content:center;margin-top:calc(var(--space-2) * -1)}.auth-sound-control--menu{justify-content:flex-start;margin-top:calc(var(--space-3) * -1)}.menu-action{position:relative;isolation:isolate;overflow:hidden;display:grid;justify-items:start;gap:3px;text-align:left}.menu-action:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;background:linear-gradient(115deg,transparent 0 42%,rgba(255,255,255,.28) 50%,transparent 58% 100%);transform:translate(-115%);transition:transform .42s var(--ease-out)}.menu-action:active:after,.menu-action:hover:after{transform:translate(115%)}.menu-action--practice{min-height:62px;border-radius:18px;border-color:#fff6dc94;box-shadow:0 6px #4e142394,0 0 22px #e85d7538;animation:quickPracticePulse 2.8s ease-in-out infinite}.menu-action--join,.menu-action--create,.menu-action--guide,.menu-action--rejoin,.menu-action--majlis,.menu-action--calculator{border-radius:18px}.menu-action__title{font-size:1rem;font-weight:var(--font-weight-bold);line-height:1.05}.menu-action__subtext{color:#fff2d5c2;font-size:.72rem;font-weight:var(--font-weight-semibold);line-height:1.18}.menu-action--join{background:radial-gradient(circle at 18% 16%,rgba(255,255,255,.28),transparent 30%),linear-gradient(180deg,var(--color-turquoise-bright) 0%,var(--color-turquoise) 55%,#078c96 100%);box-shadow:0 5px #053b479e,0 14px 24px #22d6c52e}.menu-action--create{color:var(--color-text-soft);background:radial-gradient(circle at 18% 16%,rgba(255,255,255,.18),transparent 30%),linear-gradient(180deg,#1e5260,var(--color-bg-table) 58%,#0b1d2b);border-color:#32d6c66b;box-shadow:0 5px #0520279e,0 14px 24px #32d6c61f}.menu-action--guide,.menu-action--rejoin,.menu-action--calculator,.menu-action--majlis{color:var(--color-text-soft);background:radial-gradient(circle at 18% 16%,rgba(255,255,255,.14),transparent 30%),linear-gradient(180deg,#16213af5,#0b1020fa);border-color:#fff2d529;box-shadow:0 4px #05081275,0 12px 22px #0508123d}.menu-action--calculator{border-color:#f2b84b4d;background:radial-gradient(circle at 18% 16%,rgba(242,184,75,.16),transparent 30%),linear-gradient(180deg,#1b2b49f5,#102f35f0)}.menu-action--majlis{border-color:#32d6c64d;background:radial-gradient(circle at 18% 16%,rgba(50,214,198,.13),transparent 30%),linear-gradient(180deg,#102f35f5,#0b1020fa)}.welcome-join,.online-choice-card{display:grid;gap:var(--space-2);padding:var(--space-3);border-radius:18px;background:radial-gradient(circle at 18% 12%,rgba(50,214,198,.08),transparent 34%),linear-gradient(180deg,#fff2d513,#fff2d509);border:1px solid rgba(255,242,213,.12);box-shadow:0 4px #0508123d}.welcome-join label,.online-choice-card h2{margin:0;color:var(--color-text-soft);font-size:var(--font-size-sm);font-weight:var(--font-weight-bold)}.online-choice-card p{margin:0;color:var(--color-text-muted);font-size:var(--font-size-sm)}.auth-form label{display:grid;gap:var(--space-1);color:var(--color-text-muted);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold)}.auth-screen-header{display:grid;gap:var(--space-2);text-align:center}.auth-link-btn{color:var(--color-text-soft);background:#fff6dc0e;border-color:#fff6dc24;box-shadow:none}.auth-link-btn--danger{color:#fff8ef;border-color:#e5484d57;background:radial-gradient(circle at 18% 15%,rgba(255,255,255,.2),transparent 28%),linear-gradient(180deg,#ff586d,var(--color-danger) 58%,#c9123f);box-shadow:0 4px #50072085,0 12px 22px #ff3f5f2e}.auth-link-btn--danger:active:not(:disabled){filter:brightness(1.08)}.auth-notice,.auth-error,.auth-success{margin:0;padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);font-size:var(--font-size-sm);line-height:var(--line-height-normal)}.auth-notice{color:var(--color-turquoise-bright);background:#32d6c61c;border:1px solid rgba(50,214,198,.22)}.auth-error{color:#ffd6d6;background:var(--color-danger-bg);border:1px solid rgba(214,69,69,.35)}.auth-success{color:#c8f8dd;background:var(--color-success-bg);border:1px solid rgba(45,157,107,.35)}.avatar-picker{display:grid;gap:var(--space-2);margin:0;padding:0;border:none}.avatar-picker legend{margin-bottom:var(--space-2);color:var(--color-text-muted);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold)}.avatar-picker__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-2)}.avatar-picker__btn{min-height:54px;padding:var(--space-2);border-radius:var(--radius-md);background:#fffcf514;border-color:#fffcf524;color:var(--color-text-soft);box-shadow:none;font-size:1.45rem}.avatar-picker__btn--selected{border-color:#32d6c6a6;background:#32d6c624;box-shadow:var(--shadow-glow-turquoise)}.main-menu-profile{display:flex;align-items:center;gap:var(--space-3)}.main-menu-profile__avatar{width:64px;height:64px;flex:0 0 auto;display:grid;place-items:center;border-radius:var(--radius-lg);background:radial-gradient(circle at 30% 20%,rgba(50,214,198,.2),transparent 42%),#fff6dc1a;border:2px solid rgba(50,214,198,.38);font-size:2rem}.online-card,.lobby-card{width:min(100%,480px)}.lobby-card{align-content:start}.lobby-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-3)}.lobby-eyebrow{margin:0 0 4px;color:var(--color-turquoise-bright);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);letter-spacing:.08em;text-transform:uppercase}.lobby-header h1{color:var(--color-text-soft);font-size:2.35rem;letter-spacing:.08em}.lobby-code-button{min-height:auto;position:relative;isolation:isolate;overflow:hidden;display:inline-flex;align-items:center;gap:var(--space-2);color:var(--color-card-cream);background:radial-gradient(circle at 18% 20%,rgba(255,255,255,.18),transparent 30%),linear-gradient(180deg,#1f5260,var(--color-bg-table));border:2px solid rgba(50,214,198,.42);box-shadow:var(--shadow-md),0 0 22px #32d6c629;font-size:2.25rem;font-weight:var(--font-weight-bold);letter-spacing:.08em;border-radius:20px;padding:5px 10px;transform:rotate(-1deg)}.lobby-code-button:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;background:linear-gradient(115deg,transparent 0 42%,rgba(255,255,255,.34) 50%,transparent 58% 100%);transform:translate(-120%);transition:transform .42s var(--ease-out)}.lobby-code-button:hover:after,.lobby-code-button:active:after{transform:translate(120%)}.lobby-code-button span:last-child{width:32px;height:32px;display:grid;place-items:center;border-radius:var(--radius-pill);border:1px solid rgba(20,12,52,.2);background:#ffffff47;font-size:1rem;letter-spacing:0}.lobby-status{flex:0 0 auto;padding:6px 10px;border-radius:var(--radius-pill);background:#fff6dc1c;border:1px solid rgba(255,246,220,.16);color:var(--color-text-muted);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);text-transform:capitalize}.lobby-status--waiting{color:#061a28;background:var(--color-turquoise-bright);border-color:#61f0dcad}.lobby-status--playing{color:#061a28;background:var(--color-turquoise-bright);border-color:#32d6c6ad}.lobby-count{display:flex;justify-content:space-between;gap:var(--space-2);padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);background:#fff6dc14;border:1px solid rgba(255,246,220,.12);color:var(--color-text-muted);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold)}.lobby-player-list{display:grid;gap:var(--space-2)}.lobby-player{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:var(--space-3);padding:var(--space-3);border-radius:18px;background:linear-gradient(135deg,#fff6dc1a,#fff6dc0b);border:1px solid rgba(255,246,220,.12);box-shadow:0 4px #08041a2e}.lobby-player--you{border-color:#32d6c673;background:#32d6c61a}.lobby-player__avatar{width:46px;height:46px;display:grid;place-items:center;border-radius:var(--radius-md);background:#fff6dc1f;border:1px solid rgba(50,214,198,.32);font-size:1.45rem}.lobby-player h2{color:var(--color-text-soft);font-size:var(--font-size-md)}.lobby-player p{margin:3px 0 0;color:var(--color-text-muted);font-size:var(--font-size-xs)}.lobby-player__badges{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:5px}.lobby-player__badges span{padding:4px 7px;border-radius:var(--radius-pill);background:#61f0dc2e;border:1px solid rgba(97,240,220,.34);color:var(--color-turquoise-bright);font-size:.66rem;font-weight:var(--font-weight-bold)}.lobby-actions{position:sticky;bottom:max(var(--space-safe-bottom),var(--space-3));display:grid;grid-template-columns:1fr 1fr;gap:var(--space-2);padding-top:var(--space-2);background:linear-gradient(180deg,transparent,rgba(11,16,32,.95) 32%)}.lobby-actions button:first-child,.lobby-actions button:last-child{grid-column:1 / -1}.room-code-form{display:grid;gap:var(--space-2)}.room-code-form label{color:var(--color-text-muted);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold)}.room-code-input{position:relative}.room-code-input__native{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;opacity:0;caret-color:transparent}.room-code-input__boxes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) 10px repeat(3,minmax(0,1fr));gap:7px;align-items:center}.room-code-input__boxes:before{content:"";grid-column:4;height:2px;border-radius:var(--radius-pill);background:#32d6c6b3}.room-code-input__box{min-height:52px;display:grid;place-items:center;border-radius:var(--radius-md);border:2px solid rgba(50,214,198,.34);background:radial-gradient(circle at 22% 16%,rgba(50,214,198,.12),transparent 30%),linear-gradient(180deg,#fff6dc24,#fff6dc11),#16213ad6;color:var(--color-text-soft);font-size:1.25rem;font-weight:var(--font-weight-bold);box-shadow:0 4px #08041a47,inset 0 1px #ffffff14}@keyframes welcomeCardHover{0%,to{transform:translateY(0) rotate(-10deg)}50%{transform:translateY(-5px) rotate(-7deg)}}@keyframes welcomeDiscardPop{0%,to{transform:translateY(0) rotate(5deg);filter:none}50%{transform:translateY(-4px) rotate(8deg);filter:drop-shadow(0 0 14px rgba(232,93,117,.26))}}@keyframes welcomeSlotBreathe{0%,to{transform:translateY(0);filter:brightness(1)}50%{transform:translateY(-2px);filter:brightness(1.12)}}@keyframes welcomeFlipGlint{0%,42%{opacity:0;transform:translate(-18px) skew(-18deg)}58%{opacity:1}78%,to{opacity:0;transform:translate(18px) skew(-18deg)}}@keyframes welcomeBankPulse{0%,to{transform:scale(1);filter:none}48%{transform:scale(1.06);filter:drop-shadow(0 0 16px rgba(255,214,110,.55))}}@keyframes quickPracticePulse{0%,to{filter:none}50%{filter:brightness(1.08) saturate(1.08)}}@media (prefers-reduced-motion: reduce){.welcome-card,.welcome-mini-slot,.welcome-mini-slot:after,.welcome-bank-chip,.menu-action--practice{animation-duration:1ms!important;animation-iteration-count:1!important}.menu-action:after,.lobby-code-button:after{display:none}}.online-game-shell{--game-dock-height: 72px;width:min(100%,var(--app-max-width));height:100dvh;min-height:100dvh;display:flex;flex-direction:column;overflow:hidden;padding:max(4px,env(safe-area-inset-top)) var(--space-safe-x) calc(var(--game-dock-height) + var(--space-safe-bottom) + 4px);background:radial-gradient(ellipse at 50% 42%,rgba(34,214,197,.13),transparent 54%),radial-gradient(circle at 16% 22%,rgba(232,93,117,.08),transparent 34%)}.online-game-shell--dockless{--game-dock-height: 6px}.online-game-loading{width:min(100%,430px);margin:var(--space-6) auto}.online-game-error{width:min(100%,560px);margin:var(--space-3) auto}.room-panel-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;display:grid;align-items:end;padding:var(--space-3);background:#070418ad;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.room-panel{width:min(100%,520px);max-height:min(86dvh,720px);margin:0 auto;overflow:auto;display:grid;gap:var(--space-3);padding:var(--space-4);border-radius:var(--radius-xl) var(--radius-xl) var(--radius-lg) var(--radius-lg);border:2px solid rgba(97,240,220,.22);background:radial-gradient(circle at top left,rgba(232,93,117,.1),transparent 32%),radial-gradient(circle at top right,rgba(50,214,198,.12),transparent 34%),linear-gradient(180deg,#16213afa,#0b1020fa);box-shadow:var(--shadow-lg)}.room-panel__header{display:flex;align-items:start;justify-content:space-between;gap:var(--space-3)}.room-panel__header h2{margin:0 0 var(--space-1);color:var(--color-text);font-size:var(--font-size-2xl)}.room-panel__actions{position:static;background:transparent;padding-top:0}.online-game-readonly{display:grid;gap:5px;padding:6px var(--space-2) calc(max(6px,env(safe-area-inset-bottom)) + 2px);border-radius:14px 14px 0 0;background:radial-gradient(circle at 18% 10%,rgba(50,214,198,.1),transparent 34%),linear-gradient(180deg,#16213af5,#0b1020fa);border:1px solid rgba(97,240,220,.18);color:var(--color-text-muted);text-align:center;box-shadow:0 -8px 22px #00000047;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.online-game-readonly p{margin:0;font-size:.68rem;line-height:1.25}.online-game-control{position:fixed;z-index:var(--z-sticky);left:max(0px,calc((100vw - var(--app-max-width)) / 2));right:max(0px,calc((100vw - var(--app-max-width)) / 2));bottom:0;gap:5px}.online-game-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.online-game-actions button:only-child{grid-column:1 / -1}.online-game-actions button{min-height:36px;padding:6px 9px;border-radius:var(--radius-pill);font-size:.8rem;font-weight:var(--font-weight-bold)}.online-game-actions .bank-action-btn,.bank-action-btn{color:#170c2f;background:radial-gradient(circle at 18% 15%,rgba(255,255,255,.38),transparent 30%),linear-gradient(180deg,var(--color-amber-bright),var(--color-amber) 58%,var(--color-gold));border-color:#fff6dc8a;box-shadow:0 4px #6f370a8a,0 0 26px #ffbd4742}.online-jack-flow{display:grid;gap:var(--space-3)}.online-opponent-grid{display:grid;grid-template-columns:repeat(2,minmax(88px,1fr));justify-items:center;gap:var(--space-2)}@media (min-width: 520px){.online-game-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.online-game-actions button:only-child{grid-column:1 / -1}}@media (max-width: 519px){.online-bank-banner{grid-template-columns:repeat(3,minmax(0,1fr))}}.how-to-play-card{align-content:start;width:min(100%,520px);gap:var(--space-3)}.how-to-play-hero{display:flex;justify-content:center;align-items:center;gap:var(--space-2);padding:var(--space-2) 0}.mini-card{width:54px;aspect-ratio:5 / 7;display:grid;place-items:center;border-radius:13px;border:2px solid rgba(255,246,220,.18);box-shadow:var(--shadow-card);font-size:var(--font-size-md);font-weight:var(--font-weight-bold)}.mini-card--back{background:repeating-linear-gradient(45deg,rgba(101,244,232,.22) 0 5px,transparent 5px 10px),linear-gradient(145deg,var(--color-card-back-base),#071927);color:var(--color-turquoise-bright)}.mini-card--red{background:var(--color-card-cream);color:var(--color-suit-red);transform:translateY(-6px)}.mini-card--gold{background:linear-gradient(165deg,#fffef8,#f0faf8);color:var(--color-turquoise)}.how-to-play-sections{display:grid;gap:var(--space-3)}.how-to-play-section{display:grid;grid-template-columns:42px minmax(0,1fr);gap:var(--space-3);padding:var(--space-3);border-radius:20px;background:linear-gradient(135deg,#fff6dc1a,#fff6dc0b);border:1px solid rgba(255,246,220,.12);box-shadow:0 4px #08041a29}.how-to-play-section__icon{width:42px;height:42px;display:grid;place-items:center;border-radius:var(--radius-md);background:radial-gradient(circle at 26% 18%,rgba(255,255,255,.28),transparent 30%),linear-gradient(180deg,var(--color-coral-soft),var(--color-coral));border:1px solid rgba(50,214,198,.3);color:#fff8ef;font-size:var(--font-size-sm);font-weight:var(--font-weight-bold)}.how-to-play-section h2{margin-bottom:var(--space-1);color:var(--color-text-soft);font-size:var(--font-size-md)}.how-to-play-section ul{display:grid;gap:5px;margin:0;padding-left:var(--space-4);color:var(--color-text-muted);font-size:var(--font-size-sm)}.how-to-play-actions{position:sticky;bottom:max(var(--space-safe-bottom),var(--space-3));display:grid;grid-template-columns:1fr 1fr;gap:var(--space-2);padding-top:var(--space-1);background:linear-gradient(180deg,transparent,rgba(16,7,37,.94) 28%)}.game-exit-btn{min-height:32px;padding:5px 10px;border-radius:var(--radius-pill);color:var(--color-text-soft);background:#fffcf514;border-color:#fffcf524;box-shadow:none;font-size:var(--font-size-xs)}.practice-banner{display:grid;gap:4px;padding:8px 10px;border-radius:18px;background:radial-gradient(circle at 18% 14%,rgba(50,214,198,.12),transparent 34%),linear-gradient(135deg,#16213aad,#102f358a);border:1px solid rgba(255,246,220,.12);box-shadow:0 3px #08041a33,inset 0 1px #fff6dc14;text-align:center}.practice-banner strong{color:var(--color-text-soft);font-size:.95rem;line-height:1.1}.practice-banner span{color:var(--color-text-muted);font-size:.74rem;line-height:1.2}.practice-hint{min-height:auto;padding:7px 9px;color:#061a28;background:radial-gradient(circle at 16% 16%,rgba(255,255,255,.24),transparent 30%),linear-gradient(180deg,#61f0dcf2,#22d6c5db);border-color:#61f0dc70;border-radius:14px;box-shadow:0 3px #08041a42;font-size:.72rem;line-height:1.25}.practice-results-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-2);width:100%}.practice-results-actions .auth-link-btn{grid-column:1 / -1}.play-now-card{align-content:start}.play-now-options{display:grid;gap:var(--space-3);padding:var(--space-3);border-radius:var(--radius-lg);background:radial-gradient(circle at 16% 10%,rgba(50,214,198,.08),transparent 34%),linear-gradient(180deg,#fff2d513,#fff2d509);border:1px solid rgba(255,242,213,.12);box-shadow:0 4px #0508123d}.play-now-options h2{margin:0;color:var(--color-text-soft);font-size:var(--font-size-md)}.play-now-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-2)}.play-now-option{min-height:58px;display:grid;gap:2px;justify-items:center;padding:10px;color:var(--color-text-soft);background:radial-gradient(circle at 18% 16%,rgba(255,255,255,.12),transparent 30%),linear-gradient(180deg,#16213af5,#0b1020fa);border-color:#fff2d524;box-shadow:0 4px #0508125c}.play-now-option--selected{border-color:#32d6c694;box-shadow:var(--shadow-glow-turquoise)}.play-now-option span{font-weight:var(--font-weight-bold)}.play-now-option small{color:var(--color-text-muted);font-size:var(--font-size-xs)}.calculator-shell{align-items:start;padding-top:calc(var(--space-safe-top) + var(--space-3))}.calculator-card{width:min(100%,460px);align-self:start}.calculator-header .lobby-eyebrow{justify-self:center}.calculator-stack{display:grid;gap:var(--space-3)}.calculator-field{display:grid;gap:var(--space-1);color:var(--color-text-muted);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold)}.calculator-check{display:flex;align-items:center;gap:var(--space-2);padding:10px 12px;border-radius:var(--radius-md);background:#fff6dc12;border:1px solid rgba(255,246,220,.12);color:var(--color-text-soft);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold)}.calculator-check input{width:18px;min-height:18px;accent-color:var(--color-turquoise)}.calculator-player-editor,.calculator-member-picker,.calculator-scoreboard,.calculator-round-form,.calculator-complete,.calculator-round-history{display:grid;gap:var(--space-2);padding:var(--space-3);border-radius:var(--radius-lg);background:radial-gradient(circle at 16% 10%,rgba(50,214,198,.08),transparent 34%),linear-gradient(180deg,#fff2d513,#fff2d509);border:1px solid rgba(255,242,213,.12);box-shadow:0 4px #0508123d}.calculator-player-edit{display:grid;grid-template-columns:74px 1fr;gap:var(--space-2)}.calculator-member-picker{display:grid;gap:var(--space-3)}.calculator-member-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-2)}.calculator-member-card{min-height:84px;display:grid;justify-items:center;gap:3px;padding:10px;color:var(--color-text-soft);text-align:center;background:radial-gradient(circle at 20% 12%,rgba(50,214,198,.1),transparent 34%),linear-gradient(180deg,#16213af0,#0b1020f5);border-color:#fff2d524;box-shadow:0 4px #0508125c}.calculator-member-card--selected{border-color:#32d6c694;box-shadow:var(--shadow-glow-turquoise)}.calculator-member-card span{font-size:1.35rem}.calculator-member-card strong{max-width:100%;overflow:hidden;color:var(--color-text-soft);font-size:var(--font-size-sm);text-overflow:ellipsis;white-space:nowrap}.calculator-member-card small{color:var(--color-text-muted);font-size:var(--font-size-xs)}.calculator-round-chip{justify-self:start;padding:5px 10px;border-radius:var(--radius-pill);background:#32d6c624;border:1px solid rgba(50,214,198,.3);color:var(--color-turquoise-bright);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);text-transform:uppercase;letter-spacing:.06em}.calculator-player-row{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:var(--space-2);padding:10px;border-radius:var(--radius-md);background:#0b102061;border:1px solid rgba(255,242,213,.1)}.calculator-player-row--danger{border-color:#f2b84b75;box-shadow:0 0 0 1px #f2b84b29}.calculator-player-row--eliminated{opacity:.62;border-color:#e5484d4d}.calculator-avatar{width:38px;height:38px;display:grid;place-items:center;border-radius:14px;background:#fff2d51a;border:1px solid rgba(255,242,213,.14);font-size:1.25rem}.calculator-player-row strong,.calculator-complete h2,.calculator-round-row strong{color:var(--color-text-soft)}.calculator-player-row small,.calculator-complete p{display:block;margin-top:2px;color:var(--color-text-muted);font-size:var(--font-size-xs)}.calculator-score{min-width:46px;text-align:right;color:var(--color-card-cream);font-size:1.35rem;font-weight:var(--font-weight-bold)}.calculator-score-input{display:grid;grid-template-columns:minmax(0,1fr) 86px 54px;align-items:center;gap:var(--space-2);color:var(--color-text-soft);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold)}.calculator-score-input input{text-align:center}.calculator-score-input button{min-height:44px;padding-inline:10px}.calculator-complete{text-align:center}.calculator-complete h2,.calculator-complete p{margin:0}.calculator-round-history summary{cursor:pointer;color:var(--color-text-soft);font-weight:var(--font-weight-bold)}.calculator-round-list{display:grid;gap:var(--space-2);margin-top:var(--space-2)}.calculator-round-row{display:grid;grid-template-columns:1fr auto;gap:var(--space-1) var(--space-2);padding:8px 10px;border-radius:var(--radius-md);background:#0b102052;color:var(--color-text-muted);font-size:var(--font-size-sm)}.calculator-round-row span:last-child{grid-column:1 / -1;color:var(--color-amber-bright)}.calculator-actions{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-2)}.majlis-shell{align-items:start;padding-top:calc(var(--space-safe-top) + var(--space-3))}.majlis-card{width:min(100%,460px);align-self:start}.majlis-detail-header{display:grid;grid-template-columns:auto 1fr;align-items:start;gap:var(--space-3)}.majlis-detail-header h1,.majlis-panel h2{color:var(--color-text-soft)}.majlis-detail-header p,.majlis-panel h2,.majlis-panel p{margin:0}.majlis-panel{display:grid;gap:var(--space-3);padding:var(--space-3);border-radius:var(--radius-lg);background:radial-gradient(circle at 16% 10%,rgba(50,214,198,.08),transparent 34%),linear-gradient(180deg,#fff2d513,#fff2d509);border:1px solid rgba(255,242,213,.12);box-shadow:0 4px #0508123d}.majlis-list{display:grid;gap:var(--space-2)}.majlis-list-card{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);min-height:58px;text-align:left;color:var(--color-text-soft);background:radial-gradient(circle at 16% 16%,rgba(50,214,198,.12),transparent 30%),linear-gradient(180deg,#16213af0,#0b1020f5);border-color:#fff2d524}.majlis-list-card span:first-child{display:grid;gap:2px}.majlis-list-card small,.majlis-member-row small,.majlis-leaderboard-row small,.majlis-game-row span{color:var(--color-text-muted);font-size:var(--font-size-xs)}.majlis-code-chip{display:grid;justify-items:center;gap:3px;min-height:64px;border-color:#f2b84b85;background:radial-gradient(circle at 22% 16%,rgba(255,255,255,.24),transparent 32%),linear-gradient(180deg,var(--color-amber-bright),var(--color-amber) 58%,var(--color-gold));color:var(--color-text-on-amber);box-shadow:var(--shadow-glow-amber)}.majlis-code-chip span{font-size:1.35rem;letter-spacing:.12em}.majlis-code-chip small{color:#14110bb8;font-size:var(--font-size-xs)}.majlis-action-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-2)}.majlis-member-list,.majlis-leaderboard,.majlis-game-list{display:grid;gap:var(--space-2)}.majlis-member-row,.majlis-leaderboard-row,.majlis-game-row{border-radius:var(--radius-md);background:#0b102061;border:1px solid rgba(255,242,213,.1)}.majlis-member-row{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:var(--space-2);padding:10px}.majlis-member-row>span,.majlis-leaderboard-row>span:nth-child(2){width:34px;height:34px;display:grid;place-items:center;border-radius:12px;background:#fff2d51a;border:1px solid rgba(255,242,213,.14)}.majlis-member-row strong,.majlis-leaderboard-row strong,.majlis-game-row strong{color:var(--color-text-soft)}.majlis-leaderboard-row{display:grid;grid-template-columns:auto auto minmax(0,1fr);align-items:center;gap:var(--space-2);padding:10px}.majlis-rank{min-width:32px;color:var(--color-amber-bright);font-weight:var(--font-weight-bold)}.majlis-score-pill{justify-self:start;padding:3px 8px;border-radius:var(--radius-pill);background:#32d6c61f;border:1px solid rgba(50,214,198,.22);color:var(--color-turquoise-bright);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold)}.majlis-game-row{display:grid;gap:var(--space-2);padding:10px}.majlis-game-row header{display:flex;align-items:start;justify-content:space-between;gap:var(--space-2)}.majlis-game-row header span{white-space:nowrap}.majlis-game-participants{display:flex;flex-wrap:wrap;gap:6px}.majlis-game-participants span{padding:4px 8px;border-radius:var(--radius-pill);background:#fff2d514;border:1px solid rgba(255,242,213,.1)}.demo-shell{min-height:100dvh;display:grid;place-items:center;padding:var(--space-safe-top) var(--space-safe-x) calc(var(--space-safe-bottom) + var(--space-4));overflow:hidden}.demo-card{width:min(100%,460px);max-height:calc(100dvh - var(--space-safe-top) - var(--space-safe-bottom) - var(--space-3));display:grid;grid-template-rows:auto auto minmax(190px,1fr) auto auto;gap:var(--space-2);padding:var(--space-3);border-radius:var(--radius-xl);background:radial-gradient(ellipse 100% 70% at 22% -10%,rgba(232,93,117,.1),transparent 58%),radial-gradient(ellipse 85% 60% at 90% 0%,rgba(50,214,198,.14),transparent 54%),linear-gradient(180deg,#fff6dc21,#fff6dc0e),#16213aeb;border:2px solid rgba(255,246,220,.14);box-shadow:var(--shadow-lg);overflow:hidden}.demo-header{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:var(--space-2)}.demo-header__back{min-height:34px;padding:6px 10px;font-size:var(--font-size-xs)}.demo-header__spacer{width:48px}.demo-progress{display:flex;justify-content:center;gap:5px}.demo-progress__dot{width:16px;height:5px;border-radius:var(--radius-pill);background:#fffcf529}.demo-progress__dot--active{background:linear-gradient(90deg,var(--color-coral),var(--color-turquoise))}.demo-copy{display:grid;gap:var(--space-1);text-align:center}.demo-copy__eyebrow{color:var(--color-turquoise-bright);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);letter-spacing:.08em;text-transform:uppercase}.demo-copy h1{color:var(--color-text-soft);font-size:clamp(1.25rem,7vw,1.75rem);text-shadow:0 2px 0 rgba(8,4,26,.52)}.demo-copy p,.demo-tip,.demo-action-hint{margin:0;color:var(--color-text-muted)}.demo-table{display:grid;justify-items:center;gap:var(--space-3);min-height:0;max-height:100%;align-content:center;padding:var(--space-3);border-radius:var(--radius-lg);background:radial-gradient(circle at 50% 45%,rgba(34,214,197,.2),transparent 60%),linear-gradient(135deg,#102f35c7,#0b1020b8);border:1px solid rgba(97,240,220,.14);box-shadow:inset 0 0 28px #61f0dc14;overflow:hidden}.demo-table--welcome,.demo-table--ready{grid-template-columns:repeat(3,auto);align-items:center;justify-content:center;min-height:210px}.demo-table--choice,.demo-table--swap,.demo-table--match,.demo-table--bank,.demo-table--reveal{min-height:210px}.demo-card-grid{width:100%;display:flex;justify-content:center;align-items:end;gap:var(--space-2);flex-wrap:wrap}.demo-card-grid--hand{max-width:270px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-2)}.demo-card-grid--compact{max-width:210px}.demo-card-grid--bank,.demo-card-grid--reveal{max-width:240px}.demo-card-grid--opponent{max-width:156px}.demo-card-grid .card-view[data-size=small]{width:clamp(58px,18vw,74px)}.demo-guide-copy{display:grid;gap:var(--space-2);min-height:0;overflow-y:auto;scrollbar-width:none}.demo-guide-copy::-webkit-scrollbar{display:none}.demo-anim-card{display:grid;place-items:center}.demo-anim-card--fan-left{transform:rotate(-14deg) translateY(8px);animation:guideFanIn .32s var(--ease-spring)}.demo-anim-card--fan-center{z-index:1;transform:translateY(-8px);animation:guidePopIn .32s var(--ease-spring)}.demo-anim-card--fan-right{transform:rotate(14deg) translateY(8px);animation:guideFanIn .36s var(--ease-spring)}.demo-anim-card--flip-one,.demo-anim-card--flip-two,.demo-anim-card--reveal-one,.demo-anim-card--reveal-two,.demo-anim-card--reveal-three{transform-origin:center;animation:guideFlip .42s var(--ease-spring)}.demo-anim-card--flip-two,.demo-anim-card--reveal-two{animation-delay:90ms}.demo-anim-card--reveal-three{animation-delay:.16s}.demo-anim-card--slide-from-deck{animation:guideSlideFromDeck .43s var(--ease-spring)}.demo-anim-card--swap-in{animation:guideSwapIn .42s var(--ease-spring)}.demo-anim-card--slot-pulse{animation:guideSlotPulse .9s ease-out}.demo-anim-card--to-discard{animation:guideToDiscard .46s var(--ease-spring)}.demo-anim-card--penalty-drop{animation:guidePenaltyDrop .54s var(--ease-spring)}.demo-anim-card--queen,.demo-anim-card--jack,.demo-anim-card--king{animation:guideActionPop .44s var(--ease-spring)}.demo-anim-card--jack{animation-delay:70ms}.demo-anim-card--king{animation-delay:.14s}.guide-pile{display:grid;justify-items:center;gap:var(--space-1);color:var(--color-text-muted);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);text-transform:uppercase}.guide-pile--tempting,.guide-pile--discard{color:var(--color-turquoise-bright)}.guide-opponent-board{width:min(100%,250px);display:grid;gap:var(--space-2);padding:var(--space-3);border-radius:var(--radius-lg);background:#fff6dc14;border:1px solid rgba(255,246,220,.14);box-shadow:0 4px #08041a38}.guide-opponent-board__header{display:grid;grid-template-columns:auto minmax(0,1fr);gap:2px var(--space-2);align-items:center}.guide-opponent-board__header strong{color:var(--color-text-soft)}.guide-opponent-board__header small{grid-column:2;color:var(--color-text-muted);font-size:var(--font-size-xs)}.guide-opponent-board__grid{display:grid;grid-template-columns:repeat(2,42px);justify-content:center;gap:var(--space-2)}.guide-opponent-slot{aspect-ratio:5 / 7;display:grid;place-items:center;border-radius:9px;border:1px solid rgba(50,214,198,.36);background:repeating-linear-gradient(45deg,rgba(101,244,232,.22) 0 3px,transparent 3px 6px),linear-gradient(145deg,var(--color-card-back-base),#071927);color:var(--color-turquoise-bright);font-weight:var(--font-weight-bold);box-shadow:var(--shadow-card)}.guide-opponent-slot--changed{animation:guideSlotPulse .9s ease-out;box-shadow:var(--shadow-glow-turquoise),var(--shadow-card)}.guide-move-feed,.guide-result-card,.guide-score-choice{margin:0;padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);background:#e85d751f;border:1px solid rgba(232,93,117,.24);color:var(--color-text-soft);font-size:var(--font-size-sm);font-weight:var(--font-weight-bold)}.guide-action-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-2);width:min(100%,270px)}.guide-action-card{display:grid;justify-items:center;gap:var(--space-1);color:var(--color-text-muted);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);text-transform:uppercase}.guide-bank-button{min-height:48px;min-width:138px;color:#170c2f;background:radial-gradient(circle at 18% 15%,rgba(255,255,255,.38),transparent 30%),linear-gradient(180deg,var(--color-amber-bright),var(--color-amber) 58%,var(--color-gold));border-color:#fff6dc8a;box-shadow:0 4px #6f370a8a,0 0 26px #ffbd4742;animation:guideBankPulse .9s ease-in-out infinite alternate;pointer-events:none}.guide-score-choice{display:flex;gap:var(--space-2);background:#61f0dc1f;border-color:#61f0dc3d}.guide-result-card{display:grid;justify-items:center;gap:2px;background:#32d6c61f;border-color:#32d6c63d}.demo-actions__split{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-2)}.demo-opponent{display:grid;gap:var(--space-1);justify-items:center}.demo-opponent__label{color:var(--color-text-muted);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);letter-spacing:.06em;text-transform:uppercase}.demo-tip,.demo-action-hint{padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);font-size:var(--font-size-sm);line-height:var(--line-height-normal)}.demo-tip{background:#61f0dc1f;border:1px solid rgba(97,240,220,.24)}.demo-action-hint{background:#e85d751f;border:1px solid rgba(232,93,117,.24);color:var(--color-text-soft)}.demo-actions{display:grid;gap:var(--space-2)}@keyframes guideFanIn{0%{opacity:0;transform:translateY(18px) rotate(0) scale(.92)}}@keyframes guidePopIn{0%{opacity:0;transform:translateY(12px) scale(.92)}}@keyframes guideFlip{0%{transform:rotateY(72deg) scale(.94);filter:brightness(.8)}to{transform:rotateY(0) scale(1);filter:brightness(1)}}@keyframes guideSlideFromDeck{0%{transform:translate(-46px) translateY(10px) rotate(-8deg);opacity:.65}}@keyframes guideSwapIn{0%{transform:translate(-42px) translateY(-8px) rotate(-8deg)}70%{transform:translate(8px) translateY(3px) rotate(4deg)}to{transform:translate(0) translateY(0) rotate(0)}}@keyframes guideSlotPulse{0%{transform:translateY(-2px) scale(1.08);filter:brightness(1.42)}to{transform:translateY(0) scale(1);filter:brightness(1)}}@keyframes guideToDiscard{0%{transform:translate(0) translateY(0) rotate(0)}55%{transform:translate(-34px) translateY(-18px) rotate(-10deg)}to{transform:translate(0) translateY(0) rotate(0)}}@keyframes guidePenaltyDrop{0%{transform:translateY(-42px) rotate(8deg);opacity:0}70%{transform:translateY(4px) rotate(-3deg);opacity:1}84%{transform:translate(-3px)}92%{transform:translate(3px)}to{transform:translate(0)}}@keyframes guideActionPop{0%{opacity:0;transform:translateY(14px) scale(.9) rotate(-4deg)}}@keyframes guideBankPulse{0%{transform:translateY(0) scale(1);filter:brightness(1)}to{transform:translateY(-2px) scale(1.035);filter:brightness(1.08)}}@media (max-height: 700px){.demo-card{gap:6px;padding:var(--space-2)}.demo-table--choice,.demo-table--swap,.demo-table--match,.demo-table--bank,.demo-table--reveal,.demo-table--welcome,.demo-table--ready{min-height:170px}.demo-tip,.demo-action-hint{padding:6px 9px;font-size:.74rem}}.admin-panel-card{width:min(100%,760px);align-content:start;max-height:calc(100dvh - 28px);overflow:auto}.admin-stat-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-2)}.admin-stat{display:grid;gap:2px;padding:var(--space-3);border-radius:var(--radius-lg);background:#fffcf513;border:1px solid rgba(255,252,245,.1)}.admin-stat__value{color:var(--color-turquoise-bright);font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);line-height:var(--line-height-tight)}.admin-stat__label{color:var(--color-text-muted);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:.05em}.admin-actions{display:grid;gap:var(--space-3)}.admin-actions h2{color:var(--color-text-soft);font-size:var(--font-size-md)}.admin-actions__header,.admin-room-card__header,.admin-room-actions,.admin-player-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2)}.admin-room-card{display:grid;gap:var(--space-3);padding:var(--space-3);border-radius:var(--radius-lg);background:radial-gradient(circle at 18% 12%,rgba(50,214,198,.08),transparent 34%),#fffcf50e;border:1px solid rgba(255,252,245,.1)}.admin-room-card__header h2{margin:0;color:var(--color-text-soft);font-size:var(--font-size-lg)}.admin-room-card__header p,.admin-empty,.admin-player-list p{margin:0;color:var(--color-text-muted);font-size:var(--font-size-sm)}.admin-room-status{flex-shrink:0;padding:4px 8px;border-radius:var(--radius-pill);color:var(--color-text-soft);background:#fffcf514;border:1px solid rgba(255,252,245,.12);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);text-transform:uppercase}.admin-room-status--playing{color:var(--color-turquoise-bright);border-color:#32d6c647;background:#32d6c61a}.admin-room-status--closed,.admin-room-status--finished{color:#ffc9c9;border-color:#e5484d4d;background:#e5484d1a}.admin-room-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-2);margin:0}.admin-room-summary div{display:grid;gap:2px;padding:var(--space-2);border-radius:var(--radius-md);background:#00000024}.admin-room-summary dt{color:var(--color-text-muted);font-size:var(--font-size-xs)}.admin-room-summary dd{margin:0;color:var(--color-text-soft);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold)}.admin-room-players{border-radius:var(--radius-md);border:1px solid rgba(255,252,245,.1);background:#0000001a;padding:var(--space-2)}.admin-room-players summary{cursor:pointer;color:var(--color-text-soft);font-weight:var(--font-weight-semibold)}.admin-player-list{display:grid;gap:var(--space-2);margin-top:var(--space-2)}.admin-player-row{padding:var(--space-2);border-radius:var(--radius-md);background:#fffcf50e}.admin-player-row div{min-width:0;display:grid;gap:2px;margin-right:auto}.admin-player-row strong{color:var(--color-text-soft);font-size:var(--font-size-sm)}.admin-player-row small{color:var(--color-text-muted)}.admin-warning-btn,.admin-danger-btn{min-height:38px;padding:8px 10px;border-radius:var(--radius-md);font-size:var(--font-size-sm)}.admin-warning-btn{color:#2a1600;background:linear-gradient(180deg,var(--color-amber-bright),var(--color-gold));border-color:#ffd37a66}.admin-danger-btn{color:#fff6f6;background:linear-gradient(180deg,#ff6574,var(--color-danger));border-color:#e5484d85}.admin-warning-btn:disabled,.admin-danger-btn:disabled{opacity:.45;cursor:not-allowed}.admin-security-note{margin:0;padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);background:#32d6c61a;border:1px solid rgba(50,214,198,.2);color:var(--color-turquoise-bright);font-size:var(--font-size-sm);line-height:var(--line-height-normal)}.log-drawer{margin-top:var(--space-2);border-radius:var(--radius-md);border:1px solid rgba(255,252,245,.1);background:#0000001f;padding:var(--space-2) var(--space-3)}.log-drawer summary{cursor:pointer;font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm);color:var(--color-text-muted)}.log-drawer ul{margin:0;padding:var(--space-3) 0 0 var(--space-4);max-height:180px;overflow:auto;font-size:var(--font-size-xs);color:var(--color-text-muted)}.debug-panel{padding:var(--space-2);color:var(--color-text-muted);display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-1) var(--space-3);background:#0003;border:1px solid rgba(255,252,245,.08);border-radius:var(--radius-sm)}header h1{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);background:linear-gradient(90deg,var(--color-text-soft),var(--color-turquoise-bright));-webkit-background-clip:text;background-clip:text;color:transparent}@keyframes FadeIn{0%{opacity:0}to{opacity:1}}body{color:var(--color-text);background:var(--color-bg);background-image:none}.app{color:var(--color-text)}header h1{background:none;color:var(--color-text)}.u-surface,.u-surface-raised,.auth-card,.online-choice-card,.welcome-join,.play-now-options,.calculator-card,.majlis-card,.how-to-play-card,.admin-card{background:var(--color-surface);border:1px solid var(--color-border);box-shadow:var(--shadow-md)}button{min-height:44px;padding:14px 24px;border:1.5px solid var(--color-primary);border-radius:12px;color:#fff;background:var(--color-primary);box-shadow:none;font-weight:600;text-shadow:none}button:active:not(:disabled){transform:translateY(1px);box-shadow:none;filter:brightness(.96)}button.secondary,.auth-link-btn,.menu-action--join{color:var(--color-primary);background:transparent;border:1.5px solid var(--color-primary);box-shadow:none}.auth-link-btn,.menu-action--guide,.menu-action--calculator,.menu-action--majlis,.menu-action--rejoin,.menu-action--create,.play-now-option{color:var(--color-muted);background:transparent;border-color:transparent;box-shadow:none}.auth-link-btn--danger,.lobby-actions .auth-link-btn--danger{color:var(--color-danger);background:transparent;border-color:transparent;box-shadow:none}button:disabled,.play-now-option:disabled{color:var(--color-muted);background:var(--color-border);border-color:var(--color-border);opacity:.7}input,select{color:var(--color-text);background:#0f141b;border:1.5px solid var(--color-border);box-shadow:none}input:focus,select:focus{border-color:var(--color-primary);box-shadow:0 0 0 2px #25d3662e}.auth-shell{background:var(--color-bg)}.auth-card{gap:16px;border-radius:20px;padding:24px}.auth-card--hero{min-height:min(560px,calc(100dvh - 32px));justify-content:center}.auth-brand{gap:8px}.auth-brand__mark,.welcome-card-table{display:none}.auth-brand h1,.auth-screen-header h1,.main-menu-profile h1{color:var(--color-text);font-size:clamp(2.35rem,16vw,4rem);font-weight:700;letter-spacing:.12em;text-transform:uppercase;text-shadow:none}.main-menu-profile h1{font-size:1.55rem;letter-spacing:0;text-transform:none}.auth-brand__hero{color:var(--color-text)!important;font-size:1.05rem;line-height:1.2;text-shadow:none}.auth-brand p,.auth-screen-header p,.main-menu-profile p,.auth-muted-copy,.menu-action__subtext,.online-choice-card p{color:var(--color-muted)}.auth-actions{gap:12px}.menu-action{min-height:56px;padding:14px 18px;border-radius:14px;text-align:left;box-shadow:none;animation:none}.menu-action:after,.lobby-code-button:after{display:none}.menu-action--practice{color:#fff;background:var(--color-primary);border-color:var(--color-primary)}.menu-action--practice .menu-action__subtext{color:#ffffffd1}.menu-action--join{background:transparent}.menu-action__title{font-size:1rem}.account-status{color:var(--color-primary);background:#25d36614;border-color:#25d36638}.main-menu-profile__avatar,.lobby-player__avatar,.opponent-memory__avatar,.play-hand__avatar,.avatar-picker__btn{background:#0f141b;border-color:var(--color-border)}.avatar-picker__btn--selected,.play-now-option--selected{color:var(--color-text);border-color:var(--color-primary);background:#25d3661a;box-shadow:none}.welcome-join,.online-choice-card,.play-now-options{background:#0f141b;border-color:var(--color-border);box-shadow:none}.room-code-input__boxes:before{background:var(--color-primary)}.room-code-input__box{color:var(--color-text);background:var(--color-surface);border-color:var(--color-border);box-shadow:none}.lobby-eyebrow{color:var(--color-primary)}.lobby-header h1{color:var(--color-text)}.lobby-code-button{color:var(--color-primary);background:transparent;border:1.5px solid var(--color-primary);box-shadow:none;transform:none;letter-spacing:.12em}.lobby-code-button span:last-child{background:#25d3661f;border-color:#25d36647}.lobby-status,.lobby-status--waiting,.lobby-status--playing{color:var(--color-primary);background:#25d3661a;border-color:#25d36640}.lobby-count,.lobby-player,.how-to-play-section,.play-now-option,.practice-banner{background:#0f141b;border:1px solid var(--color-border);box-shadow:none}.lobby-player--you{border-color:#25d3666b;background:#25d36614}.lobby-player__badges span{color:var(--color-primary);background:#25d3661a;border-color:#25d3663d}.lobby-actions,.how-to-play-actions{background:linear-gradient(180deg,transparent,var(--color-bg) 38%)}.auth-notice,.auth-success{color:var(--color-primary);background:#25d36614;border-color:#25d36638}.auth-error{color:#ffd8d8;background:#e53e3e21;border-color:#e53e3e57}.how-to-play-section__icon,.practice-hint{color:#fff;background:var(--color-primary);border-color:var(--color-primary);box-shadow:none}.mini-card{box-shadow:var(--shadow-card)}.mini-card--back{color:transparent;background:repeating-linear-gradient(45deg,rgba(250,250,248,.15) 0 2px,transparent 2px 8px),var(--color-card-back)}.mini-card--red{background:var(--color-card-face);color:var(--color-danger)}.mini-card--gold{color:#111827;background:var(--color-card-face)}.room-panel-backdrop{background:#000000b3}.room-panel{background:var(--color-surface);border:1px solid var(--color-border);box-shadow:var(--shadow-lg)}.main-menu-card{position:relative;padding-top:52px}.main-menu-sound{position:absolute;top:14px;right:14px}.main-menu-sound .sound-toggle{width:36px;height:36px;min-height:36px;padding:0;display:grid;place-items:center;color:var(--color-muted);background:transparent;border:1px solid var(--color-border);border-radius:999px}.main-menu-sound .sound-toggle__label{display:none}.main-menu-sound .sound-toggle__icon{font-size:1rem}.main-menu-card .main-menu-profile{align-items:center}.main-menu-card .main-menu-profile h1{margin:0}.main-menu-card .main-menu-profile p{margin:3px 0 0;color:var(--color-muted);font-size:.78rem;line-height:1.25}.main-menu-actions{gap:10px}.main-menu-actions .menu-action--practice{margin-bottom:6px}.main-menu-actions .menu-action--join,.main-menu-actions .menu-action--guide,.main-menu-actions .menu-action--calculator,.main-menu-actions .menu-action--majlis,.main-menu-actions .menu-action--rejoin{color:#fff;background:#21262d;border-color:#21262d}.main-menu-actions .menu-action--join .menu-action__subtext,.main-menu-actions .menu-action--guide .menu-action__subtext,.main-menu-actions .menu-action--calculator .menu-action__subtext,.main-menu-actions .menu-action--majlis .menu-action__subtext,.main-menu-actions .menu-action--rejoin .menu-action__subtext{color:var(--color-muted)}.main-menu-actions>.auth-link-btn{min-height:34px;padding:6px 10px;color:var(--color-muted);background:transparent;border:0}.main-menu-admin-link{min-height:auto;justify-self:center;margin-top:2px;padding:4px 8px;color:var(--color-muted);background:transparent;border:0;box-shadow:none;font-size:.74rem;font-weight:500}.main-menu-admin-link:active:not(:disabled){transform:none;color:var(--color-text)}.home-screen{position:relative;min-height:100dvh;height:100dvh;width:100%;max-width:var(--app-max-width);margin:0 auto;overflow:hidden;display:grid;grid-template-rows:45dvh 1fr;padding:0 16px max(14px,env(safe-area-inset-bottom));background:radial-gradient(ellipse 88% 58% at 50% 24%,rgba(212,175,55,.08),transparent 48%),radial-gradient(ellipse 80% 54% at 50% 58%,rgba(26,20,40,.92),transparent 66%),#12111a}.home-screen .auth-notice,.home-error{margin:0;font-size:.72rem}.home-topbar{position:absolute;top:max(10px,env(safe-area-inset-top));left:16px;right:16px;z-index:5;display:flex;align-items:center;justify-content:space-between;pointer-events:none}.home-topbar .sound-toggle,.home-profile-trigger{pointer-events:auto;width:32px;height:32px;min-height:32px;padding:0;display:grid;place-items:center;border-radius:999px;border:1px solid rgba(255,255,255,.1);background:#ffffff0e;color:#fff;box-shadow:none}.home-topbar .sound-toggle__label{display:none}.home-topbar .sound-toggle__icon{font-size:.98rem}.home-profile-trigger{width:28px;height:28px;min-height:28px;font-size:.85rem;font-weight:800;background:linear-gradient(145deg,#25d366e6,#128c7ed9)}.home-hero{position:relative;display:grid;place-items:center;padding-top:max(34px,env(safe-area-inset-top))}.home-hero:before{content:"";position:absolute;width:min(330px,88vw);aspect-ratio:1.35;border-radius:50%;background:radial-gradient(circle at 50% 50%,rgba(212,175,55,.08),transparent 68%);filter:blur(2px)}.home-hero-cards{position:relative;width:min(318px,84vw);height:min(238px,34dvh)}.home-hero-card{position:absolute;width:86px;height:118px;border-radius:15px;border:1.5px solid rgba(212,175,55,.6);background-color:#1e3a4a;background-image:radial-gradient(rgba(212,175,55,.08) 1px,transparent 1px);background-size:6px 6px;box-shadow:0 12px 24px #00000094,0 2px 5px #0000006b,inset 0 0 0 4px #d4af3724,inset 0 0 0 1px #ffffff0f}.home-hero-card:after{content:"❖";position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;color:#d4af379e;font-size:2rem}.home-hero-card--one{left:22px;top:62px;transform:rotate(-8deg)}.home-hero-card--two{left:72px;top:42px;transform:rotate(-3deg)}.home-hero-card--three{left:122px;top:34px;transform:rotate(2deg)}.home-hero-card--four{left:172px;top:50px;transform:rotate(7deg)}.home-hero-card--five{left:98px;top:92px;transform:rotate(-12deg);opacity:.82}.home-hero-card--six{left:150px;top:94px;transform:rotate(11deg);opacity:.82}.home-content{min-height:0;display:grid;align-content:end;gap:14px;padding-bottom:2px}.home-identity{display:grid;gap:5px;text-align:center}.home-identity h1{color:#fff;font-size:42px;font-weight:800;letter-spacing:.15em;text-indent:.15em;text-shadow:0 0 40px rgba(212,175,55,.3)}.home-identity p{margin:0;color:var(--color-muted);font-size:14px;letter-spacing:.05em}.home-identity--compact h1{font-size:34px}.home-actions{display:grid;gap:10px}.home-play-now{width:100%;min-height:58px;height:58px;display:grid;place-items:center;gap:2px;border:0;border-radius:16px;color:#fff;background:#25d366;box-shadow:0 4px 20px #25d36659}.home-play-now span{font-size:18px;font-weight:800}.home-play-now small{font-size:11px;font-weight:600;opacity:.82}.home-secondary-actions{display:flex;gap:10px}.home-secondary-actions button,.home-rejoin{flex:1 1 0;height:48px;min-height:48px;padding:0 10px;border-radius:12px;border:1px solid rgba(255,255,255,.1);color:#fff;background:#ffffff0f;box-shadow:none;font-size:.88rem}.home-rejoin{width:100%;color:#f2b84b;border-color:#f2b84b42}.home-room-join{display:grid;justify-items:center;gap:8px}.home-room-join label{color:var(--color-muted);font-size:12px;text-align:center}.home-room-join .room-code-input__boxes{gap:6px}.home-room-join .room-code-input__box{width:40px;height:44px;border-radius:8px;color:#fff;background:#ffffff0f;border:1px solid rgba(255,255,255,.15);font-size:18px;box-shadow:none}.home-room-join button{min-height:34px;padding:7px 18px;border-radius:999px;border-color:#25d36647;background:#25d36629;box-shadow:none}.home-hero--profile{align-content:center;gap:8px;text-align:center}.home-welcome-avatar{width:48px;height:48px;display:grid;place-items:center;margin-inline:auto;border-radius:999px;background:linear-gradient(145deg,#25d366f2,#128c7ee6);box-shadow:0 0 34px #25d36633;font-size:1.45rem;font-weight:800}.home-hero--profile h1{margin:0;color:#fff;font-size:20px;font-weight:600}.home-hero--profile p{margin:0;color:var(--color-muted);font-size:.86rem}.home-sheet{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:grid;align-items:end}.home-sheet__backdrop{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;min-height:0;padding:0;border:0;border-radius:0;background:#0000007a;box-shadow:none}.home-sheet__panel{position:relative;z-index:1;width:min(100%,var(--app-max-width));margin-inline:auto;padding:10px 18px max(18px,env(safe-area-inset-bottom));border-radius:22px 22px 0 0;background:#1c1b27fa;border:1px solid rgba(255,255,255,.08);box-shadow:0 -18px 44px #0000007a}.home-sheet__handle{width:44px;height:5px;min-height:5px;display:block;margin:0 auto 14px;padding:0;border:0;border-radius:999px;background:#ffffff38;box-shadow:none}.home-sheet__identity{display:flex;align-items:center;gap:12px;margin-bottom:12px}.home-sheet__avatar{width:38px;height:38px;display:grid;place-items:center;border-radius:999px;background:#ffffff14}.home-sheet__identity h2,.home-sheet__identity p{margin:0}.home-sheet__identity h2{color:#fff;font-size:1rem}.home-sheet__identity p{margin-top:2px;color:var(--color-muted);font-size:.78rem}.home-sheet__actions{display:grid;gap:8px}.home-sheet__action{min-height:44px;padding:0 12px;border-radius:12px;border:1px solid rgba(255,255,255,.08);color:#fff;background:#ffffff0e;box-shadow:none;text-align:left}.home-sheet__action--danger{color:#ffb7b7;border-color:#e5484d38}.home-sheet__action--admin{color:var(--color-muted);font-size:.82rem}@media (max-height: 720px){.home-screen{grid-template-rows:38dvh 1fr;gap:0}.home-hero-cards{height:190px;transform:scale(.86)}.home-content{gap:10px}.home-identity h1{font-size:36px}.home-play-now{height:54px;min-height:54px}}.home-screen{grid-template-rows:42dvh 1fr}.home-content{grid-template-rows:minmax(92px,18dvh) auto auto;align-content:stretch;gap:12px}.home-identity,.home-actions{align-self:center}.home-room-join{align-self:end}.home-hero--profile{position:relative;display:grid;place-items:center}.home-hero--profile .home-hero-cards{grid-area:1 / 1;z-index:0}.home-welcome-pill{grid-area:1 / 1;z-index:1;display:grid;justify-items:center;gap:5px;padding:8px 16px;border-radius:20px;background:#00000080;border:1px solid rgba(255,255,255,.08);box-shadow:0 12px 28px #0000005c;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.home-welcome-avatar{width:48px;height:48px;color:#fff;background:#25d366;font-size:1.2rem}.home-hero--profile h1{font-size:18px;font-weight:600}.home-hero--profile p{font-size:13px}.home-screen--signed-in .home-content{grid-template-rows:minmax(86px,18dvh) auto}@media (max-height: 720px){.home-screen{grid-template-rows:40dvh 1fr}.home-content,.home-screen--signed-in .home-content{grid-template-rows:minmax(72px,16dvh) auto;gap:9px}.home-welcome-pill{padding:7px 14px}}.home-screen{grid-template-rows:44dvh 1fr}.home-hero{padding-top:max(26px,env(safe-area-inset-top));align-content:center}.home-hero-cards{width:min(320px,86vw);height:164px}.home-hero-card{left:50%;top:22px;width:80px;height:110px;border-color:#d4af37b3;box-shadow:0 8px 24px #000000b3}.home-hero-card:after{color:#d4af3799}.home-hero-card--one{transform:rotate(-12deg) translate(-60px,10px)}.home-hero-card--two{transform:rotate(-5deg) translate(-20px)}.home-hero-card--three{transform:rotate(3deg) translate(20px,5px)}.home-hero-card--four{transform:rotate(10deg) translate(55px,10px)}.home-hero-card--five,.home-hero-card--six{display:none}.home-hero--profile{grid-template-rows:auto auto;align-content:center;gap:4px}.home-hero--profile .home-hero-cards,.home-welcome-pill{grid-area:auto}.home-welcome-pill{margin-top:0}.home-content,.home-screen--signed-in .home-content{display:flex;flex-direction:column;justify-content:flex-start;gap:0;min-height:0}.home-identity{align-self:stretch;margin-top:16px}.home-identity p{margin-top:4px}.home-actions{align-self:stretch;margin-top:20px;gap:10px}.home-room-join{display:grid;align-self:stretch;justify-items:center;margin-top:auto;padding-top:16px;padding-bottom:0}.home-room-join .room-code-input,.home-room-join .room-code-input__boxes{display:block}.home-room-join .room-code-input__boxes{display:flex;justify-content:center}@media (max-height: 720px){.home-screen{grid-template-rows:40dvh 1fr}.home-hero-cards{height:142px;transform:none}.home-hero-card{width:70px;height:96px}.home-identity{margin-top:10px}.home-actions{margin-top:14px}.home-room-join{padding-top:10px}}.home-hero-card{margin-left:-40px}.home-secondary-actions{gap:8px}.home-secondary-actions button{flex:1 1 0;height:48px;min-height:48px;padding:0 6px;font-size:12px;white-space:nowrap}.home-welcome-pill{max-width:280px;margin-inline:auto;padding:10px 20px;border-radius:16px;background:#0000008c;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.home-room-join .room-code-input__box{color:#fff;background:#ffffff14;border:1.5px solid rgba(255,255,255,.2)}.home-welcome-pill{background:#0d111780!important;backdrop-filter:blur(12px)!important;-webkit-backdrop-filter:blur(12px)!important;border:1px solid rgba(255,255,255,.08)!important;border-radius:20px!important;padding:12px 24px!important;max-width:260px!important;margin:0 auto!important;box-shadow:none!important}.room-code-input,input[type=text].otp-box,.otp-input,.room-code-input__native,.room-code-input__box{background:#ffffff1f!important;border:1.5px solid rgba(255,255,255,.3)!important;color:#fff!important;border-radius:10px!important}.room-code-input__native{opacity:0!important}.home-welcome-pill,.home-identity-pill{background:transparent!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;border:1px solid rgba(255,255,255,.15)!important;border-radius:20px!important;padding:12px 24px!important;max-width:260px!important;margin:0 auto!important;box-shadow:none!important}
