:root{color-scheme:dark;--ink:oklch(95% .004 260);--muted:oklch(72% .004 260);--quiet:oklch(53% .004 260);--ground:oklch(11.5% .004 260);--raised:oklch(15.5% .004 260);--panel:oklch(19% .004 260);--line:oklch(29% .004 260);--phone-scale:.76;font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,Segoe UI,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--ground)}body{background:var(--ground);color:var(--ink);margin:0;overflow-x:clip}button,a{font:inherit;-webkit-tap-highlight-color:transparent}a:focus-visible{outline:2px solid var(--ink);outline-offset:4px}.shell{grid-template-columns:minmax(440px,1.05fr) minmax(430px,.95fr);min-height:100vh;display:grid}.story{min-width:0}.preview{border-left:1px solid var(--line);background:var(--raised);grid-template-rows:auto minmax(0,1fr) auto;height:100svh;display:grid;position:sticky;top:0;overflow:hidden}.preview-head{z-index:3;pointer-events:none;justify-content:space-between;align-items:baseline;gap:20px;padding:20px 24px 0;display:flex}.preview-head span{color:var(--quiet);letter-spacing:.08em;text-transform:uppercase;font-size:11px;font-weight:720}.preview-head strong{letter-spacing:-.02em;text-align:right;max-width:36ch;font-size:13px}.phone-stage{place-items:center;min-height:0;display:grid;position:relative;overflow:hidden}.phone-stage:before{content:"";background:linear-gradient(90deg, color-mix(in oklch, var(--ink) 6%, transparent) 1px, transparent 1px), linear-gradient(color-mix(in oklch, var(--ink) 6%, transparent) 1px, transparent 1px);opacity:.42;transform-origin:50%;background-size:18px 18px;animation:8s cubic-bezier(.16,1,.3,1) infinite alternate gridBreathe;position:absolute;inset:12% 6%;transform:perspective(760px)rotateX(58deg)translateY(18%);mask-image:radial-gradient(#000,#0000 72%)}@keyframes gridBreathe{0%{opacity:.28;transform:perspective(760px)rotateX(58deg)translateY(20%)scale(.96)}to{opacity:.52;transform:perspective(760px)rotateX(54deg)translateY(15%)scale(1.04)}}iphone-16-max.phone{z-index:2;width:415px;transform:translate(-50%, -50%) scale(var(--phone-scale));transform-origin:50%;filter:drop-shadow(0 30px 36px oklch(3% .002 260/.48));display:block;position:absolute;top:50%;left:50%}.phone iframe{background:oklch(14% .003 260);border:0;width:100%;height:100%;display:block}.preview-foot{z-index:3;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:16px;padding:0 24px 22px;display:grid}.progress{background:var(--line);border-radius:999px;height:2px;overflow:hidden}.progress i{background:var(--ink);width:9.09091%;height:100%;transition:width .42s cubic-bezier(.16,1,.3,1);display:block}.preview-foot span{color:var(--muted);font-variant-numeric:tabular-nums;font-size:12px}.hero{border-bottom:1px solid var(--line);flex-direction:column;justify-content:center;min-height:100svh;padding:clamp(56px,9vw,132px) clamp(24px,6vw,92px);display:flex}.hero-kicker{color:var(--muted);margin:0 0 22px;font-size:13px;font-weight:650}.hero h1{letter-spacing:-.075em;max-width:10ch;margin:0;font-size:clamp(58px,8.2vw,126px);font-weight:690;line-height:.88}.hero>p:not(.hero-kicker){max-width:56ch;color:var(--muted);letter-spacing:-.025em;margin:30px 0 0;font-size:clamp(17px,1.8vw,23px);line-height:1.5}.connect-line{color:var(--quiet);flex-wrap:wrap;align-items:center;gap:10px 22px;margin-top:clamp(42px,7vw,84px);font-size:12px;display:flex}.connect-line strong{color:var(--ink);font-weight:650}.connect-line span{position:relative}.connect-line span+span:before{content:"";background:var(--quiet);border-radius:50%;width:3px;height:3px;position:absolute;top:50%;left:-13px}.scene{border-bottom:1px solid var(--line);opacity:.38;align-content:center;gap:28px;min-height:100svh;padding:clamp(68px,10vw,144px) clamp(24px,6vw,92px);scroll-margin-top:0;transition:opacity .36s cubic-bezier(.16,1,.3,1);display:grid}.scene.is-active{opacity:1}.scene-count{color:var(--quiet);font-variant-numeric:tabular-nums;align-items:center;gap:12px;font-size:12px;display:flex}.scene-count:after{content:"";background:var(--line);width:46px;height:1px}.scene h2{letter-spacing:-.06em;max-width:12ch;margin:0;font-size:clamp(38px,5.2vw,76px);font-weight:660;line-height:.98}.scene>p{max-width:54ch;color:var(--muted);margin:0;font-size:clamp(16px,1.6vw,21px);line-height:1.55}.scene-notes{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:24px;max-width:680px;padding-top:6px;display:grid}.scene-notes section{border-top:1px solid var(--line);min-width:0;padding-top:14px}.scene-notes h3{color:var(--quiet);letter-spacing:.1em;text-transform:uppercase;margin:0 0 8px;font-size:10px;font-weight:720}.scene-notes p,.scene-notes ul{color:var(--muted);margin:0;font-size:12px;line-height:1.55}.scene-notes ul{padding-left:16px}.scene-notes li+li{margin-top:5px}.source-note{border-left:1px solid var(--line);max-width:680px;color:var(--quiet);padding-left:14px;font-size:11px;line-height:1.5}.source-note strong{color:var(--muted)}.closing{align-content:center;gap:24px;min-height:78svh;padding:clamp(72px,11vw,156px) clamp(24px,6vw,92px);display:grid}.closing h2{letter-spacing:-.07em;max-width:9ch;margin:0;font-size:clamp(48px,7vw,104px);line-height:.9}.closing p{max-width:48ch;color:var(--muted);margin:0;font-size:18px;line-height:1.55}@media (width<=980px){.shell{flex-direction:column;display:flex}.preview{z-index:20;border-left:0;border-bottom:1px solid var(--line);order:-1;height:min(58svh,560px);position:sticky;top:0}.preview-head{padding:12px 18px 0}.preview-head strong{font-size:12px}.preview-foot{padding:0 18px 12px}.hero{min-height:72svh}.scene{opacity:1;min-height:72svh}}@media (width<=620px){.preview{height:53svh}.preview-head{align-items:center}.preview-head strong{text-overflow:ellipsis;white-space:nowrap;max-width:24ch;overflow:hidden}.hero{padding:62px 22px 72px}.hero h1{font-size:clamp(52px,18vw,76px)}.scene{gap:22px;padding:76px 22px}.scene h2{font-size:clamp(40px,13vw,60px)}.scene-notes{grid-template-columns:1fr;gap:18px}.closing{padding:90px 22px 110px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}
