:root{--ink-950: #0a0d18;--ink-925: #0e1222;--ink-900: #141a2e;--ink-700: #2a3254;--ink-500: #5a6385;--ink-400: #8089a8;--ink-300: #a9afc6;--ink-100: #e6e8ef;--ink-50: #f4f5f9;--ember-700: #c1331a;--ember-600: #e34a21;--ember-500: #f56a2d;--ember-300: #ffac7a;--gold-600: #d99a2c;--gold-500: #eab357;--gold-100: #fbecc8;--parchment-50: #fbfaf7;--parchment-100: #f6f4ee;--parchment-200: #ece8dc;--success-600: #15855c;--success-100: #d7f2e3;--warning-700: #8a5a10;--warning-100: #fbecc8;--fg-default: #e4e7f0;--fg-strong: #ffffff;--fg-muted: #97a0bf;--font-display: "Newsreader", ui-serif, Georgia, Cambria, "Times New Roman", serif;--font-sans: "Geist", ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif;--font-mono: "Geist Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace}*,*:before,*:after{box-sizing:border-box}html,body{height:100%;margin:0}body{background:#07080c;color:var(--fg-default);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;overflow:hidden;overscroll-behavior:none}#app{position:fixed;inset:0;overflow:hidden}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}:focus-visible{outline:2px solid rgba(245,106,45,.7);outline-offset:2px}html:not(.is-ready) .book,html:not(.is-ready) .book-shadow{transition:none!important}.topbar{position:absolute;inset:0 0 auto;z-index:20;display:flex;align-items:center;justify-content:space-between;padding:22px 28px;pointer-events:none}.topbar a{pointer-events:auto}.brand{display:inline-flex;align-items:center;gap:10px;color:var(--fg-strong);font-weight:600;font-size:15px;letter-spacing:-.01em;text-decoration:none}.brand img{width:34px;height:auto}.touch{background:var(--ink-50);color:var(--ink-925);border-radius:7px;padding:8px 14px;font-size:13px;font-weight:500;text-decoration:none;box-shadow:0 6px 20px -8px #0009;transition:background .2s,transform .2s}.touch:hover{background:#fff;transform:translateY(-1px)}.topbar button{pointer-events:auto}.site-nav{position:relative;margin-left:auto;margin-right:20px}.site-links{display:flex;gap:24px}.site-links a{color:var(--fg-muted);font-size:14px;font-weight:500;text-decoration:none;transition:color .2s}.site-links a:hover,.site-links a:focus-visible,.site-links a[aria-current=page]{color:var(--fg-strong)}.site-links a[aria-current=page]{box-shadow:inset 0 -2px 0 var(--ember-600);padding-bottom:3px}.menu-btn{display:none;align-items:center;gap:8px;min-height:36px;padding:6px 12px;border:1px solid rgba(255,255,255,.14);border-radius:7px;background:#0e122299;color:var(--fg-strong);font:inherit;font-size:13px;font-weight:500;cursor:pointer}.menu-icon{display:inline-flex;flex-direction:column;gap:3px}.menu-icon i{display:block;width:14px;height:1.5px;border-radius:1px;background:currentColor}@media (max-width: 1060px){.site-nav{margin-right:10px}.menu-btn{display:inline-flex}.site-links{display:none;position:absolute;top:calc(100% + 10px);right:0;min-width:200px;flex-direction:column;gap:0;padding:8px;border:1px solid rgba(255,255,255,.1);border-radius:10px;background:#0a0d18f5;box-shadow:0 18px 40px -12px #000000b3}.site-nav.is-open .site-links{display:flex}.site-links a{padding:11px 12px;border-radius:6px;font-size:15px}.site-links a:hover{background:#ffffff0d}.site-links a[aria-current=page]{box-shadow:inset 2px 0 0 var(--ember-600);padding-bottom:11px}}@media (max-width: 420px){.menu-label{display:none}}.hero{position:absolute;z-index:15;top:88px;left:28px;max-width:560px;pointer-events:none;transition:opacity .6s ease,transform .6s ease}.hero h1{margin:0;color:var(--fg-strong);font-size:clamp(28px,3.3vw,50px);font-weight:600;line-height:1.02;letter-spacing:-.035em}.hero h1 span{display:block}.hero h1 span+span{font-family:var(--font-display);font-style:italic;font-weight:500;letter-spacing:-.02em;color:var(--ember-300)}.hero p{margin:14px 0 0;color:var(--fg-muted);font-size:13px;line-height:1.5;max-width:400px}html:not(.book-closed) .hero{opacity:0;transform:translateY(-12px)}.stage{position:absolute;inset:0;perspective:2200px;perspective-origin:50% 42%;--mx: 0;--my: 0;touch-action:pan-y}.desk,.desk>div{position:absolute;inset:0}.desk-wood{inset:-70% -45% -25%!important;background-color:#0d0c0b;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='2000' height='1400' preserveAspectRatio='none'%3E%3Cfilter id='f' x='0' y='0' width='100%25' height='100%25'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.0016 0.06' numOctaves='4' seed='11' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0.75 0 0 0 0 0.7 0 0 0 0 0.66 0 0 0 0.75 -0.31'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23f)'/%3E%3C/svg%3E"),linear-gradient(180deg,#0a0909,#151211 60%,#0c0b0a);background-size:100% 100%,cover;background-repeat:no-repeat;transform:perspective(1200px) rotateX(30deg);transform-origin:50% 75%}.desk-light{background:radial-gradient(ellipse 34% 30% at 50% 60%,rgba(255,246,232,.2),transparent 70%),radial-gradient(ellipse 60% 50% at 50% 62%,rgba(255,236,210,.07),transparent 75%);mix-blend-mode:screen;transition:opacity .8s}.desk-vignette{background:radial-gradient(ellipse 70% 65% at 50% 60%,transparent 30%,rgba(0,0,0,.88) 100%),linear-gradient(180deg,rgba(7,8,12,.92),rgba(7,8,12,.4) 30%,transparent 50%)}.props{position:absolute;inset:0;pointer-events:none}.prop{position:absolute;--d: 1;translate:calc(var(--mx) * var(--d) * -9px) calc(var(--my) * var(--d) * -6px);transition:translate .6s ease-out,opacity .8s;filter:brightness(.92)}.prop svg{display:block;width:100%;height:auto}.prop-plant{width:clamp(54px,6.5vw,96px);left:9%;top:46%}.prop-pencil{width:clamp(10px,1.1vw,16px);left:12%;top:60%;transform:rotate(38deg)}.prop-cup{width:clamp(80px,9.5vw,140px);right:7%;top:41%}.prop-card{width:clamp(56px,6vw,92px);right:9%;top:70%;transform:rotate(-16deg)}.book-wrap{position:absolute;left:50%;top:57%;width:0;height:0;transform-style:preserve-3d;transform:rotateX(calc(var(--my) * -2.4deg)) rotateY(calc(var(--mx) * 3.2deg));transition:transform .6s ease-out}.book{--rx: 50deg;--rz: -9deg;--tz: 0px;--sc: .8;--shift: -25%;position:absolute;width:calc(var(--pw) * 2);height:var(--ph);left:calc(var(--pw) * -1);top:calc(var(--ph) * -.5);transform-style:preserve-3d;transform:translate(var(--shift)) translateY(var(--ty, 0px)) rotateX(var(--rx)) rotate(var(--rz)) translateZ(var(--tz)) scale(var(--sc));transition:transform 1.15s cubic-bezier(.2,.75,.15,1)}.book.is-closed-front,.book.is-closed-back{cursor:pointer}.book.is-closed-front:hover{--rx: 44deg;--rz: -7deg;--tz: 26px}.book.is-open{--rx: 13deg;--rz: 0deg;--sc: 1}.book.is-closed-back{--rz: 9deg}.book.is-closed-back:hover{--rx: 44deg;--tz: 26px}.book-shadow{position:absolute;inset:4% 1% -3%;border-radius:10px;background:#000000bf;filter:blur(26px);transform:translateZ(-16px);transition:left .9s ease,right .9s ease,opacity .9s}.is-closed-front .book-shadow{left:51%}.is-closed-back .book-shadow{right:51%}.stack{position:absolute;top:100%;width:var(--pw);height:calc(min(var(--count),40)*.42px + 1.5px);transform-origin:50% 0;transform:rotateX(-90deg);background:repeating-linear-gradient(180deg,#ebe6da 0 1px,#c9c1b0 1px 2px);transition:height .4s}.stack-left{left:0;--count: var(--left-count, 0);border-radius:0 0 0 3px}.stack-right{left:50%;--count: var(--right-count, 0);border-radius:0 0 3px}.is-closed-front .stack-left,.is-closed-back .stack-right{display:none}.leaf{position:absolute;top:0;left:50%;width:var(--pw);height:var(--ph);transform-origin:0 50%;transform-style:preserve-3d;pointer-events:none}.face:not([inert]){pointer-events:auto}.is-closed-front .leaf:first-of-type .face-front,.is-closed-back .leaf:last-of-type .face-back{pointer-events:auto}.leaf.is-flipping{will-change:transform}.face{position:absolute;inset:0;overflow:hidden;backface-visibility:hidden;-webkit-backface-visibility:hidden;container-type:size;container-name:page}.face.is-buried{visibility:hidden}.face img,.face video,.plate>*{backface-visibility:hidden;-webkit-backface-visibility:hidden}.face-front{border-radius:0 3px 3px 0}.face-back{transform:rotateY(180deg);border-radius:3px 0 0 3px}.shade{position:absolute;inset:0;opacity:0;pointer-events:none;background:linear-gradient(90deg,#0000008c,#0000001f 55%,#ffffff1a)}.face-back .shade{background:linear-gradient(270deg,#0000008c,#0000001f 55%,#ffffff1a)}.is-open .face-front:not([aria-hidden=true]){cursor:e-resize}.is-open .face-back:not([aria-hidden=true]){cursor:w-resize}.paper{--u: 1cqw;position:absolute;inset:0;display:flex;flex-direction:column;padding:calc(var(--u) * 5.2) calc(var(--u) * 5.6);color:#171c2e;background-color:var(--parchment-100);font-size:calc(var(--u) * 2.15);line-height:1.5}.paper:before{content:"";position:absolute;inset:0;pointer-events:none;opacity:.5;mix-blend-mode:multiply;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='300'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0.6 0 0 0 0 0.56 0 0 0 0 0.5 0 0 0 0.18 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}.paper-right{background-image:linear-gradient(90deg,rgba(60,45,25,.22),rgba(60,45,25,.05) 4%,transparent 10%)}.paper-left{background-image:linear-gradient(270deg,rgba(60,45,25,.22),rgba(60,45,25,.05) 4%,transparent 10%);background-color:#f3efe6}.paper>*{position:relative}@container page (aspect-ratio < 1){.paper{--u: 1.85cqw;padding:calc(var(--u) * 6) calc(var(--u) * 6.2)}}.eyebrow{font-family:var(--font-mono);font-size:calc(var(--u) * 1.25);font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--ember-700)}.page-h{margin:calc(var(--u) * 1.6) 0 calc(var(--u) * 1.4);font-family:var(--font-display);font-weight:500;font-size:calc(var(--u) * 5);line-height:1.02;letter-spacing:-.02em;color:var(--ink-925)}.page-p{margin:0 0 calc(var(--u) * 1.2);color:#3a4058}.signature{margin-top:auto;font-family:var(--font-display);font-style:italic;font-size:calc(var(--u) * 3);color:var(--ink-925)}.folio{position:absolute;bottom:calc(var(--u) * 2.4);font-family:var(--font-mono);font-size:calc(var(--u) * 1.2);letter-spacing:.1em;color:#8a8270}.folio-left{left:calc(var(--u) * 5.6)}.folio-right{right:calc(var(--u) * 5.6)}.toc-list{list-style:none;margin:calc(var(--u) * 2) 0 0;padding:0;display:grid;grid-template-columns:1fr 1fr;grid-template-rows:repeat(var(--rows, 6),auto);grid-auto-flow:column;column-gap:calc(var(--u) * 4);align-content:start}@container page (aspect-ratio < 1){.toc .toc-list{grid-template-columns:1fr;grid-template-rows:none;grid-auto-flow:row;margin-top:calc(var(--u) * 1.2)}.toc .toc-row{padding:calc(var(--u) * .95) 0}.toc .toc-name{font-size:calc(var(--u) * 2.2)}.toc .toc-name small{display:none}}.toc-row{all:unset;box-sizing:border-box;display:flex;align-items:baseline;gap:calc(var(--u) * 1);width:100%;padding:calc(var(--u) * 1.25) 0;border-bottom:1px solid rgba(23,28,46,.1);cursor:pointer;color:var(--ink-925)}.toc-row:hover .toc-name,.toc-row:focus-visible .toc-name{color:var(--ember-700)}.toc-row:focus-visible{outline:2px solid var(--ember-600);outline-offset:2px}.toc-num,.toc-page{font-family:var(--font-mono);font-size:calc(var(--u) * 1.15);color:#8a8270}.toc-name{font-family:var(--font-display);font-size:calc(var(--u) * 2.35);line-height:1.15;transition:color .2s}.toc-name small{display:block;font-family:var(--font-sans);font-size:calc(var(--u) * 1.15);color:#7d7564;letter-spacing:.02em}.toc-dots{flex:1;border-bottom:1px dotted rgba(23,28,46,.25);transform:translateY(-.3em)}.project-name{margin:calc(var(--u) * 1.8) 0 calc(var(--u) * .8);font-family:var(--font-display);font-weight:500;font-size:calc(var(--u) * 6.2);line-height:.98;letter-spacing:-.025em;color:var(--ink-925)}.project-tagline{margin:0 0 calc(var(--u) * 2);font-family:var(--font-display);font-style:italic;font-size:calc(var(--u) * 2.7);line-height:1.25;color:color-mix(in oklab,var(--a1) 45%,#171c2e)}.project-summary{max-width:62ch}.ghost-num{position:absolute!important;right:calc(var(--u) * 4);bottom:calc(var(--u) * 1);font-family:var(--font-display);font-style:italic;font-size:calc(var(--u) * 20);line-height:1;letter-spacing:-.05em;color:transparent;-webkit-text-stroke:1px color-mix(in oklab,var(--a1) 45%,transparent);pointer-events:none;-webkit-user-select:none;user-select:none}@container page (aspect-ratio < 1){.ghost-num{font-size:calc(var(--u) * 15);bottom:calc(var(--u) * 6)}}.project-meta{margin-top:auto;margin-bottom:calc(var(--u) * 2.4);display:flex;flex-wrap:wrap;align-items:center;gap:calc(var(--u) * .9)}.status{display:inline-flex;align-items:center;gap:calc(var(--u) * .6);padding:calc(var(--u) * .45) calc(var(--u) * 1.1);border-radius:999px;font-size:calc(var(--u) * 1.2);font-weight:600;letter-spacing:.02em}.status:before{content:"";width:calc(var(--u) * .7);height:calc(var(--u) * .7);border-radius:50%;background:currentColor}.status-live{background:var(--success-100);color:var(--success-600)}.status-beta,.status-dev{background:var(--warning-100);color:var(--warning-700)}.chips{display:contents;list-style:none}.chips li{padding:calc(var(--u) * .4) calc(var(--u) * .9);border:1px solid rgba(23,28,46,.16);border-radius:999px;font-family:var(--font-mono);font-size:calc(var(--u) * 1.25);color:#4a5068}.project-right{padding:calc(var(--u) * 4.2) calc(var(--u) * 4.6) calc(var(--u) * 5.4);gap:calc(var(--u) * 2.2)}.plate{position:relative;margin:0;flex:1 1 auto;min-height:0;overflow:hidden;border-radius:calc(var(--u) * 1);background:var(--ink-925);box-shadow:0 calc(var(--u) * 1) calc(var(--u) * 2.6) -1px #0e122259;container-type:size}.plate>*{position:absolute;--d: 1;translate:calc(var(--mx, 0) * var(--d) * 1.4cqmin) calc(var(--my, 0) * var(--d) * 1.4cqmin);transition:translate .5s ease-out}.art-bg{inset:-25%;background:radial-gradient(circle at 28% 32%,var(--a1),transparent 52%),radial-gradient(circle at 76% 72%,var(--a2),transparent 48%),radial-gradient(circle at 70% 20%,color-mix(in oklab,var(--a1) 40%,#fff),transparent 30%),var(--ink-925);opacity:.9;animation:art-drift 16s ease-in-out infinite alternate}.art-grid{inset:0;background-image:linear-gradient(rgba(255,255,255,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.08) 1px,transparent 1px);background-size:9cqmin 9cqmin;-webkit-mask-image:radial-gradient(ellipse at 50% 50%,#000 25%,transparent 75%);mask-image:radial-gradient(ellipse at 50% 50%,#000 25%,transparent 75%)}.art-ring{border-radius:50%;border:1px solid rgba(255,255,255,.4)}.art-ring-1{width:78cqmin;height:78cqmin;left:calc(50% - 39cqmin);top:calc(50% - 39cqmin);border-style:dashed;animation:art-spin 48s linear infinite}.art-ring-2{width:52cqmin;height:52cqmin;left:calc(50% - 26cqmin);top:calc(50% - 26cqmin);border-color:#ffffff38;border-top-color:#ffffffd9;animation:art-spin 9s linear infinite reverse}.art-orb{width:22cqmin;height:22cqmin;left:66%;top:14%;border-radius:50%;background:radial-gradient(circle at 35% 30%,#fff,var(--a2) 45%,transparent 72%);filter:blur(.4cqmin);opacity:.8;animation:art-float 7s ease-in-out infinite alternate}.art-glyph{inset:0;display:grid;place-items:center;font-family:var(--font-display);font-style:italic;font-weight:500;font-size:40cqmin;letter-spacing:-.04em;color:#ffffffeb;text-shadow:0 1cqmin 6cqmin rgba(0,0,0,.35)}.face[aria-hidden=true] .plate *,.is-closed-front .plate *,.is-closed-back .plate *{animation-play-state:paused}.face:hover .art-ring-2{animation-duration:3.5s}.face:hover .art-bg{animation-duration:6s}@keyframes art-spin{to{rotate:360deg}}@keyframes art-drift{0%{transform:rotate(0) scale(1)}to{transform:rotate(14deg) scale(1.12)}}@keyframes art-float{0%{transform:translateY(0)}to{transform:translateY(8cqmin)}}.plate-shot{background:#0b0e19}.browser-bar{inset:0 0 auto;height:7cqh;display:flex;align-items:center;gap:1.2cqh;padding:0 2.4cqh;background:#1a2038;z-index:1;translate:none!important}.browser-bar i{width:1.8cqh;height:1.8cqh;border-radius:50%;background:#ffffff40}.shot-frame{inset:7cqh 0 0;overflow:hidden;--d: .6}.shot-media{display:block;width:100%;height:100%;object-fit:cover;object-position:top center;transition:transform 6s ease-out}.face:hover .shot-media{transform:scale(1.04)}.highlights{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:calc(var(--u) * 2.2);font-size:calc(var(--u) * 1.75);line-height:1.35;color:#2f3550}.highlights span{display:block;margin-bottom:calc(var(--u) * .5);font-family:var(--font-mono);font-size:calc(var(--u) * 1.1);color:var(--ember-700)}@container page (aspect-ratio < 1){.project-right .plate{flex:0 0 54%}.highlights{grid-template-columns:1fr;gap:calc(var(--u) * 1.4);font-size:calc(var(--u) * 1.7)}.highlights li{display:grid;grid-template-columns:calc(var(--u) * 3.4) 1fr}}.visit{align-self:flex-start;font-size:calc(var(--u) * 1.35);font-weight:600;color:var(--ember-700);text-decoration:none;border-bottom:1px solid currentColor}.page-links{display:flex;flex-wrap:wrap;gap:calc(var(--u) * .6) calc(var(--u) * 2.2)}.elsewhere{list-style:none;margin:auto 0 calc(var(--u) * 3);padding:0;border-top:1px solid rgba(23,28,46,.12)}.elsewhere li{border-bottom:1px solid rgba(23,28,46,.12)}.elsewhere a{display:flex;justify-content:space-between;align-items:baseline;padding:calc(var(--u) * 1.1) 0;color:var(--ink-925);text-decoration:none;font-family:var(--font-display);font-size:calc(var(--u) * 2.3)}.elsewhere a small{font-family:var(--font-mono);font-size:calc(var(--u) * 1.15);color:#8a8270}.elsewhere a:hover{color:var(--ember-700)}.closing-cta{align-items:center;justify-content:center;text-align:center;background-color:var(--ink-925);background-image:radial-gradient(ellipse at 50% 40%,rgba(245,106,45,.25),transparent 60%),linear-gradient(90deg,rgba(0,0,0,.4),transparent 10%);color:var(--fg-strong)}.closing-cta:before{display:none}.cta-mark{font-size:calc(var(--u) * 4);color:var(--gold-500)}.cta-line{margin:calc(var(--u) * 1.6) 0 calc(var(--u) * 3);font-family:var(--font-display);font-size:calc(var(--u) * 4.8);line-height:1.05;letter-spacing:-.02em}.cta-btn{display:inline-flex;gap:calc(var(--u) * .8);padding:calc(var(--u) * 1.3) calc(var(--u) * 2.6);border-radius:calc(var(--u) * .8);background:var(--ember-600);color:#fff;font-size:calc(var(--u) * 1.7);font-weight:600;text-decoration:none;box-shadow:0 calc(var(--u) * 1) calc(var(--u) * 3) -1px #e34a218c}.cta-btn:hover{background:var(--ember-500)}.closing-cta .folio{color:var(--ink-400)}.cover{--u: 1cqw;position:absolute;inset:0;display:flex;flex-direction:column;padding:calc(var(--u) * 7);color:var(--gold-100);background:radial-gradient(ellipse at 28% 18%,#171717,transparent 60%),linear-gradient(90deg,rgba(0,0,0,.55),rgba(255,255,255,.06) 2.5%,transparent 6%),linear-gradient(160deg,#080808,#000 70%)}@container page (aspect-ratio < 1){.cover{--u: 1.85cqw}}.cover-back{background:radial-gradient(ellipse at 70% 18%,#171717,transparent 60%),linear-gradient(270deg,rgba(0,0,0,.55),rgba(255,255,255,.06) 2.5%,transparent 6%),linear-gradient(200deg,#080808,#000 70%);align-items:center;justify-content:center}.cover-grain{position:absolute;inset:0;opacity:.55;mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='260' height='260'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='1.1' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.6'/%3E%3C/svg%3E")}.cover-frame{position:absolute;inset:calc(var(--u) * 3.2);border:1px solid rgba(234,179,87,.35);border-radius:2px;box-shadow:inset 0 0 0 calc(var(--u) * .6) #00000026,inset 0 0 0 calc(var(--u) * .7) #eab3571f}.cover>:not(.cover-grain):not(.cover-frame):not(.cover-ribbon){position:relative}.cover-top,.cover-back-mark{display:flex;align-items:center;gap:calc(var(--u) * 1.4);font-size:calc(var(--u) * 1.6);font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:#fbecc8bf}.cover-logo{width:calc(var(--u) * 5.5);height:auto}.cover-title{margin-top:auto}.cover-brand{display:block;width:76%;height:auto;margin:0 auto calc(var(--u) * 2.4);mix-blend-mode:screen}.cover-title h1{margin:0;font-family:var(--font-display);font-weight:500;font-size:calc(var(--u) * 9);line-height:.95;letter-spacing:-.03em;background:linear-gradient(180deg,#fff3e9,var(--gold-500) 70%,#b88423);-webkit-background-clip:text;background-clip:text;color:transparent}.cover-title p{margin:calc(var(--u) * 1.6) 0 0;font-family:var(--font-mono);font-size:calc(var(--u) * 1.5);letter-spacing:.22em;text-transform:uppercase;color:#fbecc899}.cover-foot{margin-top:calc(var(--u) * 3);font-family:var(--font-display);font-style:italic;font-size:calc(var(--u) * 2.2);color:#fbecc8b3}.cover-ribbon{position:absolute;right:14%;bottom:0;width:calc(var(--u) * 2.2);height:16%;background:linear-gradient(90deg,var(--ember-700),var(--ember-500) 50%,var(--ember-700));clip-path:polygon(0 0,100% 0,100% 100%,50% 82%,0 100%);box-shadow:0 0 6px #00000080}.open-hint{position:absolute;left:50%;bottom:max(6%,28px);translate:-50% 0;z-index:12;padding:9px 16px;border:1px solid rgba(255,255,255,.14);border-radius:999px;background:#0e12228c;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:var(--fg-default);font:500 12.5px var(--font-sans);letter-spacing:.02em;cursor:pointer;transition:opacity .5s,transform .5s;animation:hint 2.6s ease-in-out infinite}html:not(.book-closed) .open-hint{opacity:0;pointer-events:none;animation:none}@keyframes hint{50%{transform:translateY(-4px)}}.controls{position:absolute;left:50%;bottom:max(4.5%,calc(18px + env(safe-area-inset-bottom)));translate:-50% 0;z-index:12;display:flex;align-items:center;gap:4px;padding:5px;border:1px solid rgba(255,255,255,.12);border-radius:999px;background:#0e1222b8;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:0 18px 40px -16px #000c;transition:opacity .5s,transform .5s}html.book-closed .controls{opacity:0;transform:translateY(12px);pointer-events:none}.ctl{display:grid;place-items:center;min-width:38px;height:38px;padding:0 10px;border:0;border-radius:999px;background:transparent;color:var(--fg-default);font:500 15px var(--font-sans);cursor:pointer;transition:background .2s,color .2s}.ctl:hover:not(:disabled){background:#ffffff14;color:#fff}.ctl:disabled{opacity:.35;cursor:default}.ctl-text{font-size:12.5px;padding:0 14px}.ctl-status{display:flex;flex-direction:column;align-items:center;min-width:150px;max-width:220px;padding:0 8px;line-height:1.2}.ctl-label{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12.5px;color:#fff}.ctl-count{font-family:var(--font-mono);font-size:10.5px;color:var(--fg-muted)}html.is-mobile .topbar{padding:14px 16px}html.is-mobile .brand span{font-size:14px}html.is-mobile .hero{top:64px;left:16px;right:16px}html.is-mobile .hero h1{font-size:27px}html.is-mobile .hero p{font-size:12.5px}html.is-mobile .book-wrap{top:58%}html.is-mobile .book{--rx: 34deg;--rz: -5deg;--sc: .78}html.is-mobile .book.is-open{--rx: 6deg;--rz: 0deg;--sc: 1}html.is-mobile.book-open .book-wrap{top:50%}html.is-mobile .prop-pencil,html.is-mobile .prop-card{display:none}html.is-mobile .prop-plant{left:-4%;top:30%}html.is-mobile .prop-cup{right:-6%;top:76%}html.is-mobile .ctl-text{display:none}html.is-mobile .ctl-status{min-width:0;width:46vw}@media (prefers-reduced-motion: reduce){.book,.book-wrap,.book-shadow,.prop,.plate>*{transition:none!important}.plate *,.open-hint{animation:none!important}}.pop{--u: calc(var(--pw) / 100);position:absolute;left:0;top:0;width:var(--pw);height:var(--ph);transform:translateZ(2px);transform-style:preserve-3d;pointer-events:none}.pop-stage{position:absolute;left:0;top:calc(50% - 35 * var(--u));width:calc(100 * var(--u));height:calc(70 * var(--u));transform-style:preserve-3d}.pfloor{position:absolute;inset:0;transform:translateZ(.5px);opacity:0;transition:opacity .35s}.is-up .pfloor{opacity:1;transition:opacity .6s .2s}.pfloor svg{display:block;width:100%;height:100%;overflow:visible}.pc{position:absolute;left:calc(var(--x) * var(--u));top:calc((var(--y) - var(--h)) * var(--u));width:calc(var(--w) * var(--u));height:calc(var(--h) * var(--u));transform-origin:50% 100%;transform:rotateX(0);opacity:0;transition:transform .45s cubic-bezier(.5,0,.75,0),opacity .2s linear .25s}.is-up .pc{transform:rotateX(calc(var(--a) * -1)) translateY(calc(var(--lift) * var(--u) * -1));opacity:1;transition:transform .95s cubic-bezier(.3,1.45,.55,1) calc(var(--i) * 90ms + .12s),opacity .15s linear calc(var(--i) * 90ms + .12s)}.pc svg{display:block;width:100%;height:100%;overflow:visible}.pop text{font-family:var(--font-sans);font-weight:600}.psh{position:absolute;left:calc((var(--x) - 1) * var(--u));top:calc((var(--y) - 3 - var(--lift) * .2) * var(--u));width:calc((var(--w) + 2) * var(--u));height:calc(5 * var(--u));transform:translateZ(.3px) scaleY(.2);background:radial-gradient(closest-side,rgba(45,32,15,calc(.32 - var(--lift) * .008)),transparent);opacity:0;transition:opacity .3s,transform .45s}.is-up .psh{opacity:1;transform:translateZ(.3px) scaleY(1);transition:opacity .5s calc(var(--i) * 90ms + .2s),transform .9s calc(var(--i) * 90ms + .2s)}.psh-box{top:calc((var(--y) - 2) * var(--u))}.pbox{position:absolute;left:calc(var(--x) * var(--u));top:calc(var(--y) * var(--u));width:calc(var(--w) * var(--u));height:calc(var(--d) * var(--u));transform-style:preserve-3d;transform:translateZ(0) scaleZ(.02);opacity:0;transition:transform .45s cubic-bezier(.5,0,.75,0),opacity .2s .25s}.is-up .pbox{transform:translateZ(calc(var(--lift) * var(--u))) scaleZ(1);opacity:1;transition:transform .9s cubic-bezier(.3,1.4,.55,1) calc(var(--i) * 90ms + .15s),opacity .15s calc(var(--i) * 90ms + .15s)}.pf{position:absolute;display:block}.pf-top{inset:0;transform:translateZ(calc(var(--h) * var(--u)));background:color-mix(in oklab,var(--c) 72%,white)}.pf-front{left:0;width:100%;top:calc((var(--d) - var(--h)) * var(--u));height:calc(var(--h) * var(--u));transform-origin:50% 100%;transform:rotateX(-90deg);background:var(--c)}.pf-left{top:0;height:100%;left:calc(var(--h) * var(--u) * -1);width:calc(var(--h) * var(--u));transform-origin:100% 50%;transform:rotateY(90deg);background:color-mix(in oklab,var(--c) 72%,black)}.pf-right{top:0;height:100%;left:100%;width:calc(var(--h) * var(--u));transform-origin:0 50%;transform:rotateY(-90deg);background:color-mix(in oklab,var(--c) 82%,black)}.pf-label{position:absolute;inset:0;display:grid;place-items:center;font:600 calc(2.1 * var(--u)) / 1 var(--font-sans);color:#fff;letter-spacing:.02em}.pf-label-top{font-family:var(--font-mono);font-size:calc(1.8 * var(--u));color:#a9afc6}.pf-meter{position:absolute;inset:12% 22%;border:calc(.4 * var(--u)) solid #a9afc6;border-radius:calc(.6 * var(--u));overflow:hidden}.pf-meter i{position:absolute;inset:0;background:linear-gradient(0deg,#48c08a,#eab357);transform:scaleY(.15);transform-origin:50% 100%}.is-up .pf-meter i{animation:p-meter 3s ease-out 1.6s both}@keyframes p-meter{to{transform:scaleY(.94)}}.book.is-open.is-popping{--rx: 40deg;--ty: calc(var(--ph) * .08)}html.is-mobile .book.is-open.is-popping{--rx: 36deg;--ty: calc(var(--ph) * .04)}.leaf.is-popping .face-front .paper>:not(.folio){opacity:0;transition:opacity .6s}.leaf .face-front .paper>*{transition:opacity .6s .3s}:where(.pop svg *){transform-box:fill-box;transform-origin:center}.a-draw{stroke-dasharray:1;stroke-dashoffset:1}.is-up .a-draw{animation:p-draw var(--dur, 1.4s) ease-out var(--d, 1s) forwards}@keyframes p-draw{to{stroke-dashoffset:0}}.is-up .a-flow{animation:p-flow var(--dur, 1.2s) linear var(--d, .8s) infinite}@keyframes p-flow{to{stroke-dashoffset:-60}}.is-up .a-spin{animation:p-spin var(--dur, 8s) linear infinite}@keyframes p-spin{to{rotate:360deg}}.is-up .a-bob{animation:p-bob var(--dur, 2.2s) ease-in-out var(--d, 0s) infinite alternate}@keyframes p-bob{to{translate:0 -10%}}.is-up .a-blink{animation:p-blink var(--dur, 1s) steps(1) var(--d, 1s) infinite}@keyframes p-blink{50%{opacity:.15}}.a-grow{transform-origin:50% 100%;scale:1 0}.is-up .a-grow{animation:p-grow var(--dur, .9s) cubic-bezier(.3,1.4,.55,1) var(--d, 1s) forwards}@keyframes p-grow{to{scale:1 1}}.a-growx{transform-origin:0 50%;scale:0 1}.is-up .a-growx{animation:p-growx .5s ease-out var(--d, 1s) forwards}@keyframes p-growx{to{scale:1 1}}.a-pop{scale:0}.is-up .a-pop{animation:p-pop .6s cubic-bezier(.3,1.6,.5,1) var(--d, 1.5s) forwards}@keyframes p-pop{to{scale:1}}.a-fade{opacity:0}.is-up .a-fade{animation:p-fade .6s ease-out var(--d, 1s) forwards}@keyframes p-fade{to{opacity:1}}.is-up .a-drift{animation:p-drift var(--dur, 6s) ease-in-out var(--d, 0s) infinite alternate}@keyframes p-drift{to{translate:var(--dx, 20%) 0}}.is-up .a-swing{transform-origin:100% 100%;animation:p-swing 1.1s cubic-bezier(.5,0,.2,1) var(--d, 1s) infinite}@keyframes p-swing{0%,to{rotate:-38deg}45%{rotate:4deg}55%{rotate:0deg}}.a-spark{opacity:0}.is-up .a-spark{animation:p-spark 1.1s ease-out var(--d, 1.6s) infinite}@keyframes p-spark{0%{opacity:0;translate:0 0}6%{opacity:1}60%{opacity:0;translate:var(--sx) var(--sy)}to{opacity:0}}.a-drop{opacity:0}.is-up .a-drop{animation:p-drop .9s var(--d, 1.5s) forwards}@keyframes p-drop{0%{opacity:0;translate:0 -140%;animation-timing-function:cubic-bezier(.5,0,1,.6)}60%{opacity:1;translate:0 0}78%{translate:0 -14%}to{opacity:1;translate:0 0}}.a-fall{opacity:0}.is-up .a-fall{animation:p-fall 1.2s ease-in var(--d, 1s) infinite}@keyframes p-fall{0%{opacity:0;translate:0 0}15%{opacity:1}to{opacity:0;translate:0 var(--fy, 40px)}}.a-move{opacity:0}.is-up .a-move{animation:p-move var(--dur, 3s) ease-in-out var(--d, 1s) infinite}@keyframes p-move{0%{opacity:0;translate:0 0}12%{opacity:1}85%{opacity:1}to{opacity:0;translate:var(--mx, 0) var(--my, 0)}}.is-up .a-sway{transform-origin:75% 0;animation:p-sway 3s ease-in-out var(--d, 1s) infinite alternate}@keyframes p-sway{0%{rotate:-6deg}to{rotate:6deg}}.a-needle{transform-origin:50% 100%;rotate:-88deg}.is-up .a-needle{animation:p-needle 1.8s cubic-bezier(.3,1.3,.5,1) var(--d, 1s) forwards}@keyframes p-needle{to{rotate:52deg}}.a-tilt{transform-origin:50% 0;rotate:-12deg}.is-up .a-tilt{animation:p-tilt 2.4s cubic-bezier(.3,1.6,.5,1) var(--d, 1.5s) forwards}@keyframes p-tilt{to{rotate:0deg}}.a-wave{transform-origin:0 50%}.is-up .a-wave{animation:p-wave .8s ease-in-out var(--d, 1s) infinite alternate}@keyframes p-wave{to{scale:.75 1}}.is-up .a-light{animation:p-light .5s ease-out var(--d, 2.5s) forwards}@keyframes p-light{to{fill:#ffd36b}}.replay{position:absolute!important;left:calc(var(--u) * 4.6);bottom:calc(var(--u) * 1.9);display:inline-flex;align-items:center;gap:calc(var(--u) * .6);padding:calc(var(--u) * .5) calc(var(--u) * 1.2);border:1px solid rgba(23,28,46,.18);border-radius:999px;background:#fff9;color:var(--ember-700);font:600 calc(var(--u) * 1.15) var(--font-sans);letter-spacing:.02em;cursor:pointer}.replay:hover{background:#fff}@container page (aspect-ratio < 1){.replay{bottom:calc(var(--u) * 2.4)}}@media (prefers-reduced-motion: reduce){.replay{display:none}}html.is-mobile .stage{perspective:1100px}.scene3d{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;opacity:0;transition:opacity .3s}.scene3d.is-on{opacity:1}.scene-controls{position:absolute;z-index:30;bottom:100px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:12px;padding:8px 12px;max-width:94vw;border:1px solid rgba(255,255,255,.18);border-radius:12px;background:#0e1222f0;color:#efeadf;font-size:12px;white-space:nowrap}.scene-controls[hidden]{display:none}.scene-controls button{min-height:44px;padding:0 10px;border:0;border-radius:6px;background:#efeadf;color:#0e1222;font:inherit;cursor:pointer}.scene-controls button:focus-visible{outline:2px solid #eab357;outline-offset:3px}@media (max-width: 420px){.scene-controls{gap:6px;padding:6px}}
