/* Web slide decks: read mode (stacked cards) and present mode (full-screen stage). */
.dk-top{padding:32px 0 24px;border-bottom:1px solid var(--line)}
.dk-top-row{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap}
.dk-page-title{font-size:clamp(30px,3.6vw,46px);line-height:1.05;margin-top:10px;color:var(--cobalt)}
.dk-page-sub{margin:8px 0 0;color:var(--mist-ink);font-size:16px}
.dk-top-actions{display:flex;align-items:center;gap:14px}
.dk-count{font-size:14px;font-weight:700;color:var(--mist-ink)}

.dk-deck{max-width:1080px;margin:0 auto;padding:32px var(--gutter) 64px;display:grid;gap:28px}
.dk-slide{position:relative;padding:0;container-type:inline-size;aspect-ratio:16/9;background:var(--surface);border:1px solid var(--line);border-radius:14px;box-shadow:0 24px 60px -40px rgba(14,19,48,.4);overflow:hidden;display:flex;scroll-margin-top:90px}
.dk-inner{flex:1;display:flex;flex-direction:column;justify-content:safe center;padding:4.6cqw 6cqw;min-width:0}
.dk-fit{display:flex;flex-direction:column;gap:2.2cqw;min-width:0}
.dk-pg{position:absolute;right:2.4cqw;bottom:1.8cqw;font-size:clamp(11px,1.1cqw,16px);font-weight:700;color:var(--mist)}

.dk-kicker{font-size:clamp(11px,1.25cqw,19px);font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--cobalt)}
.dk-slide h1{font-size:clamp(30px,5.6cqw,92px);line-height:1;letter-spacing:-.02em;margin:0;color:var(--ink);max-width:16ch}
.dk-slide h2{font-size:clamp(22px,3.6cqw,58px);line-height:1.08;letter-spacing:-.015em;margin:0;color:var(--ink);max-width:24ch}
.dk-slide h2.dk-big{font-size:clamp(26px,4.6cqw,74px);max-width:20ch}
.dk-sub{font-size:clamp(16px,2.1cqw,34px);line-height:1.3;color:var(--mist-ink);margin:0;max-width:34ch}
.dk-body{font-size:clamp(15px,1.85cqw,30px);line-height:1.5;color:var(--ink-2,#2E3450);margin:0;max-width:52ch}
.dk-hint{font-size:clamp(13px,1.45cqw,23px);color:var(--mist-ink);margin:0;max-width:60ch}

/* title + section */
.dk-t-title{background:var(--cobalt);border-color:var(--cobalt)}
.dk-t-title .dk-kicker{color:var(--signal)}
.dk-t-title h1{color:#fff}
.dk-t-title .dk-sub{color:#DCE3FF}
.dk-t-title .dk-pg{color:#8FA3F0}
.dk-title-wrap{display:flex;flex-direction:column;gap:2.2cqw}
.dk-brand{margin-top:2cqw;font-family:var(--display);font-weight:800;font-size:clamp(16px,2cqw,32px);color:#fff}
.dk-t-section{background:var(--ink);border-color:var(--ink)}
.dk-t-section h2{color:#fff;font-size:clamp(30px,6cqw,96px)}
.dk-t-section .dk-sub{color:#B9C3E8}
.dk-section-wrap{display:flex;flex-direction:column;gap:1.4cqw}
.dk-num{font-family:var(--display);font-weight:800;font-size:clamp(18px,2.4cqw,38px);color:var(--signal)}
.dk-t-statement{background:var(--paper)}

/* list */
.dk-list{list-style:none;margin:0;padding:0;display:grid;gap:1.4cqw;max-width:62ch}
.dk-list li{position:relative;padding-left:3.4cqw;font-size:clamp(15px,1.9cqw,30px);line-height:1.4;color:var(--ink)}
.dk-list li::before{content:"";position:absolute;left:0;top:.45em;width:1.6cqw;height:1.6cqw;min-width:12px;min-height:12px;border-radius:50%;background:var(--signal);box-shadow:0 0 0 2px var(--ink) inset}

/* compare */
.dk-compare{display:grid;grid-template-columns:1fr 1fr;gap:2cqw}
.dk-col{border-radius:12px;padding:2.2cqw 2.6cqw}
.dk-col b{display:block;font-size:clamp(12px,1.3cqw,20px);letter-spacing:.1em;text-transform:uppercase;margin-bottom:1cqw}
.dk-col ul{margin:0;padding-left:1.2em;display:grid;gap:.8cqw}
.dk-col li{font-size:clamp(14px,1.7cqw,27px);line-height:1.35;color:var(--ink)}
.dk-col-yes{background:#EEF2FD}.dk-col-yes b{color:var(--cobalt)}
.dk-col-no{background:#FBEDE8}.dk-col-no b{color:var(--flare)}
.dk-col-no li{text-decoration:line-through;text-decoration-color:rgba(214,58,19,.5)}

/* timeline */
.dk-timeline{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:1.6cqw}
.dk-timeline li{background:#EEF2FD;border-radius:12px;padding:2cqw;display:flex;flex-direction:column;gap:.6cqw;border-top:.5cqw solid var(--cobalt)}
.dk-timeline li:first-child{background:#F3F8D9;border-top-color:#7A9A00}
.dk-tl-n{font-family:var(--display);font-weight:800;font-size:clamp(20px,3cqw,48px);color:var(--cobalt);line-height:1}
.dk-timeline small{font-size:clamp(11px,1.15cqw,18px);font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--mist-ink)}
.dk-timeline b{font-family:var(--display);font-size:clamp(16px,2.1cqw,34px);color:var(--ink)}
.dk-timeline span:last-child{font-size:clamp(13px,1.45cqw,23px);line-height:1.4;color:var(--ink-2,#2E3450)}

/* fields, calculators */
.dk-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.4cqw}
.dk-sentence{grid-template-columns:repeat(2,minmax(0,1fr))}
.dk-field{display:grid;gap:.5cqw;min-width:0}
.dk-field span{font-size:clamp(12px,1.3cqw,20px);font-weight:700;color:var(--ink)}
.dk-field input,.dk-field textarea{font:inherit;font-size:clamp(15px,1.6cqw,25px);color:var(--ink);background:var(--paper);border:1.5px solid var(--line-strong);border-radius:8px;padding:.7em .8em;width:100%;min-width:0}
.dk-field textarea{resize:vertical;min-height:4.5em;line-height:1.4}
.dk-field input:focus,.dk-field textarea:focus{outline:none;border-color:var(--cobalt);box-shadow:0 0 0 3px var(--cobalt-50);background:#fff}
.dk-field-wide{grid-column:1/-1}
.dk-saved{font-size:clamp(12px,1.2cqw,18px);color:#5E7A00;margin:0;min-height:1.2em}
.dk-calc{display:flex;align-items:flex-end;gap:1.4cqw;flex-wrap:wrap}
.dk-calc .dk-field{flex:1 1 0;min-width:120px}
.dk-op{font-family:var(--display);font-weight:800;font-size:clamp(20px,2.6cqw,42px);color:var(--mist);padding-bottom:.4em}
.dk-result{background:var(--signal);border-radius:12px;padding:1.4cqw 2cqw;display:grid;gap:.3cqw;min-width:180px}
.dk-result span{font-size:clamp(12px,1.25cqw,20px);font-weight:700;color:var(--ink)}
.dk-result b{font-family:var(--display);font-size:clamp(26px,3.6cqw,58px);line-height:1;color:var(--ink)}
.dk-result em{font-style:normal;font-size:clamp(12px,1.3cqw,21px);color:var(--ink)}
.dk-calc-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}
.dk-calc-grid .dk-field{min-width:0}
.dk-result-wide{grid-column:1/-1}

/* plan */
.dk-plan{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.2cqw}
.dk-plan div{background:var(--paper);border-radius:10px;padding:1.4cqw 1.6cqw;min-width:0}
.dk-plan small{display:block;font-size:clamp(11px,1.1cqw,17px);font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--cobalt);margin-bottom:.5cqw}
.dk-plan p{margin:0;font-size:clamp(13px,1.4cqw,22px);line-height:1.4;color:var(--ink);white-space:pre-line;overflow-wrap:anywhere}
.dk-plan p.is-empty{color:var(--mist)}
.dk-plan-actions{margin:0;display:flex;gap:16px;align-items:center}
.dk-link{background:none;border:0;padding:0;font:inherit;font-size:14px;font-weight:600;color:var(--mist-ink);text-decoration:underline;cursor:pointer}

/* quiz */
.dk-quiz{display:grid;grid-template-columns:1fr 1fr;gap:1.4cqw}
.dk-q{border:1px solid var(--line);border-radius:12px;padding:1.4cqw 1.6cqw;margin:0;min-width:0}
.dk-q legend{float:left;width:100%;padding:0;margin-bottom:1cqw;font-size:clamp(14px,1.5cqw,24px);font-weight:700;color:var(--ink);line-height:1.3}
.dk-opts{clear:both;display:grid;gap:.7cqw}
.dk-opt{text-align:left;font:inherit;font-size:clamp(13px,1.35cqw,21px);line-height:1.3;color:var(--ink);background:var(--paper);border:1.5px solid var(--line);border-radius:8px;padding:.6em .8em;cursor:pointer}
.dk-opt:hover{border-color:var(--cobalt)}
.dk-opt.is-right{background:#F3F8D9;border-color:#7A9A00}
.dk-opt.is-right::before{content:"✓ ";font-weight:800;color:#5E7A00}
.dk-opt.is-wrong{background:#FBEDE8;border-color:var(--flare)}
.dk-q.is-done .dk-opt{cursor:default}
.dk-why{margin:.8cqw 0 0;font-size:clamp(12px,1.25cqw,19px);color:var(--mist-ink);line-height:1.4}
.dk-score{margin:0;font-family:var(--display);font-weight:800;font-size:clamp(16px,1.9cqw,30px);color:var(--cobalt);min-height:1.2em}

/* next */
.dk-next{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);gap:1.4cqw}
.dk-next a{display:flex;flex-direction:column;gap:.6cqw;background:#EEF2FD;border-radius:12px;padding:1.8cqw;text-decoration:none;color:var(--ink);border:1.5px solid transparent}
.dk-next a:hover{border-color:var(--cobalt)}
.dk-next b{font-family:var(--display);font-size:clamp(15px,1.7cqw,27px);color:var(--cobalt)}
.dk-next span{font-size:clamp(12px,1.3cqw,20px);line-height:1.35}

/* notes */
.dk-notes{display:none;position:absolute;left:0;right:0;bottom:0;background:rgba(14,19,48,.92);color:#fff;padding:1.4cqw 2cqw;font-size:clamp(12px,1.3cqw,20px);line-height:1.4}
.dk-notes b{color:var(--signal);margin-right:.5em}

/* controls (present mode only) */
.dk-controls{display:none}

/* ---------- Present mode ---------- */
body.dk-presenting{overflow:hidden;background:#0B0E22}
body.dk-presenting .site-header,body.dk-presenting .dk-top,body.dk-presenting footer,body.dk-presenting .skip,body.dk-presenting .mobile-nav{display:none!important}
body.dk-presenting .dk-deck{position:fixed;inset:0;max-width:none;padding:0;display:block;background:#0B0E22;z-index:100}
body.dk-presenting .dk-slide{display:none;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:min(100vw,calc((100vh - 56px) * 16 / 9));height:min(calc(100vh - 56px),calc(100vw * 9 / 16));aspect-ratio:auto;border-radius:0;border:0;box-shadow:none;margin-top:-28px}
body.dk-presenting .dk-slide .dk-inner{height:100%;box-sizing:border-box}
body.dk-presenting .dk-slide.is-current{display:flex}
body.dk-presenting .dk-slide .dk-inner{overflow:auto}
body.dk-presenting.dk-show-notes .dk-notes{display:block}
body.dk-presenting .dk-controls{display:flex;position:fixed;left:0;right:0;bottom:0;height:56px;z-index:101;align-items:center;justify-content:center;gap:10px;background:#0B0E22;color:#C9D1F2;font-size:14px;font-weight:700}
.dk-controls button{background:#1A2047;color:#fff;border:0;border-radius:8px;padding:8px 14px;font:inherit;cursor:pointer}
.dk-controls button:hover{background:#27306A}
.dk-progress{position:absolute;left:0;right:0;top:0;height:3px;background:#1A2047}
.dk-progress i{display:block;height:100%;width:0;background:var(--signal);transition:width .25s var(--ease)}

/* ---------- Phones: read mode drops the fixed 16:9 ---------- */
@media (max-width:760px){
  .dk-deck{padding:20px 16px 48px;gap:18px}
  body:not(.dk-presenting) .dk-slide{aspect-ratio:auto;min-height:0}
  body:not(.dk-presenting) .dk-inner{padding:26px 22px 40px}
  body:not(.dk-presenting) .dk-fit{gap:14px}
  body:not(.dk-presenting) .dk-t-title .dk-inner,body:not(.dk-presenting) .dk-t-section .dk-inner{padding:40px 22px 48px}
  body:not(.dk-presenting) .dk-pg{right:16px;bottom:12px}
  .dk-compare,.dk-timeline,.dk-fields,.dk-sentence,.dk-calc-grid,.dk-plan,.dk-quiz,.dk-next{grid-template-columns:1fr}
  .dk-calc{flex-direction:column;align-items:stretch}
  .dk-op{padding:0;text-align:center}
  .dk-col,.dk-timeline li,.dk-plan div,.dk-q,.dk-next a,.dk-result{padding:16px 18px}
  .dk-list li{padding-left:26px}
  .dk-top-actions .btn{width:100%;justify-content:center}
  .dk-top-actions{width:100%;flex-direction:column;align-items:stretch}
  .dk-count{text-align:center}
}

/* ---------- Print: just the plan ---------- */
@media print{
  body.dk-print-plan *{visibility:hidden}
  body.dk-print-plan .dk-plan-slide,body.dk-print-plan .dk-plan-slide *{visibility:visible}
  body.dk-print-plan .dk-plan-slide{position:absolute;left:0;top:0;width:100%;aspect-ratio:auto;border:0;box-shadow:none}
  body.dk-print-plan .dk-plan-actions,body.dk-print-plan .dk-pg,body.dk-print-plan .dk-notes{display:none}
}

/* Dense slides (exercises, calculators, plan, quiz) use tighter spacing so they fit 16:9 */
.dk-dense .dk-inner{padding:3.4cqw 5cqw 3.8cqw}
.dk-dense .dk-fit{gap:1.3cqw}
.dk-dense h2{font-size:clamp(20px,2.9cqw,46px)}
.dk-dense .dk-body{font-size:clamp(14px,1.5cqw,24px)}
.dk-dense .dk-kicker{font-size:clamp(11px,1.1cqw,17px)}
.dk-dense .dk-fields,.dk-dense .dk-calc-grid{gap:1cqw 1.4cqw}
.dk-dense .dk-field span{font-size:clamp(12px,1.15cqw,18px)}
.dk-dense .dk-field input,.dk-dense .dk-field textarea{font-size:clamp(14px,1.35cqw,22px);padding:.5em .7em}
.dk-dense .dk-field textarea{min-height:3.2em}
.dk-dense .dk-plan{gap:.9cqw}
.dk-dense .dk-plan div{padding:1cqw 1.3cqw}
.dk-dense .dk-q{padding:1cqw 1.3cqw}
.dk-dense .dk-q legend{font-size:clamp(13px,1.3cqw,21px);margin-bottom:.6cqw}
.dk-dense .dk-opts{gap:.45cqw}
.dk-dense .dk-opt{font-size:clamp(12px,1.2cqw,19px);padding:.4em .7em}
.dk-dense .dk-why{font-size:clamp(11px,1.1cqw,17px);margin-top:.5cqw}
.dk-dense .dk-quiz{gap:1cqw}
.dk-next-wb{background:var(--signal)!important}
.dk-next-wb b{color:var(--ink)!important}
@media (max-width:760px){.dk-next{grid-auto-flow:row}}
