.bt-hero{display:grid;gap:28px;align-items:center;padding:8px 0}@media (min-width: 820px){.bt-hero{grid-template-columns:1.1fr 1fr}}.bt-title{font-family:var(--font-brand);font-size:clamp(44px,12vw,80px);letter-spacing:.06em;margin:6px 0 8px;line-height:1}.bt-hero .lede{color:var(--ink-dim);max-width:46ch}.bt-join{display:flex;gap:8px;max-width:420px}.bt-join .input{flex:1}.bt-hero-cards{display:flex;justify-content:center;--cw: clamp(64px, 16vw, 104px)}.bt-hero-cards>span{transform:rotate(var(--r)) translateY(calc(var(--r) * .6));margin:0 -10px;filter:drop-shadow(0 18px 24px rgba(0,0,0,.45))}.bt-code{font-family:var(--font-display);font-size:34px;font-weight:700;letter-spacing:.3em;text-align:center;padding:14px;margin:14px 0 10px;border-radius:16px;background:#040a1a73;border:1px dashed rgba(255,255,255,.25)}.bt-lobby-seats{list-style:none;padding:0;margin:16px 0;display:grid;gap:8px;grid-template-columns:1fr 1fr}.bt-lobby-seats li{display:flex;flex-direction:column;gap:2px;padding:12px;border-radius:14px;background:#ffffff0d;border:1px solid var(--line)}.bt-lobby-seats li.team-us{border-color:#5a8bff73}.bt-lobby-seats li.team-them{border-color:#ef8e0173}.bt-wrap{--cw: clamp(44px, min(9.5vw, 8.2vh), 80px);display:flex;flex-direction:column;gap:10px;max-width:980px;margin:0 auto}.bt-scorebar{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;padding:10px 14px}.bt-score{display:flex;flex-direction:column;align-items:center;min-width:64px}.bt-score span{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-faint)}.bt-score b{font-family:var(--font-display);font-size:28px;line-height:1.1}.bt-score.us b{color:var(--aw-blue-400)}.bt-score.them b{color:var(--aw-orange-300)}.bt-contract{display:flex;flex-direction:column;align-items:center;gap:4px;text-align:center}.bt-table{position:relative;min-height:calc(var(--cw) * 4.6);border-radius:28px;border:1px solid var(--glass-border);background:radial-gradient(ellipse at center,#0038bd59,#040a1a99 70%),#040a1a80;box-shadow:var(--glass-shadow),inset 0 0 60px #00000059;display:grid;grid-template-columns:1fr 2fr 1fr;grid-template-rows:auto 1fr;grid-template-areas:"top top top" "left center right";padding:12px;gap:8px}.bt-seat{position:relative;display:flex;flex-direction:column;align-items:center;gap:6px}.bt-seat.pos-top{grid-area:top}.bt-seat.pos-left{grid-area:left;justify-content:center}.bt-seat.pos-right{grid-area:right;justify-content:center}.bt-plate{display:flex;align-items:center;gap:6px;padding:5px 10px 5px 5px;border-radius:999px;background:#ffffff12;border:1px solid var(--line);max-width:100%}.bt-avatar{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;font-weight:700;font-size:13px;color:#fff;flex:none}.team-us .bt-avatar{background:var(--aw-blue)}.team-them .bt-avatar{background:var(--aw-orange-600)}.bt-name{font-size:13px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bt-dealer{font-size:10px;font-weight:800;width:18px;height:18px;display:grid;place-items:center;border-radius:50%;background:#fff;color:#0b1220}.bt-seat.is-turn .bt-plate{border-color:var(--aw-orange);box-shadow:0 0 0 3px #ef8e0140}.bt-backs{display:flex;--cw: clamp(22px, 4.2vw, 34px)}.bt-backs .bt-back{margin-left:calc(var(--cw) * -.62)}.bt-backs .bt-back:first-child{margin-left:0}.pos-left .bt-backs,.pos-right .bt-backs{transform:rotate(90deg);margin:calc(var(--cw) * .8) 0}.bt-bubble{font-size:13px;font-weight:700;padding:4px 10px;border-radius:999px;background:#fff;color:#0b1220;box-shadow:0 6px 16px -8px #0009}.bt-seat .bt-bubble{position:absolute;top:-6px;right:4px}.bt-center{grid-area:center;position:relative;min-height:calc(var(--cw) * 3.3)}.bt-buyer{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px}.bt-played{position:absolute;left:50%;top:50%;transition:transform .25s ease,opacity .25s ease}.bt-played.at-bottom{transform:translate(-50%,8%)}.bt-played.at-top{transform:translate(-50%,-108%)}.bt-played.at-left{transform:translate(-165%,-50%) rotate(-6deg)}.bt-played.at-right{transform:translate(65%,-50%) rotate(6deg)}.bt-played.is-last{opacity:.55}.bt-played.is-winner{opacity:.9}.bt-played .card{box-shadow:0 10px 24px -10px #000000b3}.bt-projects{position:absolute;left:0;right:0;bottom:-4px;display:flex;flex-wrap:wrap;justify-content:center;gap:6px}.bt-me{padding:10px 12px 14px;border-radius:24px;background:var(--glass-bg);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow)}.bt-me.is-turn{border-color:#ef8e0199}.bt-me-bar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:10px}.bt-bubble.static{position:static}.bt-bids{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-bottom:12px}.bt-suit{width:16px;height:16px}.bt-hand{display:flex;justify-content:center;padding-top:10px}.bt-hand .card{margin-left:calc(var(--cw) * -.28);transition:transform .15s ease,opacity .15s ease}.bt-hand .card:first-child{margin-left:0}.bt-card-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;padding:0;background:none;cursor:pointer;font:inherit}.bt-card-btn:disabled{cursor:default}.bt-hand .card.is-playable{transform:translateY(-10px)}.bt-hand .card.is-playable:hover,.bt-hand .card.is-playable:focus-visible{transform:translateY(-18px)}.bt-hand .card.is-blocked{opacity:.45;filter:saturate(.6)}.bt-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;display:grid;place-items:center;padding:16px;background:#04081499;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.bt-overlay>.panel{width:min(440px,100%)}.bt-summary{text-align:center}.bt-table-score{width:100%;border-collapse:collapse;margin:12px 0;font-variant-numeric:tabular-nums}.bt-table-score th,.bt-table-score td{padding:6px 8px;border-bottom:1px solid var(--line)}.bt-table-score td:first-child{text-align:left;color:var(--ink-dim)}.bt-table-score tr.total td{font-weight:700;color:var(--ink)}.bt-final{font-family:var(--font-display);font-size:40px;margin:8px 0}@media (max-width: 560px){.bt-played.at-left{transform:translate(-128%,-50%) rotate(-6deg)}.bt-played.at-right{transform:translate(28%,-50%) rotate(6deg)}.bt-table{grid-template-columns:1fr 1.6fr 1fr;padding:8px}.bt-name{max-width:84px}.bt-hand .card{margin-left:calc(var(--cw) * -.42)}}:root[data-motion=reduced] .bt-played,:root[data-motion=reduced] .bt-hand .card{transition:none}.bt-lobby-voice{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:14px}.bt-speaker{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;cursor:pointer;display:grid;place-items:center;width:24px;height:24px;border-radius:50%;color:#fff;background:#5a8bff59;transition:box-shadow .15s ease,background-color .15s ease}.bt-speaker.is-talking{background:var(--ok);color:#05210f;box-shadow:0 0 0 4px #4ade804d}.bt-speaker.is-muted{background:#ffffff1f;color:var(--ink-faint)}:root{--felt: #0d3327;--felt-deep: #08241b;--felt-hi: #165140;--panel: rgba(3, 20, 14, .55);--panel-solid: #0b2b21;--line: rgba(232, 240, 230, .14);--ink: #f2eee4;--ink-dim: #b8c8bf;--ink-faint: #86a094;--gold: #dcae4f;--gold-ink: #241a05;--teal: #45c7b5;--danger: #ef7a62;--ok: #7fd59a;--card: #f8f3e7;--card-edge: #ddd2bb;--card-ink: #1b2220;--suit-H: #b42a20;--suit-D: #b42a20;--suit-S: #1b2220;--suit-C: #1b2220;--back-0: #1c6f66;--back-0b: #13534c;--back-1: #2b3f74;--back-1b: #1e2d57;--radius: 14px;--font: "Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--cw: clamp(40px, min(calc((min(100vw, 780px) - 60px) / 7.2), calc((100dvh - 236px) / 8.4)), 100px);--hw: calc(var(--cw) * 2.6);--ch: calc(var(--cw) * 1.4);--cw-sm: calc(var(--cw) * .8);--ch-sm: calc(var(--cw-sm) * 1.4);--fw: clamp(31px, calc((min(100vw, 760px) - 99px)/8) , 64px);--fh: calc(var(--fw) * 1.36);color-scheme:dark}:root[data-suits=four]{--suit-D: #1f5fbf;--suit-C: #18773a}*{box-sizing:border-box}html,body{margin:0;padding:0}body{font-family:var(--font);color:var(--ink);background-color:var(--felt-deep);background-image:radial-gradient(120% 80% at 50% 0%,var(--felt-hi) 0%,var(--felt) 45%,var(--felt-deep) 100%),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 .05 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");background-blend-mode:normal,overlay;background-attachment:fixed;min-height:100dvh;-webkit-font-smoothing:antialiased;line-height:1.45;-webkit-tap-highlight-color:transparent}a{color:var(--gold);text-underline-offset:3px}a:hover{color:#f0c86b}h1,h2,h3{line-height:1.15;margin:0 0 .5em;letter-spacing:-.01em}p{margin:0 0 1em}:focus-visible{outline:3px solid var(--gold);outline-offset:2px;border-radius:6px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.app{min-height:100dvh;display:flex;flex-direction:column}.site-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:max(10px,env(safe-area-inset-top)) 16px 10px;border-bottom:1px solid var(--line);background:#04161066;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);position:sticky;top:0;z-index:20}.brand{display:flex;align-items:center;gap:8px;font-weight:800;font-size:clamp(16px,4.4vw,20px);white-space:nowrap;flex:none;color:var(--ink);text-decoration:none;letter-spacing:.02em}.brand-mark{width:28px;height:28px}.nav{display:flex;gap:4px;align-items:center;flex-wrap:wrap;justify-content:flex-end}.nav a{color:var(--ink-dim);text-decoration:none;font-size:14px;padding:8px;white-space:nowrap;border-radius:10px}.nav a:hover,.nav a.active{color:var(--ink);background:#ffffff0f}.nav .nav-hide-sm{display:none}@media (min-width: 640px){.nav .nav-hide-sm{display:inline-block}}.page{width:100%;max-width:960px;margin:0 auto;padding:24px 16px 48px;flex:1}.page-narrow{max-width:560px}.site-footer{text-align:center;color:var(--ink-faint);font-size:13px;padding:16px;border-top:1px solid var(--line)}.site-footer a{color:var(--ink-dim)}.banner{padding:10px 16px;font-size:14px;text-align:center}.banner-offline{background:#5b2a1e;color:#ffe2d6}.banner-info{background:#dcae4f29;color:var(--ink);border-bottom:1px solid rgba(220,174,79,.3)}.btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid transparent;cursor:pointer;font:inherit;font-weight:650;font-size:16px;line-height:1;padding:14px 20px;min-height:48px;border-radius:12px;display:inline-flex;align-items:center;justify-content:center;gap:8px;text-decoration:none;transition:transform .12s ease,background-color .15s ease,border-color .15s ease;touch-action:manipulation;-webkit-user-select:none;user-select:none}.btn:active{transform:translateY(1px) scale(.99)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--gold);color:var(--gold-ink)}.btn-primary:hover{background:#e8bd5e;color:var(--gold-ink)}.btn-secondary{background:#ffffff0f;color:var(--ink);border-color:#ffffff2e}.btn-secondary:hover{background:#ffffff1a;color:var(--ink)}.btn-ghost{background:transparent;color:var(--ink-dim);border-color:transparent}.btn-ghost:hover{color:var(--ink);background:#ffffff0f}.btn-danger{background:transparent;color:var(--danger);border-color:#ef7a6273}.btn-sm{min-height:38px;padding:9px 12px;font-size:14px;border-radius:10px}.btn-block{width:100%}.btn-row{display:flex;flex-wrap:wrap;gap:10px}.icon-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:transparent;color:var(--ink-dim);font-size:26px;line-height:1;width:40px;height:40px;border-radius:10px;cursor:pointer}.icon-btn:hover{background:#ffffff14;color:var(--ink)}.field{display:flex;flex-direction:column;gap:6px;margin-bottom:14px}.field label,.field .label{font-size:14px;color:var(--ink-dim);font-weight:600}.input,select.input,textarea.input{font:inherit;font-size:16px;color:var(--ink);background:#00000040;border:1px solid rgba(255,255,255,.2);border-radius:10px;padding:12px 14px;min-height:48px;width:100%}.input:focus{outline:2px solid var(--gold);outline-offset:1px}.input-code{text-transform:uppercase;letter-spacing:.3em;font-weight:700;font-size:20px;text-align:center}.hint{font-size:13px;color:var(--ink-faint)}.error-text{color:var(--danger);font-size:14px}.check{display:flex;gap:10px;align-items:center;min-height:44px;cursor:pointer}.check input{width:20px;height:20px;accent-color:var(--gold)}.panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:20px}.panel+.panel{margin-top:16px}.stack{display:flex;flex-direction:column;gap:12px}.muted{color:var(--ink-dim)}.faint{color:var(--ink-faint)}.center{text-align:center}.pill{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;padding:4px 9px;border-radius:999px;background:#ffffff14;color:var(--ink-dim)}.pill-gold{background:var(--gold);color:var(--gold-ink)}.pill-win{background:#7fd59a2e;color:var(--ok)}.pill-loss{background:#ef7a6229;color:var(--danger)}.dot{width:9px;height:9px;border-radius:50%;background:var(--ok);display:inline-block;flex:none}.dot-off{background:var(--danger);animation:blink 1.2s infinite}.spinner{width:28px;height:28px;border-radius:50%;border:3px solid rgba(255,255,255,.15);border-top-color:var(--gold);animation:spin .9s linear infinite;margin:0 auto}.hero{display:grid;gap:28px;align-items:center;padding:12px 0 8px}@media (min-width: 820px){.hero{grid-template-columns:1.05fr 1fr;padding-top:40px}}.hero h1{font-size:clamp(34px,10vw,68px);white-space:nowrap;font-weight:850;margin-bottom:4px;letter-spacing:-.03em}.hero h1 span{color:var(--gold)}.tagline{font-size:clamp(20px,5vw,26px);color:var(--ink);margin-bottom:8px;font-weight:600}.lede{color:var(--ink-dim);max-width:34em}.hero-cta{display:grid;gap:10px;margin:20px 0 14px;max-width:420px}@media (min-width: 480px){.hero-cta{grid-template-columns:1fr 1fr}.hero-cta-wide{grid-column:1 / -1}}.hero-links{display:flex;gap:16px;flex-wrap:wrap;font-size:15px}.hero-links a{color:var(--ink-dim)}.preview{--cw: clamp(44px, 13vw, 74px);border-radius:22px;padding:18px 14px;background:#0000002e;border:1px solid var(--line);box-shadow:inset 0 0 60px #00000059,0 20px 50px #0000004d;display:grid;gap:12px;justify-items:center}.preview-row{display:flex;gap:8px;justify-content:center}.preview .card{transform:rotate(var(--r, 0deg))}.features{display:grid;gap:14px;margin-top:36px}@media (min-width: 720px){.features{grid-template-columns:repeat(3,1fr)}}.feature h3{font-size:17px;margin-bottom:4px}.feature p{color:var(--ink-dim);font-size:15px;margin:0}.modes{display:grid;gap:12px}@media (min-width: 640px){.modes{grid-template-columns:1fr 1fr}}.mode{display:flex;flex-direction:column;gap:6px;text-align:left;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:18px;color:var(--ink);font:inherit;cursor:pointer;text-decoration:none;min-height:108px}.mode:hover{border-color:#dcae4f99;color:var(--ink)}.mode strong{font-size:18px}.mode span{color:var(--ink-dim);font-size:14px}.mode-primary{border-color:#dcae4f8c;background:linear-gradient(180deg,rgba(220,174,79,.14),var(--panel))}.room-code{font-size:clamp(36px,11vw,52px);font-weight:800;letter-spacing:.18em;text-align:center;margin:4px 0 8px;font-variant-numeric:tabular-nums}.seats{display:grid;gap:10px;grid-template-columns:1fr 1fr;margin:18px 0}.seat{border:1px solid var(--line);border-radius:12px;padding:14px;text-align:center;background:#0000002e;min-height:92px;display:flex;flex-direction:column;justify-content:center;gap:6px}.seat-name{font-weight:700;font-size:17px;overflow-wrap:anywhere}.seat-empty{color:var(--ink-faint);border-style:dashed}.seat-ready{border-color:#7fd59a99}.queue-orbit{width:96px;height:96px;margin:8px auto 18px;position:relative}.queue-orbit .card{position:absolute;left:50%;top:50%;--cw: 40px;animation:orbit 2.4s ease-in-out infinite}.queue-orbit .card:nth-child(2){animation-delay:-1.2s}.card{width:var(--cw);height:calc(var(--cw) * 1.4);border-radius:calc(var(--cw) * .11);position:relative;display:block;flex:none}.card-face,.card-back,.card-empty{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;display:block}.card-face{background:linear-gradient(180deg,#fffbf1 0%,var(--card) 60%,#efe7d4 100%);border:1px solid var(--card-edge);box-shadow:0 1px #fff9 inset,0 2px 5px #00000059;color:var(--card-ink);overflow:hidden}.card-face.suit-H{color:var(--suit-H)}.card-face.suit-D{color:var(--suit-D)}.card-face.suit-S{color:var(--suit-S)}.card-face.suit-C{color:var(--suit-C)}.card-face .corner{position:absolute;top:calc(var(--cw) * .05);left:calc(var(--cw) * .04);width:calc(var(--cw) * .3);display:flex;flex-direction:column;align-items:center;gap:1px;font-weight:800;font-size:max(12px,calc(var(--cw) * .29));line-height:1;letter-spacing:-.06em}.card-face .corner-suit{width:max(10px,calc(var(--cw) * .22));height:max(10px,calc(var(--cw) * .22))}.card-face .corner-r{left:auto;right:calc(var(--cw) * .04);display:none}.fan-left .card:not(.top-card) .card-face .corner-r{display:flex}.card-face .pip{position:absolute;width:46%;height:46%;left:33%;top:42%;opacity:.95}.card-face .court{position:absolute;right:calc(var(--cw) * .07);bottom:calc(var(--cw) * .05);font-weight:800;font-size:calc(var(--cw) * .2);opacity:.5}.card-face.mini .corner{position:static;justify-content:center;height:100%;flex-direction:column;gap:2px;font-size:calc(var(--fw) * .42)}.card-face.mini .corner-suit{width:calc(var(--fw) * .42);height:calc(var(--fw) * .42)}.card-back{border:2px solid rgba(255,255,255,.75);box-shadow:0 2px 5px #00000059}.back-0{background:repeating-linear-gradient(45deg,var(--back-0) 0 6px,var(--back-0b) 6px 12px)}.back-1{background:repeating-linear-gradient(-45deg,var(--back-1) 0 6px,var(--back-1b) 6px 12px)}.card-empty{border:2px dashed rgba(232,240,230,.22);background:#0000001f;display:flex;align-items:center;justify-content:center;color:var(--ink-faint);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;text-align:center}.game{min-height:100dvh;display:flex;flex-direction:column;max-width:1180px;margin:0 auto;width:100%;padding:env(safe-area-inset-top) 0 env(safe-area-inset-bottom)}.game-main{display:flex;flex-direction:column;flex:1}@media (min-width: 1000px){.game-main{flex-direction:row;gap:18px;padding:0 16px}.game-table-wrap{flex:1;max-width:760px;margin:0 auto}.game-side{width:300px;flex:none;padding-top:12px}}.pbar{display:flex;align-items:center;gap:10px;padding:8px 14px;min-height:52px;position:relative}.pbar-name{font-weight:700;font-size:16px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.pbar-sub{font-size:12px;color:var(--ink-faint)}.pbar-id{display:flex;flex-direction:column;min-width:0;flex:1}.pbar-status{display:flex;gap:6px;align-items:center}.turn-pill{font-size:12px;font-weight:800;padding:5px 10px;border-radius:999px;background:var(--gold);color:var(--gold-ink);letter-spacing:.03em;white-space:nowrap}.turn-pill.waiting{background:#ffffff1a;color:var(--ink-dim)}.clock{font-variant-numeric:tabular-nums;font-weight:800;font-size:18px;min-width:48px;text-align:right}.clock.low{color:var(--danger)}.clock-bar{position:absolute;left:14px;right:14px;bottom:2px;height:3px;border-radius:3px;background:#ffffff14;overflow:hidden}.clock-bar i{display:block;height:100%;background:var(--gold);transform-origin:left;transition:transform .25s linear}.clock-bar.low i{background:var(--danger)}.table{margin:0 10px;padding:10px 8px;border-radius:22px;background:radial-gradient(130% 90% at 50% 50%,#ffffff09,#0000002e);box-shadow:inset 0 0 50px #00000059;border:1px solid rgba(255,255,255,.05);display:flex;flex-direction:column;gap:10px}.pile-row{display:flex;justify-content:center;gap:max(8px,calc(var(--cw) * .22));align-items:flex-start}.pile-label{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--ink-faint);text-align:center;margin-top:4px;white-space:nowrap}.board-rows{display:flex;flex-direction:column;gap:6px;padding:8px 0;border-top:1px solid rgba(255,255,255,.06);border-bottom:1px solid rgba(255,255,255,.06)}.board-row{display:grid;grid-template-columns:minmax(var(--hw),1fr) var(--cw) var(--cw) minmax(var(--hw),1fr);gap:6px;justify-content:center;align-items:center}.foundation .card-empty{color:#dcae4f8c;border-color:#dcae4f47;font-size:13px}.drawn-slot.is-idle{opacity:.45}.pile{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;padding:0;margin:0;background:transparent;font:inherit;color:inherit;position:relative;cursor:pointer;display:block;border-radius:calc(var(--cw) * .11);touch-action:manipulation;transition:transform .12s ease}.pile:disabled{cursor:default}.pile.sm{--cw: var(--cw-sm);--ch: var(--ch-sm)}.pile .count{position:absolute;right:-6px;bottom:-6px;min-width:22px;height:22px;padding:0 6px;border-radius:11px;background:#06170f;color:var(--ink);font-size:12px;font-weight:800;display:flex;align-items:center;justify-content:center;border:1px solid rgba(255,255,255,.25);z-index:3}.pile .stack-shadow{position:absolute;top:0;right:0;bottom:0;left:0;transform:translate(3px,3px);border-radius:inherit;background:#00000040}.pile.is-selected{transform:translateY(-5px)}.pile.is-selected .top-card .card-face,.pile.is-selected>.card .card-face{outline:3px solid var(--gold);outline-offset:1px;box-shadow:0 8px 18px #00000073}.pile.is-target:after{content:"";position:absolute;top:-4px;right:-4px;bottom:-4px;left:-4px;border-radius:calc(var(--cw) * .14);border:3px solid var(--teal);box-shadow:0 0 14px #45c7b58c;pointer-events:none;z-index:5;animation:pulse 1.3s ease-in-out infinite}.pile.is-shake{animation:shake .36s ease}.house{width:100%;height:calc(var(--cw) * 1.4);container-type:inline-size}.house .card{position:absolute;top:0}.fan-right .card{left:calc(var(--i, 0) * var(--fan))}.fan-left .card{right:calc(var(--i, 0) * var(--fan))}.house .card-empty{font-size:10px}.house.is-target:after{width:calc(var(--cw) + 8px)}.fan-right.is-target:after{inset:-4px auto -4px calc(var(--last) * var(--fan) - 4px)}.fan-left.is-target:after{inset:-4px calc(var(--last) * var(--fan) - 4px) -4px auto}.drawn-slot .card-face{box-shadow:0 0 0 2px var(--gold),0 6px 14px #0006}.just-placed{animation:place .32s cubic-bezier(.2,.9,.3,1.3)}.deal-in{animation:deal .42s cubic-bezier(.2,.8,.3,1) both;animation-delay:calc(var(--d, 0) * 35ms)}.actions-bar{display:flex;gap:8px;justify-content:center;flex-wrap:wrap;padding:8px 12px 0;min-height:46px}.game-side{padding:8px 12px 16px}.feed{list-style:none;margin:0;padding:0;font-size:13px;color:var(--ink-dim)}.feed li{padding:6px 0;border-bottom:1px solid rgba(255,255,255,.06)}.feed li:first-child{color:var(--ink)}.feed li.tunj{color:#ffc6b8}.feed-panel{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:10px 12px}.feed-panel summary{cursor:pointer;font-size:13px;font-weight:700;color:var(--ink-dim);list-style:none;display:flex;justify-content:space-between;min-height:32px;align-items:center}.feed-panel summary::-webkit-details-marker{display:none}.feed-latest{font-size:13px;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.game-tools{display:flex;gap:6px;flex-wrap:wrap;margin-top:10px;justify-content:center}@media (min-width: 1000px){.game-tools{justify-content:flex-start}}.penalty-flash{position:fixed;left:50%;top:30%;transform:translate(-50%);z-index:40;background:#3b130c;border:2px solid var(--danger);color:#ffe5dc;border-radius:16px;padding:14px 20px;text-align:center;box-shadow:0 20px 50px #00000080;width:min(92vw,420px);animation:pop-in .3s ease}.penalty-flash strong{display:block;font-size:26px;letter-spacing:.04em;color:var(--danger)}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:30;display:flex;align-items:center;justify-content:center;padding:16px;background:#020c08b8;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.overlay-card{background:var(--panel-solid);border:1px solid var(--line);border-radius:20px;padding:24px 20px;width:min(100%,460px);text-align:center;box-shadow:0 30px 70px #0000008c;max-height:calc(100dvh - 32px);overflow:auto}.versus{display:grid;grid-template-columns:1fr auto 1fr;gap:10px;align-items:center;margin:14px 0}.versus .who{font-weight:800;font-size:19px;overflow-wrap:anywhere}.versus .vs{color:var(--gold);font-weight:800}.countdown{font-size:76px;font-weight:850;color:var(--gold);line-height:1;margin:6px 0;font-variant-numeric:tabular-nums;animation:pop-in .4s ease}.result-title{font-size:40px;font-weight:850;margin:4px 0}.result-title.win{color:var(--gold)}.recap{display:grid;grid-template-columns:1fr auto auto;gap:4px 14px;text-align:left;font-size:14px;margin:14px 0}.recap .h{color:var(--ink-faint);font-size:12px;text-transform:uppercase;letter-spacing:.05em}.recap .n{text-align:right;font-variant-numeric:tabular-nums;font-weight:700}.key-events{text-align:left;font-size:13px;color:var(--ink-dim);margin:0 0 14px;padding-left:18px}.win-glow{animation:glow 2.2s ease-in-out infinite}.rules h2{margin-top:28px;font-size:22px}.rules h3{margin-top:18px;font-size:17px}.rules ul,.rules ol{padding-left:20px}.rules li{margin-bottom:6px}.rules .rule-card{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:14px 16px;margin:12px 0}.rules .demo{display:flex;gap:6px;margin:10px 0;--cw: 44px}.history-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px}.history-item a{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;padding:12px 14px;background:var(--panel);border:1px solid var(--line);border-radius:12px;color:var(--ink);text-decoration:none}.history-item a:hover{border-color:#dcae4f80}.history-item .meta{font-size:13px;color:var(--ink-faint)}.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:14px 0}.stat{background:#0003;border-radius:12px;padding:12px 6px;text-align:center}.stat b{display:block;font-size:24px;font-variant-numeric:tabular-nums}.stat span{font-size:12px;color:var(--ink-faint);text-transform:uppercase;letter-spacing:.04em}.empty-state{text-align:center;padding:32px 16px}.empty-state .big{font-size:44px;margin-bottom:8px}.toasts{position:fixed;left:50%;top:max(10px,env(safe-area-inset-top));transform:translate(-50%);z-index:60;display:flex;flex-direction:column;gap:8px;width:min(92vw,440px);pointer-events:none}.toast{background:#0a1f18;border:1px solid rgba(255,255,255,.18);color:var(--ink);padding:12px 14px;border-radius:12px;font-size:14px;box-shadow:0 10px 30px #00000073;animation:toast-in .2s ease}.toast-error{border-color:#ef7a6299}.toast-penalty{border-color:var(--danger);background:#34120b}.toast-success{border-color:#7fd59a99}.modal{border:1px solid var(--line);border-radius:18px;padding:0;background:var(--panel-solid);color:var(--ink);width:min(94vw,480px);max-height:88dvh}.modal-wide{width:min(94vw,720px)}.modal::backdrop{background:#000000a6}.modal-inner{padding:16px 18px 20px}.modal-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.modal-head h2{margin:0;font-size:20px}@keyframes spin{to{transform:rotate(360deg)}}@keyframes blink{50%{opacity:.35}}@keyframes pulse{0%,to{opacity:.65}50%{opacity:1}}@keyframes shake{20%{transform:translate(-5px)}40%{transform:translate(5px)}60%{transform:translate(-3px)}80%{transform:translate(3px)}}@keyframes place{0%{transform:scale(1.12)}to{transform:scale(1)}}@keyframes deal{0%{opacity:0;transform:translateY(-28px) scale(.92)}to{opacity:1;transform:none}}@keyframes pop-in{0%{opacity:0;transform:translate(var(--tx, 0)) scale(.9)}to{opacity:1;transform:translate(var(--tx, 0)) scale(1)}}.penalty-flash{--tx: -50%}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes glow{0%,to{text-shadow:0 0 0 rgba(220,174,79,0)}50%{text-shadow:0 0 22px rgba(220,174,79,.6)}}@keyframes orbit{0%,to{transform:translate(-90%,-50%) rotate(-12deg)}50%{transform:translate(-10%,-50%) rotate(12deg)}}:root[data-motion=reduced] *,:root[data-motion=reduced] *:before,:root[data-motion=reduced] *:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}:root[data-motion=reduced] .pile.is-target:after{animation:none;opacity:1}.btn-tunj{background:#b8432c;color:#fff4ec;border-color:#e0644d;font-weight:850;letter-spacing:.03em;min-width:76px;box-shadow:0 4px 14px #b8432c59}.btn-tunj:hover{background:#cc4d34;color:#fff}.btn-tunj:disabled{opacity:.55}.penalty-flash{cursor:pointer}.penalty-flash.is-good{background:#0f2e22;border-color:var(--gold);color:var(--ink)}.penalty-flash.is-good strong{color:var(--gold)}.pile.is-explain:before{content:"";position:absolute;top:-6px;right:-6px;bottom:-6px;left:-6px;border-radius:calc(var(--cw) * .16);border:3px dashed var(--gold);box-shadow:0 0 18px #dcae4f99;pointer-events:none;z-index:6;animation:pulse 1s ease-in-out infinite}:root[data-motion=reduced] .pile.is-explain:before{animation:none}.mic-btn{background:#ffffff0f;color:var(--ink);border-color:#ffffff2e;gap:6px}.mic-btn.is-on{background:#1f6f4a;border-color:#3fc18a;color:#eafff3}.speaker-btn{padding:6px 8px;color:var(--ok)}.speaker-btn[aria-pressed=true]{color:var(--ink-faint)}.speaker-btn.is-talking{box-shadow:0 0 0 2px #7fd59a99}:root[data-motion=full] .speaker-btn.is-talking{animation:pulse .8s ease-in-out infinite}.portal-intro{text-align:center;margin:8px 0 18px}.portal-intro h1{font-size:clamp(32px,9vw,52px);font-weight:850;letter-spacing:-.03em;margin-bottom:4px}.portal-intro h1 span{color:var(--gold)}.auth-card h1{font-size:26px;margin-bottom:4px}.auth-tabs{display:grid;grid-template-columns:1fr 1fr;gap:4px;padding:4px;margin:14px 0 18px;border-radius:999px;background:#ffffff0f}.auth-tabs a{text-align:center;padding:9px 0;border-radius:999px;font-weight:700;color:var(--ink-dim);text-decoration:none}.auth-tabs a.is-on{background:var(--gold);color:var(--gold-ink)}.hub-head h1{font-size:clamp(28px,7vw,44px);margin:4px 0}.hub-head .lede{color:var(--ink-dim)}.game-grid{list-style:none;padding:0;margin:20px 0 0;display:grid;gap:14px;grid-template-columns:repeat(auto-fill,minmax(min(100%,220px),1fr))}.game-tile{display:flex;flex-direction:column;align-items:flex-start;gap:6px;height:100%;padding:18px;border-radius:var(--radius);border:1px solid var(--line);background:var(--panel);color:var(--ink);text-decoration:none;transition:transform .15s ease,border-color .15s ease}a.game-tile:hover,a.game-tile:focus-visible{transform:translateY(-2px);border-color:var(--gold)}.game-tile.is-soon{opacity:.6}.game-art{display:grid;place-items:center;width:56px;height:76px;border-radius:8px;background:var(--card);color:var(--card-ink);font-size:30px;font-weight:800;box-shadow:0 4px 12px #0000004d}.game-art.is-red{color:var(--suit-H)}.game-name{font-size:20px;font-weight:800;margin-top:6px}.game-tag{color:var(--ink-dim);font-size:14px;flex:1}@media (prefers-reduced-motion: reduce){.game-tile{transition:none}}:root[data-motion=reduced] .game-tile{transition:none}.admin-stats{display:grid;gap:10px;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));margin:12px 0 8px}.admin-tabs{grid-template-columns:repeat(3,1fr);max-width:460px}.admin-tabs button{border:0;background:none;font:inherit;padding:9px 0;border-radius:999px;font-weight:700;color:var(--ink-dim);cursor:pointer}.admin-tabs button.is-on{background:var(--gold);color:var(--gold-ink)}.admin-table-wrap{overflow-x:auto;margin:0 -4px}.admin-table{width:100%;border-collapse:collapse;font-size:14px;white-space:nowrap}.admin-table th{text-align:left;color:var(--ink-faint);font-weight:600;padding:8px;border-bottom:1px solid var(--line)}.admin-table td{padding:8px;border-bottom:1px solid var(--line)}@font-face{font-family:AIWAZIRI Couture;src:local("Couture"),local("Couture Bold"),url(/fonts/couture.woff2) format("woff2");font-display:swap}@font-face{font-family:AIWAZIRI PolySans;src:local("PolySans Median"),local("PolySans Trial Median"),local("PolySansTrial-Median"),url(/fonts/polysans-median.woff2) format("woff2");font-weight:500 700;font-display:swap}@font-face{font-family:AIWAZIRI PolySans;src:local("PolySans Neutral"),local("PolySans Trial Neutral"),local("PolySansTrial-Neutral"),url(/fonts/polysans-neutral.woff2) format("woff2");font-weight:300 499;font-display:swap}:root{--aw-blue: #0038bd;--aw-blue-400: #5a8bff;--aw-blue-600: #002e9d;--aw-blue-900: #00113d;--aw-orange: #ef8e01;--aw-orange-300: #ffb951;--aw-orange-600: #c97600;--aw-platinum: #eeeeee;--aw-bg: #0b1220;--felt: #0c1d48;--felt-deep: #070d1c;--felt-hi: #12307a;--panel: rgba(255, 255, 255, .06);--panel-solid: #111a2e;--line: rgba(255, 255, 255, .13);--ink: #ffffff;--ink-dim: #b8c2d1;--ink-faint: #8391a8;--gold: var(--aw-orange);--gold-ink: #1f1200;--teal: var(--aw-blue-400);--ok: #4ade80;--danger: #f87171;--back-0: #0038bd;--back-0b: #002a8f;--back-1: #b8620a;--back-1b: #8f4b06;--radius: 20px;--font: "Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-display: "AIWAZIRI PolySans", "Inter", ui-sans-serif, system-ui, sans-serif;--font-brand: "AIWAZIRI Couture", "AIWAZIRI PolySans", "Inter", ui-sans-serif, sans-serif;--glass-bg: linear-gradient(145deg, rgba(255, 255, 255, .11), rgba(255, 255, 255, .035) 55%, rgba(255, 255, 255, .06));--glass-border: rgba(255, 255, 255, .16);--glass-shadow: 0 1px 0 rgba(255, 255, 255, .22) inset, 0 -1px 0 rgba(255, 255, 255, .04) inset, 0 18px 50px -18px rgba(0, 8, 40, .75);--glass-blur: blur(22px) saturate(170%)}body{background-color:var(--aw-bg);background-image:radial-gradient(60% 50% at 12% 8%,rgba(0,56,189,.55) 0%,transparent 70%),radial-gradient(45% 40% at 92% 18%,rgba(239,142,1,.22) 0%,transparent 70%),radial-gradient(70% 60% at 70% 100%,rgba(0,46,157,.45) 0%,transparent 70%),linear-gradient(180deg,#0b1430 0%,var(--aw-bg) 60%);background-blend-mode:normal}.app{position:relative;isolation:isolate}.app:before,.app:after{content:"";position:fixed;z-index:-1;width:46vmax;height:46vmax;border-radius:50%;filter:blur(70px);opacity:.45;pointer-events:none;animation:aw-drift 26s ease-in-out infinite alternate}.app:before{background:radial-gradient(circle,rgba(0,56,189,.9),transparent 65%);top:-14vmax;left:-10vmax}.app:after{background:radial-gradient(circle,rgba(239,142,1,.55),transparent 65%);bottom:-18vmax;right:-12vmax;animation-duration:32s;animation-direction:alternate-reverse}@keyframes aw-drift{0%{transform:translateZ(0) scale(1)}to{transform:translate3d(8vmax,6vmax,0) scale(1.15)}}:root[data-motion=reduced] .app:before,:root[data-motion=reduced] .app:after{animation:none}@media (prefers-reduced-motion: reduce){.app:before,.app:after{animation:none}}h1,h2,h3,.brand,.btn,.nav a,.game-name,.auth-tabs a,.admin-tabs button,.pill{font-family:var(--font-display)}h1,h2{letter-spacing:-.02em}a{color:var(--aw-orange-300)}a:hover{color:#ffd08a}:focus-visible{outline-color:var(--aw-orange)}.panel,.site-header,.game-tile,.stat,.auth-tabs,.toast{background:var(--glass-bg);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur)}.panel{position:relative;overflow:hidden}.panel:before,.game-tile:before{content:"";position:absolute;inset:0 0 auto 0;height:55%;border-radius:inherit;background:linear-gradient(180deg,#ffffff1a,#fff0 80%);pointer-events:none}.panel>*,.game-tile>*{position:relative}.site-header{border-width:0 0 1px;border-radius:0;background:linear-gradient(180deg,#0b1220b8,#0b12206b);box-shadow:0 1px #ffffff0f inset}.site-footer{border-top-color:var(--line)}.stat{border-radius:16px}.btn{border-radius:14px;font-weight:600;letter-spacing:.005em}.btn-primary{color:#fff;background:linear-gradient(180deg,#2a62e6 0%,var(--aw-blue) 55%,var(--aw-blue-600) 100%);border-color:#ffffff2e;box-shadow:0 1px #ffffff59 inset,0 10px 24px -10px #0038bde6}.btn-primary:hover{color:#fff;background:linear-gradient(180deg,#3a70f0 0%,#0a43cc 55%,var(--aw-blue) 100%)}.btn-accent{color:#1f1200;background:linear-gradient(180deg,var(--aw-orange-300) 0%,var(--aw-orange) 60%,var(--aw-orange-600) 100%);border-color:#ffffff40;box-shadow:0 1px #ffffff73 inset,0 10px 24px -10px #ef8e01cc}.btn-accent:hover{color:#1f1200;filter:brightness(1.06)}.btn-secondary{background:#ffffff12;border-color:#fff3;box-shadow:0 1px #ffffff24 inset;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.input,select.input,textarea.input{background:#040a1a73;border-color:#ffffff29;border-radius:14px;box-shadow:0 1px #ffffff0d}.input:focus{outline:2px solid var(--aw-blue-400);outline-offset:1px;border-color:transparent}.check input{accent-color:var(--aw-orange)}.pill-gold{background:var(--aw-orange);color:#1f1200}.banner-info{background:#0038bd40;border-bottom-color:#5a8bff59}.brand{gap:10px}.brand-word{font-family:var(--font-brand);letter-spacing:.08em;font-weight:700}.brand-sub{font-family:var(--font-display);font-weight:500;color:var(--aw-orange-300);letter-spacing:.02em}.portal-hero{text-align:center;margin:4px 0 22px}.portal-wordmark{font-family:var(--font-brand);font-size:clamp(40px,12vw,76px);line-height:1;letter-spacing:.1em;margin:0;background:linear-gradient(180deg,#fff,#dfe8ff 55%,#9fb9ff);-webkit-background-clip:text;background-clip:text;color:transparent;text-shadow:0 10px 40px rgba(0,56,189,.35)}.portal-games{display:inline-block;margin-top:8px;font-family:var(--font-display);font-weight:600;font-size:13px;letter-spacing:.42em;text-transform:uppercase;color:var(--aw-orange-300)}.portal-tagline{color:var(--ink-dim);margin:12px auto 0;max-width:34ch}.portal-suits{display:flex;justify-content:center;gap:10px;margin-bottom:14px}.portal-suits span{display:grid;place-items:center;width:40px;height:54px;border-radius:10px;font-size:22px;color:#0b1220;background:linear-gradient(160deg,#fff,#e9edf6);box-shadow:0 1px #fff inset,0 10px 22px -10px #000000b3;transform:rotate(var(--r, 0deg)) translateY(var(--y, 0))}.portal-suits span.red{color:#c2410c}.auth-card{padding:26px;border-radius:26px}.auth-tabs{border-radius:999px}.auth-tabs a.is-on,.admin-tabs button.is-on{color:#fff;background:linear-gradient(180deg,#2a62e6,var(--aw-blue));box-shadow:0 1px #ffffff59 inset,0 6px 16px -8px #0038bde6}.invite-note{border-radius:16px;padding:14px 16px;margin:4px 0 18px;background:#ef8e011a;border:1px solid rgba(239,142,1,.35);color:#ffe7c2;font-size:14px}.game-tile{border-radius:22px;position:relative;overflow:hidden}a.game-tile:hover,a.game-tile:focus-visible{border-color:#ef8e01b3;box-shadow:var(--glass-shadow),0 0 0 1px #ef8e0159,0 20px 40px -20px #ef8e0180}.game-art{background:linear-gradient(160deg,#fff,#e9edf6);color:#0b1220}.game-art.is-red{color:#c2410c}.table,.board,.game-table{--line: rgba(255, 255, 255, .12)}@media (max-width: 480px){:root{--glass-blur: blur(14px) saturate(150%)}}@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))){:root{--glass-bg: rgba(17, 26, 46, .92)}}.music-btn{color:var(--ink-faint);min-width:38px;padding:9px 10px}.music-btn.is-on{color:var(--aw-orange-300)}.mic-btn.is-unavailable{opacity:.55}
