:root{font-family:Arial,Helvetica,sans-serif;color:#182728;background:#edf2ef;font-synthesis:none}
*{box-sizing:border-box}body{margin:0}button,input,textarea,select{font:inherit}button{cursor:pointer;border:0;border-radius:10px;padding:11px 16px;font-weight:700;color:#173131;background:#dfeae5}button:hover{filter:brightness(.97)}button:disabled{cursor:wait;opacity:.55}a{color:inherit}input,textarea,select{background:#fff;border:1px solid #cfdbd5;border-radius:9px;padding:11px 12px;color:#173131;outline:none}input:focus,textarea:focus,select:focus{border-color:#15906b;box-shadow:0 0 0 3px #15906b22}textarea{resize:vertical;min-height:75px;width:100%}
.topbar{height:70px;background:#102b2a;color:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 max(24px,calc((100vw - 1260px)/2));gap:20px}.brand{display:flex;align-items:center;gap:13px;font-size:15px;font-weight:800;letter-spacing:.17em}.brand b{font-weight:400;color:#a8c7b8}.brand-mark{display:inline-grid;place-items:center;background:#40c594;color:#123b32;width:35px;height:35px;border-radius:9px;font-size:22px;letter-spacing:-.1em}.brand-mark span{color:#f4d77d}.top-right{display:flex;align-items:center;gap:10px;font-size:12px;color:#bad1c8}.live-dot{width:8px;height:8px;border-radius:50%;background:#4dd2a1;box-shadow:0 0 0 4px #4dd2a122}.divider{height:17px;width:1px;background:#51706a;margin:0 5px}
main{max-width:1308px;margin:auto;padding:0 24px 36px}.hero{padding:42px 2px 35px}.eyebrow{font-size:11px;font-weight:800;color:#188260;letter-spacing:.22em}.hero h1{font-size:clamp(31px,4vw,49px);line-height:1.05;letter-spacing:-.045em;margin:12px 0 10px;color:#143b32}.hero p{font-size:16px;color:#637a72;max-width:620px;margin:0}.route{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-top:28px}.route span{background:#dcebe3;color:#245345;border:1px solid #c4ddcf;padding:9px 12px;border-radius:8px;font-size:12px;font-weight:800;letter-spacing:.05em}.route small{font-size:11px;font-weight:400;color:#628576}.route i{font-style:normal;color:#7b9d8d;font-size:20px}
.card{background:#fff;border:1px solid #dae5df;box-shadow:0 7px 30px #133d2d09;border-radius:17px;padding:23px}.profile-strip{display:flex;align-items:flex-end;gap:18px;padding:17px 21px}.profile-strip>div:first-child{min-width:240px}.profile-strip label{display:block;font-size:10px;font-weight:800;letter-spacing:.14em;color:#6d897c;margin:0 0 7px}.profile-strip select{width:100%}.new-profile{flex:1}.inline{display:flex;gap:9px}.inline input{min-width:0;flex:1}.profile-note{max-width:180px;font-size:12px;color:#7e948a;line-height:1.4;padding-bottom:5px}.notice{display:none;margin:16px 0 0;padding:12px 16px;border-radius:10px;background:#ddf1e5;color:#1d6040;font-size:14px}.notice.error{background:#ffe6dc;color:#9d382b}.notice.show{display:block}.grid{display:grid;grid-template-columns:1.15fr 1fr;gap:18px;margin-top:18px}.section-head{display:flex;gap:14px;align-items:flex-start;margin-bottom:22px}.section-head h2{margin:0 0 5px;font-size:18px;color:#183c32;letter-spacing:-.02em}.section-head p{margin:0;color:#82978e;font-size:13px}.icon{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:#def0e7;color:#278762;font-size:20px;font-weight:800;flex:none}.primary{background:#196b51;color:#fff}.quiet{background:#e7efe9;color:#28694f}.capture-controls{display:flex;align-items:center;gap:10px}.capture-controls label{font-size:13px;font-weight:700;color:#637d70}.capture-controls select{width:130px}.capture-controls button{margin-left:auto}.fine{color:#9aaba2;font-size:11px;line-height:1.5;margin:14px 0 0}.empty{margin-top:22px;padding:34px;text-align:center;background:#f5f8f6;border:1px dashed #d5e1d9;border-radius:12px;color:#91a69a;font-size:13px}.metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:20px}.metrics>div{background:#f2f8f4;padding:18px 14px;border-radius:12px}.metrics small{display:block;font-size:10px;letter-spacing:.13em;font-weight:800;color:#6b907c}.metrics strong{display:inline-block;margin-top:8px;font-size:29px;letter-spacing:-.06em;color:#1a6349}.metrics span{display:block;color:#7e9a89;font-size:11px;margin-top:3px}.sample-actions{display:flex;gap:9px;margin-top:17px;flex-wrap:wrap}.button-link{display:inline-block;text-decoration:none;border-radius:10px;padding:11px 16px;font-weight:700;font-size:13px}.feedback{white-space:pre-wrap;line-height:1.55;background:#f4f8f5;border-left:3px solid #35af7e;padding:15px;margin-top:18px;font-size:13px;color:#315449}
.tasks{display:grid;gap:10px}.task{display:flex;align-items:flex-start;gap:11px;border:1px solid #e4ebe6;padding:12px;border-radius:10px;cursor:pointer}.task:hover{background:#f6faf7}.task input{margin:2px 0 0;accent-color:#238d62}.task strong{display:block;font-size:13px;color:#2a483b}.task small{display:block;font-size:11px;color:#8ba095;margin-top:5px;line-height:1.35}.task.done{background:#eaf6ee;border-color:#cce5d5}.composer button{margin-top:8px}.list{max-height:245px;overflow:auto;margin-top:16px}.list-item{border-top:1px solid #e8eee9;padding:12px 0;font-size:13px;color:#38584a;line-height:1.45;overflow-wrap:anywhere}.list-item small{display:block;color:#9bab9d;font-size:10px;margin-bottom:5px}.list-item.resolved{opacity:.5;text-decoration:line-through}.list-item button{float:right;padding:6px 8px;font-size:11px;margin-left:8px}
.chat-card{grid-column:1/-1}.chat-messages{min-height:145px;max-height:240px;overflow:auto;background:#f5f9f6;border-radius:12px;padding:14px;display:flex;flex-direction:column;gap:10px}.coach-msg,.tech-msg{max-width:min(85%,700px);padding:11px 13px;border-radius:11px;font-size:13px;line-height:1.5;white-space:pre-wrap;overflow-wrap:anywhere}.coach-msg{background:#e0eee5;color:#355e47;align-self:flex-start}.tech-msg{background:#236a51;color:white;align-self:flex-end}.chat-compose{display:flex;gap:9px;margin-top:13px}.chat-compose input{flex:1;min-width:0}footer{color:#90a69a;text-align:center;font-size:11px;letter-spacing:.08em;margin:32px 0 5px}footer span{color:#43b884;margin:0 10px}
@media(max-width:850px){.grid{grid-template-columns:1fr}.chat-card{grid-column:auto}.profile-strip{flex-wrap:wrap}.profile-note{max-width:100%}.top-right{display:none}}@media(max-width:510px){main{padding:0 14px 25px}.topbar{padding:0 14px}.hero{padding-top:30px}.profile-strip>div:first-child,.new-profile{min-width:100%}.capture-controls{flex-wrap:wrap}.capture-controls button{margin-left:0;width:100%}.metrics strong{font-size:22px}.card{padding:18px}}

/* Elim's white logo and warm orange accent on a charcoal stage. */
[hidden]{display:none!important}
:root{color:#282b31;background:#f7f6f3}
body{background:#f7f6f3}
.topbar{height:78px;background:#191b20}
.brand{gap:18px;letter-spacing:.12em}
.brand img{width:104px;height:59px;object-fit:contain}
.brand-label{font-size:11px;color:#f9ae27;border-left:1px solid #68676a;padding-left:18px}
.brand b,.top-right{color:#e4e1dd}
.live-dot{background:#f9ae27;box-shadow:0 0 0 4px #f9ae2724}
.eyebrow{color:#b6631e}
.hero h1{color:#22242a}
.hero p{color:#666972}
.primary{background:#c93d31;color:#fff}
.quiet{background:#f5e9dc;color:#7f4426}
input:focus,textarea:focus,select:focus{border-color:#e5a125;box-shadow:0 0 0 3px #e5a12528}
.card{border-color:#e7e4df;box-shadow:0 8px 30px #1e202308}
.section-head h2{color:#292a2f}
.section-head p{color:#777980}
.icon{background:#fff0dc;color:#c07517}
.metrics>div,.chat-messages{background:#faf7f1}
.metrics strong{color:#b04a24}
.task.done{background:#fff7e9;border-color:#f0d9b2}
.task input{accent-color:#c93d31}
.coach-msg{background:#f4e5d1;color:#5e4030}
.tech-msg{background:#9e4835}
.feedback{background:#fff8ec;border-left-color:#f9ae27;color:#574638}
footer span{color:#dc921e}
.mode-row{display:flex;gap:10px;flex-wrap:wrap;margin-top:24px}
.mode{padding:9px 13px;border-radius:99px;font-size:12px;font-weight:700;background:#eae8e4;color:#777980}
.mode.active{background:#fff1d8;color:#a7601c}
.session-strip{display:flex;align-items:center;gap:35px;padding:16px 22px}
.session-strip div:first-child{flex:1}
.session-strip small{display:block;font-size:10px;letter-spacing:.15em;color:#a06d41;font-weight:800;margin-bottom:5px}
.session-strip strong{display:block;font-size:13px;color:#33343a;overflow-wrap:anywhere}
.usage-link{font-size:12px;color:#9e482d;text-decoration:none;font-weight:700;white-space:nowrap}.usage-link:hover{text-decoration:underline}
.login-shell{max-width:1220px;min-height:calc(100vh - 78px);margin:auto;padding:55px 24px;display:grid;grid-template-columns:minmax(0,520px) 1fr;gap:70px;align-items:center}
.login-card{background:white;border:1px solid #e5e2dc;border-radius:24px;padding:clamp(28px,5vw,55px);box-shadow:0 24px 65px #1c202014}
.login-card h1{font-size:clamp(32px,4vw,49px);line-height:1.08;letter-spacing:-.045em;color:#24262c;margin:15px 0}
.login-card p{color:#6a6c72;line-height:1.55;margin-bottom:28px}
.login-card label{display:block;font-size:11px;color:#805f47;font-weight:800;letter-spacing:.1em;margin-bottom:8px}
.login-card select,.login-card button{display:block;width:100%;margin-bottom:13px}
.login-card button{margin-top:17px;padding:15px}
.login-card .login-fine{font-size:12px;margin:21px 0 0;color:#8b8988}
.login-aside{display:flex;flex-direction:column;align-items:flex-start;font-weight:900;font-size:clamp(57px,7vw,108px);line-height:.98;letter-spacing:-.075em;color:#272930}
.login-aside span:nth-child(2){color:#c93d31}.login-aside span:nth-child(3){color:#eda824}
.login-aside p{font-size:16px;letter-spacing:0;line-height:1.5;font-weight:400;color:#858382;max-width:320px;margin-top:30px}
.login-card .provider-button{display:flex;align-items:center;justify-content:center;gap:11px;background:#fff;border:1px solid #d7d7d7;color:#3c4043;font-weight:700;margin-top:8px;box-shadow:0 1px 2px #0000000d}
.login-card .provider-button:hover{background:#f8f8f8;filter:none}.login-card .provider-button:disabled{background:#f3f1ed;border-color:#dedbd5;color:#92908c;opacity:1;cursor:not-allowed}.provider-button svg{width:20px;height:20px;flex:none}.login-card .provider-note{font-size:12px;line-height:1.45;margin:-3px 0 17px;padding:10px 12px;border-radius:9px;background:#fff7e9;color:#8b6334}.provider-note code{font-size:.95em;overflow-wrap:anywhere}
.login-divider{display:flex;align-items:center;gap:12px;margin:22px 0 18px;color:#9a806c;font-size:10px;font-weight:800;letter-spacing:.09em;text-transform:uppercase}.login-divider:before,.login-divider:after{content:"";height:1px;background:#e7e1d8;flex:1}
.login-card .notice{margin-top:16px}
.coach-prompts{display:flex;flex-wrap:wrap;gap:8px;margin:-4px 0 16px}.coach-prompts button{font-size:12px;padding:9px 12px}
.device-status{display:inline-flex;align-items:center;gap:7px;color:#ddd;font-size:11px;font-weight:700;white-space:nowrap}.device-status i{width:8px;height:8px;background:#86878a;border-radius:50%}.device-status.ok i{background:#4bd18e;box-shadow:0 0 0 4px #4bd18e22}.device-status.bad i{background:#e76555;box-shadow:0 0 0 4px #e7655522}
.device-status.unknown i{background:#f5b13a;box-shadow:0 0 0 4px #f5b13a22}
.mix-action{margin:14px 0;padding:16px 18px;border-radius:12px;background:#fff6e7;border:1px solid #edce9a;display:flex;align-items:center;justify-content:space-between;gap:18px}.mix-action strong{font-size:14px;color:#533924}.mix-action p{font-size:12px;color:#7b6349;margin:5px 0 0;line-height:1.45}.mix-action button{white-space:nowrap}.mix-action.undo{background:#f3f8f3;border-color:#c5dec9}
.demo-controls{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.demo-controls label{font-size:13px;font-weight:700}.demo-controls select{min-width:170px}.demo-confirm{display:flex;align-items:flex-start;gap:9px;margin-top:17px;color:#3f554c;font-size:13px;line-height:1.45}.demo-confirm input{margin-top:3px;accent-color:#196b51}
@media(max-width:850px){.top-right{display:flex}.top-right .divider,.top-right #clock{display:none}.mix-action{display:block}.mix-action button{margin-top:12px;width:100%}}
@media(max-width:510px){.device-status{font-size:0;gap:0}.device-status i{width:10px;height:10px}.top-right{gap:12px}}
@media(max-width:850px){.login-shell{grid-template-columns:1fr;gap:25px}.login-aside{display:none}}
@media(max-width:510px){.session-strip{flex-wrap:wrap;gap:13px}.session-strip div:first-child{flex-basis:100%}.session-strip button{margin-left:auto}.brand img{width:84px}.brand-label{font-size:10px}}

/* Virtual/live mode and the first-connection tutorial. */
.mode-picker{display:flex;align-items:center;gap:8px;padding:5px 7px 5px 10px;border:1px solid #4d4f55;border-radius:9px;background:#23262c}.mode-picker span{font-size:9px;font-weight:800;letter-spacing:.16em;color:#b9b7b3}.mode-picker select{width:92px;padding:6px 24px 6px 8px;border:0;background:#f7f4ee;color:#272930;font-size:12px;font-weight:800}
.virtual-panel{margin-top:18px;overflow:hidden}.virtual-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.virtual-head .section-head{margin-bottom:9px}.virtual-detail{margin:0 0 18px 52px;color:#6f746f;font-size:13px}.ready-pill{display:inline-flex;align-items:center;gap:8px;border-radius:999px;padding:8px 12px;font-size:11px;font-weight:800;letter-spacing:.05em;white-space:nowrap}.ready-pill i{width:9px;height:9px;border-radius:50%}.ready-pill.ready{background:#e5f5eb;color:#176d45}.ready-pill.ready i{background:#29a66b;box-shadow:0 0 0 4px #29a66b1d}.ready-pill.starting{background:#fff2d8;color:#9c6118}.ready-pill.starting i{background:#e2a02d}.ready-pill.error{background:#ffe5e0;color:#9d382b}.ready-pill.error i{background:#d64e3c}
.virtual-actions{display:flex;align-items:center;gap:9px;flex-wrap:wrap;padding:13px 15px;border-radius:12px;background:#f8f5ef;border:1px solid #ece6dc}.transport-label{font-size:9px;font-weight:800;letter-spacing:.16em;color:#a06d41;margin-left:8px}.music-state{font-size:12px;font-weight:700;color:#77736e;margin-left:5px}.tutorial{display:grid;grid-template-columns:250px 1fr;gap:25px;margin-top:25px;padding-top:23px;border-top:1px solid #ece8e1}.tutorial-intro h3{font-size:22px;letter-spacing:-.035em;margin:9px 0 8px;color:#292a2f}.tutorial-intro p{font-size:13px;line-height:1.55;color:#77746f;margin:0}.tutorial-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px;list-style:none;padding:0;margin:0}.tutorial-steps figure{margin:0;height:100%;background:#fbfaf7;border:1px solid #e8e3db;border-radius:12px;overflow:hidden}.tutorial-steps img{display:block;width:100%;aspect-ratio:16/10;object-fit:contain;object-position:center;background:#f1efeb}.tutorial-steps figcaption{padding:12px}.tutorial-steps strong{display:block;font-size:13px;color:#303137;margin-bottom:5px}.tutorial-steps span{display:block;font-size:11px;line-height:1.45;color:#77746f}.tutorial-steps b{color:#8e492c}
@media(max-width:1050px){.tutorial{grid-template-columns:1fr}.tutorial-steps{grid-template-columns:repeat(3,minmax(180px,1fr));overflow-x:auto}.mode-picker span{display:none}.mode-picker{padding:4px}.mode-picker select{width:82px}}
@media(max-width:680px){.tutorial-steps{grid-template-columns:1fr}.virtual-head{display:block}.ready-pill{margin-bottom:10px}.virtual-detail{margin-left:0}.virtual-actions .transport-label{margin-left:0}.top-right{gap:7px}.mode-status{font-size:0}.mode-picker select{width:76px;font-size:11px}.virtual-actions button{flex:1 1 120px}}
.login-card .forget{display:inline;width:auto;margin:2px 0 0;padding:0;background:transparent;color:#9e482d;font-size:12px;text-decoration:underline}.login-card .forget:hover{filter:none}

.courses-card{margin-top:18px}.courses-card .section-head{margin-bottom:10px}.course-note,.course-intro{font-size:13px;line-height:1.5;color:#77746f}.courses{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.course{border:1px solid #e8e3db;border-radius:12px;padding:15px;background:#fbfaf7}.course-summary{cursor:pointer;color:#303137}.course-summary strong{font-size:15px}.course-summary small{display:block;color:#9a7254;font-size:11px;margin:7px 0 0}.course-intro{margin:13px 0}.course .task{background:#fff}@media(max-width:850px){.courses{grid-template-columns:1fr}}

.installer-card{margin-top:18px}.installer-card .section-head{margin-bottom:10px}.installer-card progress{display:block;width:min(100%,420px);height:12px;margin-top:10px;accent-color:#c93d31}

.offline-overlay{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;padding:24px;background:#191b20ed}.offline-card{max-width:500px;width:100%;padding:36px;border-radius:20px;background:#fff;box-shadow:0 20px 70px #0004}.offline-card h1{margin:12px 0;font-size:28px;letter-spacing:-.035em;color:#24262c}.offline-card p{line-height:1.55;color:#62656b}.offline-card .offline-hint{font-size:12px;color:#8b8988;margin-bottom:0}
.installer-reopen{margin-top:18px}.courses{display:grid;grid-template-columns:minmax(180px,250px) minmax(0,1fr);gap:20px}.chapter-nav{display:flex;flex-direction:column;gap:6px}.chapter-link{text-align:left;background:#f8f5ef;color:#6e655c;font-size:12px;padding:10px 12px}.chapter-link.active{background:#f8e6cb;color:#8b431f}.chapter-pane{border:1px solid #eee5d9;border-radius:14px;padding:24px;background:#fffdfa}.chapter-pane h3{font-size:25px;letter-spacing:-.03em;margin:10px 0}.walkthrough{display:grid;gap:10px;margin:18px 0 0;padding:0;list-style:none;counter-reset:mixer-step}.walkthrough li{position:relative;padding:14px 15px 14px 48px;border:1px solid #eee2d3;border-radius:11px;background:#fffaf2;color:#4f4b47;font-size:14px;line-height:1.55}.walkthrough li:before{counter-increment:mixer-step;content:counter(mixer-step);position:absolute;left:14px;top:13px;display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:#c93d31;color:white;font-size:12px;font-weight:800}.chapter-copy,.chapter-practice p{font-size:14px;line-height:1.65;color:#5c5b5b}.chapter-practice{margin:20px 0;padding:16px;border-radius:10px;background:#f8f4ed}.chapter-practice strong{font-size:13px;color:#8f4b24}.chapter-practice p{margin:7px 0 0}.course-progress{font-size:12px;color:#a06d41;font-weight:700;margin:0 0 16px}.chapter-actions,.chapter-pagination{display:flex;gap:10px;flex-wrap:wrap}.chapter-actions{margin-top:14px}.chapter-pagination{margin-top:25px;justify-content:space-between}.lesson-feedback{padding:12px;border-radius:10px;background:#eaf6ee;color:#246044;font-size:13px}.lesson-feedback.error{background:#ffe6dc;color:#9d382b}@media(max-width:850px){.courses{grid-template-columns:1fr}.chapter-nav{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}}

.guide-wrap{margin:16px 0}.strip-guide{display:flex;gap:12px}.guide-strip{width:98px;text-align:center;border:1px solid #ddd8d0;border-radius:10px;background:#f6f4f0;padding:9px;color:#3d3f42}.guide-strip strong,.guide-strip small{display:block}.guide-strip strong{font-size:12px}.guide-strip small{font-size:10px;color:#8b8178;margin:2px 0 8px}.guide-knob{display:grid;place-items:center;margin:auto;width:52px;height:52px;border:5px solid #bbb4aa;border-radius:50%;background:white;color:#a15d2b;font-size:8px;font-weight:bold}.guide-meter{color:#7baf85;font-size:24px;line-height:1}.guide-buttons{font-size:9px;font-weight:bold;color:#4f7665;border-top:1px solid #ddd;padding:6px 0}.guide-fader{font-family:monospace;color:#777;font-size:14px}.guide-wrap .fine{margin-top:6px}
.chapter-link.locked{cursor:not-allowed;opacity:.52;background:#f1eee9}.setup-steps{display:grid;gap:10px;margin:18px 0}.setup-step{display:grid;grid-template-columns:30px minmax(0,1fr) auto;align-items:center;gap:12px;padding:13px 14px;border:1px solid #e8e1d8;border-radius:12px;background:#fbfaf7}.setup-step.complete{border-color:#cce5d5;background:#edf7f0}.setup-step-mark{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;border:2px solid #c9c2b9;color:#fff;font-weight:900;font-size:12px}.setup-step.complete .setup-step-mark{border-color:#3b9a69;background:#3b9a69}.setup-step-copy strong{display:block;font-size:14px;color:#35363a}.setup-step-copy p{margin:4px 0 0;color:#77746f;font-size:12px;line-height:1.5}.setup-step button{white-space:nowrap}.setup-state{margin:14px 0;padding:11px 13px;border-radius:9px;font-size:13px;font-weight:700}.setup-state.ready{background:#e5f5eb;color:#176d45}.setup-state.pending{background:#fff2d8;color:#9c6118}.setup-state.waiting{background:#f1efeb;color:#706c67}@media(max-width:680px){.setup-step{grid-template-columns:30px minmax(0,1fr)}.setup-step button{grid-column:2;justify-self:start}}
.setup-step.optional{border-style:dashed;background:#fffaf2}.setup-step.optional .setup-step-mark{border-color:#e2a02d;background:#fff2d8;color:#9c6118}
.lesson-music{margin:16px 0;padding:14px 16px;border:1px solid #ead8bd;border-radius:12px;background:#fff8ec}.lesson-music>strong{display:block;font-size:13px;color:#8f4b24;margin-bottom:10px}.lesson-music>button{margin-bottom:10px}.lesson-music .chapter-actions{margin-top:0}.lesson-music .fine{margin-top:9px}.lesson-live{margin:12px 0;padding:11px 13px;border-radius:9px;background:#fff2d8;color:#94601f;font-size:13px;font-weight:700}

/* Course-first layout, live checks and the labelled channel map. */
.virtual-panel{overflow:visible}
.practice-transport{position:sticky;top:10px;z-index:40;display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin:14px 0 18px;padding:12px 15px;border:1px solid #ddcfbb;border-radius:14px;background:#fffdf8f5;box-shadow:0 12px 28px #2820181c;backdrop-filter:blur(12px)}
.practice-transport .transport-label{margin-left:8px}
.practice-transport .music-state{margin-left:auto}
.channel-diagram{margin:20px 0;padding:18px;border:1px solid #e7dac9;border-radius:16px;background:linear-gradient(135deg,#fff9ee,#f7f4ee)}
.channel-diagram figcaption{margin-top:12px;color:#8a8078;font-size:11px;text-align:center}
.channel-flow{display:grid;grid-template-columns:minmax(210px,1fr) 42px minmax(180px,.8fr);align-items:center;gap:14px}
.channel-card{display:flex;flex-direction:column;gap:11px;padding:14px;border:1px solid #cec5ba;border-radius:13px;background:#f5f2ec;box-shadow:inset 0 0 0 3px #fff8;min-height:425px}
.channel-card.output-channel{background:linear-gradient(#e9f2f7,#dfeaf2);border-color:#9fb9c9;box-shadow:inset 0 0 0 3px #fff7}
.channel-title{padding:9px 7px;border-radius:8px;background:#272a30;color:#fff;font-size:12px;font-weight:900;letter-spacing:.08em;text-align:center}
.output-channel .channel-title{background:#28546a}
.output-role{padding:9px;border-radius:8px;background:#ffffffaa;color:#416273;font-size:11px;line-height:1.4;text-align:center}
.labelled-control{display:grid;grid-template-columns:58px minmax(0,1fr);grid-template-rows:auto auto;align-items:center;column-gap:11px;padding:10px;border:1px solid #ddd4c8;border-radius:10px;background:#ffffffb8}
.labelled-control b{font-size:11px;color:#4c3c30;letter-spacing:.06em}
.labelled-control small{font-size:10px;line-height:1.35;color:#8b8177}
.diagram-knob{grid-row:1/3;display:grid;place-items:center;width:56px;height:56px;border:7px solid #aaa39a;border-radius:50%;background:linear-gradient(145deg,#fff,#dcd8d1);color:#9b4b2d;font-size:8px;font-weight:900;box-shadow:0 3px 8px #0001}
.meter-control{grid-template-columns:48px minmax(0,1fr)}
.diagram-meter{grid-row:1/3;font-size:39px;line-height:1;color:#4a9a68;letter-spacing:-.15em;transform:rotate(180deg)}
.processing-block{display:flex;justify-content:space-between;gap:8px;padding:10px;border-radius:9px;background:#34363d;color:#fff;font-size:9px}
.processing-block b{font-size:9px;letter-spacing:.07em}.processing-block span{color:#f6c269;text-align:right}
.channel-switches{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}
.channel-switches span{padding:10px 4px;border:1px solid #c9c1b7;border-radius:7px;background:#fff;text-align:center;font-size:10px;font-weight:900;color:#6f4c38}
.output-channel .channel-switches{grid-template-columns:repeat(2,1fr)}.output-channel .channel-switches span{color:#31596b;border-color:#aabec9}
.fader-control{grid-template-columns:58px minmax(0,1fr)}
.diagram-fader{grid-row:1/3;display:grid;place-items:center;height:82px;color:#4f535a;font-family:monospace;font-size:22px;letter-spacing:-.12em}
.signal-arrow{font-size:32px;color:#c65a37;text-align:center}
.audio-terms{margin:20px 0;padding:16px;border:1px solid #e6e0d7;border-radius:12px;background:#fbfaf7}
.audio-terms h4,.editor-warning strong,.control-tracker h4,.safe-fade-card h4{margin:0;color:#2f3035;font-size:16px}
.term-grid{display:grid;grid-template-columns:minmax(120px,180px) minmax(0,1fr);margin:12px 0 0;border-top:1px solid #e7e2da}
.term-grid dt,.term-grid dd{margin:0;padding:9px 5px;border-bottom:1px solid #eee9e2;font-size:12px;line-height:1.45}.term-grid dt{font-weight:800;color:#78452d}.term-grid dd{color:#696a6e}
.editor-warning{margin:18px 0;padding:15px 16px;border:1px solid #e6c47f;border-radius:12px;background:#fff7df}.editor-warning strong{display:block;margin-bottom:8px;color:#82571d}.editor-warning ol{margin:0;padding-left:20px;color:#67593e;font-size:12px;line-height:1.55}.editor-warning li+li{margin-top:4px}
.lesson-utility{display:flex;align-items:flex-start;gap:11px;margin:14px 0;padding:12px 14px;border-radius:10px;background:#eef5f7;color:#365d6c}.lesson-utility span{font-size:20px;line-height:1}.lesson-utility p{margin:0;font-size:12px;line-height:1.5}
.control-tracker{margin:18px 0;padding:16px;border:1px solid #ddd5c9;border-radius:13px;background:#fbfaf7}.control-tracker.complete{border-color:#b9dcc8;background:#f1f8f3}.control-tracker-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:12px}.control-tracker-head h4{margin:5px 0 0}.tracker-count{padding:7px 10px;border-radius:999px;background:#eee7dc;color:#7c5a42;font-size:11px;font-weight:800;white-space:nowrap}.control-tracker.complete .tracker-count{background:#dcefe4;color:#226343}.control-targets{display:grid;gap:8px}.control-target{display:grid;grid-template-columns:28px minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px 11px;border:1px solid #e3ddd4;border-radius:9px;background:#fff}.control-target.found{border-color:#bfdfca;background:#edf7f0}.control-target-mark{display:grid;place-items:center;width:24px;height:24px;border:2px solid #c9c2b8;border-radius:50%;color:#fff;font-weight:900;font-size:11px}.control-target.found .control-target-mark{border-color:#339666;background:#339666}.control-target strong{display:block;font-size:12px;color:#3c3d41}.control-target small{display:block;margin-top:3px;font-size:10px;color:#8b8580}.control-target button{padding:7px 10px;font-size:11px}.tracker-note{margin:11px 0 0;font-size:11px;color:#77736f}.control-tracker>button{margin-top:12px}
.safe-fade-card{margin:18px 0;padding:17px;border:1px solid #e8bd71;border-radius:13px;background:linear-gradient(135deg,#fff9e8,#fff2d5)}.safe-fade-card h4{margin:7px 0 12px}.safe-fade-card p{font-size:12px;line-height:1.5;color:#69583a}.fade-progress{display:block;width:100%;height:14px;margin:8px 0;accent-color:#c93d31}.safe-fade-card>button{margin-top:4px}.live-watch{display:grid;grid-template-columns:12px minmax(0,1fr);gap:5px 9px;align-items:center;padding:12px 14px;border-radius:10px;background:#173f3a;color:#fff}.live-watch i{grid-row:1/3;width:10px;height:10px;border-radius:50%;background:#55d39a;box-shadow:0 0 0 5px #55d39a22;animation:watchPulse 1.2s infinite}.live-watch strong{font-size:12px}.live-watch span{font-size:11px;color:#bcd7cb}@keyframes watchPulse{50%{opacity:.45}}
@media(max-width:760px){.channel-flow{grid-template-columns:1fr}.signal-arrow{transform:rotate(90deg);height:28px}.channel-card{min-height:0}.practice-transport{top:6px;padding:10px}.practice-transport .music-state{flex-basis:100%;margin-left:0}.term-grid{grid-template-columns:1fr}.term-grid dt{border-bottom:0;padding-bottom:2px}.term-grid dd{padding-top:2px}.control-target{grid-template-columns:28px minmax(0,1fr)}.control-target button{grid-column:2;justify-self:start}}

.channel-photos{margin:18px 0;padding:18px;border:1px solid #e7dac9;border-radius:14px;background:#fbf8f2}.channel-photos h4{margin:0 0 7px;font-size:16px;color:#303137}.channel-photos>p{font-size:13px;line-height:1.5;color:#666}.channel-photo-row{display:flex;gap:18px;flex-wrap:wrap}.channel-photo{display:flex;align-items:flex-start;gap:14px;flex:1 1 230px;margin:0;padding:12px;border:1px solid #e3dcd2;border-radius:10px;background:#fff}.channel-photo img{width:90px;height:auto;max-width:40%;border-radius:5px}.channel-photo figcaption{padding-top:5px;font-size:12px;line-height:1.5;color:#666}.channel-photo figcaption strong,.channel-photo figcaption span{display:block}.channel-photo figcaption strong{color:#34363b;margin-bottom:6px}.channel-photos .fine{margin-bottom:0}

.gain-selector-guide{display:flex;align-items:center;gap:18px;margin:18px 0;padding:16px;border:1px solid #e7dac9;border-radius:12px;background:#fbf8f2}.gain-selector-guide img{width:145px;max-width:35%;height:auto}.gain-selector-guide figcaption{font-size:13px;line-height:1.55;color:#555}

.loop-control{display:inline-flex;align-items:center;gap:7px;color:#704b35;font-size:12px;font-weight:700;white-space:nowrap}.loop-control input{accent-color:#c93d31;margin:0}

.course-connect{margin:20px 0;padding:20px;border:1px solid #e2c181;border-radius:13px;background:#fff8e9}.course-connect h4{margin:8px 0;font-size:18px;color:#563e28}.course-connect ol{padding-left:21px;margin:12px 0;color:#5f5142;font-size:13px;line-height:1.6}.course-connect li+li{margin-top:7px}.course-connect .connection-error{color:#9d382b;font-size:12px}

.processing-walkthrough{margin-bottom:18px}.processing-walkthrough li.completed{border-color:#cce5d5;background:#f1f8f3}.processing-step span{display:block}.processing-step button{margin-top:10px;padding:7px 11px;font-size:12px}.processing-step.completed button{background:#dcefe4;color:#226343}

.processor-guided{margin-bottom:18px}.guided-wait{margin-top:10px;color:#94601f;font-size:12px;font-weight:700}.guided-confirm{display:block;margin-top:9px;color:#226343;font-size:12px;font-weight:800}

.inline-target{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin-top:9px;padding:9px 11px;border-radius:8px;background:#fff2d8;color:#8a5c20;font-size:12px;font-weight:700}.inline-target.found{background:#e5f5eb;color:#176d45}.inline-target button{padding:6px 9px;font-size:11px}

.reference-entry{padding:14px 0;border-top:1px solid #eee5d9}.reference-entry h3{font-size:16px;margin:0 0 10px}.reference-entry .quiet{margin-top:10px}

.foundation-visual{margin:20px 0;padding:16px;border:1px solid #eee2d3;border-radius:12px;background:#faf7f1}.foundation-visual h4{margin:0 0 12px;font-size:13px;color:#754822}.lesson-flow{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.flow-node{padding:10px 12px;background:white;border:1px solid #e6d8c8;border-radius:9px;font-size:13px;font-weight:700;color:#4f4b47}.flow-arrow{color:#bd6c31;font-weight:700}.lesson-photo{margin:0}.lesson-photo-frame{position:relative;max-width:720px}.lesson-photo img{display:block;width:100%;height:auto;border-radius:8px}.photo-label{position:absolute;background:#272a29e8;color:white;padding:7px 10px;border-radius:7px;font-size:13px;font-weight:700}.photo-label-left{left:5%;top:14%}.photo-label-right{left:43%;bottom:6%}.photo-label-example{left:3%;top:4%}.lesson-photo figcaption{display:flex;flex-wrap:wrap;gap:8px 14px;margin-top:9px;font-size:12px;line-height:1.5;color:#605a53}.lesson-photo figcaption span{flex-basis:100%}.photo-credit{color:#73513a}.foundation-visual + .walkthrough{margin-top:18px}

.di-layout{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:8px}.di-part{display:flex;flex-direction:column;gap:5px;padding:12px;background:#e5eee3;border:1px solid #c6d8c2;border-radius:8px}.di-part strong{font-size:12px;color:#27533a}.di-part span{font-size:12px;line-height:1.4;color:#48584a}

.signal-practice{margin:20px 0;padding:20px;border:1px solid #d8e5dc;border-radius:12px;background:#f5faf6}.signal-practice h4{margin:8px 0}.signal-practice p{font-size:13px;line-height:1.5;color:#506158}.signal-practice-diagram{display:flex;align-items:center;flex-wrap:wrap;gap:4px;margin:16px 0}.signal-device{display:flex;flex-direction:column;gap:9px;padding:12px;background:white;border:1px solid #d6e2d8;border-radius:10px;min-width:130px}.signal-device strong{font-size:13px;color:#26493a}.signal-ports{display:flex;flex-direction:column;gap:6px}.signal-port{font-size:12px;text-align:left;padding:8px;background:#e9f2ea;color:#28533e}.signal-port.selected{background:#24704c;color:white}.signal-cable{font-size:12px;color:#c2c9c2;letter-spacing:-1px;overflow:hidden}.signal-cable.connected{color:#ca5434}.signal-status{min-height:20px;font-weight:700}.signal-practice .fine{font-weight:400}@media(max-width:850px){.signal-practice-diagram{flex-direction:column;align-items:stretch}.signal-cable{text-align:center;transform:rotate(90deg);height:25px;overflow:visible}}

.channel-demo-label{display:flex;flex-direction:column;gap:8px;margin:12px 0;font-size:13px;font-weight:700;color:#26493a;max-width:320px}.channel-demo-label input{width:100%}.signal-practice progress{display:block;width:min(320px,100%);margin-top:12px;accent-color:#24704c}
