:root{--bg0:#fbf7ef;--bg1:#f3efe4;--ink:#1c1a16;--muted:#5a5247;--muted2:#776d60;--line:#1c1a1624;--card:#ffffffa6;--card2:#ffffff73;--shadow:#14100a1f 0 18px 50px -24px;--accent:#1b5e4a;--accent2:#c76f2c;--accent3:#1a4a7a;--sans:"IBM Plex Sans", ui-sans-serif, system-ui, sans-serif;--serif:"Fraunces", ui-serif, Georgia, serif;--mono:"IBM Plex Mono", ui-monospace, Consolas, monospace;font:18px/1.45 var(--sans);color:var(--ink);background:var(--bg0);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (width<=900px){:root{font-size:16px}}html,body{height:100%}body{margin:0;overflow:hidden}#root{height:100%}*{box-sizing:border-box}.app{grid-template-rows:auto 1fr auto;height:100svh;display:grid;position:relative}.bg{z-index:0;background:radial-gradient(1200px 700px at 25% 15%, #1b5e4a24, transparent 55%), radial-gradient(1000px 700px at 80% 25%, #c76f2c29, transparent 55%), radial-gradient(900px 800px at 70% 90%, #1a4a7a1f, transparent 55%), linear-gradient(180deg, var(--bg0), var(--bg1));position:absolute;inset:0}.orb{filter:blur(10px);opacity:.75;border-radius:999px;position:absolute;transform:translateZ(0)}.o1{background:radial-gradient(circle at 30% 30%,#1b5e4a38,#0000 65%);width:520px;height:520px;top:-180px;left:-160px}.o2{background:radial-gradient(circle at 40% 30%,#c76f2c3d,#0000 65%);width:620px;height:620px;top:120px;right:-240px}.grain{mix-blend-mode:multiply;opacity:.35;background-image:linear-gradient(#00000006,#00000006),radial-gradient(circle at 10% 10%,#ffffff1f,#0000 35%);position:absolute;inset:0}.topbar{z-index:2;justify-content:space-between;align-items:center;padding:18px 22px;display:flex}.brand{align-items:center;gap:12px;display:flex}.brandLogo{background:#ffffff59;border:1px solid #1c1a161f;border-radius:10px;width:34px;height:34px;box-shadow:0 14px 30px -22px #1b5e4a1f}.brandLine{letter-spacing:.2px;font-weight:600}.brandSub{color:var(--muted);font-size:13px}.topActions{gap:10px;display:flex}button{font:inherit}.ghost{border:1px solid var(--line);color:var(--ink);box-shadow:var(--shadow);cursor:pointer;background:#ffffff59;border-radius:12px;padding:9px 12px}.ghost:hover{background:#ffffff8c}.ghost:focus-visible,.navBtn:focus-visible,.dot:focus-visible,.x:focus-visible{outline-offset:2px;outline:3px solid #1b5e4a59}.stage{z-index:1;place-items:center;padding:0 22px;display:grid}.slide{aspect-ratio:16/9;background:linear-gradient(180deg, var(--card), var(--card2));width:min(1200px,100%);max-height:calc(100svh - 180px);box-shadow:var(--shadow);border:1px solid #1c1a161f;border-radius:22px;animation:.26s ease-out slideIn;position:relative;overflow:hidden}@media (width<=900px){.slide{aspect-ratio:auto;height:calc(100svh - 190px);max-height:none}}@keyframes slideIn{0%{opacity:0;transform:translateY(10px)scale(.995)}to{opacity:1;transform:translateY(0)scale(1)}}.slideInner{grid-template-rows:auto auto auto 1fr;gap:10px;height:100%;padding:38px 44px;display:grid}@media (width<=900px){.slideInner{padding:26px 22px}}.kicker{letter-spacing:.22em;text-transform:uppercase;color:var(--muted);font-size:13px}.title{font-family:var(--serif);letter-spacing:-.02em;margin:0;font-size:54px;font-weight:700;line-height:1.02}@media (width<=900px){.title{font-size:34px}}.subtitle{color:var(--muted);max-width:62ch;font-size:18px}.content{align-content:start;gap:16px;margin-top:14px;display:grid}.titleRow{flex-wrap:wrap;gap:10px;display:flex}.tag{border:1px solid var(--line);color:var(--muted);background:#fff6;border-radius:999px;padding:8px 12px;font-size:14px}.callout{background:#ffffff73;border-left:4px solid #1b5e4a80;border-radius:14px;max-width:85ch;padding:14px}.grid2{grid-template-columns:1fr 1fr;gap:16px;display:grid}@media (width<=900px){.grid2{grid-template-columns:1fr}}.panel{background:#ffffff61;border:1px solid #1c1a161f;border-radius:18px;padding:16px}.panelTitle{margin-bottom:10px;font-weight:600}.bullets{color:var(--ink);gap:8px;margin:0;padding-left:18px;display:grid}.bullets.muted{color:var(--muted2)}.reveal{opacity:0;animation:.52s cubic-bezier(.2,.8,.2,1) forwards revealIn;animation-delay:calc(var(--i,0) * 80ms + 80ms);transform:translateY(8px)}@keyframes revealIn{to{opacity:1;transform:translateY(0)}}.note{color:var(--muted);border-top:1px dashed #1c1a162e;margin-top:12px;padding-top:12px;font-size:14px}.cardGrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}@media (width<=900px){.cardGrid{grid-template-columns:1fr}}.card{background:#fff6;border:1px solid #1c1a161f;border-radius:18px;padding:16px;box-shadow:0 12px 30px -24px #14100a0f}.cardTitle{letter-spacing:.1px;font-weight:650}.cardBody{color:var(--muted);margin-top:8px}.tracks{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}@media (width<=900px){.tracks{grid-template-columns:1fr}}.track{background:#ffffff61;border:1px solid #1c1a161f;border-radius:18px;padding:16px}.trackHead{font-family:var(--mono);color:var(--muted);font-size:12px}.trackTitle{margin-top:8px;font-weight:650}.trackBody{color:var(--muted);margin-top:8px}.timeline{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}@media (width<=900px){.timeline{grid-template-columns:1fr}}.phase{background:#ffffff61;border:1px solid #1c1a161f;border-radius:18px;padding:16px}.phaseTitle{margin-bottom:10px;font-weight:650}.footer{z-index:2;gap:8px;padding:14px 22px 18px;display:grid}.nav{grid-template-columns:auto 1fr auto;align-items:center;gap:12px;display:grid}.navBtn{border:1px solid var(--line);cursor:pointer;background:#ffffff59;border-radius:12px;padding:10px 14px}.navBtn:disabled{opacity:.45;cursor:not-allowed}.dots{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.dot{cursor:pointer;background:#fff6;border:1px solid #1c1a1640;border-radius:999px;width:10px;height:10px}.dot.active{background:linear-gradient(135deg, var(--accent), var(--accent2));border-color:#0000}.meta{color:var(--muted);justify-content:space-between;align-items:baseline;gap:12px;display:flex}.counter{font-family:var(--mono);font-size:12px}.hint{font-size:12px}.progress{background:#1c1a161f;border-radius:999px;height:4px;overflow:hidden}.bar{background:linear-gradient(90deg, var(--accent), var(--accent2), var(--accent3));width:0;height:100%;transition:width .24s}.modal{z-index:10;background:#0a080652;place-items:center;padding:18px;display:grid;position:absolute;inset:0}.modalCard{background:#ffffffd1;border:1px solid #ffffff59;border-radius:18px;width:min(760px,100%);overflow:hidden;box-shadow:0 30px 80px -30px #0a080659}.modalHead{border-bottom:1px solid #1c1a161f;justify-content:space-between;align-items:center;padding:14px 16px;display:flex}.modalTitle{font-family:var(--serif);font-weight:700}.x{border:1px solid var(--line);cursor:pointer;background:#ffffff80;border-radius:12px;padding:8px 12px}.modalBody{padding:16px}.helpGrid{grid-template-columns:1fr 1fr;gap:12px;display:grid}@media (width<=640px){.helpGrid{grid-template-columns:1fr}}.helpItem{background:#ffffff73;border:1px solid #1c1a161f;border-radius:14px;grid-template-columns:auto 1fr;align-items:center;gap:12px;padding:12px;display:grid}.kbd{font-family:var(--mono);color:var(--ink);white-space:nowrap;background:#fff9;border:1px solid #1c1a1624;border-radius:10px;padding:6px 10px;font-size:12px}.helpText{color:var(--muted)}.helpNote{color:var(--muted);margin-top:12px;font-size:13px}.miniGrid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}@media (width<=900px){.miniGrid{grid-template-columns:1fr}}.check{background:#ffffff61;border:1px solid #1c1a161f;border-radius:18px;padding:16px}.checkTitle{margin-bottom:10px;font-weight:650}.checkList{color:var(--muted);gap:10px;margin:0;padding:0;list-style:none;display:grid}.checkList li{grid-template-columns:18px 1fr;align-items:start;gap:10px;display:grid}.tick{background:linear-gradient(135deg,#1b5e4ae6,#c76f2ce6);border-radius:6px;width:16px;height:16px;margin-top:2px;box-shadow:0 10px 25px -18px #1b5e4a2e}.pillRow{flex-wrap:wrap;gap:10px;margin-top:12px;display:flex}.pill{color:var(--muted);background:#ffffff8c;border:1px solid #1c1a1624;border-radius:999px;padding:8px 10px;font-size:13px}
