/* Course pages — a lecture you read straight down, with worksheets set into the page on hairlines (no boxes). */
.course{position:relative;z-index:2;max-width:46rem;margin:0 auto;padding:16vh var(--gutter) 12vh}
.c-hero{text-align:center;display:grid;justify-items:center;gap:12px;margin-bottom:5vh}
.c-hero h1{font-size:clamp(2rem,5vw,3.4rem)}
.c-hero p{color:var(--ink-soft);text-wrap:balance}
.c-hero .meta{font-size:.92rem;color:var(--muted)}

/* table of contents */
.c-toc{border-top:1px solid var(--rule);margin:0 0 7vh;padding:0;list-style:none;counter-reset:toc}
.c-toc li{border-bottom:1px solid var(--rule)}
.c-toc a{display:grid;grid-template-columns:3em minmax(0,1fr) auto;gap:10px;padding:10px 2px;text-decoration:none;color:var(--ink)}
.c-toc a>span:first-child{font-family:var(--latin);font-style:italic;color:var(--rose-ink);font-size:1.15rem}
.c-toc a small{color:var(--muted);font-size:.85rem;white-space:nowrap}
.c-toc a:hover>span:nth-child(2){color:var(--rose-deep)}

/* modules and lessons */
.module{margin-top:10vh;padding-top:4vh;border-top:2px solid var(--ink)}
.module>.m-kicker{font-family:var(--latin);font-style:italic;color:var(--rose-ink);font-size:1.2rem}
.module>h2{font-size:clamp(1.9rem,4vw,2.8rem);margin:.1em 0 .4em}
.lesson{margin-top:6vh}
.lesson>h3{font-size:clamp(1.3rem,2.4vw,1.65rem);color:var(--ink);margin-bottom:.5em}
.lesson>h3 .n{font-family:var(--latin);font-style:italic;color:var(--rose-ink);font-weight:600;margin-right:.35em}
.lesson p,.lesson li{color:var(--ink-soft)}
.lesson p{margin-bottom:.8em}
.lesson ul,.lesson ol{padding-left:1.3em;margin:0 0 1em}
.lesson li{padding:2px 0}
.lesson ol>li::marker{font-family:var(--latin);font-style:italic;color:var(--rose-ink)}
.lesson b{color:var(--ink)}
.term{font-weight:700;color:var(--rose-deep)}
.def{border-left:2px solid var(--rose);padding:2px 0 2px 16px;margin:0 0 1.2em}
.def p{margin:0;color:var(--ink)}
.def small{color:var(--muted)}
.quote{font-family:var(--latin);font-style:italic;font-size:1.2rem;color:var(--rose-ink);margin:0 0 1em}
.cite{font-size:.85rem;color:var(--muted)}
.cite a{color:var(--muted)}

/* step lists with time */
.steps{list-style:none;padding:0;margin:0 0 1.2em;border-top:1px solid var(--rule);counter-reset:st}
.steps>li{counter-increment:st;display:grid;grid-template-columns:2.4em minmax(0,1fr) auto;gap:2px 12px;padding:12px 0;border-bottom:1px solid var(--rule)}
.steps>li::before{content:counter(st);font-family:var(--latin);font-style:italic;font-size:1.7rem;line-height:1;color:var(--rose-ink);grid-row:span 2}
.steps b{color:var(--ink);font-size:1.05rem}
.steps .t{font-size:.85rem;color:var(--muted);white-space:nowrap;grid-column:3;grid-row:1}
.steps p{grid-column:2/4;margin:0;font-size:.97rem}

/* reference tables */
.lesson table{width:100%;border-collapse:collapse;font-size:.95rem;margin:0 0 1.2em}
.lesson th,.lesson td{text-align:left;vertical-align:top;padding:8px 8px;border-bottom:1px solid var(--rule)}
.lesson thead th{font-size:.82rem;color:var(--muted);font-weight:600;white-space:nowrap}
.lesson tbody th{color:var(--ink);font-weight:600}
.lesson tbody th small{display:block;font-family:var(--latin);font-style:italic;font-weight:500;color:var(--rose-ink)}
.tw{overflow-x:auto;-webkit-overflow-scrolling:touch}

/* Ansoff 2×2 */
.ansoffm{display:grid;grid-template-columns:auto minmax(0,1fr) minmax(0,1fr);gap:0;margin:0 0 1.2em;font-size:.95rem}
.ansoffm>div{padding:12px;border-bottom:1px solid var(--rule)}
.ansoffm .ax{font-size:.82rem;color:var(--muted);font-weight:600;border-bottom:1px solid var(--ink)}
.ansoffm .rl{font-size:.82rem;color:var(--muted);font-weight:600;writing-mode:horizontal-tb}
.ansoffm b{display:block;color:var(--ink)}
.ansoffm small{font-family:var(--latin);font-style:italic;color:var(--rose-ink);font-size:.95rem}
.ansoffm .risk1{color:#2F6B4F}.ansoffm .risk2{color:#9A6312}.ansoffm .risk3{color:#A3343F}
.ansoffm em{font-style:normal;font-size:.82rem;font-weight:600;display:block;margin-top:2px}

/* checklists */
.chk{border-top:1px solid var(--rule);margin:0 0 1.4em}
.chk>h4{display:block;margin:14px 0 4px;font-size:1.05rem;color:var(--rose-deep)}
.chk>h4 output{float:right;margin-left:10px;font-size:.85rem;color:var(--muted);font-weight:600}
.chk label{display:grid;grid-template-columns:1.4em minmax(0,1fr);gap:8px;padding:6px 0;border-bottom:1px solid var(--rule);color:var(--ink-soft);cursor:pointer;line-height:1.55}
.chk input{accent-color:var(--rose-deep);margin-top:.35em;width:1.05em;height:1.05em}
.chk input:checked+span{color:var(--ink)}

/* worksheets: set into the page with a rose rule on the left, not boxed */
.ws{margin:1.6em 0 2em;padding:4px 0 4px 18px;border-left:3px solid var(--rose)}
.ws>.ws-h{font-family:var(--latin);font-style:italic;color:var(--rose-ink);font-size:1.05rem;margin-bottom:.4em}
.ws label{display:block;margin:0 0 12px}
.ws label>span{display:block;font-weight:600;color:var(--ink);margin-bottom:4px;line-height:1.5}
.ws label>span small{display:block;font-weight:400;color:var(--muted);font-size:.86rem}
.ws textarea,.ws input[type=text],.ws select,.reg textarea,.reg select{font:inherit;font-size:.97rem;color:var(--ink);background:rgba(255,255,255,.55);border:0;border-bottom:1px solid var(--rose);width:100%;padding:6px 4px;resize:vertical;line-height:1.55}
.ws textarea:focus,.ws input:focus,.ws select:focus,.reg textarea:focus,.reg select:focus{outline:2px solid var(--rose);outline-offset:2px}
.ws .row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 18px}
.ws .radios{display:flex;gap:18px;flex-wrap:wrap;margin:4px 0 12px}
.ws .radios label{display:flex;gap:6px;align-items:center;margin:0;font-weight:600;color:var(--ink)}
.ws .radios input{accent-color:var(--rose-deep)}
.reg{width:100%;border-collapse:collapse;font-size:.92rem}
.reg th,.reg td{padding:6px 4px;border-bottom:1px solid var(--rule);vertical-align:top;text-align:left}
.reg thead th{font-size:.8rem;color:var(--muted);white-space:nowrap}
.reg td:first-child{font-family:var(--latin);font-style:italic;color:var(--rose-ink);width:1.6em}
.reg select{min-width:5.5em}
.risk .add,.risk .del{font:inherit;background:none;border:0;color:var(--rose-deep);cursor:pointer;font-weight:600}
.risk .add{margin:8px 0 0;padding:6px 0;border-bottom:1px solid var(--rose)}
.risk .del{font-size:1.2rem;line-height:1;padding:4px 6px}
.ranked{margin-top:14px}
.ranked h4{margin:0 0 4px;font-size:1rem;color:var(--ink)}
.ranked ol{margin:0;padding-left:1.4em}
.ranked li{padding:4px 0;border-bottom:1px solid var(--rule);color:var(--ink-soft)}
.ranked li.top{color:var(--ink)}
.ranked li b{color:var(--rose-deep);font-size:.85rem}
.ranked .lvl{display:inline-block;min-width:2.6em;font-weight:700;font-size:.88rem}
.ranked .l3{color:#A3343F}.ranked .l2{color:#9A6312}.ranked .l1{color:#2F6B4F}
.ranked .empty{color:var(--muted);font-size:.92rem}

/* bring to the meeting */
.bring{border-top:2px solid var(--ink);margin-top:10vh;padding-top:4vh;text-align:center;display:grid;justify-items:center;gap:12px}
.bring h2{font-size:clamp(1.7rem,3.6vw,2.4rem)}
.bring ul{text-align:left;max-width:34rem;margin:0;padding-left:1.3em;color:var(--ink-soft)}
.c-actions{display:flex;gap:12px;flex-wrap:wrap;justify-content:center;margin-top:8px}
.c-actions a,.c-actions button{font:inherit;font-weight:600;border:1px solid var(--rose-deep);border-radius:999px;padding:9px 24px;text-decoration:none;cursor:pointer;background:transparent;color:var(--rose-deep)}
.c-actions .solid{background:var(--rose-deep);color:var(--paper)}
.c-actions .quiet{border-color:var(--rule);color:var(--muted)}
.sources{margin-top:8vh;border-top:1px solid var(--rule);padding-top:16px;font-size:.88rem;color:var(--muted)}
.sources ol{padding-left:1.3em}
.sources a{color:var(--muted)}
.print-only{display:none}

@media (max-width:760px){
  .course{padding-top:12vh}
  .ws{padding-left:12px}
  .ws .row{grid-template-columns:1fr}
  .steps>li{grid-template-columns:2em minmax(0,1fr)}
  .steps .t{grid-column:2;grid-row:auto}
  .steps p{grid-column:2}
  .ansoffm{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .ansoffm .rl,.ansoffm .corner{display:none}
  .reg thead{display:none}
  .reg tr{display:grid;grid-template-columns:1.6em minmax(0,1fr) minmax(0,1fr) auto;gap:4px;padding:8px 0;border-bottom:1px solid var(--rule)}
  .reg td{border:0;padding:2px}
  .reg td:nth-child(2){grid-column:2/5}
  .reg td:nth-child(3){grid-column:2/5}
  .reg td:nth-child(4){grid-column:2}
  .reg td:nth-child(5){grid-column:3}
  .reg td:nth-child(6){grid-column:4;grid-row:1}
}
@media print{
  @page{size:A4;margin:14mm}
  body{background:#fff;font-size:11pt}
  .bar,.c-actions,.c-toc,.risk .add,.risk .del{display:none!important}
  .course{padding:0;max-width:none}
  .module{break-before:page}
  .ws,.chk,.steps>li,tr{break-inside:avoid}
  .print-only{display:block}
  html.ws-only .read,html.ws-only .c-hero p:not(.print-only),html.ws-only .bring,html.ws-only .sources{display:none!important}
  html.ws-only .module{break-before:auto;margin-top:6mm}
  .ws textarea,.reg textarea{border:0;border-bottom:1px solid #ccc;background:none;resize:none;overflow:visible}
  .foil{-webkit-print-color-adjust:exact;print-color-adjust:exact}
}
.sources a{word-break:break-all}
