:root{color:#263d38;font-synthesis:none;--forest:#294b3f;--sage:#9eafa0;--muted:#7a8378;--line:#deded2;--orange:#c47955;background:#f4f1e9;font-family:Arial,Helvetica,sans-serif}*{box-sizing:border-box}body{margin:0}button,select{font:inherit}button,a,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit}button:disabled{cursor:wait;opacity:.6}button:focus-visible,a:focus-visible,select:focus-visible,canvas:focus-visible{outline-offset:4px;outline:3px solid #b77c47}a{color:inherit}#app{max-width:1560px;margin:auto;padding:0 56px}.masthead{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;height:108px;display:flex}.brand{letter-spacing:2px;align-items:center;gap:14px;font-size:16px;font-weight:700;text-decoration:none;display:flex}.brand small{letter-spacing:2.5px;margin-top:8px;font-size:8px;font-weight:400;display:block}.brand-mark{letter-spacing:-5px;border:1px solid #607c66;border-radius:50%;justify-content:center;align-items:center;width:46px;height:46px;padding-right:5px;font-family:Georgia,serif;font-size:29px;display:flex}.brand-mark span{position:relative;top:3px}.header-actions{align-items:center;gap:26px;display:flex}.build-tag{letter-spacing:1.6px;color:#69796c;align-items:center;gap:8px;font-size:9px;display:flex}.build-tag i,.scene-label i{background:#698b6c;border-radius:50%;width:5px;height:5px;display:inline-block}.quiet-button,.icon-button{background:0 0;border:0;font-size:11px}.quiet-button kbd{margin-left:10px}.icon-button{border:1px solid var(--line);border-radius:50%;width:30px;height:30px;font-size:18px}.icon-button[aria-pressed=true]{color:#fff;background:#294b3f}.intro{justify-content:space-between;align-items:flex-end;padding:38px 0 31px;display:flex}.eyebrow{letter-spacing:2px;color:#758572;margin:0 0 14px;font-size:9px;font-weight:600}h1{letter-spacing:-1.7px;margin:0;font-family:Georgia,Times New Roman,serif;font-size:51px;font-weight:400;line-height:1.04}h1 em{color:#6c806c;font-weight:400}.intro-copy{color:#788270;margin:0 5px 3px 0;font-family:Georgia,serif;font-size:16px;line-height:1.6}.play-layout{grid-template-columns:minmax(0,1fr) 300px;gap:32px;display:grid}.stage-wrap{background:#e9e9da;border:1px solid #dcdfcc;border-radius:4px;width:100%;height:520px;position:relative;overflow:hidden}canvas{touch-action:none;width:100%;height:100%;display:block;outline:none!important}.stage-top{pointer-events:none;justify-content:space-between;align-items:center;display:flex;position:absolute;top:20px;left:22px;right:20px}.scene-label{letter-spacing:1.8px;color:#546954;align-items:center;gap:7px;font-size:8px;display:flex}.view-button{pointer-events:auto;letter-spacing:.5px;background:#f8f7efbb;border:1px solid #cdd4c3;border-radius:20px;padding:7px 11px;font-size:9px}.view-button kbd{margin-left:4px;font-size:8px}.stage-note{color:#637a65;letter-spacing:1.6px;pointer-events:none;font-size:8px;position:absolute;bottom:43px;left:22px}.axis-legend{pointer-events:none;gap:14px;display:flex;position:absolute;bottom:17px;left:22px}.axis-legend span{letter-spacing:1px;color:#637463;align-items:center;gap:5px;font-size:7px;display:flex}.axis-legend i{width:10px;height:2px;display:inline-block}.axis-x{background:#bc795d}.axis-y{background:#718a75}.axis-z{background:#728aa1}.stage-overlay{-webkit-backdrop-filter:blur(1.8px);backdrop-filter:blur(1.8px);background:#eaece138;justify-content:center;align-items:center;padding:20px;display:flex;position:absolute;inset:0}.stage-overlay[hidden]{display:none}.overlay-card{text-align:center;background:#faf9f0ed;border:1px solid #fff7;border-radius:5px;max-width:350px;padding:29px 25px 23px;box-shadow:0 15px 50px #43513912}.overlay-icon{color:#8b9b70;margin-bottom:17px;font-size:27px;display:block}.overlay-card .eyebrow{letter-spacing:1.5px;margin-bottom:12px;font-size:7px}.overlay-card h2{letter-spacing:-.8px;margin:0 0 14px;font-family:Georgia,serif;font-size:32px;font-weight:400}.overlay-card p:not(.eyebrow){color:#78816f;margin:0 0 24px;font-size:12px;line-height:1.7}.primary-button{background:var(--forest);border:1px solid var(--forest);color:#fbfaf0;letter-spacing:.3px;border-radius:2px;justify-content:space-between;align-items:center;gap:32px;min-height:44px;padding:13px 18px;font-size:11px;display:flex}.overlay-card .primary-button{width:100%}.primary-button:hover{background:#3d5f4c}.primary-button span{font-size:19px}.overlay-footnote{color:#939a88;letter-spacing:.2px;margin-top:15px;font-size:8px;display:block}.toast{opacity:0;pointer-events:none;white-space:nowrap;background:#f9f8eeec;border:1px solid #d2d8c8;border-radius:20px;padding:9px 16px;font-size:10px;transition:opacity .2s;position:absolute;top:58px;left:50%;transform:translate(-50%)}.toast.visible{opacity:1}.event-strip{align-items:center;gap:14px;padding:18px 4px;display:flex;position:relative}.goat-seal{background:#e5e8db;border:1px solid #d9decf;border-radius:50%;place-items:center;width:40px;height:40px;font-size:21px;display:grid}.event-strip .eyebrow{letter-spacing:1.5px;margin-bottom:5px;font-size:7px}.event-strip p{margin:0 0 3px;font-family:Georgia,serif;font-size:16px}.event-strip small{color:#87907c;font-size:10px}.event-progress{background:#dde2d3;width:80px;height:3px;margin-left:auto}.event-progress span{background:#7f977b;width:0;height:100%;display:block}.practice-panel{border-top:1px solid #b9c5ad;padding-top:16px}.panel-heading{justify-content:space-between;align-items:center;display:flex}.panel-heading .eyebrow{letter-spacing:1.7px;margin:0;font-size:8px}.pose-number{color:#b1bca7;font-family:Georgia,serif;font-size:27px}.practice-panel h2{letter-spacing:-.8px;margin:7px 0 10px;font-family:Georgia,serif;font-size:30px;font-weight:400}.panel-copy{color:#8b917f;margin:0 0 17px;font-size:11px;line-height:1.65}.physician{border-bottom:1px solid var(--line);align-items:center;gap:10px;margin:0 0 24px;padding-bottom:17px;display:flex}.physician img{object-fit:cover;object-position:50% 15%;filter:saturate(.6);border-radius:50%;width:37px;height:42px}.physician strong{margin-bottom:5px;font-size:10px;font-weight:500;display:block}.physician span:not(.tiny-label){color:#8d9482;font-size:8px;display:block}.tiny-label{color:#7d8d73;border:1px solid #c8d1bf;border-radius:2px;margin-left:auto;padding:4px 5px;font-size:8px}.hold-heading{letter-spacing:1.2px;justify-content:space-between;align-items:baseline;font-size:8px;display:flex}.hold-heading strong{letter-spacing:-.5px;font-family:Georgia,serif;font-size:26px;font-weight:400}.hold-heading small{color:#9ca68f;letter-spacing:0;font-size:10px}.hold-track{background:#dee2d5;border-radius:5px;height:5px;margin-top:9px;overflow:hidden}.hold-track>span{background:#789574;border-radius:5px;width:0%;height:100%;transition:width .1s;display:block}.hold-caption{color:#8b947e;min-height:13px;margin:9px 0 18px;font-size:9px}.readings{border-bottom:1px solid var(--line);grid-template-columns:1fr 1fr;gap:12px;margin-bottom:17px;padding:0 0 18px;display:grid}.readings span{letter-spacing:1.5px;color:#8b937f;margin-bottom:7px;font-size:7px;display:block}.readings strong{font-size:11px;font-weight:500}.field-label{letter-spacing:1.6px;color:#72806a;margin-bottom:9px;font-size:7px;font-weight:600;display:block}select{color:#4e6553;cursor:pointer;background:#edeedf;border:1px solid #d8decb;border-radius:2px;width:100%;padding:11px 10px;font-size:10px}.completion-note{color:#718765;min-height:23px;padding-top:6px;font-size:8px}.field-row{justify-content:space-between;align-items:center;gap:10px;display:flex}.field-row .field-label{margin:0}.segmented{background:#e9eddf;border:1px solid #d3dbc7;border-radius:3px;padding:2px;display:flex}.segmented button{color:#87947d;background:0 0;border:0;border-radius:1px;padding:7px 10px;font-size:8px}.segmented button.selected{color:#294b3f;background:#faf9f0;box-shadow:0 1px 3px #3c502512}.mode-note{color:#8b947f;margin:9px 0 17px;font-size:8px}.play-actions{gap:9px;display:flex}.secondary-button{background:0 0;border:1px solid #cdd6c1;border-radius:2px;flex:1;justify-content:space-between;align-items:center;gap:8px;padding:10px;font-size:9px;display:flex}.secondary-button:hover{background:#e7ecdd}.secondary-button kbd{background:0 0;border:0}.secondary-button span{font-size:14px}.text-button{color:#78886f;background:0 0;border:0;justify-content:space-between;align-items:center;width:100%;padding:13px 0;font-size:9px;display:flex}.text-button[aria-pressed=true]{color:#335b41}.input-status{border-top:1px solid var(--line);color:#859078;align-items:center;gap:5px;padding-top:12px;font-size:7px;display:flex}.input-status>span:last-child{letter-spacing:.5px;margin-left:auto;font-size:6px}.connection-dot{background:#7d9d70;border-radius:50%;width:4px;height:4px;display:block}.quick-controls{border-top:1px solid var(--line);border-bottom:1px solid var(--line);justify-content:space-between;gap:16px;margin-top:13px;padding:23px 0;display:flex}.quick-controls>div{align-items:center;gap:12px;display:flex}.control-symbol{color:#90a082;text-align:center;width:24px;font-size:22px}.quick-controls strong{letter-spacing:1.4px;margin-bottom:7px;font-size:7px;font-weight:500;display:block}.quick-controls small{gap:4px;display:flex}kbd{text-align:center;color:#7e8c72;background:#eff0e5;border:1px solid #d1d9c4;border-radius:3px;min-width:18px;padding:3px 4px;font-family:Arial,sans-serif;font-size:8px;font-weight:400;display:inline-block}footer{color:#9a9f8c;justify-content:space-between;gap:20px;padding:22px 0 28px;font-size:8px;display:flex}footer>span:last-child{letter-spacing:1px;font-size:7px}footer i{margin:0 8px;font-style:normal}footer a{border-bottom:1px solid #c1c8b5;text-decoration:none}dialog{color:#2e4b3b;background:#f8f6ee;border:1px solid #e8eadc;border-radius:5px;width:calc(100% - 40px);max-width:630px;max-height:85vh;padding:36px;box-shadow:0 20px 80px #243b2a33}dialog::backdrop{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#30453955}dialog h2{letter-spacing:-1px;margin:0 0 17px;font-family:Georgia,serif;font-size:34px;font-weight:400}dialog p{color:#7d8772;font-size:12px;line-height:1.8}dialog .eyebrow{font-size:8px}.close-dialog{color:#7d8872;background:0 0;border:0;font-size:24px;position:absolute;top:12px;right:15px}.help-grid{grid-template-columns:1fr 1fr;gap:12px 25px;margin:23px 0;display:grid}.help-grid strong{font-size:11px}.help-grid p{margin:5px 0;font-size:10px}.gamepad-help{border-top:1px solid var(--line);padding-top:16px}details{color:#6f8065;margin:20px 0;font-size:11px}summary{cursor:pointer}details p{font-size:10px}.binding-list{grid-template-columns:1fr 1fr;gap:6px;display:grid}.binding-list button{background:#edefe3;border:1px solid #d0d9c5;border-radius:2px;justify-content:space-between;padding:8px;font-size:9px;display:flex}.binding-list button.listening{background:#f4e7d9;border-color:#c47955}dialog>.primary-button{min-width:190px;margin-top:22px}#binding-status{color:#aa6e4d;min-height:18px}body.fatal .stage-overlay{display:flex}@media (width>=1450px){.stage-wrap{height:580px}.play-layout{grid-template-columns:minmax(0,1fr) 320px;gap:40px}.practice-panel{padding-top:20px}.panel-copy{margin-bottom:22px}.physician{margin-bottom:28px}.readings{margin-bottom:22px;padding-bottom:23px}.mode-note{margin-bottom:23px}}@media (width<=1100px){#app{padding:0 28px}.play-layout{grid-template-columns:minmax(0,1fr) 270px;gap:22px}.stage-wrap{height:510px}.quick-controls{gap:8px}.quick-controls>div{gap:6px}.intro{padding-top:28px}h1{font-size:43px}.intro-copy{font-size:14px}}@media (width<=800px){#app{padding:0 20px}.masthead{height:83px}.build-tag{display:none}.header-actions{gap:12px}.intro{padding:24px 0}.intro-copy{display:none}h1{font-size:40px}.play-layout{grid-template-columns:1fr}.stage-wrap{height:460px}.practice-panel{grid-template-columns:1fr 1fr;column-gap:20px;display:grid}.panel-heading,.practice-panel h2,.panel-copy,.physician,.hold-heading,.hold-track,.hold-caption,.readings,.field-label,select,.completion-note,.field-row,.mode-note,.play-actions,.text-button,.input-status{grid-column:1/-1}.practice-panel{padding-bottom:12px}.quick-controls{flex-wrap:wrap;justify-content:flex-start;gap:22px 28px}.event-progress{width:55px}footer,.scene-label{font-size:7px}.overlay-card{max-width:310px}}@media (prefers-reduced-motion:reduce){*{transition:none!important}}.stage-buttons{pointer-events:auto;gap:7px;display:flex}.stage-hold{pointer-events:none;background:#f8f7eddf;border:1px solid #d4ddc9;border-radius:4px;min-width:105px;padding:10px 14px;position:absolute;bottom:20px;right:20px}.stage-hold strong{letter-spacing:-.7px;font-family:Georgia,serif;font-size:25px;font-weight:400}.stage-hold>span{color:#8c987f;margin-left:5px;font-size:10px}.stage-hold small{letter-spacing:1.1px;color:#788b6b;margin-top:4px;font-size:6px;display:block}.stage-overlay:not([hidden])~.stage-hold{visibility:hidden}.injury-readout{background:#eef0e5;border:1px solid #d8decb;grid-column:1/-1;align-items:center;gap:10px;margin:0 0 18px;padding:10px;display:flex}.injury-readout>span{color:#789574;font-size:22px}.injury-readout strong{letter-spacing:1px;font-size:8px;display:block}.injury-readout small{color:#78816f;margin-top:5px;font-size:9px;display:block}.injury-readout.injured{background:#f7e1d6;border-color:#d6a086}.injury-readout.injured>span{color:#ac573a}
