html,body{height:100%;margin:0;overflow:hidden;background:#fff}body.present{font-family:var(--f);color:var(--ink)}.stage{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;font-size:clamp(16px,1.55vw,21px)}body.ps-lg .stage{font-size:clamp(18px,1.9vw,25px)}body.ps-sm .stage{font-size:clamp(14px,1.3vw,18px)}.slide{display:none;flex-direction:column;justify-content:center;width:100%;max-width:900px;height:100%;padding:96px 72px 110px;box-sizing:border-box;overflow-y:auto;scrollbar-width:none}.slide::-webkit-scrollbar{display:none}.slide.active{display:flex;animation:fade .34s ease}@keyframes fade{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}.slide .kicker{font-size:.72em;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--accent);margin-bottom:18px}.slide h2{font-size:2.1em;line-height:1.2;font-weight:600;letter-spacing:-.015em;margin:0 0 8px}.slide .rule{width:46px;height:4px;border-radius:3px;background:var(--accent);margin:18px 0 30px}.slide :is(p,li){font-size:1.12em;line-height:1.68;color:#3a3a3c;margin:0 0 16px;font-weight:300}.slide strong{font-weight:600;color:var(--ink)}.slide ul,.slide ol{padding-left:28px;margin:0}.slide li{margin-bottom:14px}.slide li::marker{color:var(--accent)}.slide code{background:var(--soft);padding:3px 8px;border-radius:7px;font-size:.86em}.slide.cover .eyebrow{font-size:.78em;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--accent);margin-bottom:26px}.slide.cover h1{font-size:3em;line-height:1.16;font-weight:600;letter-spacing:-.025em;margin:0 0 26px}.slide.cover .lead{font-size:1.2em;color:var(--gray);font-weight:300;line-height:1.6;margin:0}.slide.cover .cfoot{margin-top:46px;display:flex;align-items:center;gap:8px;color:var(--gray);font-size:14px}.slide.cover .cfoot .logo-svg{height:20px}.slide.cover .cfoot .sub{font-weight:500;color:var(--ink)}.logo-svg{height:24px;width:auto;fill:currentColor}.progress{position:fixed;top:0;left:0;right:0;height:3px;background:var(--line);z-index:20}.progress i{display:block;height:100%;width:0;background:var(--accent);transition:width .3s}.topleft{position:fixed;top:18px;left:24px;z-index:20;display:flex;align-items:center;gap:10px;color:var(--ink);height:38px}.topleft .logo-svg{height:20px}.topleft .bar{width:1px;height:15px;background:var(--line)}.topleft .sub{font-size:14px;color:var(--gray);font-weight:500;line-height:1}.controls{position:fixed;top:16px;right:22px;z-index:20;display:flex;gap:8px}.navpanel{position:fixed;top:0;left:0;bottom:0;width:250px;z-index:30;background:#fff;border-right:1px solid var(--line);transform:translate(-106%);transition:transform .28s ease;padding:62px 0 20px;overflow-y:auto}body.toc-open .navpanel{transform:none;box-shadow:0 0 44px #0000001f}.navpanel h4{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--gray2);padding:0 22px;margin:0 0 12px}.navitem{display:flex;gap:12px;align-items:baseline;width:100%;text-align:left;border:none;background:none;cursor:pointer;padding:11px 22px;font-size:14px;font-family:var(--f);color:var(--ink);transition:.15s;line-height:1.4}.navitem:hover{background:var(--alt)}.navitem.active{font-weight:600}.navitem .n{font-size:12px;color:var(--gray2);font-variant-numeric:tabular-nums;min-width:22px}.navitem.active .n,.navitem.active .t{color:var(--accent)}.navitem .t{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.scrim{position:fixed;inset:0;z-index:25;background:transparent;display:none}body.toc-open .scrim{display:block}.gridview{position:fixed;inset:0;z-index:40;background:#fffffffa;backdrop-filter:blur(6px);overflow-y:auto;display:none}body.grid-open .gridview{display:block}.gridhead{position:sticky;top:0;display:flex;align-items:center;justify-content:space-between;padding:22px 40px 18px;font-size:13px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--gray);background:linear-gradient(#fff,#fff9)}.gridhead button{width:36px;height:36px;border-radius:50%;border:1px solid var(--line);background:#fff;color:var(--ink);font-size:15px;cursor:pointer;transition:.2s}.gridhead button:hover{border-color:var(--accent);color:var(--accent)}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(248px,1fr));gap:24px;max-width:1120px;margin:0 auto;padding:6px 40px 60px}.thumb{cursor:pointer}.thumb .frame{position:relative;aspect-ratio:16/9;border:1px solid var(--line);border-radius:10px;overflow:hidden;background:#fff;transition:.18s}.thumb:hover .frame{border-color:var(--accent);box-shadow:0 10px 26px #0000001a}.thumb.active .frame{box-shadow:0 0 0 2px var(--accent);border-color:var(--accent)}.thumb .scaler{position:absolute;top:0;left:0;width:1280px;height:720px;transform-origin:top left;pointer-events:none}.thumb .scaler .slide{display:flex;width:1280px;height:720px;max-width:none;overflow:hidden}.thumb .cap{margin-top:9px;display:flex;gap:8px;align-items:baseline;font-size:12.5px;color:var(--gray)}.thumb .cap .n{color:var(--gray2);font-variant-numeric:tabular-nums;min-width:20px}.thumb.active .cap .n,.thumb.active .cap .t{color:var(--accent);font-weight:600}.thumb .cap .t{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.controls button,.controls a{width:38px;height:38px;border-radius:50%;border:1px solid var(--line);background:#fff;color:var(--ink);display:flex;align-items:center;justify-content:center;font-size:15px;cursor:pointer;transition:.2s;text-decoration:none}.controls button:hover,.controls a:hover{border-color:var(--accent);color:var(--accent)}.footbar{position:fixed;left:0;right:0;bottom:0;height:66px;z-index:20;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:0 26px;border-top:1px solid var(--line);background:#ffffffdb;backdrop-filter:blur(10px)}.footbar .ltitle{font-size:13px;color:var(--gray);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.footbar .nav{display:flex;align-items:center;gap:14px;color:var(--gray);font-size:13px}.footbar .nav button{width:34px;height:34px;border-radius:50%;border:1px solid var(--line);background:#fff;color:var(--ink);font-size:15px;cursor:pointer;transition:.2s}.footbar .nav button:hover{border-color:var(--accent);color:var(--accent)}.footbar .counter{min-width:48px;text-align:center;font-variant-numeric:tabular-nums}.footbar .brand{justify-self:end;display:flex;align-items:center;gap:8px;color:var(--ink);font-size:14px}.footbar .brand .logo-svg{height:20px}.footbar .brand .sub{color:var(--gray)}.nav-zone{position:fixed;top:48px;bottom:66px;width:26%;z-index:5;cursor:pointer}.nav-zone.left{left:0}.nav-zone.right{right:0}@media (max-width:680px){.slide{padding:84px 30px 96px}.footbar .ltitle,.topleft .sub{display:none}}@media print{.progress,.controls,.topleft,.footbar,.nav-zone{display:none}.slide{break-after:page}}
