:root{--ink:#10231b;--ink-soft:#2c4338;--paper:#f0eee5;--paper-bright:#faf9f4;--paper-deep:#dfded3;--line:#b9beb3;--green:#176b4d;--green-bright:#d7eadf;--signal:#d86d3d;--font-serif:"Noto Serif SC", "Source Han Serif SC", "Songti SC", "STSong", serif;--font-sans:"Noto Sans SC", "Source Han Sans SC", "Microsoft YaHei", sans-serif;--font-mono:"IBM Plex Mono", "Cascadia Mono", "SFMono-Regular", Consolas, monospace}*{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--paper)}body{color:var(--ink);font-family:var(--font-sans);background:linear-gradient(#10231b09 1px, transparent 1px), linear-gradient(90deg, #10231b06 1px, transparent 1px), var(--paper);-webkit-font-smoothing:antialiased;background-size:24px 24px;margin:0}a{color:inherit}.skip-link{z-index:100;color:var(--paper-bright);background:var(--ink);padding:.7rem 1rem;position:fixed;top:.75rem;left:.75rem;transform:translateY(-160%)}.skip-link:focus{transform:translateY(0)}.site-header{z-index:10;border-bottom:1px solid var(--ink);justify-content:space-between;align-items:center;width:min(100% - 48px,1320px);min-height:86px;margin:0 auto;display:flex;position:relative}.brand{color:var(--ink);align-items:center;gap:.75rem;text-decoration:none;display:inline-flex}.brand-mark{border:2px solid var(--ink);background:var(--paper-bright);width:34px;height:42px;box-shadow:4px 4px 0 var(--green);gap:4px;padding:8px 7px;display:grid}.brand-mark span{border-top:2px solid var(--ink);display:block}.brand strong,.brand small{display:block}.brand strong{font-family:var(--font-serif);letter-spacing:.02em;font-size:1.14rem}.brand small{color:var(--ink-soft);font-family:var(--font-mono);letter-spacing:.08em;margin-top:.12rem;font-size:.65rem}.desktop-nav{align-items:center;gap:1.8rem;font-size:.9rem;font-weight:650;display:flex}.desktop-nav>a{text-decoration:none;position:relative}.desktop-nav>a:not(.github-link):after{background:var(--green);content:"";transform-origin:0;height:2px;transition:transform .18s;position:absolute;bottom:-.45rem;left:0;right:0;transform:scaleX(0)}.desktop-nav>a:hover:after,.desktop-nav>a:focus-visible:after{transform:scaleX(1)}.github-link{color:var(--paper-bright);background:var(--ink);align-items:center;gap:.45rem;padding:.65rem .85rem;display:inline-flex}.mobile-nav{display:none;position:relative}.mobile-nav summary{border:1px solid var(--ink);cursor:pointer;place-items:center;width:44px;height:44px;list-style:none;display:grid}.mobile-nav summary::-webkit-details-marker{display:none}.mobile-nav nav{border:1px solid var(--ink);background:var(--paper-bright);width:190px;padding:.4rem;display:grid;position:absolute;top:calc(100% + .5rem);right:0;box-shadow:7px 7px #10231b33}.mobile-nav nav a{padding:.8rem;text-decoration:none}.shell{width:min(100% - 48px,1320px);margin-inline:auto}.hero-stage{height:calc(100svh - 86px);min-height:0;max-height:900px;position:relative;overflow:hidden}.hero{grid-template-columns:minmax(0,1.08fr) minmax(380px,.92fr);align-items:center;gap:clamp(3rem,7vw,7rem);height:100%;min-height:0;padding:clamp(34px,5vh,64px) 0 220px;display:grid}.hero-stage .hero h1{font-size:clamp(3rem,5.2vw,5.6rem)}.hero-stage .hero .eyebrow{margin-bottom:.9rem}.hero-stage .hero-lede{margin-top:1.2rem;line-height:1.65}.hero-stage .hero-actions{margin-top:1.25rem}.hero-stage .hero-specs{margin-top:1.5rem}.hero-stage .screen-schematic{width:min(100%,340px)}.eyebrow{color:var(--green);font-family:var(--font-mono);letter-spacing:.14em;margin:0 0 1.35rem;font-size:.72rem;font-weight:700}.eyebrow span{color:var(--paper-bright);background:var(--green);padding:.28rem .45rem;display:inline-block}.hero h1{max-width:820px;font-family:var(--font-serif);letter-spacing:-.055em;margin:0;font-size:clamp(3.25rem,6vw,6.7rem);font-weight:750;line-height:.98}.hero h1>span{color:var(--signal);font-family:var(--font-mono);letter-spacing:.17em;margin-bottom:.7rem;font-size:.16em;font-weight:700;display:block}.hero-lede{max-width:650px;color:var(--ink-soft);font-family:var(--font-serif);margin:2rem 0 0;font-size:clamp(1.06rem,1.5vw,1.3rem);line-height:1.9}.hero-actions{flex-wrap:wrap;align-items:center;gap:.8rem;margin-top:2.25rem;display:flex}.button{border:1px solid var(--ink);justify-content:center;align-items:center;gap:.7rem;min-height:48px;padding:.8rem 1.15rem;font-size:.92rem;font-weight:750;text-decoration:none;transition:transform .16s,box-shadow .16s,background .16s;display:inline-flex}.button:hover,.button:focus-visible{transform:translate(-2px,-2px)}.button-primary{color:var(--paper-bright);background:var(--ink);box-shadow:5px 5px 0 var(--green)}.button-primary:hover,.button-primary:focus-visible{box-shadow:7px 7px 0 var(--green)}.button-secondary{background:var(--paper-bright)}.inline-action{color:var(--ink);text-underline-offset:.35rem;align-items:center;gap:.4rem;padding:.7rem .35rem;font-weight:750;text-decoration-thickness:1px;display:inline-flex}.hero-specs{border-top:1px solid var(--line);border-bottom:1px solid var(--line);grid-template-columns:repeat(4,1fr);max-width:700px;margin:3rem 0 0;display:grid}.hero-specs div{padding:.85rem 1rem .95rem 0}.hero-specs dt{color:#68766f;font-family:var(--font-mono);letter-spacing:.09em;font-size:.65rem}.hero-specs dd{font-family:var(--font-mono);margin:.35rem 0 0;font-size:.92rem;font-weight:750}.hero-visual{position:relative}.screen-schematic{width:min(100%,470px);margin:0 auto;padding:28px 34px 0 28px;position:relative}.screen-frame{border:2px solid var(--ink);background:#20372d;border-radius:12px;width:76%;margin:0 auto;padding:15px;position:relative;transform:rotate(1.6deg);box-shadow:18px 20px #176b4d2e}.screen-paper{aspect-ratio:684/1216;background:radial-gradient(circle at 80% 16%,#176b4d1a,#0000 23%),#f6f4e9;border:1px solid #8d9b92;padding:1.1rem;position:relative;overflow:hidden}.screen-meta{border-bottom:1px solid var(--ink);font-family:var(--font-mono);letter-spacing:.08em;justify-content:space-between;font-size:.47rem;display:flex}.screen-title{z-index:2;margin-top:34%;position:relative}.screen-title span,.screen-title strong{display:block}.screen-title span{color:var(--green);letter-spacing:.16em;margin-bottom:.5rem;font-size:.58rem}.screen-title strong{font-family:var(--font-serif);letter-spacing:-.05em;font-size:clamp(1.55rem,3vw,2.8rem);line-height:1.1}.screen-grid{aspect-ratio:1;background-color:#0000;background-image:linear-gradient(#10231b1f 1px,#0000 1px),linear-gradient(90deg,#10231b1f 1px,#0000 1px);background-position:0 0,0 0;background-repeat:repeat,repeat;background-size:18px 18px;background-attachment:scroll,scroll;background-origin:padding-box,padding-box;background-clip:border-box,border-box;border:1px solid #10231b38;width:66%;position:absolute;bottom:11%;right:-15%;transform:rotate(18deg)}.screen-touch{z-index:2;font-family:var(--font-mono);align-items:center;gap:.4rem;font-size:.5rem;font-weight:700;display:flex;position:absolute;bottom:1rem;left:1rem}.screen-fpc{border:1px solid var(--ink);background:#c78142;justify-content:space-between;width:30px;height:74px;padding:7px 4px;display:flex;position:absolute;bottom:18%;right:-29px}.screen-fpc span{background:#f3d18b;width:2px}.dimension{color:var(--ink-soft);font-family:var(--font-mono);font-size:.6rem;position:absolute}.dimension:before,.dimension:after{content:"";background:var(--ink);position:absolute}.dimension-top{border-top:1px solid var(--ink);text-align:center;width:58%;top:0;left:24%}.dimension-top:before,.dimension-top:after{width:1px;height:8px;top:-4px}.dimension-top:before{left:0}.dimension-top:after{right:0}.dimension-top span{background:var(--paper);padding:0 .35rem;position:relative;top:-1.05rem}.dimension-side{border-right:1px solid var(--ink);height:70%;top:14%;right:0}.dimension-side:before,.dimension-side:after{width:8px;height:1px;right:-4px}.dimension-side:before{top:0}.dimension-side:after{bottom:0}.dimension-side span{background:var(--paper);width:max-content;padding:.3rem;position:absolute;top:50%;right:-1.55rem;transform:rotate(90deg)translate(50%)}.screen-schematic figcaption{color:var(--ink-soft);font-family:var(--font-mono);letter-spacing:.07em;justify-content:center;align-items:center;gap:.5rem;margin-top:2rem;font-size:.62rem;display:flex}.home-project-rail{z-index:4;border:1px solid var(--ink);background:var(--paper-bright);height:198px;position:absolute;bottom:18px;left:0;right:0;overflow:hidden;box-shadow:8px 8px #10231b26}.home-project-rail__header{border-bottom:1px solid var(--ink);justify-content:space-between;align-items:center;gap:16px;min-height:57px;padding:9px 14px;display:flex}.home-project-rail__header>div:first-child{align-items:baseline;gap:12px;display:flex}.home-project-rail__header span{color:var(--green);font-family:var(--font-mono);letter-spacing:.1em;font-size:.62rem;font-weight:700}.home-project-rail__header h2{font-family:var(--font-serif);letter-spacing:-.03em;margin:0;font-size:1.25rem}.home-project-rail__actions{align-items:center;gap:6px;display:flex}.home-project-rail__actions a{text-underline-offset:.25rem;align-items:center;gap:5px;margin-right:8px;font-size:.75rem;font-weight:700;text-decoration-thickness:1px;display:inline-flex}.home-project-rail__actions button{border:1px solid var(--ink);width:34px;height:34px;color:var(--ink);cursor:pointer;background:0 0;place-items:center;padding:0;display:grid}.home-project-rail__actions button:hover:not(:disabled),.home-project-rail__actions button:focus-visible{color:var(--paper-bright);background:var(--ink)}.home-project-rail__actions button:disabled{border-color:var(--line);color:var(--line);cursor:default}.home-project-track{outline-offset:-3px;scroll-behavior:smooth;scroll-snap-type:x mandatory;scrollbar-color:var(--green) var(--paper-deep);scrollbar-width:thin;gap:12px;height:140px;padding:10px 14px 14px;scroll-padding-inline:14px;display:flex;overflow-x:auto}.home-project-track:focus-visible{outline:2px solid var(--signal)}.home-project-card{border:1px solid var(--line);border-top:3px solid var(--project-accent);background:linear-gradient(120deg, color-mix(in srgb, var(--project-accent) 9%, transparent), transparent 58%), var(--paper);scroll-snap-align:start;flex-direction:column;flex:0 0 clamp(390px,38vw,500px);min-height:112px;padding:14px 48px 13px 16px;text-decoration:none;transition:border-color .16s,background .16s;display:flex;position:relative}.home-project-card:hover,.home-project-card:focus-visible{border-color:var(--ink);background-color:var(--paper-bright)}.home-project-card>span{color:var(--project-accent);font-family:var(--font-mono);letter-spacing:.07em;text-transform:uppercase;font-size:.61rem;font-weight:700}.home-project-card strong{font-family:var(--font-serif);letter-spacing:-.025em;margin-top:auto;font-size:1.12rem}.home-project-card small{color:var(--ink-soft);font-family:var(--font-mono);margin-top:5px;font-size:.62rem}.home-project-card>svg{position:absolute;top:14px;right:14px}.journey-section{padding:100px 0}.section-heading{grid-template-columns:1fr auto;align-items:end;gap:1rem 3rem;margin-bottom:2.8rem;display:grid}.section-heading .eyebrow{grid-column:1/-1;margin-bottom:0}.section-heading h2,.manifest-copy h2{max-width:780px;font-family:var(--font-serif);letter-spacing:-.045em;margin:0;font-size:clamp(2.2rem,4.4vw,4.6rem);line-height:1.08}.section-heading>p:last-child{max-width:380px;color:var(--ink-soft);margin:0;line-height:1.75}.manifest-section{color:var(--paper-bright);background:linear-gradient(#ffffff09 1px, transparent 1px), var(--ink);background-size:22px 22px;padding:110px 0}.manifest-grid{grid-template-columns:minmax(0,.9fr) minmax(420px,1.1fr);align-items:center;gap:clamp(3rem,8vw,8rem);display:grid}.manifest-copy .eyebrow{color:#a7d8bd}.manifest-copy>p:not(.eyebrow){color:#cdd6d0;max-width:650px;font-family:var(--font-serif);margin:1.8rem 0 0;line-height:1.9}.trust-row{flex-wrap:wrap;gap:1rem 1.4rem;margin-top:2rem;display:flex}.trust-row span{color:#d7eadf;font-family:var(--font-mono);align-items:center;gap:.45rem;font-size:.72rem;display:inline-flex}.manifest-copy .inline-action{color:var(--paper-bright);margin-top:1.4rem}.resource-ledger{border-top:1px solid #728078}.resource-ledger a{border-bottom:1px solid #728078;grid-template-columns:50px 1fr auto;align-items:center;gap:1rem;min-height:126px;padding:1.25rem 0;text-decoration:none;transition:padding .18s,background .18s;display:grid}.resource-ledger a:hover,.resource-ledger a:focus-visible{background:#ffffff0e;padding-inline:1rem}.ledger-number{color:#9fb4a8;font-family:var(--font-mono);font-size:.68rem}.resource-ledger small,.resource-ledger strong,.resource-ledger em{display:block}.resource-ledger small{color:#a7d8bd;font-family:var(--font-mono);letter-spacing:.12em;font-size:.6rem}.resource-ledger strong{font-family:var(--font-serif);margin-top:.35rem;font-size:1.22rem}.resource-ledger em{color:#aebcb4;font-family:var(--font-mono);margin-top:.35rem;font-size:.68rem;font-style:normal}.section-heading.compact{display:block}.journey-track{border-top:1px solid var(--ink);border-left:1px solid var(--ink);grid-template-columns:repeat(4,1fr);margin:3.4rem 0 0;padding:0;list-style:none;display:grid}.journey-track li{border-right:1px solid var(--ink);border-bottom:1px solid var(--ink);min-height:240px;padding:1.2rem}.journey-track li>span{color:var(--signal);font-family:var(--font-mono);margin-bottom:3.6rem;font-size:.68rem;display:block}.journey-track strong{font-family:var(--font-serif);margin-top:1rem;font-size:1.25rem;display:block}.journey-track p{color:var(--ink-soft);margin:.5rem 0 0;font-size:.88rem;line-height:1.7}.site-footer{border-top:1px solid var(--ink);justify-content:space-between;align-items:flex-end;gap:2rem;width:min(100% - 48px,1320px);min-height:220px;margin:0 auto;padding:3rem 0;display:flex}.footer-index{color:var(--signal);font-family:var(--font-mono);font-size:.7rem;font-weight:800}.site-footer p{max-width:500px;font-family:var(--font-serif);margin:.8rem 0 0;font-size:1.1rem}.footer-links{flex-wrap:wrap;gap:1.2rem;font-size:.82rem;display:flex}.footer-links a{text-underline-offset:.3rem}.reveal{animation:.65s cubic-bezier(.2,.7,.2,1) both reveal-up}.reveal-delay{animation-delay:.12s}@keyframes reveal-up{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@media (width<=980px){.hero{grid-template-columns:1fr}.hero-copy{max-width:800px}.hero-stage .hero-visual{display:none}.manifest-grid{grid-template-columns:1fr}.journey-track{grid-template-columns:repeat(2,1fr)}}@media (width>=721px) and (height<=680px){.hero-stage .hero{grid-template-columns:1fr;padding:18px 0 210px}.hero-stage .hero h1{max-width:760px;font-size:clamp(2.5rem,4.8vw,3.25rem)}.hero-stage .hero-lede,.hero-stage .hero-specs,.hero-stage .hero-visual{display:none}.hero-stage .hero-actions{margin-top:1rem}}@media (width<=720px){.site-header,.shell,.site-footer{width:min(100% - 32px,1320px)}.desktop-nav{display:none}.mobile-nav{display:block}.hero{padding:28px 0 238px;display:block}.hero-stage{height:calc(100svh - 86px);min-height:0}.hero h1{font-size:clamp(2.65rem,13vw,4.4rem)}.hero-lede{margin-top:1rem;font-size:1rem}.hero-actions{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.hero-actions .button{justify-content:center;width:100%;min-width:0;padding-inline:.6rem}.hero-specs{grid-template-columns:repeat(2,1fr);margin-top:1rem}.hero-specs div{padding-block:.65rem}.home-project-rail{height:218px;bottom:12px;box-shadow:5px 5px #10231b26}.home-project-rail__header{min-height:57px;padding-inline:11px}.home-project-rail__header>div:first-child{display:block}.home-project-rail__header span{font-size:.52rem;display:block}.home-project-rail__header h2{margin-top:2px;font-size:1.08rem}.home-project-rail__actions a{display:none}.home-project-track{height:159px;padding-inline:10px;scroll-padding-inline:10px}.home-project-card{flex-basis:82vw;min-height:132px}.screen-schematic{width:92%;padding-left:16px;padding-right:25px}.section-heading{display:block}.section-heading>p:last-child{margin-top:1rem}.journey-section,.manifest-section{padding-block:72px}.manifest-grid{display:block}.resource-ledger{margin-top:3rem}.journey-track{grid-template-columns:1fr}.site-footer{flex-direction:column;justify-content:center;align-items:flex-start;min-height:260px}}@media (width<=720px) and (height<=720px){.hero-stage .hero h1{font-size:clamp(2.35rem,12vw,3.5rem)}.hero-stage .hero-lede,.hero-stage .hero-specs{display:none}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
