/* Workshop deck: full-height slides, scroll-snap, keyboard + touch friendly, print = one slide per page. */
html{scroll-snap-type:y proximity;scroll-behavior:smooth;scroll-padding-top:0}
body.deck{padding:0;background:var(--ice-900)}
.bar{position:fixed;left:0;top:0;right:0;height:5px;z-index:60;background:rgba(11,42,60,.15)}
.bar i{display:block;height:100%;width:0;background:var(--neon-500);transition:width .25s var(--ease-out)}
.deck-nav{position:fixed;right:max(12px,2vw);bottom:max(12px,2vw);z-index:60;display:flex;gap:8px;align-items:center;background:var(--bg);border:var(--stroke) solid var(--line);border-radius:var(--radius-pill);padding:6px 8px 6px 12px;box-shadow:4px 4px 0 var(--ice-900)}
.deck-nav .home{display:inline-flex;min-width:44px;min-height:44px;align-items:center;justify-content:center}
.deck-nav .count{font:700 .875rem var(--font-display);min-width:3.6em;text-align:center}
.deck-nav button{min-width:44px;min-height:44px;border:var(--stroke) solid var(--line);border-radius:50%;background:var(--accent);font:700 1.125rem var(--font-display);cursor:pointer;color:var(--fg)}
.deck-nav button:hover{background:var(--ice-50)}
.slide{position:relative;min-height:100svh;scroll-snap-align:start;display:flex;align-items:center;padding:clamp(72px,9vh,110px) clamp(20px,6vw,96px) clamp(88px,10vh,120px);overflow:hidden}
.slide .inner{width:min(100%,1120px);margin-inline:auto}
.slide .num{position:absolute;left:clamp(16px,3vw,40px);bottom:clamp(14px,2.5vw,28px);font:700 .875rem var(--font-display);opacity:.55}
.s-ink{background:var(--ice-900);color:var(--ice-50)}
.s-frost{background:var(--ice-50);color:var(--fg)}
.s-ice{background:var(--ice-200);color:var(--fg)}
.s-neon{background:var(--neon-500);color:var(--fg)}
.s-section{background:var(--ice-900);color:var(--ice-50)}
.s-section h2{font-size:clamp(2.5rem,1rem + 7vw,7rem);line-height:.95;text-transform:uppercase}
.s-section .kicker{background:var(--neon-500)}
.slide h1{font-size:clamp(2.75rem,1rem + 7vw,7.5rem);line-height:.92;letter-spacing:-.03em;text-transform:uppercase;margin:var(--space-2) 0 var(--space-3)}
.slide h2{font-size:clamp(1.875rem,1rem + 3.4vw,4rem);line-height:1;letter-spacing:-.02em;margin-bottom:var(--space-3);max-width:22ch}
.s-section h2{max-width:14ch}
.slide .sub{font-size:clamp(1.0625rem,.95rem + .7vw,1.5rem);line-height:1.4;max-width:46ch;margin-bottom:var(--space-3)}
.slide .kicker{margin-bottom:var(--space-2)}
.s-ink .kicker,.s-section .kicker{color:var(--fg)}
.slide .note{font-size:clamp(.9375rem,.9rem + .3vw,1.0625rem);max-width:70ch;margin-top:var(--space-3);padding:12px 16px;border-left:5px solid var(--neon-500);background:rgba(255,255,255,.55)}
.s-ink .note,.note.light{background:rgba(255,255,255,.08);color:var(--ice-50)}
.s-neon .note{border-left-color:var(--fg);background:rgba(255,255,255,.4)}
.slide .hint{margin-top:var(--space-3);opacity:.8}
.slide a{color:inherit;text-underline-offset:.2em}
.mon{width:clamp(110px,14vw,190px);height:auto;float:right;margin:0 0 var(--space-2) var(--space-3)}
blockquote{font:800 clamp(1.75rem,1rem + 3.6vw,4rem)/1.08 var(--font-display);letter-spacing:-.02em;margin-bottom:var(--space-3);max-width:24ch}
blockquote cite{display:block;margin-top:var(--space-2);font:600 1rem var(--font-body);letter-spacing:0;font-style:normal;opacity:.8}
blockquote.msg{font:500 clamp(1.0625rem,.95rem + .7vw,1.375rem)/1.45 var(--font-body);letter-spacing:0;max-width:62ch;background:var(--bg);border:var(--stroke) solid var(--line);border-radius:var(--radius-md);padding:var(--space-3);box-shadow:var(--shadow-hard)}
.grid{display:grid;gap:clamp(12px,1.6vw,24px);grid-template-columns:repeat(auto-fit,minmax(min(100%,15rem),1fr));margin-top:var(--space-3)}
.grid.three{grid-template-columns:repeat(auto-fit,minmax(min(100%,16rem),1fr))}
.grid.five{grid-template-columns:repeat(auto-fit,minmax(min(100%,11rem),1fr))}
.card{background:var(--bg);color:var(--fg);border:var(--stroke) solid var(--line);border-radius:var(--radius-md);padding:var(--space-3);box-shadow:var(--shadow-hard)}
.card h3{font-size:clamp(1.0625rem,1rem + .5vw,1.4rem);margin-bottom:6px}
.card p,.card li{font-size:clamp(.9375rem,.9rem + .25vw,1.0625rem)}
.card.dark{background:rgba(255,255,255,.08);color:var(--ice-50);border-color:var(--ice-50);box-shadow:none}
.card.red{background:#FFF1F1}.card.green{background:var(--neon-100)}
.two{display:grid;gap:clamp(12px,1.6vw,24px);grid-template-columns:repeat(auto-fit,minmax(min(100%,18rem),1fr));margin-top:var(--space-3)}
.bul{list-style:none;padding:0;display:grid;gap:10px;margin-top:var(--space-3);counter-reset:n}
.bul li{position:relative;padding-left:34px;max-width:70ch;font-size:clamp(1rem,.95rem + .35vw,1.1875rem)}
.card .bul{margin-top:var(--space-1)}
.bul.check li::before{content:'';position:absolute;left:0;top:3px;width:20px;height:20px;border:var(--stroke) solid var(--line);border-radius:6px;background:var(--bg)}
.bul.num li{counter-increment:n}
.bul.num li::before{content:counter(n);position:absolute;left:0;top:0;width:26px;height:26px;border-radius:50%;background:var(--accent);border:var(--stroke) solid var(--line);display:grid;place-items:center;font:700 .8125rem var(--font-display)}
.bul:not(.check):not(.num) li::before{content:'';position:absolute;left:6px;top:.65em;width:10px;height:10px;border-radius:50%;background:var(--fg)}
.prompt{position:relative;margin-top:var(--space-3);background:var(--ice-900);color:var(--ice-50);border:var(--stroke) solid var(--line);border-radius:var(--radius-md);padding:var(--space-3);box-shadow:var(--shadow-hard);max-width:900px}
.prompt+.prompt{margin-top:var(--space-3)}
.plabel{font:700 .75rem/1 var(--font-body);letter-spacing:.08em;text-transform:uppercase;color:var(--neon-500);margin-bottom:var(--space-2)}
.prompt pre{white-space:pre-wrap;word-break:break-word;font:400 clamp(.8125rem,.78rem + .2vw,.9375rem)/1.5 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;margin:0}
.copy{margin-top:var(--space-2);min-height:44px;padding:8px 20px;border:var(--stroke) solid var(--ice-50);border-radius:var(--radius-pill);background:var(--accent);color:var(--fg);font:700 .9375rem var(--font-display);cursor:pointer}
.copy:hover{background:var(--ice-50)}
.tablewrap{overflow-x:auto;margin-top:var(--space-3);border:var(--stroke) solid var(--line);border-radius:var(--radius-md);background:var(--bg);box-shadow:var(--shadow-hard)}
table.auto{border-collapse:collapse;width:100%;font-size:clamp(.875rem,.85rem + .25vw,1rem);min-width:520px}
table.auto th,table.auto td{text-align:left;padding:10px 14px;border-bottom:1.5px solid var(--ice-200);vertical-align:top}
table.auto th{background:var(--ice-900);color:var(--ice-50);font:700 .875rem var(--font-display)}
table.auto tr:last-child td{border-bottom:0}
code{font:600 .9em ui-monospace,SFMono-Regular,Menlo,monospace;background:var(--ice-100);padding:1px 6px;border-radius:6px;word-break:break-word}
.steps3{list-style:none;padding:0;counter-reset:s;display:grid;gap:10px;margin:var(--space-3) 0;max-width:60ch}
.steps3 li{counter-increment:s;position:relative;padding-left:44px;font-size:clamp(1rem,.95rem + .35vw,1.1875rem)}
.steps3 li::before{content:counter(s);position:absolute;left:0;top:-2px;width:32px;height:32px;border-radius:50%;background:var(--ice-900);color:var(--neon-500);display:grid;place-items:center;font:800 1rem var(--font-display)}
.cta{display:inline-flex;align-items:center;min-height:56px;padding:14px 32px;background:var(--ice-900);color:var(--neon-500)!important;border:var(--stroke) solid var(--ice-900);border-radius:var(--radius-pill);font:800 1.25rem var(--font-display);text-decoration:none;box-shadow:6px 6px 0 var(--ice-50)}
.cta[aria-disabled=true]{opacity:.85;cursor:not-allowed}
@media (max-width:640px){.slide{padding-top:72px}.mon{float:none;display:block;margin:0 0 var(--space-2)}}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.bar i{transition:none}}
@media print{
  @page{size:A4 landscape;margin:10mm}
  html{scroll-snap-type:none}
  .bar,.deck-nav,.skip,.copy{display:none!important}
  .slide{min-height:0;height:190mm;break-after:page;page-break-after:always;overflow:hidden;-webkit-print-color-adjust:exact;print-color-adjust:exact}
}
.grid.four{grid-template-columns:repeat(auto-fit,minmax(min(100%,14rem),1fr))}
.ctabox{background:var(--ice-900);color:var(--ice-50);border-radius:var(--radius-md);padding:var(--space-3);max-width:640px;margin:var(--space-3) 0}
.ctabox .plabel{margin-bottom:6px}
.ctabox .big{font:700 clamp(1.125rem,1rem + .8vw,1.5rem) var(--font-display);word-break:break-word}
.shot{width:100%;height:auto;border:var(--stroke) solid var(--line);border-radius:var(--radius-md);box-shadow:var(--shadow-hard)}
.grid.five .card,.grid.five{min-width:0}

.fnote{font-size:.8125rem;line-height:1.4;max-width:70ch;margin-top:var(--space-2);opacity:.85}
