:root{color-scheme:dark;--ink:#101d2c;--panel:#17283a;--raised:#20354a;--text:#f2efe8;--muted:#b6c3cf;--subtle:#8fa3b7;--gold:#d9ba82;--line:#b8c9db26;--serif:Georgia,'Times New Roman',serif}*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;background:var(--ink);color:var(--text);font:15px/1.5 -apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}body{display:grid;grid-template-rows:78px minmax(260px,1fr) auto}header,main,footer,nav{min-width:0}[hidden]{display:none!important}a{color:var(--gold)}button,select{font:inherit;color:var(--text);background:var(--raised);border:1px solid var(--line);border-radius:5px;min-height:42px;padding:9px 14px;cursor:pointer;transition:background .16s,border-color .16s,transform .16s}button:hover{background:#2b435b;border-color:#a6b4c76b}button:active{transform:translateY(1px)}button:disabled{opacity:.42;cursor:default;transform:none}button:focus-visible,select:focus-visible,a:focus-visible,summary:focus-visible{outline:2px solid var(--gold);outline-offset:4px}.primary{background:var(--gold);border-color:var(--gold);color:#122031;font-weight:650}.primary:hover{background:#e7cb9c;border-color:#e7cb9c}.quiet{background:transparent}.app-header{display:flex;align-items:center;gap:34px;padding:12px 26px;border-bottom:1px solid var(--line)}.brand{display:flex;flex-direction:column;text-decoration:none;flex-shrink:0;line-height:1.15}.brand strong{font-size:23px;font-weight:800;letter-spacing:.045em;color:var(--text)}.brand strong span{color:var(--gold)}.product-name{font-size:9px;letter-spacing:.22em;color:var(--muted);margin-top:6px}.header-context{display:flex;gap:14px;align-items:center;color:var(--muted);font-size:12px}.preview-tag{border-left:1px solid var(--line);padding-left:14px;color:var(--gold)}nav{display:flex;gap:6px;margin-left:auto}nav button{background:transparent;border-color:transparent;font-size:13px;padding:8px 10px}.eyebrow{font-size:10px;letter-spacing:.13em;font-weight:650;color:var(--gold)}main{position:relative;min-height:0;overflow:hidden;background:#1c2833}canvas{display:block;width:100%;height:100%;outline:none}body.practicing main{display:grid;grid-template-columns:minmax(0,1fr) 385px}body.practicing canvas{grid-column:1;grid-row:1;min-width:0}#practice{grid-column:2;grid-row:1;background:var(--panel);border-left:1px solid var(--line);overflow-y:auto;padding:28px 25px;scrollbar-color:#52708c var(--panel)}.scene-label{position:absolute;left:22px;top:18px;display:flex;align-items:center;gap:8px;pointer-events:none;font-size:9px;letter-spacing:.13em;color:#f7f5ef;background:#101d2cd9;padding:8px 11px;border:1px solid #ffffff18;border-radius:3px}.live-dot{width:5px;height:5px;border-radius:50%;background:var(--gold)}.scene-control{position:absolute;left:22px;bottom:20px;background:#101d2cde;border-color:#dce8f345;font-size:12px;min-height:36px;padding:7px 12px}#loading{position:absolute;inset:0;background:var(--ink);display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;gap:12px;padding:28px}#loading h1{font:clamp(30px,4vw,52px)/1.12 var(--serif);font-weight:400;margin:10px 0;letter-spacing:-.025em}#loading p{color:var(--muted);margin:0 0 12px}#loading small{color:var(--subtle);margin-top:14px}progress{height:5px;accent-color:var(--gold);width:100%;border:0}#loading progress{width:min(340px,80%)}footer{padding:13px 24px 11px;border-top:1px solid var(--line);background:var(--ink)}.status-row{display:flex;align-items:center;gap:16px;justify-content:space-between}.status-row #pause{min-height:30px;font-size:12px;padding:3px 10px}.transcript{min-height:67px}#caption{font-size:16px;line-height:1.45;margin:3px 0 12px;max-width:1100px;min-height:24px}.workspace-actions{display:flex;align-items:center;gap:10px}.workspace-actions button{font-size:13px;min-height:37px;padding:7px 13px}#explore-actions{display:flex;gap:8px;flex-wrap:wrap}.session-note{margin-left:auto;color:var(--subtle);font-size:10px}.keyboard-hint{font-size:10px;color:var(--subtle);margin-top:7px}.keyboard-hint span{padding:0 7px}.practice-kicker{font-size:10px;letter-spacing:.12em;color:var(--gold)}.practice-steps{display:flex;gap:6px;margin:13px 0 21px}.practice-steps span{height:3px;flex:1;background:#7890a64a;border-radius:2px}.practice-steps span.done{background:var(--gold)}.practice-steps span.current{background:#f2efe8}.practice-timer{font-size:12px;color:var(--muted);margin:4px 0 8px}.practice-timer:empty{display:none}.practice-content{animation:panel-in .2s ease-out}#practice h1{font:29px/1.15 var(--serif);font-weight:400;letter-spacing:-.015em;margin:10px 0 18px}.practice-context{font-size:14px;line-height:1.6;color:var(--muted);margin:12px 0 18px}.practice-prompt{font-size:13px;font-weight:650;margin:20px 0 10px}.practice-content blockquote{font:21px/1.4 var(--serif);margin:22px 0;padding:0 0 0 14px;border-left:2px solid var(--gold);color:var(--text)}.practice-choices{display:grid;gap:9px;margin:12px 0 0}.practice-choices button{display:flex;align-items:center;gap:11px;text-align:left;font-size:13px;line-height:1.45;min-height:48px;padding:12px 14px;background:#20364c;border-color:#8fa3b74a}.practice-choices button:hover{background:#2b435b;border-color:var(--gold)}.practice-choices button:first-child[data-practice-command^="start_"],.practice-choices button[data-practice-command="question"],.practice-choices button[data-practice-command="next"]{background:var(--gold);color:var(--ink);border-color:var(--gold);font-weight:650}.key{display:inline-flex;justify-content:center;align-items:center;flex-shrink:0;width:22px;height:23px;border:1px solid #d9ba8245;border-radius:3px;color:var(--gold);font-size:11px}.practice-detail{white-space:pre-line;font-size:12px;line-height:1.65;color:var(--muted);border-top:1px solid var(--line);padding-top:17px;margin-top:22px}.practice-notice{font-size:10px;color:var(--subtle);line-height:1.6;margin-top:24px}.practice-notice a{color:var(--muted)}.practice-mode-note{font-size:12px;color:var(--muted);line-height:1.6;margin:14px 0}.urgent{accent-color:#e8af84}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}dialog{width:min(560px,calc(100% - 32px));max-height:calc(100svh - 48px);color:var(--text);background:var(--panel);border:1px solid #8fa3b755;border-radius:8px;padding:34px;box-shadow:0 25px 90px #0007;animation:panel-in .18s ease-out}dialog::backdrop{background:#06101cd9}dialog h2{font:32px/1.17 var(--serif);font-weight:400;letter-spacing:-.02em;margin:15px 0 22px}dialog p{font-size:14px;line-height:1.65;color:var(--muted)}.dialog-close{position:absolute;right:12px;top:9px;background:transparent;border:0;font-size:24px;padding:0 9px}.setting{display:grid;gap:8px;margin:18px 0}.setting label{font-size:13px;color:var(--text)}.setting select{width:100%;background:#102034}.setting small,.settings-help,.small{font-size:12px;color:var(--muted)}details{border-top:1px solid var(--line);padding:17px 0 0;margin:18px 0}summary{font-size:13px;cursor:pointer;color:var(--text);padding-bottom:4px}details p{font-size:12px}.dialog-done{width:100%;margin-top:18px}.dialog-actions{display:flex;gap:10px;margin-top:24px}.product-facts{margin:24px 0}.product-facts div{padding:14px 0;border-top:1px solid var(--line)}dt{font-size:12px;font-weight:650;color:var(--gold);margin-bottom:4px}dd{margin:0;font-size:13px;color:var(--muted);line-height:1.6}.info-links{display:flex;gap:14px;flex-wrap:wrap;font-size:12px;margin-top:24px}.motion-grid{display:grid;gap:10px}.motion-grid .setting{margin:10px 0 0}.motion-grid button{text-align:left}#fps{font-size:12px;color:var(--subtle)}@keyframes panel-in{from{opacity:.5;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}
@media(min-width:1600px){body.practicing main{grid-template-columns:minmax(0,1fr) 430px}#practice{padding:34px}.practice-context{font-size:15px}#practice h1{font-size:33px}}
@media(max-width:1000px){.header-context{display:none}.app-header{padding:12px 18px}body.practicing main{grid-template-columns:minmax(0,1fr) 340px}#practice{padding:23px 20px}#practice h1{font-size:25px}.scene-label{font-size:8px;left:14px;top:14px}.scene-control{left:14px}.session-note{max-width:140px;text-align:right}footer{padding:12px 18px}.practice-content blockquote{font-size:19px}}
@media(max-width:740px){html,body{height:auto;min-height:100%}body{min-height:100svh;display:flex;flex-direction:column}.app-header{min-height:72px;gap:10px}.brand strong{font-size:19px}.product-name{font-size:8px}nav{gap:0}nav button{font-size:12px;padding:7px;min-height:40px}main{min-height:310px;height:45svh;flex:none}body.practicing main{height:auto;display:grid;grid-template-columns:1fr;grid-template-rows:310px auto;overflow:visible}body.practicing canvas{grid-row:1;height:310px;width:100%}#practice{grid-column:1;grid-row:2;padding:25px 21px;border-left:0;border-top:1px solid var(--line);overflow:visible}.scene-control{top:260px;bottom:auto}.scene-label{max-width:80%;font-size:8px}.practice-steps{max-width:250px}footer{margin-top:auto}.workspace-actions{flex-wrap:wrap}.session-note{max-width:none;text-align:left;margin-left:0;width:100%;margin-top:4px}.keyboard-hint{display:none}#caption{font-size:14px;min-height:0}.status-row .eyebrow{font-size:9px}.transcript{min-height:60px}dialog{padding:28px 24px;max-height:calc(100svh - 28px)}dialog h2{font-size:28px}#explore-actions{width:100%}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

body[data-practice-state="question"] #practice,body[data-practice-state="followup"] #practice{padding-top:20px}body[data-practice-state="question"] .practice-steps,body[data-practice-state="followup"] .practice-steps{margin:10px 0 12px}body[data-practice-state="question"] #practice h1,body[data-practice-state="followup"] #practice h1{font-size:24px;margin:8px 0 12px}.witness-context{margin:0 0 10px;padding:0;border:0}.witness-context summary{font-size:11px;color:var(--muted)}.witness-context .practice-context{font-size:12px;margin:8px 0 12px}body[data-practice-state="question"] .practice-content blockquote,body[data-practice-state="followup"] .practice-content blockquote{font-size:18px;margin:14px 0}body[data-practice-state="question"] .practice-prompt,body[data-practice-state="followup"] .practice-prompt{margin:12px 0 8px}body[data-practice-state="question"] .practice-choices button{min-height:43px;padding:9px 12px}body[data-practice-state="question"] .practice-choices{gap:7px}
/* Keep all timed responses visible at a standard laptop height. */
@media(min-width:741px) and (max-height:800px){body[data-practice-state="question"] #practice{padding-top:16px}body[data-practice-state="question"] #practice h1{font-size:22px;margin:6px 0 10px}body[data-practice-state="question"] .practice-content blockquote{font-size:17px;line-height:1.35;margin:10px 0}body[data-practice-state="question"] .practice-prompt{margin:8px 0 6px}body[data-practice-state="question"] .practice-choices{margin-top:8px;gap:6px}body[data-practice-state="question"] .practice-choices button{min-height:42px;padding:8px 12px}}
@media(min-width:741px){main{overflow:clip}body.practicing main{grid-template-rows:minmax(0,1fr)}body.practicing canvas,#practice{min-height:0}#practice{height:100%}}

.practice-phase{font-size:10px;color:var(--muted);margin:0 0 7px;line-height:1.35}.practice-choices button.objection-action{background:var(--gold);color:var(--ink);border-color:var(--gold);font:600 19px/1.2 var(--serif);min-height:54px}.objection-action .key{color:var(--ink);border-color:#12203144}body[data-practice-state="grounds"] #practice{padding-top:18px}body[data-practice-state="grounds"] .practice-steps{margin:10px 0 12px}body[data-practice-state="grounds"] #practice h1{font-size:23px;margin:7px 0 10px}body[data-practice-state="grounds"] .practice-content blockquote{font-size:17px;line-height:1.35;margin:10px 0}body[data-practice-state="grounds"] .practice-prompt{font-size:12px;margin:8px 0}body[data-practice-state="grounds"] .practice-choices{gap:6px;margin-top:8px}body[data-practice-state="grounds"] .practice-choices button{min-height:42px;padding:8px 12px}

@media(min-width:741px) and (max-height:800px){body[data-practice-state="followup"] #practice{padding-top:16px}body[data-practice-state="followup"] #practice h1{font-size:22px;margin:6px 0 10px}body[data-practice-state="followup"] .practice-content blockquote{font-size:17px;line-height:1.35;margin:10px 0}body[data-practice-state="followup"] .practice-prompt{margin:8px 0 6px}}

.case-file-button{font-size:11px;min-height:32px;padding:5px 9px;background:transparent;color:var(--gold);margin:3px 0 10px;max-width:100%}.practice-steps{gap:3px}.practice-phase{font-size:11px;color:var(--gold);margin:6px 0}.court-record-summary h3{font-size:15px}.case-record-lines{white-space:pre-line}#casefile{width:min(680px,calc(100% - 28px))}.exhibit-sheet{background:#f2efe8;color:#24313e;padding:24px;margin:20px 0;border-left:3px solid #b59865;border-radius:3px}.exhibit-sheet h3{font:24px/1.2 var(--serif);margin:10px 0}.exhibit-status{font-size:10px;letter-spacing:.12em;font-weight:700}.exhibit-sheet .exhibit-meta{color:#52606b;font-size:11px}.exhibit-sheet .exhibit-copy{color:#24313e;white-space:pre-line;font-size:15px;line-height:1.7;padding:14px 0;border-block:1px solid #24313e25}.exhibit-sheet .exhibit-note{color:#4c5964;font-size:12px}.practice-content>.case-file-button+h1{margin-top:6px}@media(prefers-reduced-motion:reduce){.practice-content,dialog{animation:none}button{transition:none}}

.state-picker-label{display:block;font-size:13px;letter-spacing:.03em;color:var(--muted,#bdc9d3);margin-bottom:8px}#practice-state{width:100%;min-height:46px;background:#152738;color:#f1ede4;border:1px solid #526678;border-radius:5px;padding:9px 12px;font:inherit;margin-bottom:18px}.jurisdiction-scope{border-left:2px solid #d5ba86;padding:4px 0 4px 13px;font-size:13px;line-height:1.5;margin:0 0 20px;color:#c6d1d9}.jurisdiction-scope p{margin:6px 0}.jurisdiction-scope strong{color:#e7d4af}.jurisdiction-scope summary{cursor:pointer;margin-top:8px}.jurisdiction-scope details p{font-size:12px}#practice-state:focus-visible{outline:2px solid #dec391;outline-offset:3px}

/* Existing parent-organization identity and separate courtroom product icon. */
.brand{flex-direction:row;align-items:center;gap:13px}.brand-type{display:flex;flex-direction:column}.parent-logo{width:58px;height:58px;object-fit:contain;border-radius:6px;background:#fff}.organization-logo{display:block;width:190px;height:190px;object-fit:contain;border-radius:6px;background:#fff;margin-bottom:20px}.app-header{gap:24px}.header-context{gap:10px}.preview-tag{padding-left:10px}
@media(max-width:740px){.app-header{flex-wrap:wrap;gap:8px 14px;min-height:90px;padding:10px 14px}.parent-logo{width:46px;height:46px}.brand{gap:9px}.brand strong{font-size:18px}.brand-type .product-name{font-size:7px}nav{margin-left:auto;flex-wrap:wrap}nav button{padding:6px;min-height:36px;font-size:11px}}

/* Phone hearings retain the complete game, with touch-first controls and a bounded decision panel. */
@media(max-width:740px){
 button,select{min-height:44px}nav button{min-height:44px;font-size:12px}body.practicing:not(.learning-active){height:100dvh;min-height:0;overflow:hidden;display:grid;grid-template-rows:auto minmax(0,1fr) auto}
 body.practicing:not(.learning-active) .app-header{min-height:68px;padding:7px 12px;gap:4px}
 body.practicing:not(.learning-active) .brand strong{font-size:16px}body.practicing:not(.learning-active) .parent-logo{width:36px;height:36px}
 body.practicing:not(.learning-active) nav{gap:0}body.practicing:not(.learning-active) nav button{font-size:11px;padding:5px}
 body.practicing:not(.learning-active) main{height:100%;min-height:0;overflow:hidden;grid-template-rows:minmax(130px,24dvh) minmax(0,1fr)}
 body.practicing:not(.learning-active) canvas{height:100%;min-height:0}body.practicing:not(.learning-active) #practice{min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:15px 17px}
 body.practicing:not(.learning-active) .scene-control{top:auto;bottom:calc(100% - 24dvh + 9px);min-height:40px;padding:7px 10px}
 body.practicing:not(.learning-active) .scene-label{left:10px;top:9px}.practice-choices button{min-height:48px!important;font-size:14px;padding:11px 12px!important}.practice-choices button.objection-action{min-height:56px!important;font-size:20px}
 body.practicing:not(.learning-active) footer{padding:7px 13px max(7px,env(safe-area-inset-bottom));max-height:160px;overflow:auto}body.practicing:not(.learning-active) .transcript{min-height:0}body.practicing:not(.learning-active) #caption{font-size:13px;max-height:54px;overflow:auto;margin-bottom:3px}
 body.practicing:not(.learning-active) .session-note{display:none}body.practicing:not(.learning-active) #motion-study{min-height:30px;font-size:11px;padding:4px 7px}body.practicing:not(.learning-active) .workspace-actions{margin-top:4px}
 body.practicing:not(.learning-active) #pause{min-height:36px}#practice-state{font-size:16px}
}
@media(max-height:540px) and (min-width:741px){body{grid-template-rows:58px minmax(0,1fr) auto}.app-header{padding:5px 14px}.parent-logo{width:40px;height:40px}.brand strong{font-size:18px}footer{padding:5px 14px}.keyboard-hint,.session-note{display:none}.transcript{min-height:0}#caption{font-size:12px;max-height:36px;overflow:auto;margin:2px 0}.workspace-actions button{min-height:30px;padding:4px 9px}.status-row #pause{min-height:30px}#practice{padding:15px}.learning-compact #learning{padding:15px}}
@media(max-width:740px){body[data-practice-state="question"] #practice .practice-content{display:flex;flex-direction:column}body[data-practice-state="question"] #practice .practice-choices{order:-1;position:sticky;top:-15px;z-index:2;background:var(--panel);padding:10px 0;margin:0 0 8px;box-shadow:0 6px 12px #17283a}body[data-practice-state="question"] #practice .practice-steps{display:none}}

.objection-lab{border:1px solid #b89b65;border-radius:10px;padding:16px;margin:12px 0;background:#132a39}.objection-lab h2{margin:0 0 8px;font-size:20px}.objection-lab select{display:block;width:100%;min-height:44px;margin:8px 0 12px;background:#0d1d2b;color:#edf1f3;border:1px solid #7290a3;border-radius:6px;padding:8px;font:16px system-ui}.objection-lab button{width:100%;min-height:48px;background:#d3b77d;color:#10202a;font-weight:700}
