:root{--bg:#f0f0ed;--fg:#171716;--fg-dim:#171716bd;--fg-muted:#17171680;--border:#17171621;--border-active:#17171657;--font-display:"Space Grotesk", system-ui, -apple-system, sans-serif;--font-body:"Inter", system-ui, -apple-system, sans-serif;--font-mono:"JetBrains Mono", "SF Mono", monospace;--text-xs:clamp(.6rem, .55rem + .2vw, .7rem);--text-sm:clamp(.7rem, .65rem + .2vw, .8rem);--text-base:clamp(.8rem, .75rem + .25vw, .95rem);--text-lg:clamp(.95rem, .85rem + .4vw, 1.15rem);--text-xl:clamp(1.1rem, .95rem + .6vw, 1.4rem);--text-2xl:clamp(1.4rem, 1.1rem + 1.2vw, 2.2rem);--text-3xl:clamp(1.8rem, 1.3rem + 2vw, 3.2rem);--text-4xl:clamp(2.2rem, 1.5rem + 3vw, 4.5rem);--text-hero:clamp(2.8rem, 1.8rem + 4vw, 6rem);--ease-out:cubic-bezier(.16, 1, .3, 1);--ease-in-out:cubic-bezier(.65, 0, .35, 1);--dur-fast:.2s;--dur-normal:.4s;--dur-slow:.8s;--dur-glacial:1.4s}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html,body,#root{background:var(--bg);width:100%;height:100dvh;color:var(--fg);font-family:var(--font-body);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-weight:400;overflow:hidden}::selection{background:var(--fg);color:var(--bg)}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:none}:focus-visible{outline:1px solid var(--fg);outline-offset:4px}.room{z-index:3;background:#f8f8f526;grid-template-rows:auto 1fr auto;width:100vw;height:100dvh;display:grid;position:relative;overflow:hidden;box-shadow:inset 0 1px #fffc,inset 0 -1px #17171614}.architectural-background{z-index:0;pointer-events:none;background:#eeeeeb;position:fixed;inset:0;overflow:hidden}.architectural-background:before{content:"";filter:saturate(.76)contrast(.98)brightness(1.015);background-image:url(/images/live-code-gallery-clean-v4.png);background-position:bottom;background-repeat:no-repeat;background-size:cover;position:absolute;inset:0}.architectural-background:after{content:none}@media (width<=767px){.architectural-background:before{filter:saturate(.68)contrast(.94)brightness(1.035);background-position:bottom;background-size:auto 100%}}@media (width>=768px){.room{grid-template-rows:auto 1fr;grid-template-columns:1fr minmax(260px,30%)}}.header{z-index:10;grid-column:1/-1;justify-content:space-between;align-items:center;padding:clamp(.75rem,2vw,1.25rem) clamp(1rem,3vw,2.5rem);display:flex}.header__logo{font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.2em;text-transform:uppercase;color:var(--fg-dim);-webkit-user-select:none;user-select:none}.header__nav{align-items:center;gap:clamp(.75rem,2vw,1.5rem);display:flex}.header__actions{align-items:center;gap:clamp(.8rem,2vw,1.5rem);display:flex}.language-switch{border-left:1px solid var(--border);align-items:center;padding-left:clamp(.7rem,1.5vw,1rem);display:flex}.language-switch__option{font-family:var(--font-mono);letter-spacing:.12em;color:var(--fg-muted);transition:color var(--dur-normal) var(--ease-out);padding:.35em .45em;font-size:.58rem;position:relative}.language-switch__option:hover{color:var(--fg-dim)}.language-switch__option.active{color:var(--fg)}.language-switch__option+.language-switch__option:before{content:"/";color:var(--fg-muted);opacity:.45;position:absolute;left:-.15em}.header__link{font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.15em;text-transform:uppercase;color:var(--fg-muted);transition:color var(--dur-normal) var(--ease-out);padding:.25em 0;position:relative}.header__link:hover{color:var(--fg-dim)}.header__link.active{color:var(--fg)}.header__link.active:after{content:"";background:var(--fg);opacity:.4;height:1px;position:absolute;bottom:0;left:0;right:0}.header__link .kbd{opacity:.3;vertical-align:super;margin-left:.3em;font-size:.6rem}@media (width<=767px){.header__link .kbd{display:none}.header,.header__actions,.header__nav{gap:.65rem}.header__link{letter-spacing:.1em;font-size:.56rem}.language-switch{padding-left:.5rem}.language-switch__option{font-size:.52rem}}.stage{justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:relative;overflow:hidden}.stage__inner{z-index:2;justify-content:center;align-items:center;width:100%;height:100%;padding:clamp(1rem,3vw,3rem);display:flex;position:relative}.rail{z-index:5;-webkit-backdrop-filter:blur(12px)saturate(.86)contrast(1.04)brightness(1.015);background:linear-gradient(135deg,#ffffff21 0%,#fffffc0b 48%,#efefea05 100%);border:1px solid #ffffffa3;border-color:#ffffffa3 #ffffff61 #2b27201f #ffffff85;border-radius:6px;grid-template-rows:1fr auto;align-items:stretch;height:auto;margin:clamp(1.25rem,2.8vh,2.25rem) clamp(2.25rem,4vw,4.5rem) clamp(2.75rem,6.5vh,5.25rem) clamp(.85rem,1.4vw,1.5rem);padding:clamp(2.4rem,4.2vw,4.5rem) clamp(1.25rem,2.6vw,2.5rem) clamp(1.25rem,2.4vw,2rem);display:grid;position:relative;overflow:hidden;transform:none;box-shadow:0 30px 38px -30px #2b27204d,0 16px 48px #2b27200b,inset 1px 1px #ffffff7a,inset -1px -1px #2b272005}.rail--concealed{visibility:hidden;opacity:0;pointer-events:none;transform:translate(14px)scale(.997)}.rail--revealed{animation:.96s cubic-bezier(.22,.72,.24,1) both rail-reveal}.rail--still{animation:none}@keyframes rail-reveal{0%{opacity:0;transform:translate(14px)scale(.997)}to{opacity:1;transform:translate(0)scale(1)}}.rail:before{content:"";z-index:0;opacity:.72;pointer-events:none;background:linear-gradient(118deg,#fff3 0%,#ffffff0b 18%,#0000 38%),linear-gradient(300deg,#ffffff14 0%,#0000 28%);position:absolute;inset:0}.rail:after{content:"";z-index:0;pointer-events:none;background:linear-gradient(105deg,#0000 38%,#ffffff42 50%,#0000 62%);animation:16s ease-in-out infinite glass-refraction;position:absolute;inset:-35% 54% -35% -28%;transform:translate(-65%)}.rail__glass-field{z-index:0;opacity:.82;pointer-events:none;width:100%;height:100%;position:absolute;inset:0}@keyframes glass-refraction{0%,18%{opacity:0;transform:translate(-65%)}42%{opacity:.65}68%,to{opacity:0;transform:translate(190%)}}@media (width>=768px){.rail{display:grid}}.rail__body{z-index:1;text-shadow:0 1px #ffffff6b;flex-direction:column;justify-content:center;align-self:stretch;width:min(100%,21rem);min-height:0;margin:0 auto;padding:0;display:flex;position:relative}.rail__logo{font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.25em;text-transform:uppercase;color:var(--fg-muted);margin-bottom:clamp(2.35rem,5.5vh,3.75rem)}.rail__caps{flex-direction:column;gap:.52rem;margin-bottom:clamp(1.85rem,4vh,3rem);display:flex}.rail__cap{font-family:var(--font-display);color:var(--fg-dim);letter-spacing:.03em;font-size:clamp(.8rem,.72rem + .25vw,.95rem);font-weight:600;line-height:1.15}.rail__price{border-top:1px solid var(--border);align-items:baseline;gap:.5em;margin-bottom:clamp(1.25rem,2.7vh,2rem);padding-top:clamp(1.5rem,3vh,2.25rem);display:flex}.rail__amount{font-family:var(--font-display);color:var(--fg);letter-spacing:-.02em;font-size:clamp(3rem,2.1rem + 2.8vw,4.35rem);font-weight:700;line-height:.92}.rail__period{font-family:var(--font-mono);font-size:var(--text-sm);color:var(--fg-muted);letter-spacing:.1em}.rail__copy{color:var(--fg-dim);margin-bottom:clamp(1.3rem,2.8vh,2rem);font-size:clamp(.84rem,.78rem + .28vw,1rem);font-weight:450;line-height:1.6}.rail__cta{font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.32em;text-transform:uppercase;color:var(--fg);border:1px solid var(--border-active);width:100%;transition:opacity var(--dur-normal) var(--ease-out);background:#ffffff1f;justify-content:center;align-items:center;gap:.75em;padding:.95em 1.5em;display:flex}.rail__cta:hover{background:#1717160b}.rail__cta:focus-visible{outline:1px solid var(--fg);outline-offset:3px}.rail__cta-arrow{transition:transform var(--dur-normal) var(--ease-out)}.rail__cta:hover .rail__cta-arrow{transform:translate(3px)}.rail__leave{color:var(--fg-dim);margin-top:clamp(1.25rem,2.5vh,1.75rem);font-size:clamp(.76rem,.71rem + .2vw,.88rem);font-weight:450;line-height:1.6}.rail__legal{z-index:1;text-shadow:0 1px #ffffff6b;z-index:1;justify-content:center;gap:clamp(1.15rem,2vw,1.75rem);width:min(100%,21rem);margin:0 auto;display:flex;position:relative}.rail__legal a{font-family:var(--font-mono);letter-spacing:.22em;color:var(--fg-muted);transition:color var(--dur-fast);font-size:.58rem}.rail__legal a:hover{color:var(--fg-dim)}.dock{padding:.75rem 1rem calc(.75rem + env(safe-area-inset-bottom,0px));border-top:1px solid var(--border);z-index:10;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#f0f0edf0;flex-direction:column;grid-column:1/-1;align-items:center;gap:.5rem;display:flex}@media (width>=768px){.dock{display:none}}.dock__action{justify-content:space-between;align-items:center;width:100%;display:flex}.dock__price{font-family:var(--font-display);font-size:var(--text-sm);color:var(--fg-dim);font-weight:600}.dock__enter{font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.15em;text-transform:uppercase;color:var(--fg);border:1px solid var(--border-active);transition:opacity var(--dur-normal) var(--ease-out);background:0 0;padding:.55em 1.2em}.dock__enter:hover{opacity:.85}.signal-canvas{z-index:2;pointer-events:none;width:100%;height:100%;position:fixed;top:0;left:0}.why{width:100%;height:100%;position:relative}.why__fragments{z-index:1;pointer-events:none;transition:opacity 1.5s ease-out;position:absolute;inset:0}.why__frag{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--fg-muted);white-space:nowrap;-webkit-user-select:none;user-select:none;opacity:0;will-change:transform, opacity;position:absolute}.why__content{z-index:2;align-items:stretch;width:100%;height:100%;display:flex;position:relative}.why__left{flex-direction:column;flex:0 0 40%;justify-content:center;gap:clamp(1rem,2vh,2rem);padding:clamp(3.2rem,7vh,5.8rem) clamp(2rem,3.5vw,4rem) clamp(2rem,4vh,3.5rem);display:flex;position:relative}.why__divider{background:var(--border);align-self:stretch;width:1px;margin:clamp(2rem,5vh,4rem) 0}.why__right{flex-direction:column;flex:1;justify-content:center;gap:clamp(1.5rem,3vh,2.5rem);min-height:0;padding:clamp(3.2rem,7vh,5.8rem) clamp(2rem,4vw,5rem) clamp(2rem,4vh,3.5rem);display:flex;position:relative}.why__letter{scrollbar-width:none;-ms-overflow-style:none;flex-direction:column;gap:clamp(.6rem,1.2vh,1rem);min-height:0;max-height:min(62vh,38rem);padding-left:0;padding-right:clamp(.35rem,.6vw,.6rem);display:flex;overflow-y:auto}.why__letter::-webkit-scrollbar{display:none}.why__letter-p{color:var(--fg-dim);text-align:justify;text-align-last:left;text-justify:inter-word;-webkit-hyphens:auto;hyphens:auto;font-size:clamp(.84rem,.78rem + .26vw,1rem);font-weight:400;line-height:1.8}.why__letter-p--strong{color:var(--fg);font-weight:500}.why__scroll-hint{pointer-events:none;color:#17171661;background:linear-gradient(#0000,#1717163d,#0000);width:1px;height:clamp(4rem,14vh,7.25rem);position:absolute;top:50%;left:clamp(.65rem,1.4vw,1.35rem);transform:translateY(-50%)}.why__scroll-hint:after{content:"";border-bottom:1px solid;border-right:1px solid;width:.34rem;height:.34rem;position:absolute;bottom:-.28rem;left:50%;transform:translate(-50%)rotate(45deg)}.why__scroll-hint span{font-family:var(--font-mono);letter-spacing:.18em;text-transform:uppercase;color:#17171661;writing-mode:vertical-rl;font-size:.52rem;position:absolute;top:50%;right:.72rem;transform:translateY(-50%)rotate(180deg)}.why__hero{font-family:var(--font-display);letter-spacing:-.03em;color:var(--fg);font-size:clamp(2.8rem,1.7rem + 2.2vw,3.8rem);font-weight:700;line-height:1}@supports not ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){.rail{background:#f7f7f385}}.why__sub{font-family:var(--font-display);color:#171716c7;font-size:clamp(1.18rem,1rem + .65vw,1.5rem);font-weight:500;line-height:1.4}.why__actions{flex-wrap:wrap;align-items:center;gap:.65rem;display:flex}.why__cta-btn{font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.15em;text-transform:uppercase;color:var(--fg);border:1px solid var(--border-active);transition:background var(--dur-normal) var(--ease-out);background:#ffffff1f;align-self:flex-start;padding:.85em 2.2em}.why__cta-btn:hover{background:#1717160b}.why__sig{border-top:1px solid var(--border);margin-top:clamp(1.5rem,3vh,2.5rem);padding-top:clamp(.75rem,1.5vh,1.25rem)}@media (width<=767px){.why__content{flex-direction:column}.why__left{flex:none;padding:clamp(1.5rem,4vw,3rem) clamp(1.5rem,4vw,3rem) clamp(1rem,2vh,1.5rem)}.why__divider{width:100%;height:1px;margin:0 clamp(1.5rem,4vw,3rem)}.why__right{flex:1;padding:clamp(1rem,2vh,1.5rem) clamp(1.5rem,4vw,3rem) clamp(1.5rem,3vw,2.5rem)}.why__letter{max-height:none;padding-left:0;padding-right:0;overflow:visible}.why__scroll-hint{display:none}.why__hero{font-size:var(--text-2xl)}.why__letter-p{font-size:clamp(.76rem,.72rem + .2vw,.86rem)}}.loop{width:100%;height:100%;position:relative}.loop__layout{z-index:2;align-items:stretch;width:100%;height:100%;display:flex;position:relative}.loop__process{flex-direction:column;flex:1;justify-content:center;padding:clamp(2rem,4vw,4rem);display:flex}.loop__modules{border-left:1px solid var(--border);flex-direction:column;flex:0 0 320px;justify-content:center;padding:clamp(2rem,4vw,4rem);display:flex}.loop__mod-label{font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.25em;text-transform:uppercase;color:var(--fg-muted);margin-bottom:clamp(1.5rem,3vh,2.5rem)}.loop__mod-list{flex-direction:column;display:flex}.loop__mod-item{border-bottom:1px solid var(--border);padding:clamp(.6rem,1.2vh,1rem) 0}.loop__mod-name{font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.2em;text-transform:uppercase;color:var(--fg-dim);margin-bottom:.25rem}.loop__mod-desc{color:var(--fg-dim);opacity:0;max-height:0;transition:all var(--dur-slow) var(--ease-out);font-size:clamp(.74rem,.69rem + .22vw,.86rem);font-weight:450;line-height:1.55;overflow:hidden}.loop__mod-item:hover .loop__mod-desc,.loop__mod-item:focus-within .loop__mod-desc{opacity:1;max-height:80px;margin-top:.3rem}@media (width<=767px){.loop__layout{flex-direction:column}.loop__process{flex:1;padding:clamp(1.5rem,4vw,3rem)}.loop__modules{border-left:none;border-top:1px solid var(--border);flex:none;padding:clamp(1rem,2vh,1.5rem) clamp(1.5rem,4vw,3rem) clamp(1.5rem,3vw,2.5rem)}.loop__mod-desc{opacity:1;max-height:none;margin-top:.25rem}}.loop__steps{flex-direction:column;align-items:flex-start;gap:.25rem;margin-bottom:clamp(1.5rem,3vh,2.5rem);display:flex}.loop__step{font-family:var(--font-display);font-size:var(--text-2xl);letter-spacing:-.02em;color:var(--fg);opacity:0;transition:all var(--dur-slow) var(--ease-out);font-weight:700;transform:translateY(6px)}.loop.visible .loop__step{opacity:1;transform:translateY(0)}.loop.visible .loop__step:first-child{transition-delay:0s}.loop.visible .loop__step:nth-child(3){transition-delay:.5s}.loop.visible .loop__step:nth-child(5){transition-delay:1s}.loop.visible .loop__step:nth-child(7){transition-delay:1.5s}.loop__arrow{font-size:var(--text-sm);color:var(--fg-muted);opacity:0;transition:opacity var(--dur-slow) var(--ease-out);margin-left:.5em}.loop.visible .loop__arrow{opacity:.5}.loop.visible .loop__arrow:nth-child(2){transition-delay:.25s}.loop.visible .loop__arrow:nth-child(4){transition-delay:.75s}.loop.visible .loop__arrow:nth-child(6){transition-delay:1.25s}.loop__symbol{font-size:var(--text-lg);color:var(--fg-muted);opacity:0;transition:opacity var(--dur-slow) var(--ease-out) 2s;margin-left:.5em}.loop.visible .loop__symbol{opacity:.5}.loop__copy{color:var(--fg-dim);opacity:0;max-width:42ch;transition:opacity var(--dur-slow) var(--ease-out) 2.2s;margin-bottom:clamp(1rem,2vh,2rem);font-size:clamp(.76rem,.7rem + .24vw,.88rem);font-weight:450;line-height:1.7}.loop.visible .loop__copy{opacity:1}.loop__capacities{opacity:0;transition:opacity var(--dur-slow) var(--ease-out) 2.5s;margin-bottom:clamp(1rem,2vh,1.5rem)}.loop.visible .loop__capacities{opacity:1}.loop__cap-label{font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.2em;text-transform:uppercase;color:var(--fg-muted);margin-bottom:clamp(.5rem,1vh,.75rem)}.loop__cap-grid{border-top:1px solid var(--border);border-bottom:1px solid var(--border);background:0 0;grid-template-columns:1fr 1fr;display:grid}.loop__cap-item{text-align:left;background:0 0;flex-direction:column;gap:.2rem;padding:clamp(.5rem,1vh,.85rem) clamp(.6rem,1.2vw,1rem);display:flex}.loop__cap-item:nth-child(2n){border-left:1px solid var(--border)}.loop__cap-item:nth-child(n+3){border-top:1px solid var(--border)}.loop__cap-word{font-family:var(--font-display);font-size:var(--text-base);color:var(--fg);font-weight:700}.loop__cap-q{color:#171716bd;opacity:0;filter:blur(1.5px);transition:opacity .8s var(--ease-out), filter .8s var(--ease-out), transform .8s var(--ease-out), color var(--dur-normal) var(--ease-out);font-size:clamp(.66rem,.61rem + .18vw,.76rem);font-weight:450;line-height:1.4;transform:translateY(5px)}.loop.visible .loop__cap-q{opacity:1;filter:blur();transform:translateY(0)}.loop.visible .loop__cap-item:first-child .loop__cap-q{transition-delay:2.6s,2.6s,2.6s,0s}.loop.visible .loop__cap-item:nth-child(2) .loop__cap-q{transition-delay:2.75s,2.75s,2.75s,0s}.loop.visible .loop__cap-item:nth-child(3) .loop__cap-q{transition-delay:2.9s,2.9s,2.9s,0s}.loop.visible .loop__cap-item:nth-child(4) .loop__cap-q{transition-delay:3.05s,3.05s,3.05s,0s}.loop__cap-item:hover .loop__cap-q{color:var(--fg);transform:translate(2px)}.loop__final{font-family:var(--font-display);font-size:var(--text-lg);color:var(--fg-dim);opacity:0;max-width:28ch;transition:opacity var(--dur-glacial) var(--ease-out) 2.8s;font-weight:600;line-height:1.3}.loop.visible .loop__final{opacity:1}.loop__system{text-align:left;opacity:0;max-width:500px;transition:opacity var(--dur-slow) var(--ease-out) 3.3s;margin-top:clamp(2rem,4vh,3rem);margin-left:auto;margin-right:auto}.loop.visible .loop__system{opacity:1}.harvey{justify-content:center;align-items:center;width:100%;height:100%;padding:clamp(1.5rem,4vw,4rem);display:flex;position:relative}.harvey__inner{width:100%;max-width:540px}.harvey__body{font-size:var(--text-lg);color:var(--fg-dim);text-align:justify;-webkit-hyphens:auto;hyphens:auto;font-weight:300;line-height:1.85}.why__right .harvey__body{font-size:var(--text-sm);line-height:1.7}.why__right .harvey__body p{margin-bottom:clamp(.4rem,.8vh,.7rem)}.harvey__body p{opacity:0;transition:all var(--dur-slow) var(--ease-out);margin-bottom:clamp(.75rem,1.5vh,1.25rem);transform:translateY(6px)}.harvey.visible .harvey__body p{opacity:1;transform:translateY(0)}.harvey.visible .harvey__body p:first-child{transition-delay:.1s}.harvey.visible .harvey__body p:nth-child(2){transition-delay:.3s}.harvey.visible .harvey__body p:nth-child(3){transition-delay:.5s}.harvey.visible .harvey__body p:nth-child(4){transition-delay:.7s}.harvey.visible .harvey__body p:nth-child(5){transition-delay:.9s}.harvey.visible .harvey__body p:nth-child(6){transition-delay:1.1s}.harvey.visible .harvey__body p:nth-child(7){transition-delay:1.3s}.harvey.visible .harvey__body p:nth-child(8){transition-delay:1.5s}.harvey__sig{opacity:0;transition:opacity var(--dur-slow) var(--ease-out) 1.8s;margin-top:clamp(2rem,4vh,3rem)}.harvey.visible .harvey__sig{opacity:1}.harvey__name{font-family:var(--font-display);font-size:var(--text-base);color:var(--fg);font-weight:600}.harvey__role{font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.15em;text-transform:uppercase;color:var(--fg-muted);margin-top:.2em}.final-cta{text-align:center;z-index:5;opacity:0;transition:opacity var(--dur-glacial) var(--ease-out) 2s;position:absolute;bottom:clamp(2rem,5vh,4rem);left:50%;transform:translate(-50%)}.loop.visible .final-cta,.harvey.visible .final-cta{opacity:1}.final-cta__line{font-family:var(--font-display);font-size:var(--text-xl);color:var(--fg);margin-bottom:.75rem;font-weight:600}.final-cta__btn{font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.15em;text-transform:uppercase;color:var(--bg);background:var(--fg);transition:opacity var(--dur-normal) var(--ease-out);align-items:center;gap:.5em;padding:.65em 1.8em;display:inline-flex}.final-cta__btn:hover{opacity:.85}.final-cta__arrow{transition:transform var(--dur-normal) var(--ease-out)}.final-cta__btn:hover .final-cta__arrow{transform:translate(3px)}.letter-reader{grid-template-rows:auto 2px minmax(0,1fr) auto;gap:clamp(.6rem,1.2vh,.9rem);width:min(100%,56rem);height:100%;min-height:0;padding:clamp(.25rem,1vh,.75rem) 0;display:grid}.letter-reader__meta{font-family:var(--font-mono);letter-spacing:.2em;color:var(--fg-muted);text-transform:uppercase;justify-content:space-between;align-items:center;font-size:.58rem;display:flex}.letter-reader__progress{appearance:none;background:var(--border);border:0;width:100%;height:1px;overflow:hidden}.letter-reader__progress::-webkit-progress-bar{background:var(--border)}.letter-reader__progress::-webkit-progress-value{background:var(--fg-dim);transition:width .7s var(--ease-out)}.letter-reader__progress::-moz-progress-bar{background:var(--fg-dim)}.letter-reader__viewport{perspective:2400px;isolation:isolate;min-height:0;position:relative;overflow:hidden}.letter-page{-webkit-backdrop-filter:blur(6px)saturate(.9);transform-origin:0;backface-visibility:hidden;will-change:transform, opacity;background:linear-gradient(108deg,#fffffc4d,#f7f7f31f);border-left:1px solid #17171629;border-right:1px solid #ffffff9e;grid-template-rows:auto minmax(0,1fr);gap:clamp(.8rem,1.7vh,1.25rem);width:100%;height:100%;min-height:0;padding:clamp(1.25rem,2.6vw,2.35rem) clamp(1.35rem,3.3vw,3.25rem);display:grid;position:relative;box-shadow:0 20px 45px #2b27200e,inset 1px 0 #ffffff85}.letter-page--incoming{z-index:1}.letter-page--outgoing{z-index:2;pointer-events:none;position:absolute;inset:0}.letter-page--incoming.letter-page--next{animation:.96s cubic-bezier(.22,.72,.24,1) both letter-page-in-next}.letter-page--incoming.letter-page--prev{animation:.96s cubic-bezier(.22,.72,.24,1) both letter-page-in-prev}.letter-page--outgoing.letter-page--next{animation:.96s cubic-bezier(.4,0,.2,1) both letter-page-out-next}.letter-page--outgoing.letter-page--prev{animation:.96s cubic-bezier(.4,0,.2,1) both letter-page-out-prev}.letter-page--still{animation:none}@keyframes letter-page-in-next{0%{opacity:0;transform:translate(14px)scale(.997)}to{opacity:1;transform:translate(0)scale(1)}}@keyframes letter-page-in-prev{0%{opacity:0;transform:translate(-14px)scale(.997)}to{opacity:1;transform:translate(0)scale(1)}}@keyframes letter-page-out-next{0%{opacity:1;transform:translate(0)rotateY(0)}to{opacity:0;transform:translate(-12px)rotateY(.65deg)}}@keyframes letter-page-out-prev{0%{opacity:1;transform:translate(0)rotateY(0)}to{opacity:0;transform:translate(12px)rotateY(-.65deg)}}.letter-page__header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:baseline;gap:1rem;padding-bottom:clamp(.65rem,1.2vh,.9rem);display:flex}.letter-page__header h1,.letter-page__header span{font-family:var(--font-mono);letter-spacing:.2em;color:var(--fg-dim);font-size:clamp(.58rem,.54rem + .14vw,.68rem);font-weight:500}.letter-page__header span{color:var(--fg-muted);white-space:nowrap;font-size:.55rem}.letter-page__body{min-height:0;font-family:var(--font-body);color:#171716c7;text-align:justify;text-align-last:left;text-justify:inter-word;-webkit-hyphens:auto;hyphens:auto;scrollbar-width:thin;scrollbar-color:#17171633 transparent;padding-right:clamp(.3rem,.8vw,.7rem);font-size:clamp(.84rem,.8rem + .18vw,.96rem);font-weight:400;line-height:1.68;overflow-y:auto}.letter-page__body p{margin-bottom:1.15em}.letter-page__body p:last-child{margin-bottom:0}.letter-page__body::-webkit-scrollbar{width:3px}.letter-page__body::-webkit-scrollbar-track{background:0 0}.letter-page__body::-webkit-scrollbar-thumb{background:#17171633}.letter-page__body--empty{justify-content:center;align-items:center;display:flex}.letter-reader__controls{grid-template-columns:2.25rem 1fr 2.25rem;align-items:center;gap:1rem;display:grid}.letter-reader__turn{border:1px solid var(--border-active);width:2.25rem;height:2.25rem;color:var(--fg);transition:background var(--dur-normal) var(--ease-out), opacity var(--dur-normal) var(--ease-out), transform var(--dur-normal) var(--ease-out);place-items:center;display:grid}.letter-reader__turn:hover:not(:disabled){background:#ffffff57;transform:translateY(-1px)}.letter-reader__turn:disabled{opacity:.22;cursor:default}.letter-reader__folio{font-family:var(--font-mono);letter-spacing:.22em;color:var(--fg-muted);justify-self:center;font-size:.58rem}@media (width<=767px){.stage--why,.stage--loop,.stage--letter{overscroll-behavior-y:contain;scrollbar-width:none;-webkit-overflow-scrolling:touch;align-items:flex-start;overflow:hidden auto}.stage--why::-webkit-scrollbar{display:none}.stage--loop::-webkit-scrollbar{display:none}.stage--letter::-webkit-scrollbar{display:none}.stage--why .stage__inner,.stage--loop .stage__inner,.stage--letter .stage__inner{align-items:flex-start;height:auto;min-height:100%}.stage--why .why,.stage--why .why__content,.stage--loop .loop,.stage--loop .loop__layout{height:auto;min-height:100%}.letter-reader{gap:.5rem;height:auto;min-height:100%;padding:0}.letter-reader__viewport{overflow:visible}.letter-reader__meta{font-size:.52rem}.letter-page{background:#fffffc38;grid-template-rows:auto auto;gap:.65rem;height:auto;padding:1rem 1rem .85rem}.letter-page__header{flex-direction:column;align-items:flex-start;gap:.25rem;padding-bottom:.55rem}.letter-page__body{text-align:justify;text-align-last:left;padding-right:.45rem;font-size:.84rem;line-height:1.62;overflow:visible}.letter-reader__controls{grid-template-columns:2rem 1fr 2rem;gap:.65rem}.letter-reader__turn{width:2rem;height:2rem}}@media (width<=520px){.header__logo{display:none}.header{justify-content:flex-end}}.transition-veil{background:var(--bg);z-index:50;pointer-events:none;opacity:0;transition:opacity var(--dur-slow) var(--ease-in-out);position:fixed;inset:0}.transition-veil.active{opacity:1}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}.why__frag{opacity:.1!important;transform:none!important}.rail:after{opacity:0;animation:none!important}.loop__step,.loop__arrow,.loop__symbol,.loop__copy,.loop__final,.loop__capacities,.loop__modules{opacity:1!important;transform:none!important}.loop__cap-q{opacity:1!important;filter:none!important;transition-delay:0s!important;transform:none!important}.harvey__body p,.harvey__sig{opacity:1!important;transform:none!important}.letter-page{filter:none!important;animation:none!important;transform:none!important}}@media (height<=500px){html,body,#root,.room{height:auto;min-height:100dvh;overflow:auto}}
