:root{--deck-corner-inset-y: clamp(10px, 2vh, 20px);--deck-corner-inset-x: clamp(14px, 2vw, 26px);--deck-corner-z: 100;--deck-meta-transition: color .2s ease}:root{--bg-outer: #262523;--bg-outer-2: #1b1a19;--bg-page: #f8f5ee;--bg-page-soft: #f1ede2;--text-primary: #201d18;--text-secondary: #726b5e;--text-faint: #a49b8a;--tab-1: #98d4bb;--tab-2: #c7b8ea;--tab-3: #f4b8c5;--tab-4: #a8d8ea;--tab-5: #f0c88a;--tab-6: #d8b8a0;--tab-warn: #c14a3a;--font-display: "Bodoni Moda", "Noto Serif SC", serif;--font-body: "DM Sans", "Noto Sans SC", sans-serif;--font-mono: "DM Mono", "Noto Sans SC", monospace;--ease-out-expo: cubic-bezier(.16, 1, .3, 1);--duration-normal: .7s;--slide-padding: clamp(1.5rem, 4vw, 4rem);--content-gap: clamp(1rem, 2vw, 2rem);--title-size: clamp(1.6rem, 4.6vw, 3.4rem);--h2-size: clamp(1.2rem, 3vw, 2.1rem);--h3-size: clamp(1rem, 2.2vw, 1.4rem);--body-size: clamp(.78rem, 1.35vw, 1.05rem);--small-size: clamp(.65rem, 1vw, .82rem)}.deck-root *{margin:0;padding:0;box-sizing:border-box}.deck-root,.deck-root body{height:100%;overflow-x:hidden}.deck-root{scroll-snap-type:y mandatory;scroll-behavior:smooth}.deck-root .slide{width:100vw;height:100vh;height:100dvh;overflow:hidden;scroll-snap-align:start;display:flex;flex-direction:column;position:relative}.deck-root .grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr));gap:clamp(.5rem,1.5vw,1rem)}@media(max-height:700px){.deck-root{--slide-padding: clamp(.75rem, 3vw, 2rem);--content-gap: clamp(.4rem, 1.5vw, 1rem);--title-size: clamp(1.25rem, 4.5vw, 2.5rem);--h2-size: clamp(1rem, 3vw, 1.75rem)}}@media(max-height:600px){.deck-root{--slide-padding: clamp(.5rem, 2.5vw, 1.5rem);--content-gap: clamp(.3rem, 1vw, .75rem);--title-size: clamp(1.1rem, 4vw, 2rem);--body-size: clamp(.7rem, 1.2vw, .95rem)}.deck-root .nav-dots,.deck-root .keyboard-hint,.deck-root .decorative{display:none}}@media(max-height:500px){.deck-root{--slide-padding: clamp(.4rem, 2vw, 1rem);--title-size: clamp(1rem, 3.5vw, 1.5rem);--h2-size: clamp(.9rem, 2.5vw, 1.25rem);--body-size: clamp(.65rem, 1vw, .85rem)}}@media(max-width:600px){.deck-root{--title-size: clamp(1.25rem, 7vw, 2.5rem)}.deck-root .grid{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){.deck-root *,.deck-root *:before,.deck-root *:after{animation-duration:.01ms!important;transition-duration:.2s!important}.deck-root{scroll-behavior:auto}}.deck-root{font-family:var(--font-body);background:var(--bg-outer);color:var(--text-primary)}.deck-root .slide{align-items:center;justify-content:center;background:radial-gradient(ellipse at 15% 10%,rgba(255,255,255,.05) 0%,transparent 45%),radial-gradient(ellipse at 85% 90%,rgba(255,255,255,.04) 0%,transparent 45%),var(--bg-outer)}.deck-root .page{position:relative;width:min(92vw,1180px);height:min(86vh,720px);background:var(--bg-page);box-shadow:0 40px 90px #00000073,0 4px 18px #0000004d;display:flex;flex-direction:column;justify-content:center;padding:clamp(1.6rem,4.5vw,4.4rem);padding-bottom:clamp(2.2rem,5.5vh,3.4rem);overflow:hidden}.deck-root .page-num{position:absolute;bottom:clamp(.65rem,1.6vh,1.1rem);right:clamp(1rem,2.2vw,1.8rem);z-index:3;font-family:var(--font-mono);font-size:clamp(.55rem,1vh,.72rem);font-variant-numeric:tabular-nums;letter-spacing:.08em;color:var(--text-secondary);opacity:.55;pointer-events:none;user-select:none}.deck-root .page-num-sep{margin:0 .2em;opacity:.7}.deck-root .binder{position:absolute;left:clamp(10px,1.6vw,22px);top:0;bottom:0;display:flex;flex-direction:column;justify-content:space-evenly;z-index:2}.deck-root .binder span{width:clamp(8px,.9vw,12px);height:clamp(8px,.9vw,12px);border-radius:50%;background:var(--bg-outer);opacity:.13}.deck-root .tabs{position:fixed;right:0;top:10%;display:flex;flex-direction:column;gap:clamp(8px,1.2vh,14px);z-index:50}.deck-root .tab{writing-mode:vertical-rl;padding:clamp(.6rem,1.3vh,1rem) clamp(.32rem,.7vw,.5rem);border-radius:8px 0 0 8px;font-family:var(--font-body);font-size:clamp(.5rem,.85vh,.68rem);letter-spacing:.1em;color:var(--text-primary);opacity:.28;transition:opacity .4s var(--ease-out-expo),transform .4s var(--ease-out-expo);transform:translate(4px)}.deck-root .tab.active{opacity:1;transform:translate(0)}.deck-root .tab[data-tab="1"]{background:var(--tab-1)}.deck-root .tab[data-tab="2"]{background:var(--tab-2)}.deck-root .tab[data-tab="3"]{background:var(--tab-4)}.deck-root .tab[data-tab="4"]{background:var(--tab-5)}.deck-root .tab[data-tab="5"]{background:var(--tab-3)}.deck-root .eyebrow{font-family:var(--font-body);font-size:clamp(.62rem,1.1vw,.85rem);letter-spacing:.28em;text-transform:uppercase;color:var(--text-secondary);font-weight:500}.deck-root h1,.deck-root h2,.deck-root h3{font-family:var(--font-display);color:var(--text-primary)}.deck-root h1{font-weight:700;font-size:clamp(2rem,5.6vw,4.2rem);line-height:1.14}.deck-root .accent{color:var(--tab-warn)}.deck-root h2{font-weight:700;font-size:var(--h2-size);line-height:1.2}.deck-root .kicker-num{font-family:var(--font-mono);font-size:clamp(.7rem,1.3vw,.95rem);color:var(--text-faint);letter-spacing:.08em}.deck-root p.lead{font-size:clamp(.9rem,1.7vw,1.2rem);color:var(--text-secondary);line-height:1.65;max-width:640px}.deck-root p.lead a{display:inline-flex;align-items:center;gap:.35em;margin-left:.2em;padding:.12em .58em;border:1px solid rgba(32,29,24,.16);border-radius:999px;background:var(--bg-page-soft);color:var(--text-primary);font-family:var(--font-mono);font-size:.82em;font-weight:500;line-height:1.6;text-decoration:none;vertical-align:.08em;transition:background .25s var(--ease-out-expo),border-color .25s,transform .25s var(--ease-out-expo)}.deck-root p.lead a:after{content:"↗";color:var(--text-faint);font-size:.82em}.deck-root p.lead a:hover,.deck-root p.lead a:focus-visible{background:#fff;border-color:var(--tab-warn);transform:translateY(-1px)}.deck-root .rule{width:52px;height:2px;background:var(--text-primary);opacity:.7}.deck-root .reveal{opacity:0;transform:translateY(24px);transition:opacity var(--duration-normal) var(--ease-out-expo),transform var(--duration-normal) var(--ease-out-expo)}.deck-root .slide.visible .reveal{opacity:1;transform:translateY(0)}.deck-root .reveal:nth-child(1){transition-delay:.05s}.deck-root .reveal:nth-child(2){transition-delay:.15s}.deck-root .reveal:nth-child(3){transition-delay:.25s}.deck-root .reveal:nth-child(4){transition-delay:.35s}.deck-root .reveal:nth-child(5){transition-delay:.45s}.deck-root .reveal:nth-child(6){transition-delay:.55s}.deck-root .stack{display:flex;flex-direction:column;gap:var(--content-gap)}.deck-root .head-block{display:flex;flex-direction:column;gap:clamp(.5rem,1.3vh,.9rem);margin-bottom:clamp(.8rem,2vh,1.6rem)}.deck-root ul.bullets{list-style:none;display:flex;flex-direction:column;gap:clamp(.5rem,1.4vh,.95rem)}.deck-root ul.bullets li{position:relative;padding-left:1.5em;font-size:var(--body-size);color:var(--text-primary);line-height:1.55}.deck-root ul.bullets li:before{content:"—";position:absolute;left:0;top:0;color:var(--tab-warn);font-weight:700}.deck-root .split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(1.2rem,3vw,3rem);align-items:start}.deck-root .split-col{display:flex;flex-direction:column;gap:clamp(.6rem,1.6vh,1rem)}.deck-root .split-col .col-label{font-family:var(--font-body);font-weight:700;font-size:var(--h3-size);display:flex;align-items:center;gap:.5em}.deck-root .dot{width:.6em;height:.6em;border-radius:50%;display:inline-block;flex-shrink:0}.deck-root .image-wrap{display:flex;justify-content:center;align-items:center;flex:1}.deck-root .image-wrap img{max-width:100%;max-height:clamp(320px,58vh,560px);width:auto;height:auto;object-fit:contain;border-radius:8px}.deck-root .diagram-wrap{position:relative;display:flex;flex-direction:column;align-items:center;gap:clamp(.35rem,1.1vh,.65rem);padding:clamp(.9rem,2.4vh,1.5rem) clamp(.8rem,2vw,1.4rem);background-image:radial-gradient(circle,rgba(32,29,24,.14) 1px,transparent 1px);background-size:20px 20px;border-radius:12px 15px 11px 16px}.deck-root .diagram-wrap:before,.deck-root .diagram-wrap:after{content:"";position:absolute;inset:0;pointer-events:none}.deck-root .diagram-wrap:before{border:1.5px solid rgba(32,29,24,.24);border-radius:14px 11px 16px 12px;transform:rotate(-.35deg) translate(1px,.6px)}.deck-root .diagram-wrap:after{border:1px solid rgba(32,29,24,.15);border-radius:11px 16px 12px 14px;transform:rotate(.3deg) translate(-1px,-.5px)}.deck-root .chip{background:var(--bg-page);border:1.5px solid var(--text-primary);border-radius:3px;padding:clamp(.55rem,1.5vh,.85rem) clamp(.85rem,1.9vw,1.35rem);font-family:var(--font-mono);font-size:clamp(.72rem,1.3vw,.92rem);font-weight:500;letter-spacing:.02em;text-transform:uppercase;color:var(--text-primary);text-align:center;line-height:1.35;white-space:nowrap}.deck-root .chip.chip-hero{background:var(--text-primary);border-color:var(--text-primary);border-width:2.5px;color:var(--bg-page);font-weight:700;padding:clamp(.65rem,1.8vh,1rem) clamp(1rem,2.1vw,1.7rem);white-space:normal;max-width:min(90vw,620px)}.deck-root .chip.chip-ghost{background:transparent;border-style:dashed;border-color:color-mix(in srgb,var(--text-primary) 50%,transparent);color:var(--text-secondary)}.deck-root .diagram-row{display:flex;align-items:flex-start;justify-content:center;gap:clamp(.4rem,1.3vw,1rem);flex-wrap:wrap;row-gap:clamp(.5rem,1.4vh,.9rem)}.deck-root .mermaid-wrap{width:100%;max-width:100%;display:flex;align-items:center;justify-content:center}.deck-root pre.mermaid{margin:0;width:100%;height:100%;display:flex;align-items:center;justify-content:center;text-align:center;line-height:normal;color:transparent;font-size:0;min-height:160px;border:none;padding:0;border-radius:0;overflow:visible}.deck-root pre.mermaid[data-processed]{color:inherit;min-height:0}.deck-root pre.mermaid svg{display:block;max-width:100%;max-height:280px}.deck-root .diagram-col{display:flex;flex-direction:column;align-items:center;gap:clamp(.25rem,.8vh,.5rem)}.deck-root .arrow-h{flex-shrink:0;width:clamp(22px,2.8vw,40px);height:14px;position:relative;align-self:center}.deck-root .arrow-h:before{content:"";position:absolute;left:0;right:7px;top:50%;height:1.5px;background:var(--text-primary);opacity:.65;transform:translateY(-50%)}.deck-root .arrow-h:after{content:"";position:absolute;right:0;top:50%;width:7px;height:7px;border-top:1.5px solid var(--text-primary);border-right:1.5px solid var(--text-primary);opacity:.65;transform:translateY(-50%) rotate(45deg)}.deck-root .arrow-v{width:1.5px;height:clamp(20px,3vh,30px);background:var(--text-primary);opacity:.6;margin:0 auto}.deck-root .branch-line{width:min(90%,640px);height:1.5px;background:var(--text-primary);opacity:.6}.deck-root .branch-drop{width:1.5px;height:clamp(12px,1.8vh,18px);background:var(--text-primary);opacity:.6;margin:0 auto}.deck-root .arrow-loop{display:inline-flex;align-items:center;gap:.4em;font-family:var(--font-mono);font-size:clamp(.68rem,1.1vw,.85rem);color:var(--text-secondary);font-weight:500;letter-spacing:.01em}.deck-root .arrow-loop .loop-glyph{font-size:1.3em;color:var(--text-primary)}@media(max-height:700px){.deck-root .chip{padding:clamp(.4rem,1.2vh,.7rem) clamp(.7rem,1.6vw,1.1rem)}.deck-root .chip.chip-hero{padding:clamp(.5rem,1.4vh,.8rem) clamp(.8rem,1.8vw,1.3rem)}}.deck-root .slide-table-wrap{width:100%;overflow:auto;border-radius:12px;border:1px solid rgba(32,29,24,.12);background:var(--bg-page-soft)}.deck-root .slide-table{width:100%;border-collapse:collapse;font-size:clamp(.72rem,1.25vw,.95rem);line-height:1.45}.deck-root .slide-table th,.deck-root .slide-table td{padding:clamp(.55rem,1.4vh,.9rem) clamp(.7rem,1.6vw,1.2rem);text-align:left;vertical-align:top;border-bottom:1px solid rgba(32,29,24,.1)}.deck-root .slide-table th{font-family:var(--font-mono);font-size:clamp(.62rem,1.05vw,.78rem);font-weight:600;letter-spacing:.02em;color:var(--text-faint);background:#201d180a;white-space:nowrap}.deck-root .slide-table td:first-child{font-weight:700;color:var(--text-primary);white-space:nowrap;width:1%}.deck-root .slide-table td{color:var(--text-secondary)}.deck-root .slide-table tbody tr:last-child td{border-bottom:none}.deck-root .slide-table tbody tr:hover td{background:#ffffff8c}.deck-root .card-grid{display:grid;gap:clamp(.6rem,1.5vw,1.1rem)}.deck-root .feature-card{background:var(--bg-page-soft);border-radius:12px;padding:clamp(.7rem,1.8vh,1.2rem);border-left:4px solid var(--tab-1);display:flex;flex-direction:column;gap:.4em}.deck-root .feature-card .f-num{font-family:var(--font-mono);font-size:var(--small-size);color:var(--text-faint)}.deck-root .feature-card .f-title{font-family:var(--font-body);font-weight:700;font-size:clamp(.85rem,1.5vw,1.05rem)}.deck-root .feature-card .f-desc{font-size:clamp(.68rem,1.1vw,.85rem);color:var(--text-secondary);line-height:1.45}.deck-root .code-block{background:var(--text-primary);color:#f3efe4;border-radius:12px;padding:clamp(.9rem,2vh,1.4rem) clamp(1rem,2.4vw,1.8rem);font-family:var(--font-mono);font-size:clamp(.65rem,1.25vw,.92rem);line-height:1.7;white-space:pre-wrap;word-break:break-word;overflow:hidden;box-shadow:0 10px 30px #00000040}.deck-root .ref-links{display:flex;align-items:center;flex-wrap:wrap;gap:clamp(.4rem,1vw,.7rem);margin-top:clamp(.7rem,1.8vh,1.1rem)}.deck-root .ref-links .ref-label{font-family:var(--font-mono);font-size:var(--small-size);color:var(--text-faint);margin-right:.2em}.deck-root .ref-link{display:inline-flex;align-items:center;gap:.35em;font-family:var(--font-body);font-weight:500;font-size:var(--small-size);color:var(--text-primary);background:var(--bg-page-soft);border:1px solid rgba(32,29,24,.16);border-radius:999px;padding:clamp(.22rem,.55vh,.38rem) clamp(.55rem,1.1vw,.85rem);text-decoration:none;cursor:pointer;transition:background .25s var(--ease-out-expo),border-color .25s,transform .25s var(--ease-out-expo)}.deck-root .ref-link:hover,.deck-root .ref-link:focus-visible{background:#fff;border-color:var(--tab-warn);transform:translateY(-1px)}.deck-root .ref-link .ext-icon{font-size:.8em;opacity:.55}.deck-root blockquote{font-family:var(--font-display);font-weight:700;font-size:clamp(1.4rem,3.6vw,2.6rem);line-height:1.35;color:var(--text-primary);max-width:900px;position:relative;padding-left:clamp(1rem,2.4vw,1.6rem);border-left:4px solid var(--tab-warn)}.deck-root blockquote:before{content:"";position:absolute;left:-8px;top:-6px;width:13px;height:13px;border-radius:50%;background:var(--tab-warn)}.deck-root .closing blockquote{text-align:left;margin:0 auto}.deck-root .title-slide .page{justify-content:center;text-align:left;flex-direction:row;align-items:center;gap:clamp(1.5rem,4vw,3.5rem)}.deck-root .title-slide h1{max-width:100%}.deck-root .title-text{flex:1.05;display:flex;flex-direction:column;min-width:0}.deck-root .title-cover{flex:.95;display:flex;align-items:center;justify-content:center;position:relative;min-width:0}.deck-root .title-cover .tape{position:absolute;top:clamp(-14px,-1.8vh,-8px);left:50%;transform:translate(-50%) rotate(-2deg);width:clamp(60px,8vw,92px);height:clamp(20px,2.6vh,28px);background:color-mix(in srgb,var(--tab-5) 55%,transparent);box-shadow:0 3px 8px #0000001f;z-index:2}.deck-root .title-cover img{max-width:100%;max-height:min(48vh,400px);object-fit:contain;border-radius:10px;border:5px solid #ffffff;box-shadow:0 20px 44px -12px #00000059;transform:rotate(2.2deg);position:relative;z-index:1}@media(max-width:780px){.deck-root .title-slide .page{flex-direction:column;text-align:center}.deck-root .title-text{flex:none;align-items:center}.deck-root .title-cover{flex:none}.deck-root .title-cover img{max-height:min(30vh,260px)}}.deck-root .closing .page{text-align:center;align-items:center}.deck-root .closing h1{max-width:100%}.deck-root .progress-bar{position:fixed;top:0;left:0;height:3px;background:var(--tab-warn);z-index:100;width:0%;transition:width .15s ease-out}.deck-root .nav-dots{position:fixed;left:clamp(14px,2vw,26px);top:50%;transform:translateY(-50%);display:flex;flex-direction:column;gap:10px;z-index:100}.deck-root .nav-dot{width:8px;height:8px;border-radius:50%;background:#ffffff40;cursor:pointer;transition:background .3s,transform .3s;border:none;padding:0}.deck-root .nav-dot.active{background:var(--tab-warn);transform:scale(1.4)}.deck-root .keyboard-hint{position:fixed;bottom:var(--deck-corner-inset-y);right:var(--deck-corner-inset-x);font-family:var(--font-mono);font-size:var(--small-size);color:#ffffff59;z-index:var(--deck-corner-z)}.deck-root .deck-back-link{position:fixed;bottom:var(--deck-corner-inset-y);left:var(--deck-corner-inset-x);z-index:var(--deck-corner-z);max-width:46vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:var(--font-mono);font-size:var(--small-size);color:#ffffff73;text-decoration:none;transition:var(--deck-meta-transition)}.deck-root .deck-back-link:hover{color:#fff}.deck-root .showcase-body{display:grid;grid-template-columns:1fr 1fr;gap:clamp(.8rem,2vw,1.6rem);flex:1;min-height:0}.deck-root .showcase-code{display:flex;flex-direction:column;gap:clamp(.35rem,.8vh,.6rem);min-height:0;overflow:hidden}.deck-root .showcase-code .code-block{flex:1;overflow:auto;font-size:clamp(.6rem,1.1vw,.76rem);padding:clamp(.6rem,1.4vh,1rem) clamp(.8rem,1.8vw,1.2rem)}.deck-root .skill-tag{font-family:var(--font-mono);font-size:clamp(.58rem,.95vw,.7rem);color:var(--text-primary);background:#ffffff26;border:1px solid rgba(32,29,24,.2);border-radius:4px;padding:.15em .55em;align-self:flex-start;flex-shrink:0;letter-spacing:.01em}.deck-root .showcase-diagram{display:flex;align-items:center;justify-content:center;min-height:0}.deck-root .showcase-diagram pre.mermaid{min-height:60px}@media(max-width:600px){.deck-root .split{grid-template-columns:1fr}.deck-root .card-grid{grid-template-columns:1fr!important}.deck-root .showcase-body{grid-template-columns:1fr}.deck-root .nav-dots,.deck-root .keyboard-hint,.deck-root .tabs{display:none}}
