
/* KKD curriculum route: task rows should feel like a calm paper index, not a gamified dashboard. */
.training-banner { display:flex; justify-content:space-between; gap:28px; align-items:center; margin:22px 0 26px; padding:22px 24px; background:#f4ead6; border-top:1px solid #d8c7a8; border-bottom:1px solid #d8c7a8; }
.training-banner strong { display:block; margin:7px 0 4px; font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,sans-serif; font-size:1.35rem; color:#132c3d; }
.training-banner p { margin:0; max-width:600px; color:#53606a; }
.training-stats { display:flex; gap:24px; flex:0 0 auto; }
.training-stats span { min-width:92px; text-align:center; border-left:1px solid #d8c7a8; padding-left:18px; }
.training-stats b { display:block; font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,sans-serif; font-size:1.6rem; color:#b36b2c; }
.training-stats small { display:block; color:#53606a; font-size:.72rem; text-transform:uppercase; letter-spacing:.08em; }
.task-list { display:grid; gap:6px; margin:15px 0 10px; }
.task-row { width:100%; display:grid; grid-template-columns:28px minmax(0,1fr) auto auto; gap:9px; align-items:center; padding:9px 0; border:0; border-top:1px solid #eadfca; background:transparent; text-align:left; color:#243746; cursor:pointer; }
.task-row:hover { color:#a65425; }
.task-index { color:#b36b2c; font-size:.72rem; font-weight:700; }
.task-copy b, .task-copy small { display:block; }
.task-copy b { font-size:.78rem; }
.task-copy small { margin-top:2px; color:#69757b; font-size:.68rem; line-height:1.3; }
.task-level, .task-status { font-size:.62rem; text-transform:uppercase; letter-spacing:.07em; color:#69757b; white-space:nowrap; }
.task-status { color:#a65425; }
.task-row.complete .task-status { color:#4b7766; }
@media (max-width: 760px) { .training-banner { display:block; } .training-stats { margin-top:18px; justify-content:space-between; } .training-stats span { min-width:0; flex:1; } .task-row { grid-template-columns:24px minmax(0,1fr); } .task-level, .task-status { grid-column:2; } }
/* Style reminder: KKD Study Desk editorial learning space — ink navy, warm paper, saffron focus, serif hierarchy, and generous breathable rhythm. */
:root{--ink:#17233a;--soft:#586275;--paper:#f7f3eb;--card:#fffdf8;--line:#ded8cc;--gold:#c87824;--gold-dark:#955318;--sage:#35665d;--mist:#e8eee8;--danger:#9e443d;--shadow:0 18px 45px rgba(23,35,58,.09);--ease:cubic-bezier(.23,1,.32,1)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,sans-serif;line-height:1.55}a{color:inherit}.topbar{min-height:78px;padding:14px clamp(20px,5vw,72px);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);background:rgba(255,253,248,.96);position:sticky;top:0;z-index:5}.brand{display:flex;gap:11px;align-items:center;text-decoration:none}.brand-mark{width:40px;height:40px;display:grid;place-items:center;background:var(--ink);color:#fffdf8;font:700 24px/1 Georgia,serif}.brand small,.brand strong{display:block}.brand small{font-size:10px;letter-spacing:.17em;font-weight:700;color:var(--gold-dark)}.brand strong{font:700 20px/1.1 -apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,sans-serif}.topnav{display:flex;align-items:center;gap:23px;font-size:13px;font-weight:700;color:var(--soft)}.topnav a{text-decoration:none;padding:8px 0;border-bottom:2px solid transparent}.topnav a:hover,.topnav a.active{color:var(--ink);border-color:var(--gold)}.session-name{padding-left:18px;border-left:1px solid var(--line);font-weight:500;color:var(--gold-dark)}main{width:100%}.hero{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(260px,.7fr);gap:clamp(30px,8vw,130px);padding:clamp(60px,10vw,125px) clamp(20px,7vw,110px) 90px;border-bottom:1px solid var(--line)}.eyebrow,.note-label{margin:0 0 13px;color:var(--gold-dark);font-size:11px;letter-spacing:.18em;font-weight:800}.hero h1{max-width:720px;margin:0;font:700 clamp(48px,8vw,96px)/.98 -apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,sans-serif;letter-spacing:-.055em}.hero-lede{max-width:610px;margin:28px 0 8px;font:600 clamp(21px,3vw,32px)/1.2 -apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,sans-serif}.hero-body{max-width:650px;margin:0;color:var(--soft);font-size:16px}.hero-actions{display:flex;align-items:center;gap:24px;margin-top:32px}.button{border:1px solid transparent;padding:12px 17px;font:700 13px -apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,sans-serif;cursor:pointer;transition:transform .16s var(--ease),background .16s var(--ease),color .16s var(--ease);border-radius:0}.button:active,.small-button:active{transform:scale(.97)}.button-primary{background:var(--gold);color:#fff}.button-primary:hover{background:var(--gold-dark);transform:translateY(-2px)}.button-outline{border-color:var(--line);background:var(--card);color:var(--ink)}.button-outline:hover{border-color:var(--gold);color:var(--gold-dark)}.text-link,.back-link{font-weight:700;font-size:13px;color:var(--gold-dark);text-decoration:none;background:none;border:0;cursor:pointer}.hero-note{align-self:end;padding:28px;background:var(--ink);color:#fffdf8;box-shadow:12px 12px 0 var(--gold)}.hero-note ol{margin:12px 0;padding-left:22px;font:600 20px/1.55 -apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,sans-serif}.hero-note p{margin:18px 0 0;color:#c9d0da;font-size:12px}.section-block{padding:90px clamp(20px,7vw,110px)}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:35px}.section-heading h2,.workspace-heading h2{max-width:680px;margin:0;font:700 clamp(32px,4vw,54px)/1.05 -apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,sans-serif;letter-spacing:-.035em}.section-intro{max-width:390px;margin:0;color:var(--soft);font-size:14px}.paper-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.paper-card{min-height:250px;display:flex;flex-direction:column;padding:22px;background:var(--card);border:1px solid var(--line);transition:transform .2s var(--ease),box-shadow .2s var(--ease)}.paper-card:hover{transform:translateY(-5px);box-shadow:var(--shadow)}.paper-card.ready{border-top:4px solid var(--gold);padding-top:18px}.paper-code{font:700 32px/1 -apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,sans-serif}.paper-card h3{margin:25px 0 4px;font:700 21px/1.05 -apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,sans-serif}.paper-card p{margin:0;color:var(--soft);font-size:12px}.paper-meta{margin-top:18px;color:var(--gold-dark);font-size:11px;font-weight:700}.paper-card-footer{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:auto;padding-top:20px}.paper-status{color:var(--sage);font-size:10px;font-weight:800}.paper-button{background:none;border:0;text-align:left;color:var(--gold-dark);font-weight:800;cursor:pointer;padding:8px 0}.method-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border-block:1px solid var(--line)}.method-strip>div{padding:32px clamp(20px,5vw,72px);background:var(--card)}.step-no{display:block;color:var(--gold);font:700 28px/1 -apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,sans-serif}.method-strip strong{display:block;margin-top:14px;font:700 25px -apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,sans-serif}.method-strip p{margin:5px 0 0;color:var(--soft);font-size:13px}.workspace-section{padding:70px clamp(16px,5vw,72px)}[hidden]{display:none!important}.workspace-heading{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:27px}.workspace-heading .eyebrow{margin-top:18px}.path-note{margin:8px 0 0;color:var(--soft);font-size:12px;letter-spacing:.03em}.timer-box{min-width:110px;padding:12px 18px;background:var(--ink);color:#fff;text-align:center}.timer-box small{display:block;color:#c9d0da;font-size:9px;letter-spacing:.15em}.timer-box strong{font:700 26px -apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,sans-serif}.mode-tabs{display:flex;border-bottom:1px solid var(--line);margin-bottom:25px}.mode-tab{padding:12px 20px;background:none;border:0;border-bottom:3px solid transparent;color:var(--soft);font-weight:700;cursor:pointer}.mode-tab.active{color:var(--ink);border-color:var(--gold)}.workspace-grid{display:grid;grid-template-columns:minmax(260px,.72fr) minmax(540px,1.5fr);gap:22px;align-items:start}.scenario-card,.sheet-card,.results-card{background:var(--card);border:1px solid var(--line);box-shadow:var(--shadow)}.scenario-card{padding:28px}.scenario-card h3{margin:0 0 15px;font:700 25px/1.1 -apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,sans-serif}.scenario-card>p:not(.eyebrow){color:var(--soft);font-size:14px}.requirement{margin-top:25px;padding:18px;background:var(--mist);border-left:4px solid var(--sage)}.requirement span{display:block;margin-bottom:6px;color:var(--sage);font-size:10px;font-weight:800;letter-spacing:.14em}.requirement strong{font:600 17px/1.35 -apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,sans-serif}.tutor-panel{margin-top:22px;padding-top:18px;border-top:1px solid var(--line);color:var(--soft);font-size:13px}.tutor-panel strong{display:block;color:var(--ink);font:700 21px/1.2 -apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,sans-serif}.tutor-panel p{margin:9px 0}.target-callout{margin-top:14px;padding:10px;background:#fff4dd;color:var(--ink);font-weight:700}.why,.next-copy{display:flex;gap:8px;margin-top:13px}.why b,.next-copy b{color:var(--ink);font-size:10px;letter-spacing:.12em}.sheet-card{overflow:hidden}.sheet-toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:16px 18px;border-bottom:1px solid var(--line)}.sheet-title{font-weight:800}.sheet-status{margin-left:12px;color:var(--soft);font-size:11px}.sheet-actions{display:flex;gap:7px;flex-wrap:wrap}.small-button{padding:8px 10px;border:1px solid var(--line);background:var(--card);color:var(--ink);font-size:11px;font-weight:800;cursor:pointer}.small-button.dark{background:var(--ink);color:#fff}.formula-row{display:flex;align-items:center;gap:8px;padding:10px;border-bottom:1px solid var(--line);background:#f3f0e9}.name-box{width:45px;padding:5px 7px;background:var(--card);border:1px solid var(--line);font-size:11px;text-align:center}.fx{font:700 italic 16px Georgia,serif;color:var(--gold-dark)}#formula-bar{min-width:0;flex:1;padding:6px 8px;border:1px solid var(--line);background:#fff;font:13px monospace}.sheet-scroll{overflow:auto}.spreadsheet{width:100%;min-width:520px;border-collapse:collapse;table-layout:fixed}.spreadsheet th,.spreadsheet td{height:42px;border-right:1px solid #e3ded4;border-bottom:1px solid #e3ded4}.spreadsheet th{width:48px;background:#eeeae1;color:var(--soft);font-size:11px}.spreadsheet td{padding:0;background:#fff;font:13px monospace;position:relative}.spreadsheet td.selected{outline:2px solid var(--ink);outline-offset:-2px;z-index:1}.spreadsheet td.target{background:#fff1d6;box-shadow:inset 0 0 0 2px var(--gold)}.spreadsheet td.target:after{content:'→';position:absolute;right:-17px;top:7px;color:var(--gold);font:700 19px Georgia,serif}.spreadsheet td input{width:100%;height:100%;padding:8px;border:0;background:transparent;color:var(--ink);font:13px monospace;outline:0}.spreadsheet td input:focus{outline:2px solid var(--gold);background:#fff}.sheet-help{display:flex;flex-wrap:wrap;gap:12px;padding:12px 16px;color:var(--soft);font-size:11px}.sheet-help code{padding:2px 5px;background:#f0ece3;color:var(--gold-dark)}.exercise-controls{display:flex;justify-content:space-between;gap:15px;margin-top:20px}.control-left{display:flex;flex-wrap:wrap;gap:8px}.guidance-select{display:flex;align-items:center;gap:6px;color:var(--soft);font-size:12px;font-weight:700}.guidance-select select{border:1px solid var(--line);padding:10px;background:var(--card);color:var(--ink)}.feedback{margin-top:18px;padding:16px 18px;border-left:4px solid var(--sage);background:var(--mist);font-size:14px}.feedback.error{border-color:var(--danger);background:#f8e9e6}.feedback.demonstration{border-color:var(--gold);background:#fff2d8}.feedback code{padding:3px 6px;background:#fff}.results-card{display:grid;grid-template-columns:1.2fr 1fr auto;align-items:center;gap:22px;margin-top:22px;padding:25px}.results-card h3{margin:0;font:700 26px -apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,sans-serif}.results-card p{margin:6px 0 0;color:var(--soft);font-size:13px}.recommendation{color:var(--gold-dark)!important;font-weight:700!important}.result-metrics{display:grid;grid-template-columns:1fr 1fr;gap:12px}.result-metrics div{padding:10px;background:#f5f1e9}.result-metrics span{display:block;color:var(--soft);font-size:10px}.result-metrics strong{font:700 20px -apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,sans-serif}.footer{display:flex;justify-content:space-between;gap:20px;padding:28px clamp(20px,7vw,110px);border-top:1px solid var(--line);color:var(--soft);font-size:11px}.footer span:first-child{color:var(--gold-dark);font-weight:800;letter-spacing:.15em}.footer a{font-weight:800;color:var(--ink)}
.analysis-panel{margin-top:1.4rem;padding:1.1rem;background:#fffaf0;border:1px solid rgba(23,39,65,.16);border-left:4px solid var(--gold)}.analysis-heading{display:flex;gap:.7rem;align-items:flex-start}.analysis-heading>span{font-size:1.35rem}.analysis-heading h4{margin:.15rem 0 .65rem;font:700 1.12rem -apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,sans-serif;color:var(--ink)}.analysis-step{display:flex;flex-direction:column;gap:.25rem;margin:.5rem 0 .85rem;color:var(--ink)}.analysis-step span,.analysis-footer{font-size:.82rem;color:var(--soft)}.analysis-table{border:1px solid rgba(23,39,65,.12);background:#fff}.analysis-table-head,.analysis-row{display:grid;grid-template-columns:1.2fr 1.5fr auto;gap:.75rem;padding:.65rem .75rem;align-items:center}.analysis-table-head{background:var(--ink);color:#fff;text-transform:uppercase;letter-spacing:.08em;font-size:.63rem}.analysis-row{border-top:1px solid rgba(23,39,65,.1);font-size:.82rem}.analysis-row mark{background:#fff0cf;color:var(--ink);padding:.12rem .25rem}.analysis-tag{font-size:.62rem;letter-spacing:.08em;white-space:nowrap}.analysis-tag.required{color:#1e6a51}.analysis-tag.not-required{color:#8b6740}.analysis-teach{margin-top:.9rem;padding:.8rem;background:#f5efe3;border-left:3px solid var(--gold);font-size:.84rem}.analysis-teach p{margin:.35rem 0 .65rem;color:#465366}.mapping-row{display:flex;justify-content:space-between;gap:1rem;padding:.35rem 0;border-top:1px solid rgba(23,39,65,.1)}.dependency-flow{display:flex;flex-wrap:wrap;gap:.4rem;align-items:center;font-size:.75rem}.dependency-flow span,.dependency-flow strong{padding:.35rem .45rem;background:#fff;border:1px solid rgba(23,39,65,.14)}.dependency-flow strong{background:var(--ink);color:#fff}.dependency-flow i{font-style:normal;color:var(--gold);font-weight:700}.analysis-note code{background:var(--ink);color:#fff;padding:.1rem .3rem}.analysis-footer{margin:.75rem 0 0}@media(max-width:1080px){.paper-grid{grid-template-columns:repeat(3,1fr)}.workspace-grid{grid-template-columns:1fr}.results-card{grid-template-columns:1fr}.result-metrics{max-width:520px}}
@media(max-width:680px){.analysis-table-head,.analysis-row{grid-template-columns:1fr;gap:.25rem}.analysis-table-head span:nth-child(2),.analysis-table-head span:nth-child(3){display:none}.analysis-row{padding:.7rem}.analysis-tag{font-size:.58rem}.mapping-row{display:block}.mapping-row b{display:block;margin-top:.2rem}.dependency-flow{align-items:flex-start;flex-direction:column}.dependency-flow i{display:none}.analysis-panel{padding:.85rem}.topbar{align-items:flex-start;gap:14px}.topnav{gap:10px;flex-wrap:wrap;justify-content:flex-end;font-size:11px}.session-name{width:100%;padding:0;border:0;text-align:right}.hero{grid-template-columns:1fr;padding-top:55px}.hero-note{max-width:400px}.section-heading,.workspace-heading{display:block}.section-intro{margin-top:16px}.paper-grid{grid-template-columns:1fr 1fr}.method-strip{grid-template-columns:1fr}.method-strip>div{padding:24px 20px}.exercise-controls{display:block}.control-left{margin-bottom:12px}.exercise-controls .button-primary{width:100%}.sheet-toolbar{align-items:flex-start;flex-direction:column}.footer{display:block}.footer>*{display:block;margin:7px 0}}
@media(max-width:400px){.topnav a{font-size:10px}.paper-grid{grid-template-columns:1fr}.hero h1{font-size:52px}.hero-actions{align-items:flex-start;flex-direction:column;gap:15px}.result-metrics{grid-template-columns:1fr 1fr}}
/* Ledger & Lantern spacing correction: compact editorial rhythm, content-sized panels, and a laptop-safe stack so the tutor column never creates a blank spreadsheet canvas. */
.workspace-section {
  padding: clamp(42px, 5vw, 58px) clamp(16px, 5vw, 72px);
}
.workspace-heading {
  margin-bottom: 20px;
}
.mode-tabs {
  margin-bottom: 18px;
}
.workspace-grid {
  grid-template-columns: minmax(380px, .92fr) minmax(560px, 1.28fr);
  gap: 20px;
}
.scenario-card {
  padding: 24px;
}
.analysis-panel {
  margin-top: 1.05rem;
  padding: 1rem;
}
.requirement {
  margin-top: 20px;
  padding: 15px;
}
.tutor-panel {
  margin-top: 18px;
  padding-top: 15px;
}
.sheet-toolbar {
  padding: 13px 16px;
}
.formula-row {
  padding: 8px 10px;
}
.spreadsheet th,
.spreadsheet td {
  height: 38px;
}
.sheet-help {
  gap: 9px;
  padding: 10px 14px;
}
.exercise-controls {
  margin-top: 16px;
}
.feedback {
  margin-top: 14px;
}
.results-card {
  margin-top: 18px;
  padding: 20px;
}

/* At common laptop widths, stack the long reading panel above the working paper instead of leaving a tall empty grid row beside it. */
@media (max-width: 1400px) {
  .workspace-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 680px) {
  .workspace-section {
    padding: 34px 16px 42px;
  }
  .scenario-card {
    padding: 20px;
  }
}

@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button,.small-button{transition:none}}

/* Style reminder: Ledger & Lantern exam desk — warm paper, ink-blue structure, saffron prompts, restrained borders, and compact content-first spacing. CRQ panels should feel like a marked exam script, not a decorative dashboard. */
.case-context{margin-top:18px;padding:15px 16px;background:var(--ink);color:#fffdf8;border-left:4px solid var(--gold)}
.case-context span{display:block;color:#f0c27a;font-size:10px;font-weight:800;letter-spacing:.15em}
.case-context p{margin:8px 0 7px;color:#fffdf8;font:600 16px/1.4 -apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,sans-serif}
.case-context small{display:block;color:#d6dbe2;font-size:11px;line-height:1.5}
.crq-card{grid-column:1/-1;background:#fbf8f0;border:1px solid var(--line);border-top:4px solid var(--gold);padding:22px 24px;box-shadow:var(--shadow)}
.crq-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:12px}
.crq-heading h3{margin:0;font:700 28px/1.1 -apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,sans-serif}
.crq-limit{min-width:190px;padding:10px 12px;background:var(--ink);color:#fff;text-align:right}
.crq-limit span,.crq-limit small{display:block;color:#c9d0da;font-size:10px}
.crq-limit strong{display:block;margin:2px 0;font:700 19px -apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,sans-serif;color:#fff}
.crq-brief{padding:13px 15px;background:#fff;border:1px solid var(--line);font-size:13px;color:var(--soft)}
.crq-brief strong{display:block;margin-bottom:4px;color:var(--gold-dark);font-size:10px;letter-spacing:.14em;text-transform:uppercase}
.crq-brief p{margin:0;line-height:1.55}
.crq-instruction{margin:13px 0 16px;color:var(--ink);font:600 15px/1.45 -apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,sans-serif}
.crq-responses{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.crq-task{display:flex;flex-direction:column;gap:9px;min-width:0;padding:14px;background:var(--card);border:1px solid var(--line)}
.crq-task-top,.crq-task-bottom{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}
.crq-task-top b{font:700 15px/1.25 -apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,sans-serif}
.crq-task-top em{flex:0 0 auto;color:var(--gold-dark);font-size:10px;font-style:normal;font-weight:800}
.crq-prompt{color:var(--soft);font-size:12px;line-height:1.5}
.crq-task textarea{width:100%;min-height:135px;resize:vertical;padding:10px;border:1px solid var(--line);background:#fff;color:var(--ink);font:13px/1.5 -apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,sans-serif}
.crq-task textarea:focus{outline:2px solid var(--gold);outline-offset:1px}
.crq-task-bottom{align-items:center;flex-wrap:wrap}
.crq-count{color:var(--soft);font-size:10px}
.crq-rubric{color:var(--soft);font-size:10px;font-weight:800}
.crq-rubric.met{color:var(--sage)}
.crq-rubric.partial{color:var(--gold-dark)}
.crq-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:14px}
.crq-feedback{margin-top:13px;padding:12px 14px;background:#f0ece3;border-left:4px solid var(--ink);font-size:12px}
.crq-feedback.good{background:var(--mist);border-color:var(--sage)}
.crq-feedback.needs-work{background:#fff1df;border-color:var(--gold)}
.timer-box.warning{background:var(--danger)}
@media(max-width:900px){.crq-responses{grid-template-columns:1fr 1fr}.crq-card{padding:20px}.crq-heading{display:block}.crq-limit{margin-top:12px;text-align:left}}
@media(max-width:560px){.crq-responses{grid-template-columns:1fr}.crq-actions{display:block}.crq-actions .button{width:100%;margin-top:8px}.case-context p{font-size:14px}.crq-task textarea{min-height:120px}}

/* Style reminder: Ledger & Lantern exam desk — CRQ feedback must read like a marked working paper: precise, compact, high-contrast, and useful for revision rather than decorative. */
.crq-focus{display:block;margin-top:10px;padding-top:9px;border-top:1px solid var(--line);color:var(--ink);font-size:11px;line-height:1.45}
.crq-focus b{margin-right:5px;color:var(--gold-dark);font-size:10px;letter-spacing:.08em;text-transform:uppercase}
.crq-response-type{color:var(--gold-dark);font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.crq-rubric{line-height:1.45;text-align:right}
.timer-box .over-time{color:#ffd5cb}
@media(min-width:901px){.crq-responses{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.crq-focus{font-size:10px}.crq-rubric{text-align:left}.crq-card{padding:17px 15px}.crq-heading h3{font-size:24px}}


/* Style reminder: KKD Study Desk clarity pass — warm paper, ink navy, saffron focus, one obvious next action, and progressive disclosure instead of visible text walls. */
.training-banner { margin: 18px 0 22px; padding: 18px 20px; }
.training-banner strong { margin: 4px 0 2px; font-size: 1.15rem; }
.training-banner .training-short { font-size: 12px; }
.training-stats { gap: 18px; }
.training-stats span { min-width: 78px; }
.training-stats b { font-size: 1.35rem; }
.paper-card { min-height: 218px; padding: 19px; }
.paper-card.ready { padding-top: 15px; }
.paper-card-top { display:flex; align-items:center; justify-content:space-between; gap:10px; }
.paper-progress { color:var(--gold-dark); font-size:10px; font-weight:800; white-space:nowrap; }
.paper-card h3 { margin: 18px 0 5px; font-size: 20px; }
.paper-card .paper-topics { min-height: 38px; }
.paper-next { display:flex; align-items:end; justify-content:space-between; gap:12px; margin-top:auto; padding-top:17px; border-top:1px solid var(--line); }
.paper-next span { min-width:0; }
.paper-next small { display:block; margin-bottom:4px; color:var(--soft); font-size:9px; letter-spacing:.14em; font-weight:800; }
.paper-next b { display:block; overflow:hidden; color:var(--ink); font:600 14px/1.2 -apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,sans-serif; text-overflow:ellipsis; white-space:nowrap; }
.paper-button { flex:0 0 auto; padding:9px 0; color:var(--gold-dark); font-size:12px; }
.task-details { margin-top:13px; border-top:1px solid var(--line); }
.task-details summary { padding-top:12px; color:var(--soft); cursor:pointer; font-size:11px; font-weight:800; list-style-position:inside; }
.task-details summary:hover { color:var(--gold-dark); }
.task-details[open] summary { color:var(--gold-dark); }
.task-list { margin-top:8px; }
.task-row { padding:8px 0; }
.task-copy small { display:none; }
.analysis-panel { margin-top:16px; padding:0; background:transparent; border:0; border-top:1px solid var(--line); }
.analysis-panel summary { display:flex; justify-content:space-between; gap:10px; padding:12px 0 0; color:var(--gold-dark); cursor:pointer; font-size:12px; font-weight:800; list-style:none; }
.analysis-panel summary::-webkit-details-marker { display:none; }
.analysis-panel summary::after { content:'+'; font-size:16px; line-height:1; }
.analysis-panel[open] summary::after { content:'−'; }
.analysis-panel summary small { margin-left:auto; color:var(--soft); font-size:10px; font-weight:500; }
.analysis-panel > #analysis-content { margin-top:12px; padding:12px; background:#fffaf0; border:1px solid rgba(23,39,65,.12); border-left:3px solid var(--gold); }
.tutor-panel { margin-top:17px; padding-top:15px; }
.tutor-panel strong { font-size:19px; }
.tutor-panel p { margin:7px 0; font-size:12px; }
.tutor-more { margin-top:12px; border-top:1px solid var(--line); }
.tutor-more summary { padding-top:10px; color:var(--gold-dark); cursor:pointer; font-size:11px; font-weight:800; list-style:none; }
.tutor-more summary::-webkit-details-marker { display:none; }
.tutor-more summary::after { content:'+'; float:right; font-size:15px; }
.tutor-more[open] summary::after { content:'−'; }
.tutor-more .why, .tutor-more .next-copy { font-size:12px; }
.method-strip { background:var(--ink); }
.method-strip>div { padding:20px clamp(18px,4vw,52px); }
.method-strip strong { margin-top:8px; font-size:19px; }
.method-strip .step-no { font-size:20px; }
@media (max-width:760px) {
  .training-banner { padding:16px; }
  .paper-card { min-height:205px; }
  .paper-progress { font-size:9px; }
  .paper-next b { max-width:170px; }
}
@media (max-width:400px) {
  .paper-next { align-items:flex-start; flex-direction:column; }
  .paper-button { padding-top:0; }
}


/* Style reminder: clarity-first KKD route — expose the next learning decision, keep the later syllabus available but quiet, and use disclosure for depth. */
#paper-grid { display:block; }
.paper-lane { margin-top:4px; }
.lane-heading { display:flex; align-items:baseline; gap:12px; margin:2px 0 14px; }
.lane-heading .eyebrow { margin:0; }
.lane-heading strong { color:var(--ink); font:600 21px/1.1 -apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,sans-serif; }
.lane-heading small { color:var(--soft); font-size:11px; }
.lane-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; }
.skills-lane { margin-top:30px; border-top:1px solid var(--line); }
.skills-lane > summary { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:17px 0; color:var(--ink); cursor:pointer; list-style:none; }
.skills-lane > summary::-webkit-details-marker { display:none; }
.skills-lane > summary::before { content:'+'; display:grid; place-items:center; width:25px; height:25px; flex:0 0 25px; border:1px solid var(--gold); color:var(--gold-dark); font-size:17px; line-height:1; }
.skills-lane[open] > summary::before { content:'−'; }
.skills-lane > summary > span { display:flex; align-items:baseline; gap:10px; margin-right:auto; }
.skills-lane > summary b { font:600 19px/1.1 -apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,sans-serif; }
.skills-lane > summary small { color:var(--soft); font-size:11px; }
.skills-lane > summary em { color:var(--gold-dark); font-size:10px; font-style:normal; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.skills-lane > .lane-grid { padding-bottom:12px; }
@media (max-width:900px) { .lane-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:560px) {
  .lane-heading { display:block; }
  .lane-heading strong { display:block; margin:4px 0; }
  .lane-grid { grid-template-columns:1fr; }
  .skills-lane > summary > span { display:block; }
  .skills-lane > summary small { display:block; margin-top:4px; }
}


/* Style reminder: clarity-first KKD route — one recommended action in focus, full syllabus available on demand, no competing task wall. */
.route-spotlight { display:flex; align-items:center; justify-content:space-between; gap:24px; margin:2px 0 22px; padding:24px 26px; background:var(--navy); color:var(--paper); border-bottom:4px solid var(--gold); }
.route-spotlight .eyebrow { color:#e7bb65; margin:0 0 8px; }
.route-spotlight h3 { margin:0; color:var(--paper); font:600 25px/1.12 -apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,sans-serif; }
.route-spotlight p { margin:8px 0 2px; color:#fff; font-size:16px; font-weight:700; }
.route-spotlight small { color:#d7d2c7; font-size:12px; }
.route-start { flex:0 0 auto; white-space:nowrap; }
.paper-choices { border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.paper-choices > summary { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:18px 0; cursor:pointer; list-style:none; }
.paper-choices > summary::-webkit-details-marker { display:none; }
.paper-choices > summary::before { content:'+'; display:grid; place-items:center; width:25px; height:25px; flex:0 0 25px; border:1px solid var(--gold); color:var(--gold-dark); font-size:17px; line-height:1; }
.paper-choices[open] > summary::before { content:'−'; }
.paper-choices > summary > span { display:flex; align-items:baseline; gap:10px; margin-right:auto; }
.paper-choices > summary b { color:var(--ink); font:600 19px/1.1 -apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,sans-serif; }
.paper-choices > summary small { color:var(--soft); font-size:11px; }
.paper-choices > summary em { color:var(--gold-dark); font-size:10px; font-style:normal; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.choice-heading { margin-top:22px; }
.skills-heading { border-top:1px solid var(--line); padding-top:20px; }
.paper-choices > .lane-grid { padding-bottom:22px; }
@media (max-width:560px) {
  .route-spotlight { display:block; padding:20px; }
  .route-start { margin-top:18px; width:100%; }
  .paper-choices > summary > span { display:block; }
  .paper-choices > summary small { display:block; margin-top:4px; }
}

/* KKD learning path: three calm levels, one clear next step. */
.path-lanes { display:block; }
.lane-heading { display:flex; justify-content:space-between; align-items:flex-end; gap:24px; margin:46px 0 18px; }
.lane-heading > div .eyebrow { margin-bottom:8px; }
.lane-heading strong { display:block; font:700 clamp(24px,3vw,34px)/1.1 -apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,sans-serif; letter-spacing:-.02em; }
.lane-intro { max-width:430px; margin:0; color:var(--soft); font-size:13px; }
.spotlight-level { margin:10px 0 0 !important; color:#e7bb65 !important; font-size:11px !important; font-weight:800; letter-spacing:.14em; }
.basics-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; }
.basics-card { display:flex; flex-direction:column; gap:14px; padding:24px; background:var(--card); border:1px solid var(--line); border-top:4px solid var(--sage); transition:transform .2s var(--ease),box-shadow .2s var(--ease); }
.basics-card:hover { transform:translateY(-5px); box-shadow:var(--shadow); }
.basics-card.done { border-top-color:var(--gold); }
.basics-index { font:700 30px/1 -apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,sans-serif; color:var(--sage); }
.basics-card.done .basics-index { color:var(--gold); }
.basics-card h3 { margin:0; font:700 22px/1.1 -apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,sans-serif; }
.basics-card p { margin:6px 0 0; color:var(--soft); font-size:12px; }
.basics-progress { height:6px; background:#ece7da; margin-top:14px; }
.basics-progress span { display:block; height:100%; background:var(--sage); }
.basics-card small { color:var(--soft); font-size:11px; font-weight:700; }
.basics-card .button { margin-top:auto; align-self:flex-start; }
.exam-rows { display:grid; grid-template-columns:repeat(2,1fr); gap:10px; }
.exam-row { display:flex; align-items:center; gap:14px; padding:12px 16px; background:var(--card); border:1px solid var(--line); }
.exam-row.done { border-left:4px solid var(--sage); }
.exam-code { font:700 18px -apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,sans-serif; min-width:52px; }
.exam-copy { flex:1; min-width:0; }
.exam-copy b { display:block; font-size:13px; }
.exam-copy small { color:var(--soft); font-size:11px; }

/* In-exercise: step checklist rail beside the coach. */
.steps-rail { margin-top:20px; padding-top:16px; border-top:1px solid var(--line); }
.rail-title { display:flex; justify-content:space-between; margin:0 0 10px; font-size:10px; font-weight:800; letter-spacing:.14em; color:var(--gold-dark); }
.steps-rail ol { list-style:none; margin:0; padding:0; display:grid; gap:6px; max-height:360px; overflow:auto; }
.steps-rail li { display:flex; gap:10px; align-items:baseline; padding:8px 10px; background:#f6f2e9; font-size:12px; color:var(--soft); }
.steps-rail .rail-marker { font-weight:800; font-size:11px; color:var(--gold-dark); min-width:22px; }
.steps-rail li.done { color:var(--sage); }
.steps-rail li.done .rail-marker { color:var(--sage); }
.steps-rail li.current { background:#fff4dd; color:var(--ink); font-weight:700; box-shadow:inset 3px 0 0 var(--gold); }

/* Mode explanations and the decluttered toolbar. */
.mode-help { margin:-14px 0 20px; color:var(--soft); font-size:12.5px; }
.more-menu { position:relative; }
.more-menu summary { list-style:none; cursor:pointer; }
.more-menu summary::-webkit-details-marker { display:none; }
.more-items { position:absolute; right:0; top:calc(100% + 6px); z-index:30; display:flex; flex-direction:column; gap:6px; min-width:180px; padding:10px; background:var(--card); border:1px solid var(--line); box-shadow:var(--shadow); }
.more-items .small-button { text-align:left; }

/* Results: celebration state and the never-ending path. */
.results-card.perfect { border-top:5px solid var(--gold); }
#next-exercise-button { white-space:normal; text-align:left; }

/* First-run tour: welcome card and coach marks. */
.tour-veil { position:fixed; inset:0; z-index:300; display:grid; place-items:center; background:rgba(23,35,58,.55); padding:20px; }
.tour-card { max-width:460px; background:var(--card); padding:34px; box-shadow:var(--shadow); border-top:5px solid var(--gold); }
.tour-card h3 { margin:0 0 10px; font:700 30px/1.1 -apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,sans-serif; }
.tour-card p { color:var(--soft); font-size:14px; }
.tour-actions { display:flex; gap:10px; margin-top:22px; flex-wrap:wrap; }
.coach-veil { position:fixed; inset:0; z-index:300; pointer-events:none; }
.coach-ring { position:fixed; z-index:1; border:3px solid var(--gold); border-radius:6px; box-shadow:0 0 0 4000px rgba(23,35,58,.5); transition:top .35s var(--ease),left .35s var(--ease),width .35s var(--ease),height .35s var(--ease); animation:coachPulse 1.8s ease-in-out infinite; }
@keyframes coachPulse { 0%,100% { border-color:var(--gold); } 50% { border-color:#e8a33d; } }
.coach-target { position:relative; z-index:301; }
.coach-tip { position:fixed; z-index:3; width:340px; max-width:calc(100vw - 24px); background:var(--card); border-top:4px solid var(--gold); padding:20px; box-shadow:var(--shadow); pointer-events:auto; }
.coach-tip h4 { margin:0 0 8px; font:700 20px/1.15 -apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,sans-serif; }
.coach-tip > p { margin:0; color:var(--soft); font-size:13px; }
.coach-actions { display:flex; justify-content:space-between; gap:10px; margin-top:16px; }
body.touring { overflow:hidden; }

@media (max-width:1080px) {
  .basics-grid { grid-template-columns:1fr; }
  .exam-rows { grid-template-columns:1fr; }
  .lane-heading { display:block; }
  .lane-intro { margin-top:10px; }
}

/* ── Dark mode ── */
[data-theme="dark"]{--ink:#EAE3D0;--soft:#9AA6BE;--paper:#0D1526;--card:#1A2540;--line:#2D3B59;--gold:#D97B1B;--gold-dark:#E8A84C;--sage:#7FB89F;--mist:#1D2E4A;--danger:#D97B7B;--shadow:0 18px 45px rgba(0,0,0,.35)}
[data-theme="dark"] .topbar{background:rgba(21,32,57,.97)}
[data-theme="dark"] .brand-mark,[data-theme="dark"] .timer-box,[data-theme="dark"] .small-button.dark,[data-theme="dark"] .analysis-table-head,[data-theme="dark"] .dependency-flow strong,[data-theme="dark"] .analysis-note code{background:#0F1A30;color:#EAE3D0}
[data-theme="dark"] .hero-note{background:#0F1A30;color:#EAE3D0}
[data-theme="dark"] .training-banner,[data-theme="dark"] .formula-row,[data-theme="dark"] .spreadsheet th,[data-theme="dark"] .result-metrics div,[data-theme="dark"] .sheet-help code,[data-theme="dark"] .analysis-teach,[data-theme="dark"] .analysis-panel{background:#141F38}
[data-theme="dark"] .spreadsheet th,[data-theme="dark"] .spreadsheet td{border-color:#2D3B59}
[data-theme="dark"] .spreadsheet td,[data-theme="dark"] #formula-bar,[data-theme="dark"] .analysis-table,[data-theme="dark"] .dependency-flow span,[data-theme="dark"] .feedback code{background:#0F1A30;color:#EAE3D0}
[data-theme="dark"] .spreadsheet td input{color:#EAE3D0}
[data-theme="dark"] .spreadsheet td input:focus{background:#0F1A30}
[data-theme="dark"] .spreadsheet td.target{background:#2A2118}
[data-theme="dark"] .target-callout{background:#2A2118;color:#EAE3D0}
[data-theme="dark"] .feedback.demonstration{background:#2A2118}
[data-theme="dark"] .feedback.error{background:#3A2B30}
[data-theme="dark"] .analysis-row mark{background:#2A2118;color:#EAE3D0}
[data-theme="dark"] .training-banner p,[data-theme="dark"] .task-copy small,[data-theme="dark"] .task-level,[data-theme="dark"] .task-status,[data-theme="dark"] .analysis-teach p{color:#9AA6BE}
[data-theme="dark"] .task-row{color:#EAE3D0}
.theme-toggle{cursor:pointer;background:transparent;border:1px solid var(--line);color:var(--soft);font:700 12px inherit;padding:8px 10px}
