:root{
  color-scheme:light;--bg:#ffffff;--panel:#f7f9f8;--panel2:#edf2ef;--edge:#b9c7bf;
  --text:#172c25;--sub:#46594f;--quiet:#506157;--gold:#174f41;--red:#a3333a;
  --green:#1f6d55;--accent-hover:#174c41;--accent-soft:#e5efe9;--on-accent:#ffffff;
  --border-strong:#728d7d;--red-soft:#fbedeb;--red-edge:#c88c87;
  --warm:#754e1f;--warm-soft:#faf1e2;--warm-edge:#bca17a;--focus:#1e5d50;
  --backdrop:rgba(235,241,237,.9);--shadow:rgba(37,60,54,.14);
  --chart-grid:#dce5e0;--chart-ink:#53645c;--chart-guide:#626474;
  --chart-up:#1f6d55;--chart-down:#b33d43;--chart-event-fill:#f6e9cb;
  --chart-event-ink:#805514;--chart-price:#1f6254;--chart-price-ink:#ffffff;
  --chart-entry:#1f6254;--chart-stop:#b33d43;
  --font:system-ui,-apple-system,"Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font);font-size:14px;line-height:1.5}
button,select,input{font:inherit}
button{cursor:pointer}
button:disabled{opacity:.36;cursor:not-allowed}
button:focus-visible,select:focus-visible,input:focus-visible,a:focus-visible,summary:focus-visible{outline:2px solid var(--focus);outline-offset:3px}
a{color:inherit}
.noise{pointer-events:none;position:fixed;inset:0;background:none;z-index:8}
.app-shell{max-width:1720px;margin:auto;padding:0 clamp(17px,3.1vw,58px)}
.masthead{height:77px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--edge)}
.wordmark{text-decoration:none;display:flex;align-items:center;gap:13px;font-size:12px;font-weight:790;letter-spacing:.13em}
.wordmark b{color:var(--sub);font-weight:500}
.mark{font-family:Georgia,serif;font-size:30px;line-height:1;color:var(--gold)}
.header-right{font:500 10px/1.2 ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.14em;color:var(--sub);display:flex;align-items:center;gap:10px}
.pulse-dot{height:7px;width:7px;background:var(--green);border-radius:100%;box-shadow:none}
.header-sep{color:var(--sub)}
.opening{display:flex;justify-content:space-between;align-items:end;gap:20px;padding:39px 0 37px}
.eyebrow{display:flex;align-items:center;gap:13px;color:var(--gold);font:600 10px/1.2 ui-monospace,SFMono-Regular,monospace;letter-spacing:.2em;margin:0 0 20px}
.thin-line{width:42px;height:2px;background:var(--gold)}
h1{font-family:Georgia,"Times New Roman",serif;font-weight:400;letter-spacing:-.062em;line-height:.96;font-size:clamp(42px,6.3vw,94px);margin:0}
h1 em{font-weight:400;color:var(--gold)}
.deck{color:var(--sub);font-size:13px;line-height:1.9;margin:24px 0 0}
.hero-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:20px}
.hero-actions button{min-height:44px;border-radius:4px;padding:11px 18px;font-size:13px;font-weight:750}
.hero-primary{background:var(--gold);color:var(--on-accent);border:1px solid var(--border-strong)}
.hero-primary span{margin-left:15px}
.hero-secondary{background:var(--bg);color:var(--gold);border:1px solid var(--border-strong)}
.hero-context{color:var(--sub);font-size:10px;line-height:1.7;margin:8px 0 0}
.opening-side{text-align:right;min-width:178px;padding-bottom:5px}
.timecode{color:var(--text);font:400 clamp(42px,6vw,84px)/1 Georgia,serif;letter-spacing:-.07em}
.timecode span{font-size:14px;color:var(--gold);letter-spacing:.02em;margin-left:7px;vertical-align:top;display:inline-block;margin-top:14px}
.timecode-caption{font:500 10px/1.4 ui-monospace,SFMono-Regular,monospace;letter-spacing:.11em;color:var(--sub);margin-top:15px}
.workstation{display:grid;grid-template-columns:270px minmax(0,1fr) 295px;align-items:stretch;border:1px solid var(--border-strong);border-radius:6px;overflow:hidden;min-height:640px;background:var(--panel)}
.panel{min-width:0}
.setup-panel{padding:0 17px 22px;border-right:1px solid var(--edge);background:var(--panel);display:flex;flex-direction:column}
.scenario-summary{margin-top:18px;border:1px solid var(--border-strong);background:var(--panel2);color:var(--gold);border-radius:4px;padding:11px;font-size:12px;font-weight:700;line-height:1.45}
.setup-intro{font-size:11px;line-height:1.7;color:var(--sub);margin:10px 0 0}
.advanced-settings{margin-top:14px;border-top:1px solid var(--edge)}
.advanced-settings>summary{font-size:11px;font-weight:700;color:var(--gold);cursor:pointer;list-style:none;padding:13px 2px;display:flex;align-items:center;justify-content:space-between;min-height:44px}
.advanced-settings>summary::-webkit-details-marker{display:none}
.advanced-settings>summary span{font-size:16px;opacity:.8}
.advanced-settings[open]>summary span{transform:rotate(180deg)}
.actions-panel{padding:0 17px 18px;border-left:1px solid var(--edge);background:var(--panel)}
.chart-panel{background:var(--bg);position:relative;display:flex;flex-direction:column}
.panel-heading{display:flex;align-items:center;gap:9px;height:54px;border-bottom:2px solid var(--border-strong);white-space:nowrap}
.panel-heading h2{font-size:13px;letter-spacing:.03em;font-weight:780;margin:0}
.section-index{font:600 11px/1 ui-monospace,SFMono-Regular,monospace;color:var(--gold)}
.panel-kicker{font:500 10px/1 ui-monospace,SFMono-Regular,monospace;color:var(--quiet);letter-spacing:.1em;margin-left:auto}
.chart-panel .panel-heading{padding:0 20px}
.motion-toggle{margin-left:8px;padding:5px 8px;white-space:nowrap;font:600 10px/1.3 ui-monospace,SFMono-Regular,monospace;letter-spacing:.02em;color:var(--gold);background:var(--panel2);border:1px solid var(--border-strong);border-radius:3px}
.motion-toggle:hover{background:var(--accent-soft)}
.motion-toggle[aria-pressed="false"]{color:var(--sub);border-color:var(--edge);background:var(--panel2)}
.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.setting-block{margin-top:22px}
h3{font-size:12px;margin:0 0 12px;font-weight:680}
h3 span{font:500 10px/1 ui-monospace,SFMono-Regular,monospace;color:var(--quiet);float:right}
.pair-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px}
.pair-choice{border:1px solid var(--edge);background:var(--panel);color:var(--sub);min-height:40px;border-radius:4px;text-align:left;padding:10px;font:600 11px/1.3 ui-monospace,SFMono-Regular,monospace;transition:background .18s,border-color .18s}
.pair-choice:hover{background:var(--accent-soft)}
.pair-choice[aria-pressed="true"]{border-color:var(--gold);color:var(--gold);background:var(--accent-soft);box-shadow:inset 2px 0 var(--gold)}
.detail{color:var(--sub);font-size:11px;line-height:1.65;margin:11px 0 0;min-height:34px}
.scenarios-block{margin-top:18px}
.scenario-list{max-height:207px;overflow-y:auto;scrollbar-color:var(--sub) transparent;scrollbar-width:thin;padding-right:2px;display:grid;gap:6px}
.scenario-choice{border:1px solid var(--edge);padding:10px 9px;background:var(--panel);color:var(--text);text-align:left;border-radius:4px;display:flex;align-items:center;gap:8px;min-height:45px}
.scenario-choice:hover{background:var(--accent-soft)}
.scenario-choice[aria-pressed="true"]{border-color:var(--gold);background:var(--accent-soft)}
.scenario-choice span:first-child{width:17px;flex:none;color:var(--gold);font:500 10px/1 ui-monospace,SFMono-Regular,monospace}
.scenario-choice strong{font-size:11px;font-weight:580;flex:1}
.scenario-choice small{font-size:9px;color:var(--sub)}
.surprise-choice{border-style:dashed;border-color:var(--border-strong);background:var(--panel2)}
.setting-note{color:var(--sub);font-size:10px;line-height:1.5;margin:9px 0 0}
.settings-row{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:17px}
.settings-row label,.seedlabel{font-size:10px;color:var(--sub)}
.settings-row select,.seedlabel input{width:100%;height:38px;background:var(--panel);color:var(--text);border:1px solid var(--edge);border-radius:4px;margin-top:6px;padding:0 8px;outline-offset:2px}
.seedlabel{display:block;margin-top:11px}
.seedlabel input{height:34px}
.risk-preview{font-size:10px;line-height:1.6;background:var(--panel2);border:1px solid var(--border-strong);border-radius:4px;padding:9px 10px;margin-top:11px;color:var(--green)}
.risk-preview .fine-print{color:var(--text)}
.risk-preview.unbounded{border-color:var(--red-edge);color:var(--red);background:var(--red-soft)}
.start-button{width:100%;margin-top:16px;display:flex;justify-content:space-between;align-items:center;gap:8px;border:1px solid var(--border-strong);border-radius:4px;background:var(--gold);color:var(--on-accent);font-weight:770;padding:13px;font-size:12px;transition:background .2s}
.start-button:hover{background:var(--accent-hover)}
.start-button span:last-child{font-size:19px;font-weight:400;line-height:1}
.privacy-note{margin-top:12px;color:var(--sub);font-size:10px;line-height:1.75}
.privacy-note span{color:var(--gold)}
.terminal-top{padding:25px 22px 15px;display:flex;justify-content:space-between;gap:10px;align-items:start}
.coach,.decision-bar{padding:12px 20px;background:var(--warm-soft);border-bottom:1px solid var(--border-strong);color:var(--text)}
.coach strong,.decision-bar strong{font-size:12px;color:var(--gold)}
.coach p,.decision-bar p{font-size:11px;line-height:1.6;margin:4px 0}
.coach-actions,.decision-choices{display:flex;flex-wrap:wrap;gap:7px;margin-top:8px}
.coach-actions button,.decision-choices button{border:1px solid var(--border-strong);background:var(--panel2);color:var(--gold);border-radius:3px;padding:7px 11px;font-size:11px;font-weight:650;min-height:36px}
.coach-actions button:first-child,.decision-choices button:first-child{background:var(--gold);border-color:var(--border-strong);color:var(--on-accent)}
.decision-bar{background:var(--warm-soft);border-color:var(--warm-edge);animation:appear .25s ease-out}
.decision-bar[hidden],.coach[hidden],.event-story[hidden],.pacing-control button[hidden]{display:none}
.mini-label,.price-caption,.terminal-time,.bottom-micro{color:var(--sub);font:500 10px/1.5 ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.06em}
.middle-dot{padding:0 4px;color:var(--sub)}
.quote-confirmed{font-size:9px;letter-spacing:0;color:var(--gold);margin-left:5px}
.price{color:var(--text);font:750 clamp(36px,3.4vw,54px)/1.1 ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:-.06em;margin-top:7px}
.price-caption{margin-top:5px;font-size:10px;letter-spacing:0}
.terminal-time{text-align:right;display:grid;gap:4px}
.terminal-time strong{color:var(--gold);font-size:18px;letter-spacing:.01em}
.terminal-time small{color:var(--sub);font-size:10px}
.warning-bar{min-height:36px;padding:9px 22px;border-top:1px solid var(--edge);border-bottom:1px solid var(--edge);background:var(--panel2);color:var(--sub);font-size:11px}
.warning-bar.alert{background:var(--red-soft);color:var(--red);border-color:var(--red-edge);animation:alert .33s ease-out}
.flash-wire{font:500 11px/1.35 ui-monospace,SFMono-Regular,Consolas,monospace;padding:10px 20px;color:var(--green);background:var(--panel);border-bottom:1px solid var(--edge);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.flash-wire.alert{color:var(--red);background:var(--red-soft);border-bottom-color:var(--red-edge)}
.event-story{position:absolute;z-index:4;top:44px;left:15px;right:77px;display:flex;flex-direction:column;gap:6px;
  border:1px solid var(--red-edge);border-left:4px solid var(--red-edge);border-radius:4px;padding:11px 14px;
  background:var(--red-soft);color:var(--red);box-shadow:0 8px 28px var(--shadow);
  max-height:175px;overflow:auto;pointer-events:none}
.event-story strong{font-size:clamp(13px,1.35vw,17px);line-height:1.5}
.event-eyebrow{font:700 10px/1.2 ui-monospace,SFMono-Regular,monospace;letter-spacing:.08em;color:var(--red)}
.event-context{font-size:11px;color:var(--gold);line-height:1.5}
.pacing-control{padding:0 18px;background:var(--panel)}
.pacing-control button{display:block;width:100%;text-align:center;background:var(--panel2);color:var(--green);border:1px solid var(--border-strong);border-radius:3px;padding:10px;margin:9px 0 0;font-size:11px;font-weight:700}
@keyframes alert{0%{filter:brightness(1.9)}100%{filter:brightness(1)}}
.chart-box{position:relative;flex:1;min-height:360px;overflow:hidden;padding:0 5px;background:var(--bg)}
#chart{display:block;width:100%;height:100%;min-height:360px}
.chart-watermark{position:absolute;bottom:5px;left:18px;pointer-events:none;font:500 9px/1 ui-monospace,SFMono-Regular,monospace;color:var(--sub);letter-spacing:.11em}
.chart-corner{position:absolute;right:20px;top:17px;font:500 9px/1 ui-monospace,SFMono-Regular,monospace;color:var(--sub);display:flex;align-items:center;gap:5px}
.chart-motion-status{position:absolute;left:16px;top:16px;pointer-events:none;font:600 9px/1.1 ui-monospace,SFMono-Regular,monospace;letter-spacing:.055em;color:var(--sub);background:var(--panel);padding:5px 7px;border:1px solid var(--edge);border-radius:3px}
.chart-motion-status.moving{color:var(--warm);background:var(--warm-soft);border-color:var(--warm-edge)}
.legend-up,.legend-down{width:6px;height:6px;background:var(--green);display:inline-block}
.legend-down{background:var(--red);margin-left:11px}
.sessions{display:grid;grid-template-columns:repeat(4,1fr);padding:11px 18px;border-top:1px solid var(--edge);gap:5px}
.session{display:flex;flex-direction:column;gap:3px;color:var(--sub);font-size:10px;padding:3px}
.session.active{color:var(--text)}
.session-name{font-size:11px;font-weight:580;white-space:nowrap}
.session-dot{display:inline-block;width:6px;height:6px;margin-right:5px;border-radius:50%;background:var(--panel2)}
.session.active .session-dot{background:var(--green)}
.session-time{color:var(--sub);font:500 10px/1 ui-monospace,SFMono-Regular,monospace}
.bottom-micro{display:flex;justify-content:space-between;gap:8px;padding:12px 22px 14px;border-top:1px solid var(--edge);font-size:9px}
.portfolio{padding:19px 0 16px;border-bottom:1px solid var(--edge)}
.portfolio-kicker{display:flex;justify-content:space-between;gap:5px;font:500 9px/1 ui-monospace,SFMono-Regular,monospace;letter-spacing:.11em;color:var(--sub)}
.portfolio-kicker span{color:var(--quiet)}
.equity{font:750 34px/1.1 ui-monospace,SFMono-Regular,monospace;letter-spacing:-.045em;margin:13px 0 19px}
.portfolio-meta{display:grid;grid-template-columns:1fr 1fr;gap:12px 6px}
.portfolio-meta>div{display:grid;gap:5px}
.portfolio-meta span{font-size:10px;color:var(--sub)}
.portfolio-meta strong{font:550 12px/1.2 ui-monospace,SFMono-Regular,monospace}
.positive{color:var(--green)!important}
.negative{color:var(--red)!important}
.position-status{display:flex;align-items:center;gap:7px;padding:15px 0;color:var(--sub);font:600 10px/1.3 ui-monospace,SFMono-Regular,monospace;letter-spacing:.03em}
.position-light{width:7px;height:7px;flex:none;background:var(--panel2);border-radius:50%}
.position-status.in-market .position-light{background:var(--gold);box-shadow:none}
.position-status.under-siege{margin:5px -5px;padding:10px 5px;border-left:2px solid var(--red-edge);background:var(--red-soft);color:var(--red)}
.position-status.under-siege .position-light{background:var(--red);box-shadow:none}
.controls{display:grid;gap:9px}
.mobile-trade-head{display:none}
.control-top{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.btn{border-radius:4px;font-weight:750;letter-spacing:.015em;line-height:1.45;min-height:46px;white-space:normal;overflow-wrap:anywhere;padding:11px 10px;border:1px solid var(--edge);background:var(--panel2);color:var(--text);font-size:12px;transition:filter .18s}
.btn:not(:disabled):hover{filter:brightness(.96)}
.btn.buy{border-color:var(--green);background:var(--green);color:var(--on-accent)}
.btn.sell{border-color:var(--red);background:var(--bg);color:var(--red)}
.btn small{font-size:10px;font-weight:400;margin-left:5px}
.btn.close{background:var(--bg);border-color:var(--border-strong);color:var(--gold)}
.btn.next{background:var(--gold);border-color:var(--border-strong);color:var(--on-accent);display:flex;align-items:center;justify-content:space-between}
.btn.auto{background:var(--bg);border-color:var(--edge);color:var(--sub)}
.btn.finish{background:var(--bg);border:1px solid var(--border-strong);color:var(--text);font-weight:700}
.finish-note{color:var(--sub);font-size:10px;line-height:1.5;margin-top:-4px;overflow-wrap:anywhere}
.news-heading{display:flex;align-items:center;justify-content:space-between;gap:5px;margin-top:24px;padding-bottom:10px;border-bottom:1px solid var(--edge)}
.live-flag{font:600 10px/1 ui-monospace,SFMono-Regular,monospace;color:var(--red);letter-spacing:.1em}
.sound-button{color:var(--gold);border:1px solid var(--edge);border-radius:3px;padding:6px 8px;background:var(--panel2);font:650 10px/1.3 ui-monospace,SFMono-Regular,monospace;white-space:nowrap}
.sound-button[aria-pressed="true"]{background:var(--accent-soft);border-color:var(--gold);color:var(--gold)}
.news-list{margin-top:11px;display:grid;gap:7px;overflow:auto;max-height:230px;scrollbar-color:var(--sub) transparent;scrollbar-width:thin}
.empty-news{color:var(--quiet);font-size:11px;line-height:1.9;margin:4px 0}
.news-item{background:var(--panel);border-left:2px solid var(--border-strong);padding:8px 10px;animation:appear .22s ease-out}
.news-item.urgent{border-left-color:var(--red);background:var(--red-soft)}
.news-item.note{border-left-color:var(--border-strong)}
.news-timestamp{font:500 9px/1 ui-monospace,SFMono-Regular,monospace;color:var(--sub);margin:0 0 5px;display:block}
.news-item p{margin:0;font-size:11px;line-height:1.55}
@keyframes appear{from{opacity:.4;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}
.afterword{display:grid;grid-template-columns:205px 1fr 290px;align-items:start;gap:23px;padding:32px 3px 40px;border-bottom:1px solid var(--edge)}
.afterword-index{font:500 10px/1.6 ui-monospace,SFMono-Regular,monospace;color:var(--gold);letter-spacing:.09em}
.afterword p{font-size:clamp(18px,2vw,26px);line-height:1.5;letter-spacing:-.03em;margin:0}
.afterword em{color:var(--gold);font-style:normal}
.footnote{color:var(--sub);font-size:10px;line-height:1.85}
footer{display:flex;justify-content:space-between;gap:12px;padding:18px 0 25px;color:var(--sub);letter-spacing:.06em;font:500 9px/1.6 ui-monospace,SFMono-Regular,monospace}
.overlay{position:fixed;inset:0;z-index:30;background:var(--backdrop);display:flex;justify-content:center;align-items:center;padding:18px;overflow:auto}
.overlay[hidden]{display:none}
.end-modal{max-width:570px;width:100%;padding:clamp(22px,5vw,42px);background:var(--bg);border:1px solid var(--border-strong);box-shadow:0 8px 28px var(--shadow)}
.end-kicker{color:var(--gold);font:750 11px/1.3 ui-monospace,SFMono-Regular,monospace;display:flex;justify-content:space-between;gap:12px}
.end-modal h2{font:400 clamp(29px,5vw,51px)/1.15 Georgia,serif;letter-spacing:-.055em;margin:20px 0 12px}
.end-modal>p{color:var(--sub);line-height:1.7}
.risk-score{padding:11px 13px;margin-top:16px;border-left:3px solid var(--border-strong);background:var(--warm-soft);color:var(--warm);font-weight:700;font-size:13px}
.risk-reason{color:var(--sub)!important;font-size:11px;line-height:1.6;margin-top:8px}
.end-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px 12px;margin:20px 0;padding:20px 0;border-top:2px solid var(--gold);border-bottom:1px solid var(--border-strong)}
.end-stats div{display:grid;gap:5px}
.end-stats span{color:var(--sub);font-size:10px}
.end-stats b{font:700 18px/1.3 ui-monospace,SFMono-Regular,monospace;overflow-wrap:anywhere}
.end-stats>div:has(#end-profit){grid-column:1/-1;grid-row:1;padding-bottom:16px;border-bottom:1px solid var(--edge)}
.end-stats #end-profit{font-size:clamp(30px,5vw,46px);font-weight:800;letter-spacing:-.045em}
.result-summary{margin:20px 0 16px;padding:18px 0 0;border-top:3px solid var(--gold)}
.result-summary h3{font-size:clamp(20px,3vw,26px);font-weight:800;line-height:1.45;margin:0 0 8px;color:var(--text)}
.result-summary p{font-size:14px;line-height:1.8;margin:0;color:var(--text)}
.result-summary small{display:block;margin-top:10px;color:var(--sub);font-size:11px;line-height:1.7}
body.partial-result .result-summary{border-color:var(--border-strong)}
.lessons{display:grid;gap:9px}
.lesson{padding:11px 14px;border-left:2px solid var(--gold);background:var(--panel2);font-size:12px;line-height:1.65}
.end-notice{font-size:10px}
.end-actions{display:flex;gap:9px;margin-top:24px;flex-wrap:wrap}
.end-actions button{flex:1;min-width:150px;border:1px solid var(--border-strong);background:var(--gold);color:var(--on-accent);padding:12px;font-weight:700}
.end-actions button+button{background:transparent;color:var(--text);border-color:var(--border-strong)}
body.is-playing .opening{display:none}
body.is-playing .setup-panel{display:none}
body.is-playing .workstation{grid-template-columns:minmax(0,1fr) 295px;min-height:620px}
body.is-playing .chart-panel{grid-column:1;grid-row:1}
body.is-playing .actions-panel{grid-column:2;grid-row:1}
@media(max-width:1250px){
  .workstation{grid-template-columns:230px minmax(0,1fr) 250px}
  .setup-panel,.actions-panel{padding-left:12px;padding-right:12px}
  .terminal-top{padding:18px 15px 12px}
  .afterword{grid-template-columns:150px 1fr 270px}
}
@media(max-width:980px){
  .workstation{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .chart-panel{grid-column:1/-1;grid-row:1;border-bottom:1px solid var(--edge)}
  .setup-panel{grid-column:1;border-right:1px solid var(--edge)}
  .actions-panel{grid-column:2;border-left:0}
  .chart-box,#chart{min-height:330px}
  .afterword{grid-template-columns:1fr 2fr;gap:12px}
  .footnote{grid-column:2}
  body.is-playing .workstation{grid-template-columns:minmax(0,1fr) 260px}
  body.is-playing .chart-panel{grid-column:1;grid-row:1}
  body.is-playing .actions-panel{grid-column:2;grid-row:1}
}
@media(max-width:600px){
  .app-shell{padding:0 13px}
  .masthead{height:56px}
  .wordmark{font-size:9px;gap:8px}
  .mark{font-size:25px}
  .header-right{font-size:8px;gap:5px}
  .header-right span:last-child,.header-sep{display:none}
  .opening{padding:25px 2px 22px;align-items:start}
  h1{font-size:clamp(35px,9.5vw,54px)}
  .eyebrow{font-size:8px;margin-bottom:15px;letter-spacing:.1em}
  .thin-line{display:none}
  .deck{font-size:11px;margin-top:17px}
  .hero-actions{margin-top:14px;gap:7px}
  .hero-actions button{font-size:11px;min-height:44px;padding:9px 13px}
  .hero-context{font-size:9px}
  .opening-side{min-width:60px}
  .timecode{font-size:31px}
  .timecode span{font-size:9px;margin-left:3px;margin-top:5px}
  .timecode-caption{font-size:7px;letter-spacing:0;margin-top:5px}
  .workstation{grid-template-columns:1fr}
  body.is-playing .workstation{grid-template-columns:1fr}
  .chart-panel{grid-column:1;grid-row:2}
  .setup-panel{grid-column:1;grid-row:1;border-right:0;border-bottom:1px solid var(--edge);padding:0 13px 18px}
  .actions-panel{grid-column:1;grid-row:3;padding:0 13px 19px}
  .panel-heading{height:45px}
  .setting-block{margin-top:14px}
  .scenario-summary{margin-top:12px}
  .coach,.decision-bar{padding:10px 12px}
  .coach p{font-size:10px}
  .coach-actions button,.decision-choices button{padding:8px 8px;font-size:11px;min-height:44px}
  .pair-grid{grid-template-columns:repeat(4,1fr);gap:5px}
  .pair-choice{padding:8px 4px;text-align:center;font-size:10px;min-height:34px}
  .detail{min-height:0;font-size:10px;margin-top:6px}
  .scenarios-block{margin-top:14px}
  .scenario-list{max-height:146px;grid-template-columns:repeat(2,1fr);gap:5px}
  .scenario-choice{padding:8px 6px;min-height:38px}
  .scenario-choice strong{font-size:10px}
  .scenario-choice small{display:none}
  .settings-row{margin-top:11px}
  .setting-note{margin-top:6px}
  .seedlabel{margin-top:7px}
  .start-button{margin-top:11px}
  .chart-panel .panel-heading{padding:0 13px}
  .motion-toggle{font-size:9px;padding:5px 6px;margin-left:0}
  .chart-panel .sound-button{font-size:9px;padding:5px 6px}
  .chart-panel .panel-kicker{display:none}
  .terminal-top{padding:14px 14px 11px}
  .price{font-size:37px}
  .terminal-time strong{font-size:16px}
  .chart-box,#chart{min-height:290px}
  .flash-wire{padding:9px 13px;font-size:10px}
  .event-story{top:28px;left:8px;right:9px;max-height:118px;padding:8px 10px;gap:3px}
  .event-story strong{font-size:12px;line-height:1.35}
  .event-context{font-size:10px}
  .warning-bar{padding:9px 13px}
  .sessions{padding:9px}
  .session-name{font-size:10px}
  .bottom-micro{padding:10px 13px}
  .portfolio{padding-top:15px}
  .equity{font-size:29px;margin:10px 0 14px}
  .portfolio-meta{grid-template-columns:repeat(4,1fr);gap:5px}
  .portfolio-meta strong{font-size:10px}
  .portfolio-meta span{font-size:9px}
  .news-heading{margin-top:17px}
  .news-list{max-height:190px}
  .end-stats{grid-template-columns:repeat(2,1fr);gap:9px}
  .end-actions button{min-width:125px}
  .afterword{padding:25px 0;display:block}
  .afterword-index{display:block;margin-bottom:13px}
  .afterword p{margin-bottom:12px}
  footer{font-size:8px}
  /* Active trading: never force the player to scroll away from the chart just
     to press BUY/SELL/CLOSE. The controls become a compact bottom dock. */
  body.is-playing .opening{display:none}
  body.is-playing .setup-panel{display:none}
  body.is-playing .chart-panel{grid-column:1;grid-row:1}
  body.is-playing .actions-panel{grid-column:1;grid-row:2}
  body.is-playing .workstation{padding-bottom:0}
  body.is-playing .app-shell{padding-bottom:calc(170px + env(safe-area-inset-bottom,0px))}
  body.is-playing .chart-panel{scroll-margin-top:4px}
  body.is-playing .chart-box,body.is-playing #chart{min-height:230px}
  body.is-playing .chart-box{height:clamp(230px,32vh,320px);flex:none}
  body.is-playing .chart-box #chart{min-height:230px}
  body.is-playing .terminal-top{padding:10px 12px}
  body.is-playing .price{font-size:34px}
  body.is-playing .sessions{padding:6px}
  body.is-playing .bottom-micro{padding:7px 13px}
  body.is-playing .controls{
    position:fixed;bottom:0;left:0;right:0;z-index:12;
    display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1fr);
    gap:7px;padding:9px 12px calc(10px + env(safe-area-inset-bottom,0px));
    background:var(--panel);border-top:1px solid var(--border-strong);box-shadow:0 8px 28px var(--shadow)}
  body.is-playing .controls .mobile-trade-head{
    grid-column:1/-1;display:flex;gap:9px;justify-content:space-between;
    align-items:center;white-space:nowrap;min-height:27px;
    font:500 11px/1.2 ui-monospace,SFMono-Regular,monospace;color:var(--sub)
  }
  .mobile-trade-head strong{font-size:19px;font-weight:800;color:var(--text)}
  body.is-playing .controls .control-top{grid-column:1/3;display:grid;grid-template-columns:1fr 1fr;gap:7px}
  body.is-playing .controls .btn.close{grid-column:3;grid-row:2}
  body.is-playing .controls .btn.next{grid-column:1/3;grid-row:3}
  body.is-playing .controls .btn.auto{grid-column:3;grid-row:3;font-size:9px}
  body.is-playing .controls .btn{min-height:44px;padding:8px 5px;font-size:12px}
  body.is-playing .controls .btn small{display:inline;font-size:9px;margin-left:2px}
  body.is-playing .controls .btn.close{font-size:10px}
  body.is-playing .controls .btn.next{font-size:12px}
  body.is-playing .actions-panel .news-list{max-height:330px}
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

/* SEALED SHIFT v0.5: opt-in challenge and post-run autopsy, never in the order panel. */
.sealed-brief{margin-top:12px;padding:14px 15px;background:var(--warm-soft);border:1px solid var(--red-edge);border-left:3px solid var(--border-strong);border-radius:4px;max-width:520px}
.sealed-brief[hidden]{display:none}
.brief-eyebrow{display:block;color:var(--gold);font:600 10px/1.3 ui-monospace,SFMono-Regular,monospace;letter-spacing:.055em}
.sealed-brief>strong{display:block;color:var(--gold);font-size:15px;margin-top:7px}
.sealed-brief>p{color:var(--text);font-size:12px;line-height:1.65;margin:7px 0}
.sealed-brief>small{display:block;font-size:10px;color:var(--sub);margin-top:8px}
.sealed-brief-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:11px}
.sealed-brief-actions button{min-height:44px;padding:8px 12px;border-radius:4px;border:1px solid var(--border-strong);background:var(--gold);color:var(--on-accent);font-weight:750;font-size:12px}
.sealed-brief-actions button+button{background:var(--panel2);color:var(--gold);border-color:var(--border-strong)}
.hero-challenge{background:var(--red-soft);color:var(--gold);border:1px solid var(--red-edge)}
.hero-challenge:hover{background:var(--red-soft)}
.hero-challenge span{margin-left:7px;color:var(--red)}
.contract-pick-label,.case-import-label{display:block;color:var(--sub);font-size:10px;line-height:1.55}
.contract-pick-label select,.case-import-label input{display:block;width:100%;min-height:40px;background:var(--panel);color:var(--text);border:1px solid var(--edge);border-radius:4px;margin-top:5px;padding:8px}
.case-import-label{margin-top:11px}
.case-import-label input{font-size:10px;font-family:ui-monospace,SFMono-Regular,monospace}
.load-case{width:100%;margin-top:8px;padding:10px;min-height:44px;border:1px solid var(--border-strong);border-radius:3px;background:var(--panel2);color:var(--gold);font-size:11px;font-weight:700}
.case-import-feedback{color:var(--gold);margin:5px 0 0;font-size:10px;line-height:1.45}
.case-strip{display:flex;align-items:center;gap:9px;flex-wrap:wrap;padding:9px 17px;background:var(--panel2);border-bottom:1px solid var(--red-edge);color:var(--gold);font:600 10px/1.3 ui-monospace,SFMono-Regular,monospace;letter-spacing:.035em}
.case-strip strong{font-size:10px;color:var(--gold)}
.case-strip #case-remaining{margin-left:auto;color:var(--gold)}
.case-strip.is-broken{background:var(--red-soft);border-color:var(--red-edge)}
.case-strip[hidden],.desk-fragment[hidden],.case-result[hidden]{display:none}
.desk-fragment{padding:6px 17px;background:var(--panel);border-bottom:1px solid var(--edge);color:var(--sub);font:500 10px/1.4 ui-monospace,SFMono-Regular,monospace}
.case-result{background:var(--panel);border:1px solid var(--red-edge);border-left:3px solid var(--border-strong);padding:13px;margin-top:14px;border-radius:4px}
.case-result-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;color:var(--gold);font:700 11px/1.4 ui-monospace,SFMono-Regular,monospace}
.case-result-heading span{color:var(--green);font-size:10px}
.contract-status{font-size:15px;font-weight:760;color:var(--gold);margin:11px 0 3px}
.contract-status.kept{color:var(--green)}
.contract-explanation{font-size:11px;line-height:1.7;color:var(--sub);margin:0 0 12px}
.case-timeline{margin:0;padding:0 0 0 20px;display:grid;gap:5px;color:var(--text);font:500 11px/1.5 ui-monospace,SFMono-Regular,monospace}
.case-timeline li::marker{color:var(--gold)}
.case-small-note{font-size:10px;line-height:1.6;color:var(--sub);margin:13px 0}
.case-code-label{color:var(--sub);font-size:10px;line-height:1.5}
.case-code-label input{display:block;width:100%;padding:9px 8px;margin-top:5px;min-height:40px;background:var(--panel);color:var(--gold);border:1px solid var(--border-strong);border-radius:3px;font:500 10px/1.3 ui-monospace,SFMono-Regular,monospace}
.copy-case{min-height:44px;width:100%;margin-top:7px;border:1px solid var(--border-strong);background:var(--panel2);color:var(--gold);border-radius:3px;font-size:11px;font-weight:700}
.copy-case:hover{background:var(--red-soft)}
.copy-feedback{min-height:1em;font-size:10px;line-height:1.5;margin:6px 0 0;color:var(--green)}

/* v0.7: a player decision, not another jump-scare or fake price tick. */
.crisis-panel{background:var(--red-soft);color:var(--gold);
  padding:13px 16px 11px;border-top:2px solid var(--red-edge);border-bottom:1px solid var(--red-edge);
  box-shadow:0 8px 28px var(--shadow)}
.crisis-panel[hidden]{display:none!important}
.crisis-copy{display:grid;gap:3px}
.crisis-label{color:var(--red);font:750 9px/1.25 ui-monospace,SFMono-Regular,monospace;letter-spacing:.095em}
.crisis-event{display:block;font-size:10px;font-weight:750;line-height:1.45;color:var(--red)}
.crisis-event[hidden]{display:none}
.crisis-copy strong{font-size:14px;line-height:1.35}
.crisis-copy p{font-size:11px;line-height:1.55;color:var(--sub);margin:1px 0 3px}
.crisis-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.crisis-actions button{min-height:44px;border:1px solid var(--border-strong);border-radius:4px;
  padding:7px 5px;color:var(--gold);background:var(--panel2);font-size:11px;font-weight:770;line-height:1.2}
.crisis-actions .crisis-exit{border-color:var(--red-edge);background:var(--red-soft);color:var(--gold)}
.crisis-actions .crisis-trim{border-color:var(--warm-edge);background:var(--warm-soft);color:var(--warm)}
.crisis-actions .crisis-hold{border-color:var(--border-strong);background:var(--panel2);color:var(--green)}
.crisis-actions button:not(:disabled):hover{filter:brightness(.96)}
.crisis-actions button:disabled{opacity:.42;cursor:not-allowed}
.crisis-small{font-size:10px;color:var(--sub);line-height:1.4;margin:6px 0 0}
body.is-playing.in-crisis .chart-panel{border-bottom-color:var(--red-edge)}

/* v0.8: after-the-fact comparison. Never shown on the live trading desk. */
.whatif-panel{margin:17px 0 0;padding:16px;background:var(--panel);
  border:1px solid var(--border-strong);border-left:3px solid var(--border-strong);border-radius:5px}
.whatif-panel[hidden]{display:none}
.whatif-heading{display:grid;gap:4px}
.whatif-kicker{color:var(--gold);font:750 10px/1.3 ui-monospace,SFMono-Regular,monospace;letter-spacing:.035em}
.whatif-heading strong{font-size:18px;line-height:1.35;color:var(--gold)}
.whatif-meta{color:var(--sub);font:500 11px/1.5 ui-monospace,SFMono-Regular,monospace;margin:9px 0}
.whatif-explainer{color:var(--sub);line-height:1.65;font-size:11px;margin:8px 0 14px}
.whatif-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.whatif-choice{background:var(--panel2);border:1px solid var(--edge);
  border-radius:4px;padding:11px 9px;display:grid;gap:6px;min-width:0}
.whatif-choice.was-chosen{border-color:var(--border-strong);background:var(--accent-soft)}
.whatif-choice-title{font-size:12px;font-weight:800;line-height:1.4;color:var(--text)}
.whatif-selected{font-size:9px;color:var(--gold);font-weight:700}
.whatif-choice-amount{font:750 clamp(13px,1.6vw,19px)/1.3 ui-monospace,SFMono-Regular,monospace;
  color:var(--gold);overflow-wrap:anywhere}
.whatif-choice-delta{font:600 11px/1.35 ui-monospace,SFMono-Regular,monospace;color:var(--sub)}
.whatif-choice-reason{color:var(--sub);font-size:10px;line-height:1.5}
.whatif-disclaimer{margin:13px 0 0;color:var(--sub);font-size:10px;line-height:1.75}
@media(max-width:600px){
  /* Keep the real trading dock accessible and move the choice above it. */
  body.is-playing .crisis-panel:not([hidden]){position:fixed;bottom:calc(149px + env(safe-area-inset-bottom,0px));
    left:9px;right:9px;z-index:13;max-height:188px;overflow:auto;
    border:1px solid var(--red-edge);border-left:3px solid var(--red-edge);
    padding:9px 10px 8px;border-radius:6px;box-shadow:0 8px 28px var(--shadow)}
  body.is-playing.in-crisis .app-shell{padding-bottom:calc(350px + env(safe-area-inset-bottom,0px))}
  .crisis-copy{gap:2px}
  .crisis-copy strong{font-size:12px}
  .crisis-copy p{font-size:10px;margin:1px 0 2px}
  .crisis-actions{gap:5px}
  .crisis-actions button{min-height:44px;font-size:10px;padding:6px 3px}
  .crisis-small{font-size:9px;line-height:1.3}
  .overlay{align-items:flex-start;padding:12px}
  .end-modal{margin:0 auto;padding:20px 16px}
  .whatif-panel{padding:12px 11px;margin-top:15px}
  .whatif-grid{grid-template-columns:1fr;gap:8px}
  .whatif-choice{grid-template-columns:minmax(0,1fr) auto;gap:2px 9px;padding:9px 11px}
  .whatif-choice-title{font-size:12px}
  .whatif-choice-amount{font-size:16px;grid-column:2;grid-row:1 / span 2;align-self:center;text-align:right}
  .whatif-selected,.whatif-choice-delta,.whatif-choice-reason{grid-column:1 / -1}
}
@media(max-width:600px){
  .hero-actions .hero-challenge{flex-basis:auto}
  .case-strip{padding:7px 11px;font-size:9px;gap:5px}
  .case-strip strong{font-size:9px}
  .desk-fragment{font-size:9px;padding:5px 11px}
}

/* 03:17 / 相場の分岐点 — deliberate controls, then reflection. */
:root{--trade-dock-height:200px}
.hero-context{max-width:530px;font-size:12px;line-height:1.8;margin-top:14px}
.deck{font-size:15px;line-height:1.95;max-width:570px}
.eyebrow{font-family:var(--font);letter-spacing:.12em}
.event-story{position:static;inset:auto;margin:0 16px 12px;max-height:none;box-shadow:none;flex:none}
.trade-settings{border:1px solid var(--edge);border-radius:5px;background:var(--panel);min-width:0}
.trade-settings>summary{min-height:44px;cursor:pointer;display:flex;align-items:center;padding:9px 11px;color:var(--gold);font-weight:650;font-size:12px;list-style:none;gap:6px}
.trade-settings>summary::after{content:'＋';margin-left:auto;font-size:17px}
.trade-settings[open]>summary::after{content:'−'}
.trade-settings>summary::-webkit-details-marker{display:none}
.trade-settings>div,.trade-settings>.speed-label,.trade-feedback{margin:0 11px 10px}
#order-settings{margin-top:0;gap:9px}
#order-settings label{font-size:11px;color:var(--sub)}
#order-settings select{min-height:44px;padding:7px}
#order-settings-mount:has(select:disabled){display:none}
.manage-button,.manage-actions button{min-height:44px;border:1px solid var(--border-strong);border-radius:4px;padding:9px;color:var(--gold);background:var(--panel2);font-size:12px}
.manage-button{width:100%;margin:0 0 10px}
.stop-price-label,.speed-label{display:block;color:var(--sub);font-size:11px}
.stop-price-label input,.speed-label select{display:block;width:100%;min-height:44px;margin-top:5px;border:1px solid var(--border-strong);border-radius:4px;padding:8px;background:var(--panel);color:var(--gold)}
.manage-actions{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:8px}
.manage-note,.trade-feedback{color:var(--sub);font-size:11px;line-height:1.7}
.manage-note{margin:8px 0 14px}
.trade-feedback{margin-top:8px}
.whatif-choice-risk{font-size:11px;color:var(--gold);line-height:1.7}
.next-attempt{margin-top:22px;padding-top:18px;border-top:1px solid var(--border-strong)}
.next-attempt h3{font-size:20px;font-weight:650;margin:7px 0}
.next-attempt p,.previous-result{font-size:12px;line-height:1.9;color:var(--sub)}
.previous-result{padding:12px;border-left:2px solid var(--border-strong);background:var(--panel2)}
.journal{margin-top:24px;padding-top:18px;border-top:1px solid var(--border-strong)}
.journal-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}
.journal h3{margin:0;font-size:15px}.journal-heading>span{font-size:10px;color:var(--sub)}
.journal p{font-size:12px;line-height:1.8;color:var(--sub)}
.journal-actions{display:flex;gap:7px;flex-wrap:wrap}
.journal button{min-height:44px;background:var(--panel2);border:1px solid var(--border-strong);border-radius:4px;padding:8px 11px;color:var(--gold);font-size:11px}
.journal button[hidden]{display:none}
.journal ol{list-style:none;padding:0;margin:10px 0 0}
.journal li{display:grid;gap:8px;padding:12px 0;border-top:1px solid var(--edge);font-size:11px;color:var(--sub)}
.journal li button{justify-self:start}
.end-modal{max-width:800px;border-radius:7px}
.end-modal h2{letter-spacing:-.03em;line-height:1.35;font-family:var(--font);font-weight:800;font-size:clamp(28px,3vw,38px)}
.end-actions button{min-height:48px;border-radius:4px;font-size:12px;min-width:155px}
[hidden]{display:none!important}
@media(max-width:600px){
  .deck{font-size:14px}.hero-context{font-size:11px}.event-story{margin:0 10px 10px;padding:10px 12px}
  body.is-playing .controls{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;padding-top:7px;max-height:75dvh;overflow:auto}
  body.is-playing .controls .mobile-trade-head{grid-row:1;min-height:22px}
  body.is-playing .controls .control-top{grid-row:2}
  body.is-playing .controls .btn.close{grid-row:2}
  body.is-playing .controls .btn.next{grid-row:3}
  body.is-playing .controls .btn.auto{grid-row:3}
  body.is-playing .controls .btn.finish{grid-column:1/-1;grid-row:4;min-height:44px;font-size:12px}
  body.is-playing .controls .finish-note{grid-column:1/-1;grid-row:5;font-size:10px;line-height:1.4}
  body.is-playing .controls:has(.finish-note:not([hidden])) .trade-settings{grid-row:6}
  body.is-playing .controls:has(.finish-note:not([hidden])) .progress-status{grid-row:7}
  body.is-playing .controls .trade-settings{grid-row:5;grid-column:1/-1}
  body.is-playing .controls:has(.btn.finish[hidden]) .trade-settings{grid-row:4}
  body.is-playing .controls:has(.btn.finish[hidden]) .progress-status{grid-row:5}
  body.is-playing .trade-settings>summary{min-height:36px;padding:6px 10px;font-size:11px}
  body.is-playing .trade-settings[open]{max-height:44dvh;overflow:auto}
  body.is-playing .app-shell{padding-bottom:calc(var(--trade-dock-height) + 30px)}
  body.is-playing .crisis-panel:not([hidden]){bottom:calc(var(--trade-dock-height) + 6px);max-height:min(240px,37dvh)}
  body.is-playing.in-crisis .app-shell{padding-bottom:calc(var(--trade-dock-height) + 260px)}
  body.is-playing.in-crisis .trade-settings{display:none}
  .whatif-choice-risk{grid-column:1/-1;font-size:11px}
  .end-modal{padding:22px 16px}.end-actions{display:grid;grid-template-columns:1fr 1fr}
  .end-actions button{min-width:0;font-size:12px;padding:11px 7px}
}
.game-title{font-family:var(--font);color:var(--sub);font-size:clamp(23px,2.6vw,32px);font-weight:750;line-height:1.15;letter-spacing:.02em}
.game-title em{display:inline-block;margin-top:10px;font-family:var(--font);font-size:clamp(32px,4.5vw,58px);font-weight:800;line-height:1.25;letter-spacing:-.035em;overflow-wrap:anywhere}
.opening-side .timecode{font-size:44px}.opening-side{padding-bottom:10px}
.overlay{align-items:flex-start}.end-modal{margin:auto}
.game-title em{font-style:normal}
.journal ol{max-height:330px;overflow:auto}

/* Canvas backing pixels must never determine the grid's CSS height. */
.chart-box{flex:1 1 360px;height:clamp(330px,48vh,540px);max-height:620px}
.chart-box #chart{position:absolute;inset:0 5px;width:calc(100% - 10px);height:100%;min-height:0}
@media(max-width:600px){body.is-playing .chart-box #chart{min-height:0}}
/* Clear choices, visible replay conditions, and a factual review. */
.replay-guide{padding:11px 16px;border-bottom:1px solid var(--border-strong);background:var(--warm-soft);color:var(--gold);font-size:12px;line-height:1.8;overflow-wrap:anywhere}
.play-status{color:var(--sub);font-size:10px;line-height:1.5}
.mobile-trade-head #dock-order{font-size:10px;color:var(--gold)}
.risk-rubric{border:1px solid var(--edge);padding:0 12px;margin:12px 0;border-radius:4px}
.risk-rubric>summary,.decision-review details>summary{cursor:pointer;min-height:44px;display:flex;align-items:center;font-size:12px;color:var(--sub)}
.risk-rubric .risk-score{margin:0}.risk-rubric .risk-reason{margin-bottom:12px}
.decision-review{margin:16px 0;padding:14px 0;border-block:1px solid var(--edge)}
.decision-review h3,.attempt-comparison h3,.next-scenes h3{font-size:17px;margin:0 0 8px;font-weight:650}
.decision-review>p{font-size:12px;line-height:1.8;color:var(--text)}
.decision-review ol{max-height:260px;overflow:auto;line-height:1.8;padding-bottom:8px}
.replay-plan-label{display:block;margin-top:13px;font-size:12px;color:var(--gold)}
.replay-plan-label input{display:block;min-width:0;width:100%;min-height:44px;margin-top:6px;padding:9px;background:var(--panel);color:var(--gold);border:1px solid var(--border-strong);border-radius:4px}
.next-attempt>small{display:block;color:var(--sub);font-size:11px;line-height:1.7;margin-top:6px}
.attempt-comparison{margin-top:18px}.attempt-comparison table{width:100%;border-collapse:collapse;table-layout:fixed;font-size:12px}
.attempt-comparison th,.attempt-comparison td{padding:11px 7px;border-bottom:1px solid var(--border-strong);text-align:right;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.attempt-comparison th:first-child{text-align:left;width:34%}.attempt-comparison thead{color:var(--gold)}
.next-scenes{margin-top:22px;padding-top:16px;border-top:1px solid var(--border-strong)}
.next-scenes>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.next-scenes button,.saved-cases button{min-height:44px;padding:9px 10px;border:1px solid var(--border-strong);border-radius:4px;color:var(--gold);background:var(--panel2);font-size:12px}
.saved-cases{margin-top:18px;max-width:600px}.saved-cases>summary{min-height:44px;cursor:pointer;color:var(--gold);font-size:13px}
.saved-cases ol{list-style:none;margin:0;padding:0;max-height:300px;overflow:auto}
.saved-cases li{display:grid;gap:8px;padding:12px 0;border-top:1px solid var(--edge);font-size:12px;line-height:1.8;overflow-wrap:anywhere}
.saved-cases li button{justify-self:start}
.overlay{right:auto;width:100vw;max-width:100vw}.noise{right:auto;width:100vw}
.end-modal{min-width:0;max-width:min(800px,calc(100vw - 36px));overflow-wrap:anywhere}
.end-stats>div{min-width:0}
@media(max-width:600px){
 .end-modal{max-width:calc(100vw - 24px)}.end-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
 .next-scenes>div{grid-template-columns:1fr}.replay-guide{font-size:11px;padding:9px 11px}
 body.is-playing .controls .mobile-trade-head{flex-wrap:wrap;gap:2px 9px;white-space:normal}
 .mobile-trade-head #dock-order{flex-basis:100%;line-height:1.3}
 body.is-playing .controls .play-status{grid-row:6;grid-column:1/-1;font-size:10px;line-height:1.3}
 body.is-playing.in-crisis .controls .play-status{grid-row:4}
 .attempt-comparison table{font-size:11px}.attempt-comparison td,.attempt-comparison th{padding:10px 4px}
 .saved-cases{max-width:100%}
}
.opening-copy{min-width:0;flex:1}
@media(max-width:600px){.opening{display:block}.opening-side{display:none}}
.practice-progress{margin:0 16px 12px;border:1px solid var(--border-strong);border-radius:4px;padding:0 11px;background:var(--panel2)}
.practice-progress>summary{min-height:44px;display:flex;align-items:center;cursor:pointer;color:var(--gold);font-size:12px}
.practice-progress>div{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:9px;align-items:end}
.practice-progress label{font-size:11px;color:var(--sub)}.practice-progress select{width:100%;min-width:0;min-height:44px;margin-top:5px;background:var(--panel);border:1px solid var(--border-strong);color:var(--gold);border-radius:4px;padding:7px}
.practice-progress button{min-height:44px;border:1px solid var(--border-strong);background:var(--gold);color:var(--on-accent);border-radius:4px;padding:7px;font-weight:650;font-size:11px}
.practice-progress p{font-size:11px;line-height:1.7;color:var(--sub)}
.btn.manage{background:var(--panel2);border-color:var(--border-strong);color:var(--gold)}
.manage-actions{grid-template-columns:1fr}
@media(max-width:600px){.practice-progress{margin:0 10px 10px}.control-top .btn.manage{font-size:10px}}

/* The anthology adds a choice and an evidence strip, preserving the terminal. */
.desk-entry{box-shadow:inset 0 0 0 1px var(--gold)}
.desk-lobby{margin:0 0 30px;padding:24px;border:1px solid var(--border-strong);background:var(--panel);border-radius:5px;scroll-margin-top:18px}
.desk-heading,.desk-live-head{display:flex;align-items:center;justify-content:space-between;gap:14px}.desk-heading .eyebrow{margin:0}
.desk-heading button,.desk-result-actions button{border:1px solid var(--border-strong);background:var(--panel2);color:var(--text);padding:11px 15px;border-radius:3px;min-height:44px}
.desk-lobby h2{font-size:clamp(20px,2.3vw,29px);letter-spacing:.01em;line-height:1.5;margin:19px 0 10px}.desk-lobby p{color:var(--sub);max-width:850px;line-height:1.8}
.desk-chapters{list-style:none;display:flex;padding:0;margin:20px 0;gap:12px}.desk-chapters li{flex:1;border-bottom:2px solid var(--edge);padding:8px 0;color:var(--sub);font-size:12px}.desk-chapters li[aria-current]{color:var(--gold);border-color:var(--gold)}.desk-chapters .is-done{color:var(--green);border-color:var(--green)}
.desk-route-options{display:grid;grid-template-columns:1fr 1fr;gap:13px;margin:20px 0}.desk-route-options button{display:flex;flex-direction:column;gap:8px;align-items:start;text-align:left;min-height:100px;border:1px solid var(--border-strong);background:var(--panel2);color:var(--gold);padding:18px;border-radius:4px}.desk-route-options strong{font-size:16px}.desk-route-options span{font-size:12px;line-height:1.7;color:var(--sub)}.desk-route-options button:hover{background:var(--accent-soft);border-color:var(--border-strong)}
.desk-rule{border-left:2px solid var(--gold);padding-left:12px;font-size:12px}.desk-lobby small{color:var(--sub);font-size:11px}.desk-collection{margin:22px 0;padding-top:18px;border-top:1px solid var(--edge)}.desk-collection strong{color:var(--gold);font-size:12px}.desk-collection p{font-size:11px;margin:7px 0}
.desk-live{padding:14px 18px;background:var(--panel2);border-bottom:1px solid var(--edge)}.desk-live-head strong{font-size:12px;color:var(--gold)}.desk-live-head span{font-size:11px;white-space:nowrap}.desk-live p{font-size:11px;line-height:1.7;margin:7px 0;color:var(--sub)}.desk-live .desk-moment{font-size:12px;color:var(--gold)}
.desk-facts{display:grid;grid-template-columns:1fr 1fr 1.5fr;gap:10px;margin:10px 0}.desk-facts dt{font-size:10px;color:var(--sub)}.desk-facts dd{margin:4px 0 0;font:600 12px/1.5 ui-monospace,monospace;color:var(--text)}
.desk-live-foot{display:flex;gap:12px;align-items:center;justify-content:space-between}.desk-live-foot p{flex:1}.desk-live-foot button{flex:0 1 auto;background:var(--gold);color:var(--on-accent);padding:10px 13px;min-height:44px;border:0;border-radius:3px;font-size:11px;font-weight:750}
.desk-result{padding:18px 0;margin:12px 0;border-top:1px solid var(--border-strong);border-bottom:1px solid var(--border-strong)}.desk-result .eyebrow{margin-bottom:12px}.desk-result h3{font-size:20px;line-height:1.5;margin:0 0 10px}.desk-result p{font-size:12px;color:var(--sub);line-height:1.8}.desk-receipts{list-style:none;padding:0;margin:18px 0}.desk-receipts li{display:flex;flex-direction:column;gap:6px;border-left:2px solid var(--border-strong);padding:9px 12px;margin:12px 0}.desk-receipts strong{font-size:12px}.desk-receipts span{font-size:11px;color:var(--sub)}.desk-result-actions{display:flex;flex-wrap:wrap;gap:10px}.desk-result-actions button:first-child,.desk-result-actions #desk-retry-series{background:var(--gold);color:var(--on-accent);font-weight:750}
body.desk-session .next-attempt,body.desk-session .next-scenes,body.desk-session .end-actions{display:none}
body.desk-session .replay-guide{display:none}
@media(max-width:600px){.desk-lobby{padding:16px}.desk-chapters{gap:8px}.desk-chapters li{font-size:10px}.desk-route-options{grid-template-columns:1fr}.desk-route-options button{min-height:88px;padding:15px}.desk-live{padding:12px}.desk-live-head{gap:8px}.desk-live-head strong{font-size:11px}.desk-facts{grid-template-columns:1fr 1fr}.desk-facts>div:last-child{grid-column:1/-1}.desk-live-foot{display:block}.desk-live-foot button{width:100%}.desk-result-actions{display:grid;grid-template-columns:1fr}.desk-heading button{padding:8px;font-size:10px}.desk-result h3{font-size:18px}}

.desk-evidence summary{font-size:11px;color:var(--gold);cursor:pointer;min-height:30px;padding:5px 0}.desk-start-note{font-size:12px;font-weight:650}
body.desk-session .chart-panel .chart-caption{display:none}
@media(min-width:601px){.desk-evidence:not([open])>p,.desk-evidence:not([open])>.desk-facts{display:block}.desk-evidence:not([open])>.desk-facts{display:grid}.desk-evidence>summary{display:none}}
@media(max-width:600px){.desk-live #desk-opportunity{display:none}.desk-live .desk-live-foot{display:none}.desk-live-head{align-items:start}.desk-live .desk-moment{font-size:11px}.desk-evidence[open]{max-height:230px;overflow:auto}}

.desk-checkpoint{padding:16px 18px;border:1px solid var(--border-strong);background:var(--warm-soft);color:var(--gold)}.desk-checkpoint>.eyebrow{margin-bottom:8px}.desk-checkpoint>strong{display:block;font-size:15px}.desk-checkpoint p{font-size:12px;line-height:1.8}.desk-checkpoint>div{display:flex;gap:8px;flex-wrap:wrap}.desk-checkpoint button{flex:1;min-height:44px;border:1px solid var(--border-strong);border-radius:3px;background:var(--panel2);color:var(--gold);padding:10px}.desk-checkpoint small{display:block;margin-top:10px;color:var(--gold);font-size:10px;line-height:1.7}
.desk-duel{margin:18px 0}.desk-duel table{width:100%;border-collapse:collapse;font-size:11px;table-layout:fixed}.desk-duel th,.desk-duel td{text-align:left;border-bottom:1px solid var(--border-strong);padding:9px 6px;overflow-wrap:anywhere}.desk-duel th:first-child{width:24%}.desk-duel p{font-size:10px}.desk-result #desk-fork{margin:16px 0}.desk-result #desk-fork>summary{cursor:pointer;color:var(--gold);padding:12px 0;min-height:44px;font-size:12px}.desk-result .whatif-panel{margin-top:12px}.desk-result #desk-whatif-preview{font-size:11px;color:var(--gold)}
body.desk-session #attempt-comparison,body.desk-session #previous-result{display:none}
@media(max-width:600px){.desk-checkpoint{padding:12px}.desk-checkpoint>div{display:grid;grid-template-columns:1fr 1fr}.desk-checkpoint button:last-child{grid-column:1/-1}.desk-checkpoint>strong{font-size:13px}body.is-playing .controls .desk-observe{font-size:9px}.desk-duel table{font-size:10px}}

@media(max-width:600px){body.is-playing .desk-checkpoint:not([hidden]){position:fixed;left:12px;right:12px;bottom:calc(var(--trade-dock-height,216px) + 8px);z-index:27;max-height:37dvh;overflow:auto;box-shadow:0 8px 28px var(--shadow)}}

.desk-live .desk-replay-label{color:var(--gold);border-left:2px solid var(--gold);padding-left:8px;font-size:11px}

.flow-play{min-height:32px;padding:5px 9px;border:1px solid var(--border-strong);color:var(--gold);background:var(--panel2);border-radius:3px;font-size:10px;white-space:nowrap}.flow-play[aria-pressed="true"]{background:var(--gold);color:var(--on-accent)}
@media(max-width:600px){.chart-panel>.panel-heading{flex-wrap:wrap;gap:6px}.chart-panel>.panel-heading .section-index{margin-right:0}.chart-panel>.panel-heading h2{font-size:12px}.flow-play{font-size:10px;min-height:30px;padding:5px 7px}}

.progress-status{min-width:0}.flow-dock{display:none}

/* The match shares the terminal. Its score strip is a compact live status. */
.hero-actions .match-entry{background:var(--gold);color:var(--on-accent);border-color:var(--border-strong)}
.hero-actions #desk-start{background:var(--panel2);color:var(--gold);box-shadow:none}
.match-fixtures{padding:0;list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:20px 0}
.match-fixtures li{font-size:12px;line-height:1.7;color:var(--sub);padding:10px 0;border-bottom:2px solid var(--edge)}
.match-fixtures li[aria-current="step"]{color:var(--gold);border-color:var(--border-strong)}
.match-lobby>#match-round-start{min-height:48px;padding:12px 24px;border-radius:4px;font-size:14px;font-weight:750;cursor:pointer}
.match-policies{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin:18px 0;border-block:1px solid var(--border-strong);padding:8px 0}
.match-policies p{font-size:12px}.match-policies strong{display:block;color:var(--gold);font-size:15px;margin-bottom:6px}
.match-lobby .match-rule,.match-history{font-size:12px}.match-lobby .match-history{color:var(--gold)}
.match-practice{border-left:2px solid var(--border-strong);padding:8px 12px;color:var(--gold)!important;background:var(--panel2)}
.match-live{background:var(--panel2);padding:12px 16px 9px;border-bottom:1px solid var(--border-strong)}
.match-live-head{display:flex;align-items:start;justify-content:space-between;gap:10px;color:var(--gold);font-size:12px}
.match-live-head>span{font-size:11px;text-align:right;font-variant-numeric:tabular-nums}
.match-scores{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:12px}
.match-scores>div{min-width:0;padding:8px 11px;border-left:2px solid var(--border-strong);background:var(--panel2)}
.match-scores>div.is-you{border-color:var(--gold);background:var(--accent-soft)}
.match-scores span,.match-scores small{display:block;font-size:10px;color:var(--sub);line-height:1.6;overflow-wrap:anywhere}
.match-scores strong{display:block;font:600 17px/1.8 ui-monospace,monospace;color:var(--gold);font-variant-numeric:tabular-nums}
.match-live .match-scores{gap:8px;margin-top:8px}.match-live .match-scores>div{padding:5px 8px}
.match-live p{font-size:10px;color:var(--sub);line-height:1.65;margin:6px 0 0}
.match-live .match-action-wire{color:var(--gold);min-height:17px}
.match-live #match-ticket{display:none}
.actions-panel>.match-live-rules{padding:0 16px;border-bottom:1px solid var(--edge)}
.actions-panel>.match-live-rules p{font-size:11px;color:var(--sub);line-height:1.8}
body:not(.match-session) .actions-panel>.match-live-rules{display:none}
.controls>.match-checkpoint{padding:12px;margin-bottom:12px}
.controls>.match-checkpoint>div{display:grid;grid-template-columns:1fr}.controls>.match-checkpoint button{font-size:11px;padding:9px}
.controls>.match-checkpoint p{font-size:11px;line-height:1.7}
.controls>.match-checkpoint>strong{font-size:13px}
body.match-deciding .control-top,body.match-deciding #close,body.match-deciding #next,body.match-deciding #desk-observe,body.match-deciding #trade-settings{display:none}
body.match-session:not(.is-playing) .controls{display:none}
.match-live-rules summary{cursor:pointer;font-size:10px;line-height:1.8;color:var(--gold);padding:5px 0;min-height:30px}
.match-result h3{font-size:22px;line-height:1.5;margin:14px 0 10px}.match-result p{font-size:12px;line-height:1.8;color:var(--sub)}
.match-result{border-block:1px solid var(--border-strong);padding:18px 0;margin:18px 0}.match-ledger{width:100%;border-collapse:collapse;table-layout:fixed;margin:20px 0;font-size:11px;font-variant-numeric:tabular-nums}
.match-ledger caption{text-align:left;font-size:11px;color:var(--gold);margin-bottom:9px}
.match-ledger th,.match-ledger td{padding:10px 7px;text-align:right;border-bottom:1px solid var(--border-strong);overflow-wrap:anywhere;line-height:1.8}.match-ledger th:first-child{text-align:left;width:12%}
.match-result details>summary{cursor:pointer;min-height:44px;display:flex;align-items:center;color:var(--gold);font-size:12px}
.match-log ol{padding-left:20px;font-size:12px;color:var(--sub);line-height:1.9}
.match-result .desk-result-actions #match-next,.match-result .desk-result-actions #match-new{background:var(--gold);color:var(--on-accent);font-weight:700}
body.match-session .setup-panel,body.match-session .opening,body.match-session .opening-side,body.match-session .next-attempt,body.match-session .next-scenes,body.match-session .end-actions,body.match-session #risk-rubric,body.match-session #lessons,body.match-session #attempt-comparison,body.match-session #previous-result,body.match-session .replay-guide{display:none}
body.match-session .workstation{grid-template-columns:minmax(0,1fr) 300px}
body.match-session:not(.is-playing) #match-lobby:not([hidden])~.workstation{display:none}
body.match-session .chart-caption{display:none}
@media(max-width:900px){body.match-session .workstation{grid-template-columns:minmax(0,1fr) 270px}}
@media(max-width:760px){body.match-session .workstation{grid-template-columns:1fr}}
@media(max-width:600px){
 .match-fixtures{grid-template-columns:1fr;gap:0;margin:12px 0}.match-fixtures li{padding:7px 0;font-size:11px}
 .match-policies{grid-template-columns:1fr;gap:0;margin:12px 0}.match-policies p{font-size:11px}.match-policies strong{font-size:13px}
 .match-live{padding:9px 10px}.match-live-head{font-size:11px}.match-live-head>span{font-size:10px}
 .match-live .match-scores{gap:5px}.match-live .match-scores>div{padding:4px 6px}.match-scores strong{font-size:14px}
 .match-live .match-scores small{font-size:9px}.match-live #match-ticket{display:none}
 .match-live .match-action-wire{font-size:9px}.match-live-rules[open]{max-height:150px;overflow:auto}
 .match-result .match-scores{gap:5px}.match-result .match-scores>div{padding:6px}.match-ledger{font-size:10px}.match-ledger td,.match-ledger th{padding:8px 3px}
 .match-result h3{font-size:18px}.match-result .desk-result-actions{display:grid;grid-template-columns:1fr}
 body.match-session .match-checkpoint:not([hidden]){position:fixed;left:12px;right:12px;bottom:calc(var(--trade-dock-height,216px) + 8px);z-index:27;max-height:37dvh;overflow:auto;box-shadow:0 8px 28px var(--shadow)}
}
@media(max-width:600px){#flow-play{display:none}body.is-playing .controls .progress-status{grid-column:1/-1;grid-row:6;display:flex;align-items:center;gap:9px;min-width:0}body.is-playing .controls .flow-dock{display:block;flex:0 0 auto;min-height:44px;padding:8px 12px;font-size:11px;border:1px solid var(--border-strong);color:var(--gold);background:var(--panel2);border-radius:3px}body.is-playing .controls .flow-dock[aria-pressed="true"]{background:var(--gold);color:var(--on-accent)}body.is-playing .controls .progress-status .play-status{flex:1;font-size:9px;line-height:1.6}}

.match-settle{background:var(--gold);color:var(--on-accent);border:1px solid var(--border-strong);font-weight:700;white-space:normal}
@media(max-width:600px){body.is-playing .controls .match-settle{grid-column:1/-1;grid-row:8;min-height:44px;font-size:11px}body.match-session .match-checkpoint>div{grid-template-columns:1fr 1fr}body.match-session .match-checkpoint>div button:last-child{grid-column:1/-1}}

.match-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:20px 0}.match-cards button{text-align:left;border:1px solid var(--border-strong);background:var(--panel2);color:var(--text);padding:14px;border-radius:4px;min-width:0}.match-cards strong,.match-cards span,.match-cards small{display:block;line-height:1.8}.match-cards strong{font-size:16px}.match-cards span{font-size:12px}.match-cards small{font-size:11px;color:var(--gold)}.match-cards [aria-pressed="true"]{border-color:var(--gold);background:var(--accent-soft)}.match-cards button:disabled{opacity:.72;cursor:not-allowed}.match-card-outcome{border-left:2px solid var(--border-strong);padding:8px 12px;background:var(--panel2);color:var(--gold)!important}.match-result-actions #match-open-next{background:var(--gold);color:var(--on-accent)}
@media(max-width:600px){.match-cards{grid-template-columns:1fr;gap:8px;margin:15px 0}.match-cards button{padding:11px}.match-cards strong{font-size:14px}.match-cards span{font-size:11px}}

.match-revenge{border-left:2px solid var(--border-strong);background:var(--panel2);padding:2px 14px;margin:12px 0}.match-revenge p,#match-result-revenge-copy{font-size:12px;line-height:1.8;color:var(--gold)}.match-revenge button{margin-bottom:12px;min-height:44px}

/* Event selection is visible before the detailed setup, in every locale. */
.event-picker{margin:0 0 32px;scroll-margin-top:100px}
.event-picker-heading{display:flex;align-items:baseline;justify-content:space-between;gap:24px;margin-bottom:14px}
.event-picker-heading h2{font-size:20px;font-weight:800;margin:0;flex-shrink:0}
.event-picker-heading p,.event-picker-note{color:var(--sub);font-size:12px;line-height:1.7;margin:0}
.event-preset-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.event-preset{display:flex;flex-direction:column;align-items:flex-start;text-align:left;gap:8px;min-width:0;min-height:156px;padding:18px;border:1px solid var(--edge);border-radius:5px;background:var(--panel);color:var(--text);overflow-wrap:anywhere}
.event-preset:hover{border-color:var(--gold)}
.event-preset[aria-pressed="true"]{border-color:var(--gold);box-shadow:inset 3px 0 var(--gold);background:var(--panel2)}
.event-preset-pair{color:var(--gold);font:650 13px/1.3 ui-monospace,SFMono-Regular,monospace;letter-spacing:.04em}
.event-preset strong{font-size:16px;font-weight:750;line-height:1.5}
.event-preset-description{font-size:12px;line-height:1.7;color:var(--sub)}
.event-preset small{font:500 10px/1.5 ui-monospace,SFMono-Regular,monospace;color:var(--sub);margin-top:auto}
.event-picker-note{margin-top:12px}
body.is-playing .event-picker{display:none}
@media(max-width:800px){.event-picker-heading{display:block}.event-picker-heading p{margin-top:8px}.event-preset-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.event-preset{padding:14px}}
@media(max-width:420px){.event-preset-grid{grid-template-columns:1fr}.event-preset{min-height:0;gap:6px}.event-picker-heading h2{font-size:17px}}

/* Keep the first experience and result continuation easy to find. */
.hero-actions button:not(#quick-start){background:var(--bg);color:var(--gold);border:1px solid var(--border-strong);box-shadow:none}
.hero-actions #quick-start{background:var(--gold);color:var(--on-accent);border:1px solid var(--border-strong);font-weight:800}
#end-overlay .end-modal{padding-bottom:calc(220px + env(safe-area-inset-bottom,0px))}
.result-shortcuts{position:fixed;z-index:31;left:50%;bottom:0;transform:translateX(-50%);width:calc(100% - 36px);max-width:800px;padding:12px 18px calc(12px + env(safe-area-inset-bottom,0px));background:var(--bg);border:1px solid var(--border-strong);border-bottom:0;border-radius:6px 6px 0 0;box-shadow:0 -4px 16px var(--shadow)}
.result-shortcuts[hidden]{display:none}
.result-shortcuts p{margin:0 0 8px;color:var(--text);font-size:12px;line-height:1.5}
.result-shortcuts>div{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.result-shortcuts button{min-width:0;min-height:44px;padding:10px 12px;border:1px solid var(--border-strong);border-radius:4px;background:var(--panel);color:var(--gold);font-size:13px;font-weight:700;line-height:1.5;overflow-wrap:anywhere}
.result-shortcuts #result-continue{background:var(--gold);color:var(--on-accent)}
.result-shortcuts button[hidden]{display:none}
@media(max-width:600px){
 .hero-actions{display:grid;grid-template-columns:1fr 1fr;align-items:stretch}
 .hero-actions #quick-start{grid-column:1/-1}
 .hero-actions button{padding:9px 10px}
 .flash-wire{white-space:normal;overflow:visible;text-overflow:clip;overflow-wrap:anywhere;line-height:1.6;padding:10px 13px}
 .result-shortcuts{width:calc(100% - 24px);padding:10px 12px calc(10px + env(safe-area-inset-bottom,0px))}
 .result-shortcuts button{font-size:12px;padding:10px 8px}
}

/* A single first action, with optional modes kept in a native disclosure. */
.play-options{margin-top:12px;max-width:1040px;border-top:1px solid var(--edge)}
.play-options>summary,.beginner-glossary>summary{cursor:pointer;min-height:44px;padding:11px 0;color:var(--gold);font-size:12px;font-weight:700}
.play-options .optional-actions{margin:4px 0 18px}
.play-options .event-picker{margin:18px 0 12px}
.play-options .event-picker-heading{display:block}
.play-options .event-picker-heading p{margin-top:6px}
.beginner-steps,.coach-steps{padding-left:20px;color:var(--sub);font-size:12px;line-height:1.7;margin:14px 0 0}
.beginner-steps li+li,.coach-steps li+li{margin-top:3px}
.coach-steps{margin:7px 0;color:var(--text)}
.beginner-glossary{margin-top:14px;border-top:1px solid var(--edge)}
.beginner-glossary dl{font-size:12px;line-height:1.7;margin:0 0 12px;overflow-wrap:anywhere}
.beginner-glossary dt{font-weight:700;margin-top:10px}
.beginner-glossary dd{margin:3px 0 0;color:var(--sub)}
body:not(.show-setup) .setup-panel{display:none}
body:not(.show-setup) .workstation{grid-template-columns:minmax(0,1fr) 295px}
body:not(.show-setup) .chart-panel{grid-column:1;grid-row:1}
body:not(.show-setup) .actions-panel{grid-column:2;grid-row:1;border-left:1px solid var(--edge)}
.coach-actions button,.decision-choices button,.pair-choice,.motion-toggle,.sound-button,.flow-play{min-height:44px}
@media(max-width:980px){body:not(.show-setup) .workstation{grid-template-columns:minmax(0,1fr) 260px}}
@media(max-width:760px){
 body:not(.show-setup) .workstation{grid-template-columns:minmax(0,1fr)}
 body:not(.show-setup) .chart-panel{grid-column:1;grid-row:1}
 body:not(.show-setup) .actions-panel{grid-column:1;grid-row:2;border-left:0}
 .optional-actions{display:grid;grid-template-columns:1fr 1fr}
 .optional-actions button{min-width:0;overflow-wrap:anywhere}
}
@media(max-width:600px){
 .opening-side{display:none}
 .hero-actions{grid-template-columns:minmax(0,1fr)}
 .hero-actions.optional-actions{grid-template-columns:1fr 1fr}
 .beginner-steps,.coach-steps{font-size:11px}
 .play-options .event-picker-heading h2{font-size:17px}
}

.quote-details>summary{cursor:pointer;min-height:44px;padding:10px 0;font-size:11px;color:var(--sub)}

/* A paused mobile workspace keeps the same chart visible while settings scroll. */
.coach>details>summary{min-height:44px;cursor:pointer;display:flex;align-items:center;justify-content:space-between;font-size:12px;font-weight:700;color:var(--gold);list-style:none}
.coach>details>summary::after{content:'＋';font-size:18px}.coach>details[open]>summary::after{content:'−'}
.next-action{margin:0 0 10px;font-size:12px;line-height:1.6;color:var(--text)}.next-action[hidden]{display:none}
.settings-workspace{padding:0;border:1px solid var(--border-strong);background:var(--bg);color:var(--text);width:100%;max-width:600px;height:100dvh;max-height:100dvh;margin:0 auto;inset:0;overflow:hidden}
.settings-workspace[open]{display:grid;grid-template-rows:auto auto minmax(160px,30dvh) minmax(0,1fr) auto}
.settings-workspace::backdrop{background:rgba(20,42,34,.3)}
.settings-workspace-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 14px;border-bottom:1px solid var(--edge)}
.settings-workspace-head h2{font-size:17px;line-height:1.5;margin:0}
.settings-workspace button{min-height:44px;padding:9px 14px;border:1px solid var(--border-strong);border-radius:4px;background:var(--panel);color:var(--gold);font-size:13px;font-weight:700}
.settings-workspace button:focus-visible,.settings-workspace select:focus-visible,.settings-workspace input:focus-visible{outline:3px solid var(--focus);outline-offset:2px}
.settings-quote{padding:9px 14px 6px}.settings-quote>div{display:flex;align-items:baseline;justify-content:space-between;gap:10px}
.settings-quote strong{font-size:12px}.settings-quote span{font:750 25px/1.25 ui-monospace,monospace;letter-spacing:-.04em}
.settings-quote p{color:var(--sub);font-size:12px;line-height:1.5;margin:7px 0 0}
.settings-chart{min-height:0;border-bottom:2px solid var(--border-strong)}
.settings-workspace .chart-box,.settings-workspace #chart{height:100%!important;min-height:0!important}.settings-workspace .chart-box{padding:0 5px}
.settings-fields{min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:12px 14px;scroll-padding:12px}
.settings-fields>p{margin:0 0 12px;font-size:12px;line-height:1.6;color:var(--sub)}
.settings-workspace .trade-settings{border:0;border-radius:0;background:var(--bg);max-height:none!important;overflow:visible!important;margin:0}
.settings-workspace .trade-settings>summary{display:none}
.settings-workspace .trade-settings>div,.settings-workspace .trade-settings>.speed-label,.settings-workspace .trade-feedback{margin:0 0 12px}
.settings-workspace .settings-row{grid-template-columns:1fr 1fr;gap:12px;margin-top:0}
.settings-workspace label{font-size:12px;line-height:1.5;color:var(--text)}
.settings-workspace select,.settings-workspace input{min-height:44px;font-size:16px;width:100%;background:var(--bg);color:var(--text);border:1px solid var(--border-strong);border-radius:4px;padding:6px 8px;margin-top:6px}
.settings-workspace .manage-note,.settings-workspace .trade-feedback{font-size:12px;line-height:1.6}
.settings-workspace footer{padding:9px 14px calc(9px + env(safe-area-inset-bottom,0px));border-top:1px solid var(--edge);margin:0}
.settings-workspace footer button{width:100%;background:var(--gold);color:var(--on-accent)}
body.settings-workspace-active{overflow:hidden}
@media(max-width:600px){
 body.is-playing .coach{padding:0 12px}
 body.is-playing .controls .next-action{grid-column:1/-1;grid-row:2;margin:0;font-size:11px;line-height:1.5}
 body.is-playing .controls .control-top{grid-row:3}
 body.is-playing .controls .btn.close{grid-row:3}
 body.is-playing .controls .btn.next,body.is-playing .controls .btn.auto{grid-row:4}
 body.is-playing .controls .trade-settings{grid-row:5!important}
 body.is-playing .controls .progress-status{grid-row:7}
 body.is-playing .controls .btn.finish{grid-row:6}
 body.is-playing .controls .finish-note{display:none}
 body.is-playing .controls .match-settle{grid-row:8}
 body.is-playing .chart-panel>.terminal-top{padding:8px 12px}
 body.is-playing .terminal-top .quote-details>summary{min-height:30px;padding:4px 0}
 body.is-playing .price{font-size:29px;margin-top:3px}
 body.is-playing .chart-panel>.warning-bar{order:1}
 body.is-playing .chart-panel>.flash-wire{order:2}
 body.is-playing .chart-panel>.sessions{order:3}
 body.is-playing .chart-panel>.bottom-micro{order:4}
 body.is-playing .chart-panel>.pacing-control{order:5}
}
@media(max-height:500px){.settings-workspace[open]{grid-template-rows:auto auto minmax(100px,25dvh) minmax(0,1fr) auto}.settings-quote p{margin-top:3px}.settings-quote{padding-top:4px}.settings-workspace-head{padding-top:3px;padding-bottom:3px}}

@media(max-width:600px){
 body.is-playing .chart-box{scroll-margin-top:calc(var(--public-nav-height,0px) + 8px)}
 body.is-playing .controls .progress-status{grid-row:7!important;min-height:0}
 body.is-playing .controls .flow-dock{display:none}
 body.is-playing .controls .play-status:empty{display:none}
 body.is-playing .trade-settings>summary{min-height:44px}
}

.public-game-nav{position:sticky;top:0;z-index:220;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px max(20px,calc((100vw - 1320px)/2));background:var(--bg);border-bottom:2px solid var(--border-strong);color:var(--text);font:14px/1.5 system-ui,sans-serif}
.public-game-nav a{color:var(--text);text-decoration:none;display:inline-flex;align-items:center;min-height:44px;padding:4px 10px;border:1px solid transparent;border-radius:4px;overflow-wrap:anywhere}.public-game-nav a:first-child{border-color:var(--border-strong);font-weight:700;background:var(--bg)}.public-game-nav a:hover{text-decoration:underline}.public-game-nav a:focus-visible,.public-game-nav select:focus-visible{outline:3px solid var(--focus);outline-offset:3px}.public-game-nav>div{display:flex;align-items:center;gap:10px}.public-game-nav label{color:var(--text)}.public-game-nav select{max-width:230px;min-height:44px;background:var(--bg);border:1px solid var(--border-strong);border-radius:4px;color:var(--text);padding:6px 10px;font:inherit}.public-game-nav+.noise{pointer-events:none}#end-overlay{top:var(--public-nav-height,72px)}.public-game-foot{display:flex;flex-wrap:wrap;gap:16px;padding:20px 0}.public-game-foot a{color:var(--gold);min-height:44px;display:inline-flex;align-items:center}.game-currency-note{font-size:12px;line-height:1.7;color:var(--sub);max-width:75ch}
html:not([lang="ja"]):not([lang="zh-CN"]) .game-title em{font-size:clamp(32px,4.5vw,58px);letter-spacing:-.035em;line-height:1.25}.header-right{max-width:65%;text-wrap:balance;line-height:1.6}.match-policies{overflow-wrap:anywhere}.match-scores>div{min-width:0}.match-scores span{overflow-wrap:anywhere}
@media(max-width:600px){.public-game-nav{padding:7px 10px;gap:5px;flex-wrap:wrap;font-size:12px}.public-game-nav a{padding:3px 6px}.public-game-nav>div{gap:6px}.public-game-nav select{max-width:145px;font-size:12px}.public-game-nav label{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.public-game-nav [data-game-home]{font-size:11px}.header-right{font-size:9px;max-width:58%}.game-currency-note{font-size:11px}.public-game-nav+.noise+.app-shell{scroll-margin-top:110px}}
/* Keep both selectors within two compact, touch-friendly navigation rows. */
.account-currency-note{font-size:12px;line-height:1.6;color:var(--sub);margin:10px 0}
.end-stats #end-return{font-size:18px;font-weight:750;color:var(--text);font-variant-numeric:tabular-nums}
.public-game-nav>div:last-child{min-width:0}
.public-game-nav #game-language,.public-game-nav #game-currency{min-width:0;max-width:180px}
@media(max-width:600px){
 .public-game-nav{display:grid;grid-template-columns:minmax(0,1fr);gap:4px;padding:5px 10px;font-size:12px}
 .public-game-nav>div{min-width:0;gap:6px}
 .public-game-nav>div:last-child{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
 .public-game-nav #game-language,.public-game-nav #game-currency{width:100%;max-width:none;min-height:44px;padding:6px 8px}
}

/* Leave the preview chart within reach below the beginner entrance. */
body.is-playing .chart-panel,.chart-panel,.setup-panel,.event-picker,.desk-lobby{scroll-margin-top:calc(var(--public-nav-height,0px) + 12px)}
.public-game-nav~.app-shell .opening{padding-top:24px;padding-bottom:24px}
.public-game-nav~.app-shell .game-title{font-size:24px}
.public-game-nav~.app-shell .game-title br{display:none}
.public-game-nav~.app-shell .game-title em{margin:0 0 0 12px;font-size:clamp(32px,3.6vw,48px)}
.public-game-nav~.app-shell .deck{margin-top:16px}
.public-game-nav~.app-shell .eyebrow{margin-bottom:14px}
@media(max-width:600px){
 .public-game-nav~.app-shell .opening{padding-top:20px;padding-bottom:20px}
 .public-game-nav~.app-shell .game-title{font-size:20px}
 .public-game-nav~.app-shell .game-title em{margin-left:8px;font-size:32px}
}

#game-preferences-toggle{display:none;border:1px solid var(--border-strong);border-radius:4px;background:var(--bg);color:var(--gold);min-height:44px;padding:6px 10px;font:inherit;font-weight:650}
#game-preferences-toggle:focus-visible{outline:3px solid var(--focus);outline-offset:2px}
@media(max-width:600px){
 body.is-playing .public-game-nav>div:first-child{justify-content:space-between}
 body.is-playing .public-game-nav [data-game-home]{display:none}
 body.is-playing #game-preferences-toggle{display:block;max-width:60%}
 body.is-playing .public-game-nav #game-preferences{display:none}
 body.is-playing.game-preferences-open .public-game-nav #game-preferences{display:grid}
}

/* Translated controls must fit their own panel at intermediate widths too. */
button{-webkit-appearance:none;appearance:none}
.btn,.hero-actions button,.result-shortcuts button{display:flex;align-items:center;justify-content:center;height:auto}
.btn.next{justify-content:space-between}
.control-top{display:flex;flex-wrap:wrap;align-items:stretch}
.control-top>.btn{flex:1 1 0;min-width:0}
.scenario-list{grid-auto-rows:max-content;align-content:start}
.scenario-choice{height:max-content;align-self:start}
.event-preset-grid{grid-auto-rows:max-content;align-content:start;align-items:start}
.event-preset{display:block;height:max-content;align-self:start}
.event-preset>*{display:block}
.event-preset>*+*{margin-top:8px}
.event-preset small{margin-top:8px}
.setup-panel select,.actions-panel select,.settings-workspace select{min-width:0;max-width:100%}
.public-game-nav select,.setup-panel select,.actions-panel select,.settings-workspace select,#order-settings select{
 -webkit-appearance:none;appearance:none;min-height:44px;padding-right:30px;
 background-image:linear-gradient(45deg,transparent 50%,var(--gold) 50%),linear-gradient(135deg,var(--gold) 50%,transparent 50%);
 background-position:calc(100% - 20px) 50%,calc(100% - 15px) 50%;background-size:5px 5px;background-repeat:no-repeat
}
.panel-heading{height:auto;min-height:54px;flex-wrap:wrap;white-space:normal;row-gap:8px;padding-block:8px}
.chart-panel .panel-heading{padding-block:8px}
.panel-heading h2{flex:1 1 10rem;min-width:0;max-width:100%;line-height:1.5;overflow-wrap:anywhere}
.panel-heading .section-index{flex:0 0 auto}
.panel-heading button{min-width:0;max-width:100%;white-space:normal;overflow-wrap:anywhere;line-height:1.5}
.chart-panel .panel-heading .motion-toggle{margin-left:0}
.panel-heading .panel-kicker{max-width:100%;overflow-wrap:anywhere}
.price,.equity{line-height:1.3}
.scenario-choice{min-width:0;display:grid;grid-template-columns:17px minmax(0,1fr);gap:5px 8px}
.scenario-choice strong,.scenario-choice small{min-width:0;overflow-wrap:anywhere;white-space:normal}
.scenario-choice small{grid-column:2}
.portfolio-meta>div{min-width:0}
.portfolio-meta span,.portfolio-meta strong{overflow-wrap:anywhere}
.setup-panel #order-settings,.actions-panel #order-settings{grid-template-columns:minmax(0,1fr)}
.public-game-nav{flex-wrap:wrap}
.public-game-nav>div{min-width:0;max-width:100%;flex-wrap:wrap}
.public-game-nav #game-preferences{display:grid;grid-template-columns:auto minmax(90px,180px) auto minmax(85px,130px)}
@media(max-width:600px){
 .panel-heading{min-height:45px}
 .public-game-nav #game-preferences{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
 body.is-playing .public-game-nav #game-preferences{display:none}
 body.is-playing.game-preferences-open .public-game-nav #game-preferences{display:grid}
}
@media(max-width:430px){
 .portfolio-meta{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
 .portfolio-meta span{font-size:11px;line-height:1.5}
 .portfolio-meta strong{font-size:12px;line-height:1.5}
 .settings-workspace #order-settings{grid-template-columns:minmax(0,1fr)}
 .chart-box{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto minmax(0,1fr);gap:0 8px;height:330px;min-height:330px;flex:none}
 body.is-playing .chart-box{height:266px;min-height:266px}
 .chart-box #chart{grid-column:1/-1;grid-row:2;min-height:0!important;height:100%}
 .chart-motion-status{position:static;grid-column:1;grid-row:1;min-width:0;max-width:100%;margin:8px 0 0 8px;white-space:normal;overflow-wrap:anywhere;line-height:1.5;justify-self:start;align-self:start}
 .chart-corner{position:static;grid-column:2;grid-row:1;align-self:start;margin:12px 8px 0 0;white-space:nowrap}
 .settings-workspace[open]{grid-template-rows:auto auto minmax(200px,34dvh) minmax(0,1fr) auto}
}
@media(max-width:430px) and (max-height:500px){.settings-workspace[open]{grid-template-rows:auto auto minmax(130px,30dvh) minmax(0,1fr) auto}}
@media(forced-colors:active){.public-game-nav select,.setup-panel select,.actions-panel select,.settings-workspace select,#order-settings select{-webkit-appearance:auto;appearance:auto;background-image:none}}
@media(min-width:981px){body.show-setup .workstation{grid-template-columns:310px minmax(0,1fr) 295px}}
@media(min-width:981px) and (max-width:1250px){body.show-setup .workstation{grid-template-columns:310px minmax(0,1fr) 230px}}

/* Keep the chart available during touch play, including long translated labels. */
.mobile-management{display:grid;gap:8px;margin:0 0 14px}
.mobile-management:empty{display:none}
.mobile-management button{width:100%;white-space:normal;overflow-wrap:anywhere}
@media(max-width:600px){
 body.is-playing .public-game-nav>div:first-child{flex-wrap:nowrap;width:100%;gap:6px}
 body.is-playing .public-game-nav a:first-child{flex:1 1 58%;min-width:0;max-width:58%;font-size:12px}
 body.is-playing #game-preferences-toggle{flex:0 1 42%;max-width:42%;white-space:normal;overflow-wrap:anywhere}
 body.is-playing .controls{grid-template-columns:repeat(2,minmax(0,1fr))}
 body.is-playing .controls .control-top{grid-column:1/-1}
 body.is-playing .controls .btn.next{grid-column:1}
 body.is-playing .controls .btn.auto{grid-column:2}
 body.is-playing .controls #close:disabled{display:none}
 body.is-playing:has(#position-management:not([hidden])) .controls .control-top{display:none}
 body.is-playing:has(#position-management:not([hidden])) .controls #close{grid-column:1/-1;font-size:12px}
 body.is-playing .controls>.decision-bar{grid-column:1/-1;grid-row:2;max-height:25dvh;overflow:auto;display:flex;flex-direction:column;gap:5px;padding:8px;border:1px solid var(--warm-edge);border-radius:4px}
 body.is-playing .controls:has(>.decision-bar:not([hidden])) .next-action{display:none}
 body.is-playing .controls:has(>.decision-bar:not([hidden]))>:is(.control-top,.btn,.progress-status){display:none}
 .controls>.decision-bar>div:first-child{display:contents}
 .controls>.decision-bar>div:first-child>strong{order:0;flex:none}
 .controls>.decision-bar>.decision-choices{order:1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;margin:0;flex:none}
 .controls>.decision-bar>div:first-child>p{order:2;flex:none}
 .controls>.decision-bar button{font-size:11px;padding:6px 3px;min-width:0;overflow-wrap:anywhere}
 body.is-playing .desk-checkpoint:not([hidden]){display:flex;flex-direction:column;gap:6px;max-height:calc(100dvh - var(--public-nav-height,56px) - var(--trade-dock-height,220px) - 18px);scroll-padding:8px}
 .desk-checkpoint>.eyebrow{order:0}
 .desk-checkpoint>strong{order:1}
 .desk-checkpoint>div{order:2}
 .desk-checkpoint>p{order:3;margin:4px 0}
 .desk-checkpoint>small{order:4}
 body.is-playing .controls>:is(.desk-checkpoint,.crisis-panel):not([hidden]){position:static;grid-column:1/-1;grid-row:2;max-height:30dvh;min-height:0;margin:0;padding:8px;overflow:auto;box-shadow:none}
 .controls>.desk-checkpoint>.eyebrow{display:none}
 .controls>.desk-checkpoint>strong{font-size:12px;line-height:1.5}
 .controls>.desk-checkpoint>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}
 body.is-playing .controls>.desk-checkpoint>div>button{grid-column:auto;min-width:0;min-height:44px;font-size:11px;line-height:1.4;padding:6px 3px;overflow-wrap:anywhere}
 body.is-playing .controls:has(>:is(.desk-checkpoint,.crisis-panel):not([hidden]))>:is(.control-top,.btn,.progress-status,.next-action,.trade-settings){display:none}
}
@media(min-width:500px) and (max-width:1000px) and (max-height:500px) and (pointer:coarse){
 body.is-playing .public-game-nav{display:flex;flex-wrap:wrap;padding:5px 10px;font-size:12px;gap:4px}
 body.is-playing .public-game-nav>div:first-child{width:100%;flex-wrap:nowrap;justify-content:space-between;gap:6px}
 body.is-playing .public-game-nav [data-game-home]{display:none}
 body.is-playing #game-preferences-toggle{display:block;max-width:42%;white-space:normal;overflow-wrap:anywhere}
 body.is-playing .public-game-nav #game-preferences{display:none;width:100%;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
 body.is-playing.game-preferences-open .public-game-nav #game-preferences{display:grid}
 body.is-playing .public-game-nav label{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
 body.is-playing .public-game-nav select{width:100%;max-width:none;min-width:0}
 body.is-playing .workstation{display:block;min-height:0;overflow:visible;margin-right:260px}
 body.is-playing .chart-panel{height:calc(100dvh - var(--public-nav-height,56px) - 12px);overflow:auto;overscroll-behavior:contain}
 body.is-playing .chart-box{order:-1;flex:none;height:calc(100dvh - var(--public-nav-height,56px) - 16px);min-height:150px;max-height:none}
 body.is-playing .chart-box #chart{min-height:0}
 body.is-playing .controls{position:fixed;top:var(--public-nav-height,56px);right:0;bottom:0;left:auto;width:250px;max-height:none;display:flex;flex-direction:column;gap:7px;padding:8px 10px calc(8px + env(safe-area-inset-bottom,0px));overflow-y:auto;background:var(--panel);border:1px solid var(--border-strong);z-index:12}
 body.is-playing .controls>*{flex:none;min-width:0}
 body.is-playing .controls .mobile-trade-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:4px;font:11px/1.5 ui-monospace,monospace}
 body.is-playing .controls .mobile-trade-head strong{font-size:20px}
 body.is-playing .controls #dock-order{flex-basis:100%}
 body.is-playing .controls .control-top{display:flex}
 body.is-playing .controls .btn{min-height:44px;font-size:12px;padding:8px}
 body.is-playing .controls #close:disabled{display:none}
 body.is-playing:has(#position-management:not([hidden])) .controls .control-top{display:none}
 body.is-playing .controls .trade-settings>summary{min-height:44px;font-size:11px;line-height:1.5;padding:8px}
 body.is-playing .controls .trade-settings[open]{max-height:none;overflow:visible}
 body.is-playing .controls .flow-dock{display:none}
 body.is-playing .controls .progress-status{font-size:11px}
 body.is-playing .controls>.decision-bar{display:flex;flex-direction:column;gap:5px;padding:8px;max-height:40dvh;overflow:auto}
 body.is-playing .controls:has(>.decision-bar:not([hidden])) .next-action{display:none}
 body.is-playing .controls:has(>.decision-bar:not([hidden]))>:is(.control-top,.btn,.progress-status){display:none}
 body.is-playing .actions-panel{padding:12px;border-left:0}
 body.is-playing .app-shell{padding-bottom:20px}
 body.is-playing .desk-checkpoint:not([hidden]),body.is-playing .crisis-panel:not([hidden]){position:static;max-height:none}
}
