:root{color-scheme:dark;font-family:system-ui,-apple-system,sans-serif;color:#eaf2fc;background:#080c17}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer;border:1px solid #ffffff30;background:#ffffff09;color:inherit;border-radius:99px;padding:11px 18px}button:hover{background:#ffffff20}button:disabled{opacity:.35;cursor:default}.primary{background:#cef4e3;color:#123a30;border:0}#stage{height:100svh;min-height:650px;display:flex;flex-direction:column;position:relative;overflow:hidden;background:radial-gradient(ellipse at center,#17244055,#080c17 80%)}#visualizer{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}header,footer,.performance{z-index:1}header{display:flex;justify-content:space-between;padding:24px 36px 12px;font-size:12px;letter-spacing:3px;color:#afbed2}header small{letter-spacing:1px;margin-left:15px;opacity:.65}#clock{font-variant-numeric:tabular-nums}.performance{flex:1;min-height:0;display:flex;flex-direction:column;text-align:center;padding:12px 5vw 0}.lights{display:flex;justify-content:center;gap:clamp(12px,3vw,45px);margin:0 auto;width:100%}.light{width:160px;color:#92a0b5;display:flex;flex-direction:column;align-items:center}.lamp{width:46px;height:46px;border-radius:50%;display:grid;place-items:center;background:#151e2c;border:2px solid #65708255;box-shadow:inset 0 2px 6px #0008;position:relative;transition:background .6s,box-shadow .6s,border-color .6s}.lamp span{font-size:21px;filter:grayscale(1);opacity:.4}.light[data-level="1"] .lamp{background:#a16b1a;border-color:#f4be60;box-shadow:0 0 18px #ffc66765,inset 0 0 12px #ffcd6080}.light[data-level="2"] .lamp{background:#60dda2;border-color:#e0fff1;box-shadow:0 0 16px #8effcf,0 0 42px #59ffb67a,inset 0 0 12px #eafff5}.light[data-level="1"] .lamp span,.light[data-level="2"] .lamp span{filter:none;opacity:1}.light strong{font-size:12px;font-weight:550;line-height:1.4;margin-top:12px;color:#d8e3ef}.light .status{font-size:10px;margin-top:5px;color:#8593a8}.light[data-level="2"] .status{color:#a7f6ce}.light[data-level="1"] .status{color:#f6c57a}.legend{font-size:10px;color:#8392a8;letter-spacing:2px;margin-top:16px}.visual-space{flex:1;display:grid;place-items:center;min-height:120px}#visualLabel{font-size:10px;letter-spacing:5px;color:#c6d8f588;text-shadow:0 1px 20px #000}.spoken{min-height:115px;max-width:1050px;width:100%;margin:0 auto 12px}#hint{font-size:14px;color:#bbcddc;min-height:21px;margin:0 0 12px}#subtitle{font-size:clamp(22px,2.7vw,36px);font-weight:450;line-height:1.5;margin:0;text-shadow:0 2px 20px #000;overflow-wrap:anywhere}footer{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 32px;font-size:12px;color:#b8c9de;background:linear-gradient(transparent,#080c17c0)}#liveStatus{display:block;font-size:10px;margin-top:7px;color:#98b0ca;max-width:480px}.actions{display:flex;gap:8px;flex-wrap:wrap}#stop:not(:disabled){border-color:#e3ac85;color:#ffe1c8}#panel{position:fixed;inset:0 0 0 auto;z-index:5;width:min(570px,100%);overflow:auto;padding:30px;background:#111a25fa;border-left:1px solid #ffffff24;box-shadow:-30px 0 80px #0005;line-height:1.7}.panelhead{display:flex;align-items:center;justify-content:space-between;gap:15px}h2{font-size:23px}h3{margin-top:28px;color:#d2e9e0;font-weight:550}.notice{font-size:13px;color:#a8b4c2}label{display:block;margin:16px 0}input:not([type=checkbox]),select,textarea{width:100%;padding:12px;background:#ffffff08;border:1px solid #ffffff30;border-radius:10px;color:inherit}input[type=checkbox]{accent-color:#a6e4cc}#panel button{margin:4px 0}#transcript,#evidence{white-space:pre-wrap;font-size:14px}#evidence p{border-left:2px solid #698678;padding-left:12px}audio{width:100%}a{color:#b7f6db}#reportPanel{position:fixed;inset:0;z-index:6;overflow:auto;background:#101923}#reportPanel[hidden]{display:none}.report-wrap{max-width:1000px;margin:auto;padding:35px}.report-card{background:#ffffff06;border:1px solid #ffffff16;border-radius:16px;padding:20px;margin:15px 0;break-inside:avoid}.report-card h3{margin:0 0 12px}#reportBody{line-height:1.8}#reportBody blockquote{margin:12px 0;padding:10px 20px;border-left:3px solid #a7e9d0;background:#a7e9d008}#reportBody p{white-space:pre-wrap}.report-state{font-size:12px;color:#b2c8d9}.report-footer{font-size:12px;color:#899cab}@media(max-width:700px){header{padding:18px 20px 8px}.performance{padding:8px 16px 0}.lights{gap:7px}.light{width:20%}.lamp{width:35px;height:35px}.lamp span{font-size:17px}.light strong{font-size:10px}.light .status{font-size:9px}.legend{font-size:9px}.spoken{min-height:145px}footer{padding:16px;flex-direction:column;align-items:start}button{padding:10px 12px;font-size:12px}#visualLabel{letter-spacing:3px;font-size:9px}.report-wrap{padding:20px}}@media print{body{background:white;color:#17252d}#stage,#panel,.report-wrap>.panelhead button,.report-wrap>.actions{display:none!important}#reportPanel{position:static;background:white;overflow:visible}.report-wrap{max-width:none;padding:0}h3{color:#1d5546}.report-card{border-color:#ccc;background:white}#reportBody blockquote{background:#eee}#reportStatus{color:#444}}
/* Emotion compass: fixed directions remain legible on a projected stage. */
.visual-space{position:relative;min-height:210px;display:flex;flex-direction:column;align-items:center;justify-content:center}#compass{width:min(40vh,390px);max-width:78vw}.emotion-wheel{display:block;width:100%;overflow:visible}.emotion-wheel text{font-family:inherit;font-size:11px;font-weight:550}.emotion-wheel path{transition:opacity 1.2s}.compass-needle{transform-origin:200px 200px;transition:transform 1.5s ease,opacity .5s}.emotion-wheel>circle{transition:cx 1.5s ease,cy 1.5s ease,fill 1s}.compass-caption{font-size:14px;letter-spacing:1px;margin:0;text-align:center;color:#eff7ff;min-height:21px}.visual-space #visualLabel{font-size:9px;letter-spacing:2px;margin-top:5px}#visualizer{opacity:.4}.spoken{min-height:85px;margin-top:10px}#subtitle{font-size:clamp(20px,2.3vw,32px)}.journey-layout{display:grid;grid-template-columns:minmax(0,32%) minmax(0,1fr);gap:24px;align-items:start}.journey-layout .compass-caption{font-size:12px}.emotion-chart{width:100%;display:block}.emotion-chart circle,.trace-point{cursor:pointer;outline-offset:4px}.journey-picks{display:flex;gap:6px;overflow-x:auto;padding:10px 0;max-width:100%}.journey-picks button{white-space:nowrap;font-size:11px;padding:7px 10px}.journey-picks button[aria-pressed=true]{background:#d6f3e8;color:#173b32}.journey-detail h4{font-size:15px}.journey-detail p{font-size:13px}.journey-detail blockquote{font-size:14px;margin:10px 0;padding:8px 12px;border-left:2px solid #7890a455;color:#a8bbd0}.journey-detail blockquote.selected-evidence{border-color:#e9dc7d;color:#f7f4dc;background:#ffea6010}#journey{break-inside:auto}.reduced .compass-needle,.reduced .emotion-wheel>circle,.reduced .emotion-wheel path{transition:none}@media(prefers-reduced-motion:reduce){.compass-needle,.emotion-wheel>circle,.emotion-wheel path{transition:none}}@media(max-width:700px){#stage{min-height:800px}#compass{width:min(34vh,290px)}.journey-layout{grid-template-columns:1fr}.journey-layout>div:first-child{max-width:300px;margin:auto}.visual-space{min-height:230px}.spoken{min-height:135px}.legend{letter-spacing:0}}@media print{#journey svg{background:#142032;border-radius:12px;print-color-adjust:exact}.journey-picks{display:none}.journey-detail blockquote{color:#222}.journey-detail blockquote.selected-evidence{color:#111}.journey-detail audio{display:none}}

/* Constrain intrinsic SVG/audio/button widths for long recording histories. */
.report-wrap{min-width:0}.report-card,.journey-layout,.journey-layout>div{min-width:0;max-width:100%}
.journey-layout .emotion-wheel{aspect-ratio:1;height:auto}
.journey-layout .emotion-chart{aspect-ratio:16/7;height:auto;max-width:100%}
.journey-layout>.journey-detail{grid-column:1/-1;border-top:1px solid #ffffff18;padding-top:12px;overflow-wrap:anywhere}
.journey-picks{flex-wrap:wrap;max-height:140px;overflow-y:auto;overflow-x:hidden;align-content:start}
.journey-picks button{flex:0 0 auto;max-width:100%;overflow:hidden;text-overflow:ellipsis}
.journey-detail audio{display:block;width:100%;min-width:0;max-width:100%}
@media(max-width:760px){.journey-layout{grid-template-columns:minmax(0,1fr)}.journey-layout>div:first-child{width:min(100%,300px);margin-inline:auto}.journey-picks{max-height:120px}}
@media print{.journey-layout{grid-template-columns:minmax(0,32%) minmax(0,1fr)}.journey-detail audio{display:none}}

.compass-rotor{transform-origin:200px 200px;transition:transform 1.8s cubic-bezier(.25,.7,.25,1)}
.reduced .compass-rotor{transition:none}
@media(prefers-reduced-motion:reduce){.compass-rotor{transition:none}}
/* V3: the colored disc moves under a high-contrast, stationary selector. */
.header-tools{display:flex;align-items:center;gap:18px}.header-tools>small{font-size:9px;letter-spacing:1px;margin:0}.interface-picker{display:flex;align-items:center;gap:7px;margin:0;font-size:10px;letter-spacing:0}.interface-picker select{width:auto;padding:5px 9px;font-size:12px}.interface-picker span{opacity:.7}
#compass{width:min(44vh,420px)}#compass .compass-caption{font-size:clamp(18px,2.2vw,27px);font-weight:600;letter-spacing:1px;margin-top:5px}.compass-rotor{transform-box:view-box;transition-duration:1.6s}.compass-rotor>text{transition:transform 1.6s cubic-bezier(.25,.7,.25,1);transform-box:view-box}.wheel-fixed-pointer{filter:drop-shadow(0 0 7px #fff9)}.wheel-demo{display:flex;gap:8px;justify-content:center;margin:7px 0}.wheel-demo button{font-size:11px;padding:6px 13px;border-color:#9ce4d080}.wheel-demo button[hidden]{display:none}.visual-space #visualLabel{font-size:10px;letter-spacing:1px}.reduced .compass-rotor>text{transition:none}@media(prefers-reduced-motion:reduce){.compass-rotor>text{transition:none}}@media(max-width:700px){header{gap:8px}.header-tools{gap:7px}.header-tools>small,.interface-picker span,header>span small{display:none}#compass{width:min(34vh,300px)}#compass .compass-caption{font-size:19px}.interface-picker select{max-width:105px}.wheel-demo{margin:6px 0}}
/* 2026-09-24: trainee time budget (default 15 min, max 30) with reminders and auto-stop. */
.duration{display:flex;align-items:center;gap:7px;margin:0;font-size:11px;color:#b8c9de}.duration select{width:auto;padding:9px 12px;border-radius:99px;font-size:12px}.duration select:disabled{opacity:.45}.time-notice{font-size:11px;letter-spacing:1px;color:#f6c57a}.time-warning #clock{color:#f6c57a;font-weight:600}@media(max-width:700px){.duration span{display:none}}
/* 2026-09-24: workshop gate, saved attempts, submit-to-facilitator. */
.gate{position:fixed;inset:0;z-index:20;display:grid;place-items:center;background:#080c17f2;padding:16px;overflow:auto}.gate[hidden]{display:none}.gate-card{width:min(540px,100%);background:#111a25;border:1px solid #ffffff24;border-radius:18px;padding:28px 30px;line-height:1.65}.gate-card h1{font-size:26px;margin:0 0 6px;letter-spacing:2px}.gate-card h1 small{font-size:12px;letter-spacing:3px;opacity:.6;margin-left:10px}.gate-card label{margin:14px 0}.gate-card .consent{display:flex;gap:10px;align-items:flex-start}.gate-card .consent input{width:auto;margin-top:5px}.gate-card button{width:100%;margin-top:6px}#gateError{color:#f7a1a1;min-height:20px;font-size:13px;margin:10px 0 0}.who{font-size:11px;letter-spacing:1px;color:#cfe0f0}#attemptList{display:flex;flex-direction:column;gap:8px}.attempt{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;padding:10px 14px;border:1px solid #ffffff18;border-radius:12px;font-size:13px}.attempt[aria-current=true]{border-color:#a7e9d0;background:#a7e9d010}.attempt .meta{color:#98b0ca;font-size:12px}.attempt .tag{font-size:11px;padding:2px 8px;border-radius:99px;background:#ffffff12}.attempt .tag.ok{background:#a7e9d022;color:#c9f7e3}.attempt .grow{flex:1}.attempt button{padding:6px 12px;font-size:12px}#submitStatus{font-size:13px;color:#b8c9de;min-height:20px}#attempts .notice{margin:0 0 12px}@media(max-width:700px){.gate-card{padding:22px}}
