:root{--cb-color-ink:#101414;--cb-color-felt:#111817;--cb-color-panel:#121d1be8;--cb-color-panel-raised:#172522;--cb-color-panel-solid:#1c2424;--cb-color-text:#f7f0df;--cb-color-text-muted:#d7d7c9;--cb-color-text-subtle:#c8ccbf;--cb-color-accent:#e4c46e;--cb-color-accent-strong:#f5d06a;--cb-color-border:#d6b96b78;--cb-color-border-subtle:#d6b96b5c;--cb-color-input:#f7f0df;--cb-color-input-text:#18201e;--cb-font-body:Inter, ui-sans-serif, system-ui, sans-serif;--cb-font-display:Georgia, serif;--cb-font-size-label:.68rem;--cb-font-size-body:1rem;--cb-font-size-caption:.78rem;--cb-space-1:.25rem;--cb-space-2:.45rem;--cb-space-3:.65rem;--cb-space-4:.85rem;--cb-space-5:1rem;--cb-space-6:1.25rem;--cb-space-8:2rem;--cb-space-10:2.5rem;--cb-space-page:clamp(1.25rem, 3.5vw, 3.5rem);--cb-space-section:clamp(1.5rem, 3vw, 2.2rem);--cb-content-max:82rem;--cb-header-height:4.9rem;--cb-transition-interactive:.16s ease}.cb-page{background:var(--cb-color-felt);color:var(--cb-color-text);min-height:100vh;position:relative;overflow:hidden}.cb-page-background{filter:saturate(.78);background:linear-gradient(105deg,#0c1212f2 0%,#101818d9 54%,#121410a8 100%),url(/assets/practice-menu-background-Bchaf690.png) 50%/cover;position:absolute;inset:0}.cb-page-shell{max-width:var(--cb-content-max);min-height:100vh;padding:var(--cb-space-page);margin:0 auto;position:relative}.cb-page-header{border-bottom:1px solid var(--cb-color-border-subtle);min-height:var(--cb-header-height);padding-bottom:var(--cb-space-4);grid-template-columns:1fr auto 1fr;align-items:center;display:grid}.cb-page-header-start{justify-self:start}.cb-page-header-end{grid-column:3;justify-self:end;min-width:4rem}.cb-page-header-logo{object-fit:contain;width:3.35rem;height:3.35rem;display:block}.cb-page-header-title{color:var(--cb-color-text);font-family:var(--cb-font-display);letter-spacing:-.045em;text-align:center;grid-column:2;margin:0;font-size:clamp(1.5rem,2.4vw,2.15rem);font-weight:400;line-height:1}.cb-button{cursor:pointer;font:inherit;font-size:var(--cb-font-size-caption);letter-spacing:.08em;padding:.75rem var(--cb-space-5);text-transform:uppercase;border:0;font-weight:800}.cb-button-primary{background:var(--cb-color-accent);color:var(--cb-color-input-text)}.cb-button-secondary,.cb-button-navigation{color:var(--cb-color-accent);background:#111918d1;border:1px solid #d6b96b80}.cb-button-navigation{min-height:2.7rem;padding:var(--cb-space-2) .7rem}.cb-button:focus-visible,.cb-mode-card:focus-visible,.cb-game-setup input:focus-visible{outline:2px solid var(--cb-color-text);outline-offset:3px}.cb-main-menu-content{grid-template-columns:minmax(0,.85fr) minmax(25rem,1.15fr);gap:clamp(2rem,6vw,5rem);padding:clamp(3rem,8vw,7rem) 0 clamp(3rem,6vw,5rem);display:grid}.cb-kicker,.cb-field-label{color:var(--cb-color-accent);font-size:var(--cb-font-size-label);letter-spacing:.1em;text-transform:uppercase;font-weight:800}.cb-kicker{letter-spacing:.19em;margin:0 0 var(--cb-space-4)}.cb-page-title{font-family:var(--cb-font-display);letter-spacing:-.075em;max-width:11ch;margin:0;font-size:clamp(3.3rem,8vw,7.1rem);font-weight:400;line-height:.9}.cb-main-menu-intro>p:last-child{color:var(--cb-color-text-muted);font-size:var(--cb-font-size-body);max-width:29rem;margin:1.6rem 0 0;line-height:1.55}.cb-mode-card-list{align-content:stretch;gap:var(--cb-space-3);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.cb-mode-card{background-color:var(--cb-color-panel-raised);color:var(--cb-color-text);align-items:center;gap:var(--cb-space-5);text-align:left;min-height:9.5rem;transition:border-color var(--cb-transition-interactive), transform var(--cb-transition-interactive);background-position:50%;background-size:cover;border:1px solid #ddc27685;grid-template-columns:auto 1fr auto;width:100%;padding:1.05rem 1.2rem;display:grid;position:relative;overflow:hidden}button.cb-mode-card{cursor:pointer;font:inherit}button.cb-mode-card:hover{border-color:var(--cb-color-accent-strong);transform:translateY(-.15rem)}.cb-mode-card:before{content:"";background:linear-gradient(90deg,#101414bf 0%,#10141480 52%,#10141426 100%);position:absolute;inset:0}.cb-mode-card>*{position:relative}.cb-mode-card-primary{border-color:var(--cb-color-accent-strong);grid-column:span 2;min-height:11.5rem}.cb-mode-card-salon{background-image:url(/assets/salon-preview-aG5GbBSO.png)}.cb-mode-card-tournament{background-image:url(/assets/tournament-preview-DR0CA1VN.png)}.cb-mode-card-practice{background-image:url(/assets/practice-menu-background-Bchaf690.png)}.cb-mode-card-unavailable{filter:grayscale(.82);opacity:.6;border-color:#7a817d}.cb-mode-card-index{color:var(--cb-color-accent);font-variant-numeric:tabular-nums;letter-spacing:.12em;font-size:.7rem}.cb-mode-card strong{font-family:var(--cb-font-display);letter-spacing:-.045em;font-size:clamp(1.4rem,2.4vw,2rem);font-weight:400;display:block}.cb-mode-card small{color:var(--cb-color-text-muted);font-size:var(--cb-font-size-caption);margin-top:var(--cb-space-1);line-height:1.4;display:block}.cb-mode-card em{color:var(--cb-color-accent);font-size:var(--cb-font-size-label);letter-spacing:.1em;margin-top:var(--cb-space-2);text-transform:uppercase;font-style:normal;font-weight:800;display:block}.cb-mode-card-arrow{color:var(--cb-color-accent);font-size:1.35rem}.cb-main-menu-attribution{bottom:var(--cb-space-page);color:var(--cb-color-text-subtle);right:var(--cb-space-page);margin:0;font-size:.72rem;position:absolute}.cb-game-setup-main{padding:clamp(2rem,5vw,4rem) 0}.cb-game-setup-panel{background:var(--cb-color-panel);border:1px solid var(--cb-color-border);gap:var(--cb-space-section);width:100%;padding:clamp(1rem,2.5vw,1.8rem);display:grid}.cb-form-section{gap:var(--cb-space-4);display:grid}.cb-section-title{color:var(--cb-color-accent);font-family:var(--cb-font-display);letter-spacing:-.045em;margin:0;font-size:clamp(1.55rem,2.4vw,2.1rem);font-weight:400}.cb-body-copy{color:var(--cb-color-text-muted);font-size:var(--cb-font-size-body);max-width:36rem;margin:0;line-height:1.55}.cb-player-fields,.cb-setting-field{gap:var(--cb-space-3);display:grid}.cb-player-setup-row,.cb-number-field{color:var(--cb-color-accent);padding-bottom:var(--cb-space-3);border-bottom:1px solid #d6b96b45;grid-template-columns:5.5rem minmax(0,1fr) auto 5.5rem;align-items:center;gap:.7rem;display:grid}.cb-number-field{grid-template-columns:1fr 7rem}.cb-player-fields input,.cb-number-field input{background:var(--cb-color-input);color:var(--cb-color-input-text);border:0;min-width:0;padding:.6rem;font-size:1.1rem}.cb-player-fields input[type=number],.cb-number-field input{text-align:right}.cb-game-setup-start{justify-self:end}.cb-room-choice{border:0;margin:.45rem 0 0;padding:0}.cb-room-choice legend{color:var(--cb-color-accent);font-size:var(--cb-font-size-label);letter-spacing:.1em;text-transform:uppercase;padding:0;font-weight:800}.cb-room-choice-options{gap:var(--cb-space-3);grid-template-columns:repeat(2,minmax(0,1fr));margin-top:.4rem;display:grid}.cb-room-choice-card{background:var(--cb-color-panel-solid);cursor:pointer;border:2px solid #d0b56b66;min-width:0;display:grid;position:relative;overflow:hidden}.cb-room-choice-card:has(input:checked){border-color:var(--cb-color-accent-strong);box-shadow:0 0 0 2px #ffd34e66}.cb-room-choice-card:has(input:focus-visible){outline:2px solid var(--cb-color-text);outline-offset:3px}.cb-room-choice-card input{opacity:0;width:1px;height:1px;position:absolute}.cb-room-choice-image{background-position:50%;background-size:cover;height:5.75rem;display:block}.cb-room-choice-salon{background-image:linear-gradient(#1014141a,#10141480),url(/assets/salon-preview-aG5GbBSO.png)}.cb-room-choice-tournament{background-image:linear-gradient(#1014141a,#10141480),url(/assets/tournament-preview-DR0CA1VN.png)}.cb-room-choice-copy{gap:var(--cb-space-1);padding:var(--cb-space-2) .6rem .6rem;display:grid}.cb-room-choice-copy strong{color:var(--cb-color-text);font-size:var(--cb-font-size-caption)}.cb-room-choice-copy small{color:var(--cb-color-text-subtle);font-size:.65rem;line-height:1.3}@media (width<=760px){.cb-main-menu-content{grid-template-columns:1fr;padding-top:3rem}.cb-mode-card-primary{grid-column:auto}}@media (width<=600px){.cb-room-choice-options{grid-template-columns:1fr}}@media (width<=480px){.cb-page-header-title{font-size:1.15rem}.cb-page-header-logo{width:2.35rem;height:2.35rem}.cb-button-navigation{min-width:2.7rem;padding:var(--cb-space-2);font-size:0}.cb-button-navigation:before{content:"←";font-size:1.1rem}.cb-mode-card-list,.cb-player-setup-row,.cb-number-field{grid-template-columns:1fr}.cb-mode-card{padding:var(--cb-space-4);gap:.6rem}.cb-field-label:nth-of-type(2){margin-top:var(--cb-space-2)}.cb-main-menu-attribution{text-align:right;position:static}}.cb-story-canvas{background:var(--cb-color-ink);color:var(--cb-color-text);min-height:100vh;padding:var(--cb-space-page)}.cb-story-card{max-width:48rem}.cb-story-form{max-width:55rem}.cb-token-grid{gap:var(--cb-space-5);grid-template-columns:repeat(auto-fit,minmax(10rem,1fr));display:grid}.cb-token{gap:var(--cb-space-2);display:grid}.cb-token-swatch{border:1px solid var(--cb-color-border);height:5rem;display:block}.cb-token code{color:var(--cb-color-text-subtle);font-size:var(--cb-font-size-caption)}.cb-token-type{margin-top:var(--cb-space-10)}.cb-typography-story{gap:var(--cb-space-6);display:grid}:root{color:#f4f0e8;font-synthesis:none;text-rendering:optimizelegibility;background:#101414;font-family:Inter,ui-sans-serif,system-ui,sans-serif}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0}button,input,textarea,select{font:inherit}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}#root{min-height:100vh}.room-chooser{background:radial-gradient(circle at 15% 10%,#324144 0,#0000 35%),radial-gradient(circle at 85% 90%,#5e2430 0,#0000 34%),#101414;align-items:center;min-height:100vh;padding:clamp(1.5rem,5vw,5rem);display:grid}.room-chooser-panel{width:100%;max-width:60rem;margin:0 auto}.room-chooser-intro{color:#c3cfca;margin:1rem 0 2rem;font-size:clamp(1rem,1.8vw,1.2rem);line-height:1.5}.room-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.room-option{color:#f4f0e8;cursor:pointer;text-align:left;background-color:#1c2424;border:1px solid #d0b56b73;flex-direction:column;min-height:16rem;padding:clamp(1.5rem,3vw,2.4rem);transition:border-color .16s,transform .16s;display:flex;position:relative}.room-option:after{content:"";pointer-events:none;border:1px solid #f4f0e833;position:absolute;inset:.45rem}.room-option:hover{border-color:#d0b56b;transform:translateY(-.2rem)}.room-option:focus-visible{outline-offset:.3rem;border-color:#f4f0e8;outline:3px solid #d0b56b}.room-option-salon{background:linear-gradient(135deg,#251208d9,#3f1b21c9),#1c2424}.room-option-tournament{background:linear-gradient(135deg,#324148e8,#767a72c9),#1c2424}.room-option-eyebrow{color:#d0b56b;letter-spacing:.14em;text-transform:uppercase;font-size:.68rem;font-weight:800}.room-option-title{letter-spacing:-.05em;margin-top:auto;font-family:Georgia,serif;font-size:clamp(2rem,4vw,3.2rem);line-height:.96}.room-option-description{color:#e6e1d7;max-width:20rem;margin-top:.8rem;font-size:.9rem;line-height:1.45}.table-experience{background-color:#101414;min-height:100vh;position:relative;overflow:hidden}.start-menu{text-align:center;background:#101414;align-content:center;justify-items:center;min-height:100vh;padding:clamp(1.5rem,7vw,6rem);display:grid;position:relative;overflow:hidden}.start-menu-background{filter:blur(6px);background:linear-gradient(#101414a6,#101414a6),url(/assets/practice-menu-background-Bchaf690.png) 50%/cover;position:absolute;inset:-12px}.start-menu-content{grid-template-columns:repeat(3,minmax(0,1fr));justify-items:stretch;gap:.75rem;width:min(100%,75rem);display:grid;position:relative}.start-menu-attribution{color:#f4f0e8b3;letter-spacing:.04em;margin:0;font-size:.72rem;position:absolute;bottom:clamp(1rem,3vw,2.5rem);right:clamp(1rem,3vw,2.5rem)}.start-menu-intro{color:#aebcb6;margin:1.25rem 0 1.5rem;font-size:1rem;line-height:1.5}.mode-choice{color:#f4f0e8;cursor:pointer;text-align:left;background-color:#1c2424;background-position:50%;background-size:cover;border:2px solid #d0b56b99;align-items:end;width:100%;min-height:10rem;padding:0;transition:border-color .16s,transform .16s;display:grid;position:relative;overflow:hidden}.mode-choice:before{content:"";background:linear-gradient(#0000 20%,#101414eb 100%);position:absolute;inset:0}.mode-choice:hover{border-color:#ffd34e;transform:translateY(-.15rem)}.mode-choice-practice{background-image:url(/assets/practice-menu-background-Bchaf690.png)}.mode-choice-libre{background-image:url(/assets/salon-preview-aG5GbBSO.png)}.mode-choice-shot-lab{background-image:url(/assets/tournament-preview-DR0CA1VN.png)}.mode-choice-content{gap:.2rem;padding:1rem 1.1rem;display:grid;position:relative}.mode-choice-content>span{letter-spacing:.04em;text-transform:uppercase;font-size:1.1rem;font-weight:800}.mode-choice-content small{color:#e6e1d7;font-size:.8rem;line-height:1.35}.mode-choice:focus-visible,.training-controls button:focus-visible,.match-setup button:focus-visible,.match-setup input:focus-visible{outline-offset:3px;outline:2px solid #f4f0e8}.table-canvas{display:block}.training-canvas{cursor:grab}.training-canvas:active{cursor:grabbing}.eyebrow{color:#d0b56b;letter-spacing:.16em;text-transform:uppercase;margin:0 0 .5rem;font-size:.75rem;font-weight:700}h1{letter-spacing:-.06em;margin:0;font-family:Georgia,serif;font-size:clamp(2.25rem,5vw,4rem);font-weight:400;line-height:.92}.start-menu-content h1,.start-menu-intro{grid-column:1/-1}.mode-indicator{color:#f4f0e8;letter-spacing:.06em;pointer-events:none;text-transform:uppercase;z-index:1;background:#101414d9;border:1px solid #d0b56b80;margin:0;padding:.45rem .6rem;font-size:.72rem;position:absolute;top:clamp(1rem,3vw,2.5rem);right:clamp(1rem,3vw,2.5rem)}.match-setup{background:#101414;align-content:center;justify-items:center;min-height:100vh;padding:clamp(1.5rem,7vw,6rem);display:grid;position:relative;overflow:hidden}.match-setup-content{gap:1rem;width:min(100%,44rem);display:grid;position:relative}.match-setup-content label{color:#d0b56b;letter-spacing:.1em;text-transform:uppercase;margin-top:.45rem;font-size:.72rem;font-weight:800}.match-setup-content input{color:#101414;font:inherit;font-variant-numeric:tabular-nums;background:#f4f0e8;border:0;padding:.65rem .75rem}.match-setup-number-field{grid-template-columns:minmax(0,1fr) 8rem;align-items:center;gap:1rem;display:grid}.match-setup-number-field label{margin:0}.match-setup-number-field input{width:100%;min-width:0}.room-radio-group{border:0;margin:.45rem 0 0;padding:0}.room-radio-group legend{color:#d0b56b;letter-spacing:.1em;text-transform:uppercase;padding:0;font-size:.72rem;font-weight:800}.room-radio-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem;margin-top:.4rem;display:grid}.room-radio-card{cursor:pointer;background:#1c2424;border:2px solid #d0b56b66;min-width:0;display:grid;position:relative;overflow:hidden}.room-radio-card:has(input:checked){border-color:#ffd34e;box-shadow:0 0 0 2px #ffd34e66}.room-radio-card:has(input:focus-visible){outline-offset:3px;outline:2px solid #f4f0e8}.room-radio-card input{opacity:0;width:1px;height:1px;position:absolute}.room-radio-image{background-position:50%;background-size:cover;height:5.75rem;display:block}.room-radio-salon{background-image:linear-gradient(#1014141a,#10141480),url(/assets/salon-preview-aG5GbBSO.png)}.room-radio-tournament{background-image:linear-gradient(#1014141a,#10141480),url(/assets/tournament-preview-DR0CA1VN.png)}.room-radio-copy{gap:.2rem;padding:.5rem .6rem .6rem;display:grid}.room-radio-copy strong{color:#f4f0e8;font-size:.78rem}.room-radio-copy small{color:#c3cfca;font-size:.65rem;line-height:1.3}@media (width<=600px){.match-setup-number-field{grid-template-columns:1fr;gap:.35rem}.room-radio-options{grid-template-columns:1fr}}.match-setup-content button{color:#101414;cursor:pointer;letter-spacing:.06em;text-transform:uppercase;background:#d0b56b;border:0;margin-top:.4rem;padding:.7rem .8rem;font-size:.8rem;font-weight:800}.match-setup-actions{justify-content:flex-end;gap:.65rem;margin-top:.4rem;display:flex}.match-setup-actions button{margin-top:0}.match-setup-actions .match-setup-secondary-action{color:#d0b56b;background:0 0;border:1px solid #d0b56b80}.match-setup-intro{color:#aebcb6;margin:.4rem 0 .5rem;line-height:1.5}.match-scoreboard{z-index:2;background:#02490c;border:2px solid #d0b56b;border-radius:.2rem;grid-template-columns:minmax(0,1fr) minmax(4.25rem,.52fr) minmax(0,1fr);width:min(22rem,100vw - 2rem);min-height:7.2rem;display:grid;position:absolute;top:clamp(1rem,3vw,2.5rem);left:clamp(1rem,3vw,2.5rem)}.scoreboard-player{background:#01340a;border:.2rem solid #02490c;align-content:space-between;min-width:0;padding:.25rem .45rem .35rem;display:grid}.scoreboard-player-active{background:#003107;box-shadow:inset 0 0 0 2px #d0b56b}.scoreboard-player-name,.scoreboard-average,.scoreboard-innings p,.scoreboard-target{margin:0}.scoreboard-player-name,.scoreboard-innings p,.scoreboard-average{color:#d9e6d9;letter-spacing:.07em;text-transform:uppercase;font-size:clamp(.55rem,1.4vw,.7rem)}.scoreboard-score,.scoreboard-innings>output{color:#f4f0e8;font-variant-numeric:tabular-nums;letter-spacing:-.08em;text-align:center;font-size:clamp(2.5rem,6vw,4rem);font-weight:300;line-height:.88;display:block}.scoreboard-player-active .scoreboard-score{color:#ffd34e}.scoreboard-average{justify-content:space-between;align-items:baseline;display:flex}.scoreboard-average output{color:#d9e6d9;font-variant-numeric:tabular-nums;letter-spacing:0;font-size:clamp(.85rem,2.1vw,1.2rem)}.scoreboard-innings{background:#02510e;align-content:center;justify-items:center;gap:.1rem;padding:.4rem;display:grid}.scoreboard-innings>output{color:#f4f0e8;font-size:clamp(2rem,4.5vw,3rem)}.scoreboard-target{color:#d0b56b;letter-spacing:.04em;text-align:center;text-transform:uppercase;font-size:clamp(.48rem,1.1vw,.58rem)}.scoreboard-finish{background:#101414e8;justify-content:center;align-items:center;gap:.5rem;display:flex;position:absolute;inset:0}.scoreboard-finish p{color:#ffd34e;margin:0 .5rem 0 0;font-family:Georgia,serif;font-size:clamp(1.25rem,3vw,2rem)}.scoreboard-finish button{color:#101414;cursor:pointer;letter-spacing:.06em;text-transform:uppercase;background:#d0b56b;border:0;padding:.55rem .65rem;font-size:.7rem;font-weight:800}.match-score{grid-template-columns:1fr 1fr;gap:.35rem;margin:.6rem 0 0;display:grid}.match-score div{border-top:1px solid #d0b56b40;padding-top:.3rem}.match-score dt{color:#aebcb6;letter-spacing:.1em;text-transform:uppercase;font-size:.65rem}.match-score dd{color:#f4f0e8;font-variant-numeric:tabular-nums;margin:.1rem 0 0;font-size:1.4rem}.exercise-library-launcher{color:#d0b56b;cursor:pointer;letter-spacing:.1em;text-transform:uppercase;z-index:3;background:#101414e8;border:1px solid #d0b56b80;padding:.7rem .8rem;font-size:.72rem;font-weight:800;position:absolute;bottom:clamp(1rem,3vw,2.5rem);left:clamp(1rem,3vw,2.5rem)}.exercise-library-launcher:disabled{cursor:not-allowed;opacity:.45}.exercise-library{z-index:2;background:#101414f2;border:1px solid #d0b56b80;width:min(28rem,100vw - 2rem);max-height:min(42rem,100vh - 5rem);padding:1rem;position:absolute;bottom:calc(clamp(1rem,3vw,2.5rem) + 3rem);left:clamp(1rem,3vw,2.5rem);overflow:auto}.exercise-library-heading{justify-content:space-between;align-items:start;gap:1rem;display:flex}.exercise-library .eyebrow{margin-bottom:.25rem}.exercise-library h2,.exercise-library h3,.exercise-library p{margin-top:0}.exercise-library h2{font-family:Georgia,serif;font-size:1.45rem;font-weight:400}.exercise-library-heading button,.exercise-actions button{color:#101414;cursor:pointer;letter-spacing:.06em;text-transform:uppercase;background:#d0b56b;border:0;padding:.45rem .55rem;font-size:.7rem;font-weight:800}.exercise-library-intro,.exercise-list p,.selected-exercise{color:#c3cfca;font-size:.78rem;line-height:1.4}.exercise-list{gap:.65rem;margin:1rem 0;padding:0;list-style:none;display:grid}.exercise-list li{border:1px solid #d0b56b40;grid-template-columns:minmax(0,1fr) auto;gap:.7rem;padding:.7rem;display:grid}.exercise-list .exercise-number{color:#d0b56b;letter-spacing:.12em;text-transform:uppercase;margin-bottom:.2rem;font-size:.65rem;font-weight:800}.exercise-list h3{margin-bottom:.35rem;font-size:.9rem}.exercise-list p{margin-bottom:.35rem}.exercise-details{margin-top:.55rem}.exercise-details summary{color:#d0b56b;cursor:pointer;font-size:.7rem}.exercise-diagram{margin:.6rem 0 0}.exercise-diagram svg{border:1px solid #d0b56b80;max-width:100%;display:block}.exercise-diagram figcaption{color:#aebcb6;margin-top:.35rem;font-size:.64rem;line-height:1.35}.exercise-actions{flex-direction:column;justify-content:center;align-items:stretch;gap:.4rem;display:flex}.exercise-actions button:disabled{cursor:not-allowed;opacity:.45}.selected-exercise{border-top:1px solid #d0b56b40;margin:0;padding-top:.7rem}.shot-lab-source-controls{z-index:1;background:#101414e8;border:1px solid #d0b56b80;align-items:center;gap:.45rem;padding:.5rem;display:flex;position:absolute;top:calc(clamp(1rem,3vw,2.5rem) + 2.8rem);right:clamp(1rem,3vw,2.5rem)}.shot-lab-source-controls p{color:#c3cfca;margin:0 .25rem 0 0;font-size:.7rem}.shot-lab-source-controls button{color:#101414;cursor:pointer;letter-spacing:.05em;text-transform:uppercase;background:#d0b56b;border:0;padding:.42rem .48rem;font-size:.66rem;font-weight:800}.shot-lab-source-controls button:disabled{cursor:not-allowed;opacity:.45}.shot-lab-toast{color:#f4ecd8;z-index:4;background:#101414f2;border:1px solid #d0b56b;margin:0;padding:.55rem .7rem;font-size:.78rem;position:absolute;top:calc(clamp(1rem,3vw,2.5rem) + 6rem);right:clamp(1rem,3vw,2.5rem)}.shot-controls{z-index:3;background:#101414e8;border:1px solid #d0b56b80;flex-direction:column;align-items:center;gap:.55rem;padding:.75rem;display:flex;position:absolute;bottom:clamp(1rem,3vw,2.5rem);right:clamp(1rem,3vw,2.5rem)}.shot-controls label{color:#aebcb6;letter-spacing:.14em;text-transform:uppercase;font-size:.68rem;font-weight:700}.shot-controls output{color:#d0b56b;font-variant-numeric:tabular-nums;font-size:1.4rem}.shot-controls input{accent-color:#d0b56b;cursor:pointer;writing-mode:vertical-lr;direction:rtl;height:9rem;margin:.25rem 0}.shot-controls button{color:#101414;cursor:pointer;letter-spacing:.06em;text-transform:uppercase;background:#d0b56b;border:0;padding:.55rem .65rem;font-size:.78rem;font-weight:800}.shot-controls button:disabled{cursor:not-allowed;opacity:.45}.training-controls{justify-content:flex-end;gap:.45rem;display:flex}.training-controls button{color:#d0b56b;cursor:pointer;letter-spacing:.1em;text-transform:uppercase;background:#101414e8;border:1px solid #d0b56b80;justify-content:center;align-items:center;width:2.25rem;height:2.25rem;padding:0;font-size:.72rem;font-weight:800;display:flex}.training-controls button[aria-pressed=true]{color:#101414;background:#d0b56b}.training-controls button:disabled{cursor:not-allowed;opacity:.45}.training-icon{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.75px;width:1.25rem;height:1.25rem}.training-controls-embedded{border-bottom:1px solid #d0b56b40;align-self:stretch;margin:-.1rem -.1rem .1rem;padding:0 0 .65rem}.training-controls-floating{z-index:1;background:#101414e8;border:1px solid #d0b56b80;padding:.4rem;position:absolute;bottom:clamp(1rem,3vw,2.5rem);right:clamp(1rem,3vw,2.5rem)}.camera-view-control{color:#d0b56b;cursor:pointer;letter-spacing:.1em;text-transform:uppercase;z-index:3;background:#101414e8;border:1px solid #d0b56b80;align-items:center;gap:.4rem;padding:.55rem .65rem;font-size:.72rem;font-weight:800;display:flex;position:absolute;bottom:clamp(1rem,3vw,2.5rem);left:50%;transform:translate(-50%)}.camera-view-control[aria-pressed=true]{color:#101414;background:#d0b56b}.camera-view-control:focus-visible{outline-offset:3px;outline:2px solid #f4f0e8}.camera-view-control-compact{width:2.25rem;height:2.25rem;padding:0;position:static;transform:none}.camera-view-control-compact span{display:none}.spin-picker{appearance:none;cursor:crosshair;touch-action:none;background:radial-gradient(circle at 35% 30%,#f4f0e8,#aebcb6);border:1px solid #d0b56b;border-radius:50%;width:4.5rem;height:4.5rem;padding:0;position:relative}.spin-picker:before,.spin-picker:after{content:"";background:#10141466;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.spin-picker:before{width:100%;height:1px}.spin-picker:after{width:1px;height:100%}.spin-picker-marker{background:#b73d30;border:1px solid #f4f0e8;border-radius:50%;width:.65rem;height:.65rem;position:absolute;transform:translate(-50%,-50%)}kbd{font:inherit;border:1px solid #10141466;border-radius:.15rem;padding:.1rem .2rem}.touch-aim-pad{color:#d0b56b;letter-spacing:.14em;text-transform:uppercase;touch-action:none;-webkit-user-select:none;user-select:none;z-index:3;background:#101414e8;border:1px solid #d0b56b80;justify-content:center;align-items:center;width:5.25rem;height:5.25rem;font-size:.7rem;font-weight:700;display:none;position:absolute;bottom:clamp(1rem,3vw,2.5rem);left:clamp(1rem,3vw,2.5rem)}@media (pointer:coarse){.touch-aim-pad{display:flex}}.orientation-notice{text-align:center;align-content:center;min-height:100vh;padding:2rem;display:grid}.orientation-notice p:last-child{color:#aebcb6;max-width:18rem;margin:1rem auto 0;font-size:1rem;line-height:1.5}.webgl-unavailable{color:#f4f0e8;text-align:center;background:#101414;justify-content:center;align-items:center;padding:2rem;font-size:1rem;display:flex;position:absolute;inset:0}@media (width<=600px){.start-menu-content{grid-template-columns:1fr;max-width:24rem}.room-options{grid-template-columns:1fr}.room-option{min-height:12.5rem}}
