:root{--ink: #0c1210;--felt: #0f3d2c;--felt-deep: #08261c;--wood: #5a3217;--wood-edge: #3a1f0c;--gold: #d4b15a;--gold-deep: #a9842d;--cream: #f4ead6;--paper: #fbf7ee;--heart: #c4293a;--muted: #cbbfa8;--shadow: 0 18px 50px rgba(0, 0, 0, .42);--ad-banner-height: 0px;--ad-banner-lift: 0px;--ad-banner-reserve: calc(var(--ad-banner-height) + var(--ad-banner-lift));font-family:Outfit,sans-serif;color:var(--cream);background:var(--ink);line-height:1.4}*{box-sizing:border-box}html,body,#root{margin:0;min-height:100%}body.has-ad-banner .lobby-overlay{min-height:calc(100dvh - var(--ad-banner-reserve, 0px));max-height:calc(100dvh - var(--ad-banner-reserve, 0px))}body{background:radial-gradient(1200px 700px at 50% -10%,rgba(212,177,90,.16),transparent 50%),radial-gradient(circle at 20% 80%,rgba(15,61,44,.7),transparent 40%),linear-gradient(180deg,#101816,#0b100e)}button,input{font:inherit}h1,h2{font-family:Cormorant Garamond,serif;font-weight:600;margin:0}.eyebrow{margin:0 0 .35rem;letter-spacing:.22em;text-transform:uppercase;font-size:.72rem;color:var(--gold)}.btn{border:0;cursor:pointer;border-radius:999px;padding:.85rem 1.4rem;transition:transform .15s ease,filter .15s ease,opacity .15s ease}.btn:hover:not(:disabled){transform:translateY(-1px);filter:brightness(1.05)}.btn:disabled{opacity:.4;cursor:default}.btn.primary{background:var(--cream);color:var(--ink);font-weight:600}.btn.ghost{background:transparent;color:var(--cream);border:1px solid rgba(244,234,214,.28)}.btn.gold{background:linear-gradient(180deg,#e3c57a,var(--gold-deep));color:#23180a;font-weight:700}.btn.small{padding:.45rem .9rem;font-size:.85rem}.btn.pulse{animation:pulse 1.6s ease-in-out infinite}@keyframes pulse{0%,to{box-shadow:0 0 #d4b15a73}50%{box-shadow:0 0 0 8px #d4b15a00}}.game-screen{min-height:100vh}.lobby-overlay{--keyboard-inset: 0px;min-height:100vh;min-height:100dvh;max-height:100dvh;overflow-x:hidden;overflow-y:auto;display:grid;place-items:center;padding:20px;padding-bottom:calc(28px + env(safe-area-inset-bottom,0px) + var(--keyboard-inset) + var(--ad-banner-reserve, 0px));background:radial-gradient(ellipse 80% 55% at 50% 18%,rgba(212,177,90,.16),transparent 58%),radial-gradient(ellipse 90% 50% at 50% 100%,rgba(15,61,44,.5),transparent 55%),linear-gradient(180deg,#101816,#0b100e)}.lobby-overlay.keyboard-open{place-items:start center;align-content:start}.lobby-overlay.keyboard-open .lobby-card{margin-block:8px 16px}.lobby-overlay.keyboard-open .lobby-hand,.lobby-overlay.keyboard-open .lobby-copy,.lobby-overlay.keyboard-open .byline{display:none}.lobby-overlay.keyboard-open .lobby-title{font-size:1.7rem}.lobby-atmosphere{position:fixed;top:0;right:0;bottom:0;left:0;overflow:hidden;pointer-events:none}.lobby-felt{position:absolute;left:-10%;right:-10%;bottom:-8%;height:42%;background:radial-gradient(ellipse at 50% 0%,rgba(47,179,90,.14),transparent 55%),linear-gradient(180deg,transparent,rgba(8,38,28,.55));border-radius:50% 50% 0 0/28% 28% 0 0}.lobby-card{position:relative;z-index:1;width:min(100%,420px);padding:28px 24px 22px;display:grid;gap:18px;border:1px solid rgba(255,255,255,.14);border-radius:24px;box-shadow:0 24px 48px #00000073,inset 0 1px #ffffff14;background:linear-gradient(165deg,#1c201ef0,#0e100feb);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.lobby-brand{display:grid;gap:8px;justify-items:center;text-align:center}.lobby-hand{display:flex;align-items:flex-end;justify-content:center;height:92px;margin-bottom:2px}.lobby-hand .card{margin:0 -12px;pointer-events:none}.lobby-title{margin:0;font-size:clamp(2.4rem,9vw,3.2rem);line-height:.95;letter-spacing:-.03em}.byline{margin:0;font-family:Cormorant Garamond,serif;font-size:1.15rem;font-style:italic;letter-spacing:.18em;color:var(--gold)}.lobby-copy,.lobby-hint,.lobby-share-status{margin:0;color:var(--muted);line-height:1.5}.lobby-brand .lobby-copy{max-width:32ch;font-size:.98rem}.lobby-section{display:grid;gap:12px}.lobby-button{width:100%;min-height:56px}.lobby-button-primary{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-height:64px}.lobby-button-hint{font-size:.75rem;font-weight:650;letter-spacing:.04em;text-transform:uppercase;opacity:.8}.lobby-subtitle{margin:0;font-size:1.15rem}.lobby-label{margin:0;color:var(--muted);font-size:.92rem}.lobby-input{width:100%;border:1px solid rgba(244,234,214,.2);background:#ffffff0a;color:var(--cream);border-radius:999px;padding:.75rem .95rem;outline:none}.lobby-input:focus{border-color:var(--gold)}.lobby-stepper{display:grid;grid-template-columns:48px 1fr 48px;align-items:center;min-height:48px;border:1px solid rgba(244,234,214,.2);border-radius:999px;background:#ffffff0a}.lobby-stepper strong{text-align:center;font-size:1.2rem;font-weight:700}.lobby-stepper-button{width:48px;height:48px;border:0;background:transparent;color:var(--cream);font-size:1.4rem;line-height:1;cursor:pointer}.lobby-stepper-button:disabled{opacity:.28;cursor:default}.lobby-actions{display:flex;gap:10px;margin-top:4px}.lobby-actions .btn{flex:1}.lobby-actions .btn{width:100%}.lobby-actions .lobby-button-primary{min-height:56px}.lobby-footer-links{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:6px 4px;margin-top:6px}.lobby-text-link{border:0;background:none;color:var(--gold);cursor:pointer;padding:.35rem .45rem}.lobby-footer-sep{color:var(--muted)}.remove-ads{display:grid;justify-items:center;gap:.45rem;margin:.4rem 0 0}.remove-ads .btn{min-width:12rem}.remove-ads-note{margin:0;color:var(--muted);font-size:.85rem;text-align:center}.lobby-copy a,.lobby-hint a{color:var(--gold)}.lobby-option{display:flex;align-items:center;gap:10px;color:var(--cream)}.lobby-error{margin:0;color:#f0b4b4;background:#c4293a29;border:1px solid rgba(196,41,58,.28);border-radius:12px;padding:.7rem .85rem}.lobby-share-status{text-align:center;font-size:.9rem}.lobby-code-mark{margin:0;text-align:center;font-size:1.8rem;font-weight:800;letter-spacing:.28em;color:var(--gold)}.lobby-seats{list-style:none;margin:0;padding:0;display:grid;gap:8px}.lobby-seats li{display:flex;justify-content:space-between;gap:12px;align-items:baseline;padding:.65rem .85rem;border:1px solid rgba(244,234,214,.16);border-radius:14px;background:#ffffff0a}.lobby-seats small{color:var(--muted)}.lobby-seats .is-away,.lobby-seats .is-empty{opacity:.62}.table-net-error{position:fixed;left:12px;right:12px;bottom:12px;z-index:40;margin:0;color:#f0b4b4;background:#c4293aeb;border-radius:12px;padding:.7rem .85rem;text-align:center}.game-screen{position:relative;display:grid;grid-template-rows:auto minmax(0,1fr) auto;height:100dvh;min-height:100dvh;overflow:hidden}.topbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.7rem 1.2rem .35rem}.topbar strong{font-family:Cormorant Garamond,serif;font-size:1.2rem;font-style:italic;color:var(--gold)}.status{margin:0;text-align:center;color:var(--muted);flex:1}.status.is-turn{color:var(--gold);font-weight:650}.topbar-actions{display:flex;align-items:center;gap:.45rem}.sound-toggle{width:2.15rem;height:2.15rem;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;padding:0;border:1px solid rgba(244,234,214,.28);border-radius:999px;background:#0c121073;color:var(--cream);cursor:pointer}.sound-toggle:hover{color:var(--gold);border-color:#d4b15a8c}.sound-toggle.is-muted{color:var(--muted)}.sound-toggle svg{display:block}.round-chip{margin-right:.15rem;color:var(--gold);font-size:.85rem;letter-spacing:.08em;text-transform:uppercase}.table-wrap{display:grid;min-height:0;padding:.25rem .55rem}.table{position:relative;width:100%;height:100%;min-height:0;overflow:hidden;background:radial-gradient(circle at 50% 45%,rgba(255,255,255,.05),transparent 28%),linear-gradient(180deg,#1b6a49 0%,var(--felt) 55%,var(--felt-deep) 100%);border:10px solid var(--wood);outline:3px solid var(--wood-edge);border-radius:8px;box-shadow:var(--shadow),inset 0 0 80px #00000059}.deal-layer{position:absolute;top:0;right:0;bottom:0;left:0;z-index:6;pointer-events:none}.deal-fly{position:absolute;left:var(--from-x);top:var(--from-y);transform:translate(-50%,-50%);animation:deal-fly .24s ease-out forwards}.deal-fly .card{width:36px;height:50px}@keyframes deal-fly{to{left:var(--to-x);top:var(--to-y);transform:translate(-50%,-50%) rotate(-14deg);opacity:.12}}@media(prefers-reduced-motion:reduce){.deal-fly,.seat-cards.is-revealed .card{animation:none;transform:none}}.piles{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;gap:2.4rem}@media(min-width:821px){.seat.slot-n .card-sm,.seat.slot-nw .card-sm,.seat.slot-ne .card-sm{width:46px;height:64px}.piles{top:8rem}}.pile{display:flex;flex-direction:column;align-items:center;gap:.45rem;color:#f4ead6cc;font-size:.8rem;letter-spacing:.06em;text-transform:uppercase}.empty-pile{width:64px;height:90px;border:1px dashed rgba(244,234,214,.3);border-radius:10px;display:grid;place-items:center;color:var(--muted)}.seat{position:absolute;z-index:2;display:flex;flex-direction:column;align-items:center;gap:.25rem;width:max-content;max-width:7.5rem}.seat.slot-n,.seat.slot-nw,.seat.slot-ne{top:.4rem;transform:translate(-50%)}.seat.slot-n{left:50%}.seat.slot-nw{left:26%}.seat.slot-ne{left:74%}.seat.slot-s,.seat.slot-sw,.seat.slot-se{top:auto;bottom:.4rem;transform:translate(-50%)}.seat.slot-s{left:50%}.seat.slot-sw{left:26%}.seat.slot-se{left:74%}.seat.slot-w,.seat.slot-wn,.seat.slot-ws{left:.75rem}.seat.slot-w{top:50%;transform:translateY(-50%)}.seat.slot-wn{top:20%}.seat.slot-ws{top:auto;bottom:16%}.seat.slot-e,.seat.slot-en,.seat.slot-es{left:auto;right:.75rem}.seat.slot-e{top:50%;transform:translateY(-50%)}.seat.slot-en{top:20%}.seat.slot-es{top:auto;bottom:16%}.table-6p .card-sm,.table-7p .card-sm{width:42px;height:60px}.table-6p .seat-cards .card+.card,.table-7p .seat-cards .card+.card{margin-left:-12px}.seat-meta{display:flex;flex-direction:column;align-items:center;gap:.15rem}.seat-who{display:flex;align-items:center;justify-content:center;gap:.3rem;max-width:100%}.seat-meta strong{font-size:.92rem;line-height:1.1;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.seat.is-current .seat-meta strong{color:var(--gold)}.seat.is-current .seat-meta{padding:.2rem .45rem .28rem;border-radius:12px;background:#d4b15a33;outline:1px solid rgba(212,177,90,.55)}.seat.is-current{filter:drop-shadow(0 0 18px rgba(212,177,90,.5))}.turn-tag{font-style:normal;font-size:.7rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#23180a;background:var(--gold);border-radius:999px;padding:.12rem .45rem;animation:pulse 1.6s ease-in-out infinite}.seat.is-out{opacity:.45}.seat-cards{display:flex;justify-content:center}.seat-cards .card+.card{margin-left:-10px}.seat-cards.is-revealed .card+.card{margin-left:-6px}.seat-cards.is-revealed .card{z-index:1}.seat-cards.is-revealed .card:nth-child(1){transform:rotate(-8deg) translateY(3px);z-index:0}.seat-cards.is-revealed .card:nth-child(3){transform:rotate(8deg) translateY(3px);z-index:2}.seat-score{margin:0;font-size:.8rem;color:var(--gold)}.knock-tag,.out-tag{font-style:normal;font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:var(--gold)}.knock-call{position:absolute;top:0;right:0;bottom:0;left:0;z-index:8;display:grid;place-items:center;pointer-events:none;background:radial-gradient(ellipse at 50% 42%,rgba(12,18,16,.28),transparent 58%);animation:knock-call-fade 2.4s ease-out forwards}.knock-call p{margin:0 1.2rem;padding:.7rem 1.35rem;border:1px solid rgba(212,177,90,.45);border-radius:18px;background:#0c1210d1;color:var(--cream);font-size:clamp(1.35rem,4.4vw,2.4rem);font-weight:650;letter-spacing:.02em;text-align:center;box-shadow:0 16px 40px #00000059}.move-call{position:absolute;inset:auto 0 38%;z-index:7;display:grid;place-items:center;pointer-events:none}.move-call p{margin:0 1rem;padding:.55rem 1.1rem;border:1px solid rgba(212,177,90,.4);border-radius:16px;background:#0c1210e0;color:var(--cream);font-size:clamp(.95rem,3.2vw,1.25rem);font-weight:600;letter-spacing:.01em;text-align:center;box-shadow:0 12px 28px #00000059;animation:knock-call-fade 2.8s ease-out forwards}.knock-call strong{font-family:Cormorant Garamond,serif;font-style:italic;font-weight:600;color:var(--gold)}@keyframes knock-call-fade{0%{opacity:0;transform:scale(.96)}12%{opacity:1;transform:scale(1)}78%{opacity:1}to{opacity:0}}.tray{padding:.2rem 1rem calc(.7rem + env(safe-area-inset-bottom,0px))}.tray.is-current h2{color:var(--gold)}.tray.is-current .tray-meta{padding:.15rem .2rem}.tray-meta,.tray-actions{width:min(960px,94vw);margin:0 auto;display:flex;justify-content:center;align-items:center;gap:.7rem}.tray-meta h2{font-size:1.55rem}.tray-meta>div{display:grid;justify-items:center}.hand{display:flex;justify-content:center;min-height:170px;padding-top:.4rem}.hand .card{margin:0 6px}.hint{margin:0;color:var(--muted);font-size:.92rem}.hearts{display:flex;gap:.15rem;font-size:1.05rem}.heart.on{color:var(--heart)}.heart.off{color:#f4ead638}.card{position:relative;border:0;padding:0;background:none;color:inherit;transform-origin:center bottom}.card:disabled{opacity:1}.card-xs{width:40px;height:56px}.card-sm{width:54px;height:76px}.card-md{width:64px;height:90px}.card-lg{width:104px;height:148px}.card-face,.card-back{width:100%;height:100%;border-radius:10px;box-shadow:0 10px 20px #00000047}.card-face{background:var(--paper);color:#17120c;position:relative;overflow:hidden}.card-back{background:linear-gradient(145deg,rgba(212,177,90,.18),transparent 42%),repeating-linear-gradient(45deg,#1a2c3f 0,#1a2c3f 8px,#152536 8px,#152536 16px);border:2px solid var(--gold);color:var(--gold);display:grid;place-items:center;font-family:Cormorant Garamond,serif}.card-back-title{display:block;line-height:1;letter-spacing:.08em;text-align:center;font-style:italic}.card-xs .card-back-title{font-size:.48rem}.card-sm .card-back-title{font-size:.62rem}.card-md .card-back-title{font-size:.82rem}.card-lg .card-back-title{font-size:1.05rem}.card-corner{position:absolute;display:flex;flex-direction:column;align-items:flex-start;line-height:1;gap:.14em;font-family:Cormorant Garamond,serif;z-index:1}.card-corner:not(.card-corner-br){top:3px;left:4px}.card-corner b{display:block;font-weight:700;line-height:1;padding-bottom:.12em}.card-corner i{font-style:normal;display:block;line-height:1;margin:0}.card-xs .card-corner{gap:.1em}.card-xs .card-corner:not(.card-corner-br){top:1px;left:2px}.card-xs .card-corner-br{right:2px;bottom:1px}.card-xs .card-corner b{font-size:.72rem;padding-bottom:.08em}.card-xs .card-corner i{font-size:.52rem}.card-sm .card-corner{gap:.12em}.card-sm .card-corner:not(.card-corner-br){top:2px;left:3px}.card-sm .card-corner b{font-size:.88rem;padding-bottom:.1em}.card-sm .card-corner i{font-size:.64rem}.card-md .card-corner{gap:.16em}.card-md .card-corner:not(.card-corner-br){top:3px;left:4px}.card-md .card-corner b{font-size:1.15rem;padding-bottom:.14em}.card-md .card-corner i{font-size:.82rem}.card-lg .card-corner{gap:.2em}.card-lg .card-corner:not(.card-corner-br){top:4px;left:5px}.card-lg .card-corner b{font-size:1.5rem;padding-bottom:.16em}.card-lg .card-corner i{font-size:1.05rem}.card.is-ten .card-corner b{letter-spacing:-.08em}.card.is-jack .card-corner{gap:.28em}.card.is-jack .card-corner b{padding-bottom:.22em}.card-corner-br{top:auto;left:auto;right:4px;bottom:3px;transform:rotate(180deg)}.card-lg .card-corner-br{right:5px;bottom:4px}.card-pip{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;font-size:1.85em;pointer-events:none}.card-xs .card-pip{font-size:.95em}.card-sm .card-pip{font-size:1.15em}.card-md .card-pip{font-size:1.55em}.card.is-red .card-face{color:var(--heart)}.card.is-clickable{cursor:pointer}.card.is-clickable:hover .card-face,.card.is-clickable:hover .card-back{transform:translateY(-6px)}.card.is-highlighted .card-face{box-shadow:0 0 0 3px var(--gold),0 10px 20px #00000047}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;bottom:var(--ad-banner-reserve, 0px);background:#060a08b8;display:grid;place-items:center;padding:1rem;z-index:20}.modal{width:min(460px,100%);background:#141b18;border:1px solid rgba(212,177,90,.28);border-radius:24px;padding:1.6rem 1.5rem 1.4rem;box-shadow:var(--shadow)}.modal h2{font-size:2.6rem;margin-bottom:.8rem}.rules-copy{color:var(--muted)}.rules-copy p+p{margin-top:.7rem}.scoreboard{list-style:none;margin:0 0 1rem;padding:0}.scoreboard li{display:flex;justify-content:space-between;gap:1rem;padding:.45rem 0;border-bottom:1px solid rgba(244,234,214,.08)}.result-note{color:var(--muted);margin-top:0}.modal .btn{width:100%;margin-top:.6rem}.modal-actions{display:flex;gap:.6rem;margin-top:.4rem}.modal-actions.column{flex-direction:column}.result-modal{max-height:calc(100dvh - var(--ad-banner-reserve, 0px) - 2rem);overflow:auto}.modal-actions .btn{margin-top:0}.leave-backdrop{z-index:30}@media(max-width:820px){.table{border-width:7px}.seat{gap:.1rem;max-width:5.6rem}.seat-meta strong{font-size:.78rem}.seat .hearts{font-size:.72rem;gap:.04rem}.seat .card-sm{width:34px;height:48px}.table-6p .seat .card-sm,.table-7p .seat .card-sm{width:32px;height:46px}.seat-cards .card+.card{margin-left:-14px}.table-6p .seat-cards .card+.card,.table-7p .seat-cards .card+.card{margin-left:-13px}.seat-cards.is-revealed .card-sm{width:40px;height:56px}.seat-cards.is-revealed .card+.card,.table-6p .seat-cards.is-revealed .card+.card,.table-7p .seat-cards.is-revealed .card+.card{margin-left:-6px}.seat:has(.seat-cards.is-revealed){max-width:7.4rem}.seat .card-face,.seat .card-back{border-radius:6px;box-shadow:0 4px 10px #00000047}.seat .card-back{border-width:1.5px}.seat .card-sm .card-back-title{font-size:.4rem}.seat .knock-tag,.seat .out-tag,.seat-score{font-size:.62rem}.piles{top:5.35rem;gap:1.1rem}.pile{gap:.28rem;font-size:.7rem}.pile .card-md,.empty-pile{width:56px;height:80px}.topbar,.status{font-size:.9rem}.topbar{flex-wrap:wrap}.status{order:3;flex-basis:100%}}@media(max-width:640px){.game-screen{padding-bottom:env(safe-area-inset-bottom)}.table-wrap{padding:.15rem .35rem}.table{border-width:6px}.seat.slot-n,.seat.slot-nw,.seat.slot-ne{top:.25rem}.seat.slot-s,.seat.slot-sw,.seat.slot-se{bottom:.25rem}.seat.slot-w,.seat.slot-wn,.seat.slot-ws{left:.7rem}.seat.slot-e,.seat.slot-en,.seat.slot-es{right:.7rem}.seat{max-width:5.1rem}.seat-meta strong{font-size:.72rem}.seat .hearts{font-size:.64rem}.seat .card-sm{width:30px;height:42px}.table-6p .seat .card-sm,.table-7p .seat .card-sm{width:28px;height:40px}.seat-cards .card+.card{margin-left:-12px}.table-6p .seat-cards .card+.card,.table-7p .seat-cards .card+.card{margin-left:-11px}.seat-cards.is-revealed .card-sm{width:36px;height:52px}.seat-cards.is-revealed .card+.card,.table-6p .seat-cards.is-revealed .card+.card,.table-7p .seat-cards.is-revealed .card+.card{margin-left:-5px}.seat:has(.seat-cards.is-revealed){max-width:6.8rem}.seat .card-sm .card-back-title{font-size:.34rem}.piles{top:4.7rem;gap:.7rem}.pile .card-md,.empty-pile{width:48px;height:68px}.pile .card-md .card-back-title{font-size:.55rem}.tray{padding:.1rem .7rem calc(.55rem + env(safe-area-inset-bottom,0px))}.tray-meta,.tray-actions{flex-direction:column;align-items:center;text-align:center;gap:.35rem}.tray-meta h2{font-size:1.35rem}.card-lg{width:82px;height:116px}.card-lg .card-corner b{font-size:1.2rem}.card-lg .card-corner i{font-size:.88rem;margin-top:0}.hand{min-height:140px}.hand .card{margin:0 4px}}.fanfare-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:24;display:grid;place-items:center;overflow:hidden;background:#080c0a6b;animation:fanfare-wash 4.2s ease-out forwards}.fanfare-backdrop.miss,.fanfare-backdrop.out{animation-name:fanfare-miss-wash}.fanfare-burst{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.fanfare-piece{position:absolute;border-radius:1px;box-shadow:0 0 8px #d4b15a59;animation-name:confetti-fall;animation-timing-function:linear;animation-fill-mode:forwards}.fanfare-backdrop.miss .fanfare-piece:not(.face),.fanfare-backdrop.out .fanfare-piece:not(.face){box-shadow:0 0 8px #c4293a73}.fanfare-piece.face{background:none;box-shadow:none;border-radius:0;font-size:clamp(1.15rem,3vw,1.7rem);line-height:1}.fanfare-banner{position:relative;z-index:1;margin:0 1.5rem;padding:.85rem 1.4rem;max-width:16ch;text-align:center;font-family:Cormorant Garamond,serif;font-size:clamp(2.4rem,8vw,4.4rem);font-weight:600;line-height:.95;letter-spacing:-.02em;color:var(--cream);text-shadow:0 0 28px rgba(212,177,90,.55);animation:fanfare-flash 4.2s ease-out}.fanfare-banner.miss,.fanfare-banner.out{color:#ffd0c4;text-shadow:0 0 28px rgba(196,41,58,.7);animation-name:fanfare-miss-flash}@keyframes fanfare-wash{0%{background:#d4b15a47}18%{background:#080c0a6b}85%{background:#080c0a6b}to{background:#080c0a00}}@keyframes fanfare-miss-wash{0%{background:#c4293a6b}18%{background:#080c0a80}85%{background:#080c0a80}to{background:#080c0a00}}@keyframes fanfare-flash{0%{opacity:0;transform:scale(.72);filter:brightness(1.8)}12%{opacity:1;transform:scale(1.06);filter:brightness(1.35)}22%{transform:scale(1);filter:brightness(1)}38%{filter:brightness(1.45)}48%{filter:brightness(1)}86%{opacity:1}to{opacity:0;transform:scale(1.04)}}@keyframes fanfare-miss-flash{0%{opacity:0;transform:scale(.78) rotate(-4deg);filter:brightness(1.6)}10%{opacity:1;transform:scale(1.08) rotate(3deg)}18%{transform:scale(1) rotate(-2deg);filter:brightness(1)}28%{transform:rotate(2deg);filter:brightness(1.35)}38%{transform:rotate(-1deg);filter:brightness(1)}48%{transform:rotate(1deg)}58%{transform:rotate(0)}86%{opacity:1}to{opacity:0;transform:scale(.96)}}@keyframes confetti-fall{0%{transform:translateZ(0) rotate(0);opacity:1}to{transform:translate3d(var(--drift),110vh,0) rotate(720deg);opacity:.15}}@media(prefers-reduced-motion:reduce){.fanfare-piece{display:none}.fanfare-backdrop,.fanfare-banner,.knock-call,.move-call p{animation:none}}
