.course-sidebar { max-height:calc(100dvh - 135px); overflow:auto; scrollbar-width:thin; }
.sidebar .course-home { display:flex; color:var(--ink); font-size:14px; font-weight:600; justify-content:space-between; margin:0 6px 18px; padding:0 6px; }
.course-home span { font-size:11px; color:var(--muted); font-weight:400; }
.course-modules details { border-bottom:1px solid #eeeef2; padding:5px 0; }
.course-modules summary { list-style:none; display:flex; align-items:center; gap:9px; cursor:pointer; font-size:12px; font-weight:600; line-height:1.5; padding:12px 8px; }
.course-modules summary::-webkit-details-marker { display:none; }
.course-modules summary>span { color:var(--muted); font-size:9px; font-weight:400; }
.course-modules summary:after { content:'⌄'; color:var(--muted); margin-left:auto; font-size:13px; }
.course-modules details[open]>summary:after { transform:rotate(180deg); }
.sidebar .course-modules a { display:flex; gap:8px; align-items:flex-start; width:100%; border-radius:12px; color:var(--muted); font-size:11px; padding:10px; line-height:1.5; margin:2px 0; }
.sidebar .course-modules a:hover { background:#f1f4fa; }
.sidebar a.active { background:#eaf2fd; color:var(--blue); font-weight:600; }
.learning-start { border-radius:28px; background:#1d1d1f; color:white; padding:32px; display:flex; justify-content:space-between; gap:30px; align-items:center; margin:30px 0; }
.learning-start .tiny-label { color:#b1c3df; }
.learning-start h2 { font-size:29px; letter-spacing:-1px; line-height:1.15; margin:12px 0; }
.learning-start p { color:#bdbdc6; font-size:13px; max-width:420px; }
.learning-start .button { flex-shrink:0; }
.course-search { margin:35px 0 12px; }
.course-search input { border-radius:999px; background:white; padding:15px 22px; }
.curriculum-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; margin-top:22px; }
.module-card { border:1px solid var(--line); background:white; padding:26px; border-radius:26px; }
.module-card h2 { font-size:25px; letter-spacing:-.8px; margin:14px 0 12px; }
.module-card>p { color:var(--muted); font-size:13px; }
.module-card ul { margin:22px 0 0; padding:0; list-style:none; }
.module-card li { border-top:1px solid var(--line); }
.module-card li a { display:flex; align-items:flex-start; gap:13px; padding:15px 0; }
.module-card li a>span { color:var(--blue); }
.module-card li strong { font-size:13px; font-weight:500; line-height:1.5; display:block; }
.module-card li small { font-size:10px; color:var(--muted); display:block; margin-top:5px; }
.module-card li a:hover strong { color:var(--blue); }
.module-card[hidden],.module-card li[hidden],[hidden] { display:none!important; }
.lesson-goal { padding:20px 23px; border-radius:20px; background:#eceff4; display:flex; gap:20px; font-size:13px; line-height:1.7; margin-bottom:22px; }
.lesson-goal strong { flex-shrink:0; }
.lesson-goal span { color:#54545b; }
.script-card { background:white; border:1px solid var(--line); border-radius:28px; overflow:hidden; margin-bottom:24px; }
.script-card-top { display:flex; gap:24px; justify-content:space-between; align-items:center; padding:30px 34px 0; }
.script-card-top h2 { font-size:26px; letter-spacing:-.7px; line-height:1.2; margin:13px 0 0; }
.script-card .tiny-label { color:var(--blue); }
.script-symbol { width:52px; height:52px; background:var(--soft); border-radius:17px; display:grid; place-items:center; color:var(--blue); font-size:21px; flex-shrink:0; }
.script-context { padding:16px 34px 0; font-size:12px; color:var(--muted); }
.script-copy { padding:12px 34px 28px; }
.script-copy p { font-size:16px; color:#414148; line-height:1.85; margin:19px 0 0; max-width:72ch; }
.script-card-bottom { display:flex; gap:20px; justify-content:space-between; padding:21px 34px; border-top:1px solid var(--line); background:#fafafb; color:var(--muted); font-size:11px; }
.script-card-bottom>div { display:flex; gap:20px; }
.lesson-player { display:block; width:calc(100% - 68px); margin:25px 34px 0; max-height:65dvh; border-radius:20px; background:#1d1d1f; }
.script-card>details>summary { margin:24px 34px; cursor:pointer; color:var(--blue); font-size:14px; }
.learning-columns { display:grid; grid-template-columns:minmax(0,1fr) 220px; gap:20px; align-items:start; }
.learning-columns .lesson-reader { min-width:0; }
.learning-columns ol li { margin:13px 0; padding-left:4px; }
.exercise-box { background:#f5f5f7; border-radius:18px; padding:22px; margin:28px 0; }
.exercise-box strong { font-size:13px; }
.completion-checks { list-style:none; padding-left:0!important; }
.completion-checks li { padding:12px 0 12px 25px; border-bottom:1px solid var(--line); position:relative; }
.completion-checks li:before { content:'✓'; color:var(--blue); position:absolute; left:0; }
.material-list { color:var(--muted); font-size:11px; line-height:1.8; padding-left:16px; margin:0 0 20px; }
.lesson-prompt { border:1px solid var(--line); border-radius:20px; background:white; margin:24px 0; padding:22px; }
.lesson-prompt summary { cursor:pointer; font-size:14px; color:var(--blue); }
.lesson-prompt pre { white-space:pre-wrap; overflow-wrap:anywhere; font:13px/1.8 inherit; line-height:1.8; font-family:inherit; color:#54545d; margin:22px 0 0; }
.form-section-title { font-size:21px; letter-spacing:-.5px; margin:8px 0 24px; }
.brief-form .form-section-title:not(:first-child) { margin-top:30px; }
.profile-result { padding:30px; margin-top:24px; border:1px solid var(--line); background:white; border-radius:26px; }
.profile-result h2 { font-size:27px; letter-spacing:-.8px; margin:15px 0; }
.profile-result p,.profile-result li { font-size:14px; line-height:1.8; color:var(--muted); }
.profile-result ol { padding-left:20px; margin:24px 0; }
.profile-result li { padding-left:6px; margin:15px 0; }
.studio-next { display:flex; gap:25px; flex-wrap:wrap; margin:30px 0; font-size:13px; color:var(--blue); }
.reference-list { display:grid; gap:18px; margin-top:24px; }
.reference-card { border:1px solid var(--line); background:white; padding:28px; border-radius:25px; }
.reference-card h2 { font-size:23px; margin:14px 0; letter-spacing:-.7px; }
.reference-card h3 { font-size:13px; margin:20px 0 8px; letter-spacing:0; }
.reference-card p { font-size:14px; color:var(--muted); white-space:pre-wrap; overflow-wrap:anywhere; }
.reference-card .reference-source { margin-bottom:15px; color:var(--blue); font-size:12px; }
.reference-card .actions { margin-top:23px; font-size:12px; gap:25px; }
.supervision-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.supervision-option { background:#fafafb; border:1px solid var(--line); border-radius:18px; padding:20px; display:grid; grid-template-columns:18px 1fr; gap:5px 10px; cursor:pointer; }
.supervision-option:has(input:checked) { background:var(--soft); border-color:#79a7df; }
.supervision-option input { margin:2px 0 0; accent-color:var(--blue); }
.supervision-option strong { font-size:12px; font-weight:600; }
.supervision-option small { grid-column:2; color:var(--muted); font-size:11px; line-height:1.7; }
.check-row { display:flex; gap:10px; font-size:13px; align-items:center; line-height:1.6; margin:10px 0 20px; }
.check-row input { accent-color:var(--blue); width:17px; height:17px; }
.form-error { color:#ac3535; font-size:13px; line-height:1.6; margin:16px 0; }
.agent-task { display:flex; gap:25px; align-items:center; justify-content:space-between; background:#eaf2fd; padding:25px; border:1px solid #dae8fb; border-radius:23px; margin:24px 0; }
.agent-task strong { font-size:16px; }.agent-task p { color:var(--muted); font-size:12px; margin-top:7px; }.agent-task .button { flex-shrink:0; }
.agent-task-actions { display:flex; flex-wrap:wrap; gap:10px; flex-shrink:0; }
.agent-task-actions .button { font-size:12px; padding:13px 18px; }
.lesson-practice { margin-top:24px; }
.lesson-materials { border-top:1px solid var(--line); border-bottom:1px solid var(--line); padding:20px 0; margin:25px 0; }
.lesson-materials summary { cursor:pointer; font-size:14px; color:var(--blue); font-weight:500; }
.lesson-save { font-size:12px; color:var(--blue); margin-top:20px; }
.prompt-preview pre { white-space:pre-wrap; overflow-wrap:anywhere; font:14px/1.8 -apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif; color:#4d4d56; margin:22px 0 0; }
.planner-intro { font-size:14px; color:var(--muted); margin-bottom:25px; }
.production-planner .field small { color:var(--muted); font-size:11px; line-height:1.7; }
.remote-options { margin:28px 0; border:1px solid var(--line); padding:27px; border-radius:24px; background:white; }
.remote-options summary { font-size:16px; font-weight:600; cursor:pointer; }
.remote-options p { font-size:14px; color:var(--muted); margin:20px 0; }
.remote-options a { text-decoration:underline; text-underline-offset:3px; }
.production-result .production-volume { color:var(--ink); font-size:19px; font-weight:500; }
.production-next { margin:25px 0; background:var(--paper); border-radius:20px; padding:23px; }
.production-next h3 { font-size:17px; }.production-next ol { margin-bottom:0; }
.production-result .source-note { margin-top:20px; }
@media(min-width:1101px) { .agent-task { align-items:flex-start; }.agent-task-actions { flex-direction:column; width:180px; } }
@media(max-width:480px) { .agent-task-actions { margin-top:18px; }.agent-task .agent-task-actions .button { margin-top:0; flex:1; }.production-result .actions .button { width:100%; }.remote-options { padding:24px; }.production-next { padding:20px; } }
.entry-choices { display:grid; grid-template-columns:1fr 1fr; gap:16px; margin:30px 0; }
.entry-choices>a { background:white; border:1px solid var(--line); padding:27px; border-radius:24px; }
.entry-choices strong { display:block; font-size:16px; font-weight:600; color:var(--blue); }.entry-choices span { color:var(--muted); font-size:12px; line-height:1.7; display:block; margin-top:10px; }
.skill-tree { position:relative; padding:25px 0 40px; }
.tree-edges { position:absolute; inset:0; width:100%; height:100%; pointer-events:none; z-index:0; fill:none; stroke:#b8cce6; stroke-width:1.5px; }
.tree-root,.tree-branch { z-index:1; }
.tree-root { position:relative; z-index:1; margin:0 auto; padding:30px; max-width:360px; text-align:center; background:#1d1d1f; border-radius:30px; color:white; box-shadow:0 15px 35px #0001; }
.tree-root .tiny-label { color:#baccec; }.tree-root h2 { font-size:31px; letter-spacing:-1px; margin:15px 0; }.tree-root a { color:#a5cbff; font-size:13px; }
.tree-branches { position:relative; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; padding-top:55px; }
.tree-branches:before { display:none; }
.tree-branch { position:relative; min-width:0; border:1px solid #dde5ef; background:#ffffffc9; border-radius:24px; padding:23px 18px; }
.tree-branch:before { content:''; position:absolute; top:-8px; left:50%; width:14px; height:14px; border:4px solid var(--paper); background:#7b9fcf; border-radius:50%; }
.tree-branch header { padding:4px 3px 20px; }.tree-branch h2 { font-size:23px; letter-spacing:-.7px; margin:12px 0 9px; line-height:1.15; }.tree-branch header p { color:var(--muted); font-size:12px; }
.tree-module { border-top:1px solid var(--line); padding:7px 0; }.tree-module summary { cursor:pointer; list-style:none; display:flex; gap:8px; align-items:center; font-size:12px; line-height:1.5; padding:10px 0; }.tree-module summary::-webkit-details-marker { display:none; }.tree-module summary>span { color:var(--blue); }.tree-module summary strong { font-weight:500; }.tree-module summary small { margin-left:auto; color:var(--muted); font-size:9px; flex-shrink:0; }
.tree-module a { display:flex; gap:10px; font-size:11px; color:var(--muted); padding:11px 5px; line-height:1.6; }.tree-module a:hover { color:var(--blue); }.tree-module a>span { color:var(--blue); }
.tree-extras { display:flex; flex-wrap:wrap; gap:14px; justify-content:center; padding-top:35px; }.tree-extras a { border:1px solid var(--line); background:white; border-radius:999px; padding:14px 18px; color:var(--blue); font-size:12px; }
@media(prefers-reduced-motion:no-preference) { .tree-root { animation:rise .65s var(--spring) both; }.tree-branch { animation:rise .65s var(--spring) both; animation-delay:calc(.1s + var(--branch-index)*.09s); } }
@media(max-width:1100px) { .tree-branches { grid-template-columns:repeat(2,minmax(0,1fr)); }.agent-task { display:block; }.agent-task .button { margin-top:20px; } }
.prompt-block .brief-download { position:static; margin-top:20px; }
.sidebar a:focus-visible,.course-modules summary:focus-visible,.lesson-prompt summary:focus-visible { outline:3px solid var(--blue); outline-offset:2px; border-radius:8px; }
@media(max-width:1100px) {
  .learning-columns { grid-template-columns:1fr; }.learning-columns .lesson-resources { display:block; }.learning-columns .lesson-resources .button { margin-bottom:10px; }
  .learning-start { display:block; }.learning-start .button { margin-top:22px; }.module-card { padding:22px; }
}
@media(max-width:800px) {
  .course-sidebar { max-height:none; }.course-sidebar.expanded { max-height:65dvh; }
  .curriculum-grid { gap:15px; }.script-card-top { padding:27px 28px 0; }.script-context { padding:16px 28px 0; }.script-copy { padding:9px 28px 25px; }.script-card-bottom { padding:20px 28px; }
}
@media(max-width:480px) {
  .entry-choices,.tree-branches { grid-template-columns:1fr; }.tree-root { max-width:100%; }.tree-branch { padding:26px; }.tree-branch h2 { font-size:26px; }.tree-branches { padding-left:17px; gap:25px; }.tree-branches:before { left:0; height:100%; top:0; }.tree-branch:before { top:30px; left:-24px; }.tree-module a { font-size:12px; }.tree-extras { justify-content:flex-start; }
  .curriculum-grid,.supervision-grid { grid-template-columns:1fr; }.module-card { padding:25px; }.module-card h2 { font-size:26px; }
  .learning-start { padding:26px; }.learning-start h2 { font-size:27px; }.lesson-goal { display:block; padding:20px; }.lesson-goal strong { display:block; margin-bottom:5px; }
  .script-card-top { padding:25px 23px 0; gap:15px; }.script-card-top h2 { font-size:24px; }.script-symbol { width:42px; height:42px; font-size:18px; border-radius:14px; }
  .script-context { padding:16px 23px 0; line-height:1.7; }.script-copy { padding:5px 23px 24px; }.script-copy p { font-size:16px; line-height:1.8; }
  .script-card-bottom { padding:19px 23px; flex-wrap:wrap; gap:14px; }.script-card-bottom>div { gap:25px; }
  .lesson-player { width:calc(100% - 46px); margin:25px 23px 0; }.script-card>details>summary { margin:24px 23px; }
  .exercise-box { padding:20px; }.profile-result,.reference-card { padding:25px; }.supervision-option { padding:18px; }
  .lesson-prompt { padding:20px; }.course-search { margin-top:30px; }
}

/* Voice offers use the same calm, readable studio language. */
.voice-offers article{border:1px solid var(--line,#dedee5);background:#fff;border-radius:28px;padding:32px;display:flex;flex-direction:column;align-items:flex-start;gap:16px;min-width:0}
.voice-offers h2{font-size:29px;letter-spacing:-.8px;line-height:1.15;margin:0}.voice-offers p{line-height:1.7;color:var(--muted,#63636b);margin:0 0 8px}.voice-offers .button{margin-top:auto}.voice-price{font-size:40px;font-weight:650;letter-spacing:-1.5px}.voice-price span{display:block;font-size:14px;letter-spacing:0;color:var(--muted,#63636b);font-weight:400;margin-top:5px}.voice-path{padding:32px;background:#fff;border:1px solid var(--line,#dedee5);border-radius:28px;margin:28px 0}.voice-path h2{font-size:25px;letter-spacing:-.5px}.voice-path p,.voice-path li{line-height:1.8;color:var(--muted,#63636b)}.voice-path li{margin:12px 0}.voice-path strong{color:var(--ink,#1d1d1f)}
@media(max-width:600px){.voice-offers article,.voice-path{padding:24px}.voice-offers .button{width:100%;white-space:normal}.voice-offers h2{font-size:27px}}
