:root{color:#f2e7d4;font-synthesis:none;--club-ink:#151712;--club-surface:#1d201a;--club-felt:#365547;--club-walnut:#714b32;--club-brass:#c38b57;--club-ivory:#f2e7d4;--club-muted:#aaa899;--club-danger:#a75f55;--club-line:color-mix(in srgb, var(--club-ivory) 12%, transparent);--club-shadow:#07080675;background:#151712;font-family:Avenir Next,Segoe UI,sans-serif}*{box-sizing:border-box}html{background:var(--club-ink);min-width:320px}body{min-width:320px;min-height:100dvh;margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer;min-height:44px}button:active:not(:disabled){transform:translateY(1px)scale(.99)}button:focus-visible,input:focus-visible{outline:3px solid var(--club-brass);outline-offset:3px}button:disabled{cursor:not-allowed;opacity:.42}.setup-shell{isolation:isolate;place-items:center;min-height:100dvh;padding:clamp(1rem,4vw,3rem);display:grid;position:relative;overflow:hidden}.setup-ambient{z-index:-2;filter:blur(3px);background:linear-gradient(#0c0d0ba8,#0c0d0be6),url(/assets/modern-club/club-background.webp) 50%/cover;position:absolute;inset:-2rem;transform:scale(1.03)}.setup-shell:after{z-index:-1;content:"";pointer-events:none;opacity:.16;background:url(/assets/modern-club/grain-texture.webp);position:absolute;inset:0}.setup-panel{border:1px solid var(--club-line);background:color-mix(in srgb, var(--club-surface) 94%, transparent);width:min(42rem,100%);box-shadow:0 2rem 5rem var(--club-shadow);border-radius:1.25rem;padding:clamp(1.4rem,4vw,3rem)}.setup-panel h1{letter-spacing:-.045em;text-wrap:balance;margin:.25rem 0 .6rem;font-family:Iowan Old Style,Palatino Linotype,Georgia,serif;font-size:clamp(2.3rem,7vw,4.5rem);line-height:.95}.eyebrow{color:var(--club-brass);letter-spacing:.12em;text-transform:uppercase;margin:0}.setup-intro{max-width:38ch;color:var(--club-muted);line-height:1.6}.setup-options{gap:1rem;margin-top:2rem;display:grid}.setup-group{border:0;border-top:1px solid var(--club-line);margin:0;padding:1rem 0 0}.setup-group legend{padding:0 .75rem 0 0;font-weight:600}.setup-group legend span{color:var(--club-brass);font-variant-numeric:tabular-nums;margin-right:.5rem}.choice-row{flex-wrap:wrap;gap:.65rem;margin-top:.8rem;display:flex}.choice-row button{border:1px solid var(--club-line);color:var(--club-ivory);background:#292c25;border-radius:.65rem;padding:.7rem 1rem;transition:background-color .18s,border-color .18s,transform .18s}.choice-row button[aria-pressed=true]{border-color:var(--club-brass);color:var(--club-ink);background:var(--club-brass)}.voice-settings{gap:1.15rem;margin-top:.9rem;display:grid}.choice-column{gap:.4rem;display:grid}.choice-column label{color:var(--club-muted);letter-spacing:.1em;text-transform:uppercase;font-size:.78rem}.choice-column input{border:1px solid var(--club-line);width:100%;min-height:44px;color:var(--club-ivory);background:#22251f;border-radius:.65rem;padding:.65rem .8rem}.choice-column input::placeholder{color:color-mix(in srgb, var(--club-muted) 62%, transparent)}.choice-column input:focus-visible{border-color:var(--club-brass);outline:2px solid color-mix(in srgb, var(--club-brass) 55%, transparent);outline-offset:1px}.setup-note{color:var(--club-muted);margin:.15rem 0 0;font-size:.82rem;line-height:1.5}.setup-note code{color:var(--club-brass);background:color-mix(in srgb, var(--club-ivory) 9%, transparent);border-radius:.3rem;padding:.08rem .3rem;font-size:.95em}.setup-note-good{border-left:2px solid var(--club-brass);color:color-mix(in srgb, var(--club-ivory) 76%, transparent);padding-left:.8rem}.model-picker{gap:.55rem;display:grid}.model-grid{grid-template-columns:repeat(auto-fit,minmax(10.5rem,1fr));gap:.6rem;display:grid}.model-card{border:1px solid var(--club-line);text-align:left;color:var(--club-ivory);background:#292c25;border-radius:.8rem;align-content:start;gap:.18rem;padding:.8rem .85rem;transition:background-color .18s,border-color .18s,transform .18s;display:grid}.model-card:hover:not([aria-pressed=true]){border-color:color-mix(in srgb, var(--club-brass) 52%, transparent)}.model-card[aria-pressed=true]{border-color:var(--club-brass);color:var(--club-ink);background:var(--club-brass)}.model-card-custom{border-style:dashed}.model-name{font-weight:600}.model-note{color:var(--club-muted);font-size:.79rem;line-height:1.35}.model-cost{color:var(--club-brass);font-variant-numeric:tabular-nums;margin-top:.2rem;font-size:.82rem}.model-cost small{opacity:.72;font-size:.82em}.model-card[aria-pressed=true] .model-note,.model-card[aria-pressed=true] .model-cost{color:color-mix(in srgb, var(--club-ink) 74%, transparent)}.backgammon-board{aspect-ratio:5/3;filter:drop-shadow(0 1.4rem 2.2rem #0708066b);touch-action:manipulation;border-radius:1rem;width:min(100cqw,166.667cqh + .1px);max-width:100%;height:auto;max-height:100%;display:block}.backgammon-board [data-point]{cursor:pointer}.backgammon-board [data-point]:hover polygon{filter:brightness(1.08)}.game-shell{background:linear-gradient(#0a0b09c7,#0a0b09e6),url(/assets/modern-club/club-background.webp) 50%/cover;grid-template-rows:auto minmax(0,1fr) auto;height:100dvh;display:grid;position:relative;overflow:hidden}.game-shell:before{content:"";pointer-events:none;opacity:.12;background:url(/assets/modern-club/grain-texture.webp);position:absolute;inset:0}.hud-bar,.board-stage,.action-dock{z-index:1;position:relative}.notice-stack{gap:.35rem;display:grid}.hud-bar{border-bottom:1px solid var(--club-line);background:color-mix(in srgb,var(--club-surface) 94%,transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);grid-template-columns:minmax(5rem,.8fr) auto minmax(15rem,1fr);align-items:center;gap:1rem;min-height:3.25rem;padding:.45rem clamp(.75rem,2vw,1.5rem);display:grid}.hud-brand{color:var(--club-brass);font-family:Iowan Old Style,Palatino Linotype,Georgia,serif}.hud-home{border:1px solid var(--club-line);min-height:2.25rem;color:var(--club-brass);font:inherit;background:0 0;border-radius:.5rem;justify-self:start;padding:.35rem .75rem;font-weight:600}.hud-score{text-align:center;font-variant-numeric:tabular-nums}.hud-context{color:var(--club-muted);justify-content:flex-end;align-items:center;gap:.8rem;font-size:.86rem;display:flex}.match-progress{grid-template-columns:1fr 1fr;gap:.35rem;margin-top:.2rem;display:grid}.match-progress progress{width:100%;height:.22rem;accent-color:var(--club-brass)}.board-stage{place-items:center;min-height:0;padding:8px;display:grid;overflow:hidden;container-type:size}.action-dock{border-top:1px solid var(--club-line);background:color-mix(in srgb,var(--club-surface) 95%,transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);justify-content:space-between;align-items:center;gap:1rem;min-height:4.25rem;padding:.55rem clamp(.75rem,2vw,1.5rem);display:flex}.turn-status{min-width:12rem;color:var(--club-muted);gap:.35rem;display:grid}.action-group{flex-wrap:wrap;justify-content:flex-end;gap:.55rem;display:flex}.action-group button{border:1px solid var(--club-line);color:var(--club-ivory);background:#2a2d26;border-radius:.65rem;padding:.65rem 1rem}.action-group .button-primary{border-color:var(--club-brass);color:var(--club-ink);background:var(--club-brass);font-weight:600}.engine-loading{background:var(--club-ink);place-content:center;justify-items:center;min-height:100dvh;padding:2rem;display:grid}@media (width<=720px){.hud-bar{grid-template-columns:auto 1fr auto;gap:.4rem;min-height:2.8rem;padding:.35rem .6rem}.hud-brand{display:none}.hud-home{min-height:2.2rem;padding:.25rem .55rem}.hud-score{text-align:left}.hud-context{gap:.45rem;font-size:.74rem}.pip-count{display:none}.action-dock{min-height:4rem;padding:.4rem .55rem}.turn-status{min-width:0}.action-group{flex:1;grid-auto-columns:1fr;grid-auto-flow:column;display:grid}.action-group button{padding-inline:.5rem}.backgammon-board{width:min(100cqw,166.667cqh + .1px);height:auto}}@media (height<=520px) and (orientation:landscape){.hud-bar{min-height:2.5rem;padding-block:.25rem}.action-dock{min-height:3.4rem;padding-block:.25rem}}.system-banner{color:#f7dfd9;text-align:center;background:#653a34;padding:.45rem 1rem}.modal-backdrop{z-index:30;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#080907bd;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.leave-confirm-backdrop{z-index:40}.modal-card,.retry-surface{border:1px solid var(--club-line);width:min(30rem,100%);color:var(--club-ivory);background:var(--club-surface);box-shadow:0 2rem 5rem var(--club-shadow);text-align:left;border-radius:1rem;padding:1.4rem}.coach-drawer{z-index:24;border-left:1px solid var(--club-line);width:min(27rem,100vw - 2rem);color:var(--club-ivory);background:color-mix(in srgb,var(--club-surface) 97%,transparent);padding:1.25rem;position:fixed;top:3.25rem;bottom:4.25rem;right:0;overflow:auto;box-shadow:-1.5rem 0 3rem #0708064d}.drawer-heading{justify-content:space-between;align-items:center;gap:1rem;display:flex}.table-scroll{max-width:100%;overflow-x:auto}.toast{border:1px solid var(--club-line);max-width:min(32rem,100%);color:var(--club-ivory);background:var(--club-surface);box-shadow:0 .45rem 1rem var(--club-shadow);border-radius:.7rem;padding:.75rem 1rem}.retry-surface{width:min(72rem,100%);max-height:calc(100dvh - 2rem);overflow:auto}.analysis-screen{background:var(--club-ink);min-height:100dvh;padding:clamp(1rem,4vw,3rem)}.analysis-content{width:min(78rem,100%);margin-inline:auto}.analysis-screen h2{letter-spacing:-.035em;margin-block:1.5rem .6rem;font-size:clamp(2rem,5vw,3.6rem)}.analysis-summary{color:var(--club-muted);font-variant-numeric:tabular-nums;line-height:1.7}.analysis-empty{border:1px solid var(--club-line);color:var(--club-muted);background:var(--club-surface);margin-top:2rem;padding:1rem}.analysis-empty p{margin:0}.analysis-screen table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%}.analysis-screen th,.analysis-screen td{border-bottom:1px solid var(--club-line);text-align:left;padding:.8rem .7rem}.analysis-screen th{color:var(--club-muted);letter-spacing:.06em;text-transform:uppercase;font-size:.76rem}.severity{border-radius:.35rem;padding:.24rem .45rem;font-weight:600;display:inline-block}.severity[data-severity=inaccuracy]{color:#ead7ad;background:#514831}.severity[data-severity=error]{color:#f2c0ad;background:#593d34}.severity[data-severity=blunder]{color:#ffd8d2;background:#6b3835}.clean-play{border:1px solid color-mix(in srgb,var(--club-brass) 45%,transparent);background:var(--club-surface);align-items:center;gap:1rem;margin-top:2rem;padding:1rem;display:flex}.clean-play img{object-fit:cover;border-radius:50%;width:5rem;height:5rem}.clean-play p{color:var(--club-muted);margin:.2rem 0 0}.retry-actions{margin-top:.8rem}.retry-verdict{border-left:3px solid var(--club-brass);color:var(--club-ivory);background:#282b24;padding:.8rem 1rem}.online-panel{width:min(46rem,100%)}.online-panel h1{margin-bottom:.7rem}.online-options{grid-template-columns:minmax(0,1.35fr) minmax(13rem,.65fr);gap:clamp(1.2rem,4vw,2.4rem);margin-top:1.7rem;display:grid}.online-form{border-top:1px solid var(--club-line);align-content:start;gap:.7rem;min-width:0;padding-top:1rem;display:grid}.online-form h2{letter-spacing:-.015em;margin:0 0 .25rem;font-family:Iowan Old Style,Palatino Linotype,Georgia,serif;font-size:1.35rem}.online-form label,.copy-fallback label{color:var(--club-muted);letter-spacing:.045em;text-transform:uppercase;font-size:.83rem;font-weight:600}.online-form input,.copy-fallback input{border:1px solid var(--club-line);width:100%;min-height:44px;color:var(--club-ivory);background:#262922;border-radius:.55rem;padding:.68rem .78rem}.online-form .setup-group{margin-top:.25rem}.online-form>.button-primary,.online-form>.button-secondary{width:100%;margin-top:.25rem}.button-primary,.button-secondary{border-radius:.6rem;min-height:44px;padding:.68rem 1rem;font-weight:600}.button-primary{border:1px solid var(--club-brass);color:var(--club-ink);background:var(--club-brass)}.button-secondary{border:1px solid var(--club-line);color:var(--club-ivory);background:#292c25}.online-actions{flex-wrap:wrap;gap:.65rem;margin-top:1.25rem;display:flex}.room-code-input,.inline-code,.online-code{font-variant-numeric:tabular-nums;letter-spacing:.12em;text-transform:uppercase}.online-code{border:1px solid color-mix(in srgb,var(--club-brass) 72%,transparent);width:fit-content;color:var(--club-brass);background:var(--club-walnut);box-shadow:inset 0 0 0 2px color-mix(in srgb,var(--club-ink) 28%,transparent);border-radius:.35rem;margin:1.35rem 0;padding:.72rem 1rem .62rem;font-family:Avenir Next,Segoe UI,sans-serif;font-size:clamp(1.65rem,7vw,2.65rem);line-height:1;display:block}.inline-code{color:var(--club-brass);font-weight:700}.online-ticket{border:1px solid var(--club-line);background:#25281f;border-radius:.7rem;grid-template-columns:1fr auto;align-items:end;gap:.65rem 1rem;margin-top:1.4rem;padding:1rem;display:grid}.online-ticket>span{color:var(--club-muted);letter-spacing:.08em;text-transform:uppercase;align-self:center;font-size:.76rem}.online-ticket .online-code{grid-row:2;margin:0}.online-ticket button{grid-row:2}.copy-status,.copy-fallback,.connection-status{color:var(--club-muted);margin:.8rem 0 0;line-height:1.45}.copy-fallback{border-left:3px solid var(--club-brass);background:#272a23;gap:.55rem;padding:.8rem;display:grid}.copy-fallback p{margin:0}.connection-status{border-left:3px solid var(--club-brass);background:#282b24;padding:.65rem .8rem}.room-seats{border:1px solid var(--club-line);background:var(--club-brass);border-radius:.7rem;grid-template-columns:1fr 1fr;gap:1px;margin-top:1.4rem;display:grid;position:relative;overflow:hidden}.room-seat{background:#25281f;gap:.3rem;min-width:0;padding:1rem;display:grid}.room-seat[data-seat=guest]{text-align:right;justify-items:end}.room-seat span{color:var(--club-brass);letter-spacing:.065em;text-transform:uppercase;font-size:.74rem}.room-seat strong{overflow-wrap:anywhere;font-family:Iowan Old Style,Palatino Linotype,Georgia,serif;font-size:1.2rem}.room-seat small{color:var(--club-muted)}.room-rules{grid-template-columns:1fr 1fr;gap:.65rem;margin-top:.8rem;display:grid}.locked-rules{margin-block:1.2rem}.room-rule{border:1px solid var(--club-line);background:#292c25;border-radius:.55rem;gap:.22rem;margin:0;padding:.75rem .8rem;display:grid}.room-rule span{color:var(--club-muted);letter-spacing:.065em;text-transform:uppercase;font-size:.72rem}.form-error{border-left:3px solid var(--club-danger);color:#f2cfc8;background:#4a302b;margin:.2rem 0;padding:.65rem .75rem;line-height:1.45}.online-game-shell{grid-template-rows:auto auto minmax(0,1fr) auto}.online-presence{z-index:2;border-bottom:1px solid var(--club-line);min-height:2rem;color:var(--club-muted);background:color-mix(in srgb,var(--club-surface) 94%,transparent);justify-content:center;gap:1rem;padding:.35rem .75rem;font-size:.78rem;display:flex;position:relative}.online-presence span:before{content:"";background:var(--club-danger);border-radius:50%;width:.5rem;height:.5rem;margin-right:.35rem;display:inline-block}.online-presence span[data-connected=true]:before{background:var(--club-brass)}.online-board-overlay{z-index:3;color:var(--club-ivory);background:color-mix(in srgb,var(--club-ink) 72%,transparent);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);text-align:center;place-items:center;padding:1rem;font-weight:700;display:grid;position:absolute;inset:0}@media (width<=720px){.coach-drawer{border-top:1px solid var(--club-line);border-left:0;width:100%;max-height:72dvh;top:auto;bottom:0}}@media (width<=560px){.online-options{grid-template-columns:1fr}.online-ticket{grid-template-columns:1fr;align-items:stretch}.online-ticket .online-code,.online-ticket button{grid-row:auto}.online-ticket button{width:100%}.room-seats{grid-template-columns:1fr}.room-seat[data-seat=guest]{text-align:left;justify-items:start}.room-rules{grid-template-columns:1fr}.online-actions>button{width:100%}}.coach-surface{gap:.75rem;max-width:44rem;display:grid}.coach-prose{font-size:1.05rem;line-height:1.6}.coach-deterministic p{margin:0 0 .5rem}.coach-unavailable{opacity:.75;font-size:.9rem}.coach-chat{align-items:center;gap:.5rem;display:flex}.coach-chat input{flex:1}.coach-chat-log{gap:.4rem;display:grid}.coach-turn-user{font-weight:600}.coach-voice-note{opacity:.75;font-size:.9rem}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
