@font-face{font-family:Instrument;src:url('assets/fonts/InstrumentSerif-Regular.ttf') format('truetype');font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Instrument;src:url('assets/fonts/InstrumentSerif-Italic.ttf') format('truetype');font-weight:400;font-style:italic;font-display:swap}
:root{--paper:#f1f0e7;--paper-light:#f8f7f0;--ink:#292a24;--muted:#65665b;--line:#d3d3c6;--orange:#bf4c2c;--orange-light:#ff9870;--dark:#262a24;--mono:ui-monospace,'SFMono-Regular',Consolas,'Liberation Mono',monospace;--sans:-apple-system,BlinkMacSystemFont,'Helvetica Neue',Arial,sans-serif;--serif:Instrument,Georgia,'Songti SC','Noto Serif CJK SC',serif;--nav-height:80px;--gutter:clamp(24px,5vw,80px)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;-webkit-font-smoothing:antialiased;overflow-x:clip}body::after{content:'';position:fixed;inset:0;z-index:90;background:url('assets/paper-grain.png');opacity:.034;pointer-events:none;mix-blend-mode:multiply}::selection{background:#e9c3a6;color:var(--ink)}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}button,a{-webkit-tap-highlight-color:transparent}button{border:0}button:focus-visible,a:focus-visible{outline:2px solid var(--orange);outline-offset:5px}svg{display:block}button svg,.button svg,.text-link svg,.nav-beta svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}figure,p,h1,h2,h3{margin:0}em{font-weight:400}h1,h2,h3{text-wrap:balance}p{text-wrap:pretty}.shell{width:100%;max-width:1520px;margin-inline:auto;padding-inline:var(--gutter)}.mono-label,.eyebrow,.drawing-number,.figure-scale,.step-index,.step-detail,.story-counter,.story-navigation,.platform-note,.hero-footnote,.export-formats,.drawing-art figcaption,.drawing-note,.route-note,.closing-note,.principle-number,.footer-bottom{font-family:var(--mono);font-size:11px;line-height:1.6;font-weight:400}.eyebrow{font-size:10px;letter-spacing:.1em;text-transform:uppercase;display:flex;align-items:center;gap:9px;color:var(--muted)}.status-dot{width:6px;height:6px;border-radius:50%;background:var(--orange);box-shadow:0 0 0 4px rgb(191 76 44 / .08)}.skip-link{position:fixed;top:10px;left:15px;z-index:200;padding:12px 20px;background:var(--ink);color:white;transform:translateY(-160%)}.skip-link:focus{transform:translateY(0)}
.site-header{height:var(--nav-height);position:sticky;top:0;z-index:50;background:rgb(241 240 231 / .94);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.nav-inner{height:100%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);gap:20px}.wordmark{display:flex;align-items:center;gap:10px;font-size:22px;font-weight:600;letter-spacing:-1px}.brand-symbol{width:27px;height:27px;stroke:var(--ink);stroke-width:1.45;stroke-linejoin:round;fill:none}.brand-route{stroke:var(--orange)}.brand-symbol circle{fill:var(--orange);stroke:none}.brand-period{color:var(--orange)}.nav-links{display:flex;align-items:center;gap:31px;margin-left:40px;font-size:12px;color:var(--muted)}.nav-links a{padding:14px 0;position:relative}.nav-links a::after{content:'';position:absolute;left:0;right:0;bottom:7px;height:1px;background:var(--orange);transform:scaleX(0);transform-origin:left;transition:transform .2s}.nav-links a:hover::after{transform:scaleX(1)}.nav-actions{display:flex;align-items:center;gap:24px}.language-toggle{background:none;font:11px var(--mono);padding:12px 0;min-height:44px}.nav-beta{display:flex;align-items:center;gap:20px;font-size:12px;padding:12px 0;min-height:44px}.nav-beta svg{width:18px;height:18px;transition:transform .2s}.nav-beta:hover svg{transform:translateX(4px)}.page-progress{height:2px;position:absolute;bottom:0;left:0;right:0;pointer-events:none}.page-progress span{display:block;height:100%;background:var(--orange);transform:scaleX(0);transform-origin:left}
.hero{position:relative;min-height:max(680px,calc(100svh - var(--nav-height)));display:grid;grid-template-columns:5fr 7fr;align-items:center;padding-top:22px;padding-bottom:90px}.hero-copy{position:relative;z-index:5;padding:35px 0}.hero h1{font:400 clamp(83px,7.9vw,128px)/.94 var(--serif);letter-spacing:-.045em;margin-top:30px;margin-bottom:27px}.hero h1 em{color:var(--orange);position:relative;white-space:nowrap}.hero h1 em::after{content:'';position:absolute;left:1px;right:-7px;bottom:4px;border-bottom:1px solid var(--orange);transform:rotate(-3deg);opacity:.65}.hero-description{font-size:15px;line-height:1.75;color:var(--muted);white-space:pre-line;max-width:350px;letter-spacing:-.15px}.hero-actions{display:flex;align-items:center;gap:22px;margin-top:30px}.button{display:inline-flex;align-items:center;justify-content:center;gap:26px;min-height:52px;padding:16px 21px;font-size:12px;font-weight:500;letter-spacing:.01em;transition:background .2s,transform .2s}.button-ink{background:var(--ink);color:var(--paper-light)}.button-ink:hover{background:#444638;transform:translateY(-2px)}.button-ink svg{width:18px;height:18px}.platform-note{font-size:9px;color:var(--ink);line-height:1.8}.platform-note span{color:var(--muted)}.hero-footnote{display:flex;align-items:center;gap:9px;margin-top:37px;color:var(--muted);font-size:9px}.tiny-cross{display:block;width:11px;height:11px;position:relative}.tiny-cross::before,.tiny-cross::after{content:'';position:absolute;background:var(--orange)}.tiny-cross::before{top:5px;left:0;width:11px;height:1px}.tiny-cross::after{left:5px;top:0;width:1px;height:11px}.hero-figure{position:relative;margin-left:-32px;z-index:2;align-self:center;padding-top:26px}.figure-meta{display:flex;justify-content:space-between;align-items:center;padding:0 23px 0 35px;color:var(--muted)}.figure-meta .mono-label{font-size:9px;letter-spacing:.08em;text-transform:uppercase}.drawing-number{font-size:9px;letter-spacing:.06em}.hero-art{position:relative;isolation:isolate}.room-svg{display:block;width:100%;height:auto;overflow:visible;touch-action:pan-y}.hero-art .room-svg{min-height:350px}.hero-art::before{content:'';position:absolute;inset:8% 8% 1% 8%;background-image:linear-gradient(to right,rgba(74,88,72,.05) 1px,transparent 1px),linear-gradient(to bottom,rgba(74,88,72,.05) 1px,transparent 1px);background-size:32px 32px;transform:rotate(-1deg);mask-image:radial-gradient(ellipse,#000 20%,transparent 73%);z-index:-1}.figure-footer{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:0 22px 0 35px}.view-switch{display:inline-flex;gap:2px;position:relative;z-index:6}.view-switch button{background:none;min-height:44px;padding:10px 15px;font-family:var(--mono);font-size:10px;color:var(--muted);border:1px solid transparent;transition:border-color .15s,color .15s}.view-switch button[aria-pressed=true]{border-color:var(--ink);color:var(--ink)}.view-switch button:hover{color:var(--orange)}.figure-scale{font-size:9px;color:var(--muted)}.hero-baseline{position:absolute;bottom:23px;left:var(--gutter);right:var(--gutter);display:flex;align-items:center;gap:20px;color:var(--muted);font:9px var(--mono)}.baseline-line{height:1px;flex:1;background:var(--line);position:relative}.baseline-line::before,.baseline-line::after{content:'';position:absolute;top:-4px;height:9px;width:1px;background:var(--line)}.baseline-line::before{left:0}.baseline-line::after{right:0}.tool-ruler{width:40px;position:absolute;right:-16px;top:50px;height:365px;stroke:var(--orange);fill:none;stroke-width:.8;opacity:.55;transform:translateY(var(--ruler-shift,0px)) rotate(4deg);transform-origin:center;pointer-events:none}.tool-ruler text{fill:var(--orange);stroke:none;font:9px var(--mono)}.tool-protractor{position:absolute;bottom:10%;right:-29px;width:180px;opacity:.52;pointer-events:none;transform:translateY(var(--protractor-shift,0px)) rotate(var(--protractor-rotation,-15deg));transform-origin:50% 85%;color:var(--orange)}.tool-protractor path,.tool-protractor line,.tool-protractor circle{fill:none;stroke:currentColor;stroke-width:1}.tool-protractor .protractor-body{fill:rgb(191 76 44 / .035)}.tool-protractor text{fill:currentColor;stroke:none;font:7px var(--mono)}.scene-reticle{width:15px;height:15px;position:absolute;left:53%;top:55%;border:1px solid var(--orange);border-radius:50%;opacity:0;pointer-events:none;transition:opacity .2s}.hero-art:hover .scene-reticle{opacity:.75}.scene-reticle::before,.scene-reticle::after{content:'';position:absolute;background:var(--orange)}.scene-reticle::before{width:23px;height:1px;top:6px;left:-5px}.scene-reticle::after{width:1px;height:23px;left:6px;top:-5px}
.intro{padding-top:108px;padding-bottom:110px;display:grid;grid-template-columns:1fr 1fr;gap:30px 70px;position:relative}.intro::before{content:'';height:1px;background:var(--line);position:absolute;top:0;left:var(--gutter);right:var(--gutter)}.intro>.eyebrow{grid-column:1/-1}.intro h2,.drawing-copy h2,.route-copy h2,.closing h2{font:400 clamp(60px,5.8vw,88px)/1 var(--serif);letter-spacing:-.035em}.intro h2 em{color:var(--orange)}.intro-copy{display:flex;gap:23px;align-items:flex-start;align-self:end;max-width:390px;padding-bottom:4px;margin-left:40px}.intro-copy p{font-size:15px;line-height:1.85;color:var(--muted)}.drawn-bracket{width:16px;min-width:16px;height:107px;border:1px solid var(--orange);border-right:0;position:relative;transform:rotate(1deg)}.drawn-bracket::after{content:'+';position:absolute;left:-7px;top:43px;font:16px var(--mono);color:var(--orange);background:var(--paper);line-height:1}
.story{height:310svh;position:relative;background:var(--paper-light);border-block:1px solid var(--line);scroll-margin-top:var(--nav-height)}.story-sticky{height:calc(100svh - var(--nav-height));min-height:610px;position:sticky;top:var(--nav-height);overflow:clip}.story-frame{height:100%;display:flex;flex-direction:column;padding-top:29px;padding-bottom:23px}.story-heading{display:flex;align-items:center;justify-content:space-between;color:var(--muted);position:relative;z-index:2}.story-heading>.mono-label{font-size:9px;letter-spacing:.08em;text-transform:uppercase}.story-counter{font-size:11px}.story-counter>span:first-child{color:var(--orange);font-size:19px}.story-body{display:grid;grid-template-columns:4fr 7fr;align-items:center;gap:20px;flex:1;min-height:0}.story-copy{position:relative;height:300px;z-index:3}.story-step{position:absolute;inset:0;opacity:0;transform:translateY(18px);transition:none;pointer-events:none}.story-step.is-active{opacity:1;transform:translateY(0);pointer-events:auto;transition:opacity .25s ease,transform .4s cubic-bezier(.2,.8,.2,1)}.step-index{display:flex;gap:18px;text-transform:uppercase;letter-spacing:.08em;font-size:10px;margin-bottom:23px}.step-index>span:first-child{color:var(--orange)}.story-step h3{font:400 clamp(44px,4.6vw,69px)/1.02 var(--serif);letter-spacing:-.035em;margin-bottom:22px}.story-step h3 em{color:var(--orange)}.story-step>p:not(.step-index){font-size:13px;line-height:1.8;max-width:310px;color:var(--muted)}.step-detail{display:block;font-size:9px;margin-top:19px;color:var(--muted);max-width:310px;line-height:1.8}.story-figure{position:relative;margin-right:-15px}.story-figure .room-svg{max-height:calc(100svh - 210px)}.story-figure figcaption{display:flex;align-items:center;justify-content:space-between;padding:0 34px;color:var(--muted)}.story-figure .mono-label{font-size:9px}.story-meter{height:17px;display:flex;gap:9px;align-items:flex-end}.story-meter i{height:5px;width:1px;background:var(--line)}.story-meter i:nth-child(3n){height:15px}.story-meter i:nth-child(3n+1){height:9px}.story-navigation{display:flex;gap:0;border-top:1px solid var(--line);max-width:420px}.story-navigation button{background:transparent;display:flex;gap:11px;align-items:center;min-height:48px;padding:16px 20px 6px 0;flex:1;color:var(--muted);font:10px var(--mono);position:relative;text-align:left}.story-navigation button::before{content:'';height:2px;background:var(--orange);position:absolute;top:-2px;left:0;right:18px;transform:scaleX(0);transform-origin:left;transition:transform .3s}.story-navigation button.is-active{color:var(--ink)}.story-navigation button.is-active::before{transform:scaleX(1)}.story-navigation button.is-active>span:first-child{color:var(--orange)}
.route-section{background:var(--dark);color:var(--paper);position:relative;overflow:clip}.route-layout{display:grid;grid-template-columns:5fr 7fr;gap:60px;padding-block:110px 95px}.route-copy{padding-top:20px;position:relative;z-index:2}.route-copy .eyebrow{color:#b7bbae;font-size:9px;margin-bottom:31px}.route-copy h2{font-size:clamp(55px,5.3vw,82px)}.route-copy h2 em{color:var(--orange-light)}.route-copy>p:not(.eyebrow):not(.route-note){color:#bac0b3;font-size:14px;line-height:1.8;max-width:305px;margin-top:26px}.route-destination{margin-top:35px;max-width:285px;display:flex;flex-direction:column;gap:0}.route-destination button{display:flex;align-items:center;gap:12px;background:none;border-top:1px solid #50554b;min-height:56px;padding:16px 0;font-size:12px;text-align:left;color:#bbc0b5}.route-destination button:last-child{border-bottom:1px solid #50554b}.route-destination button svg{margin-left:auto;width:17px;height:17px;color:var(--orange-light)}.route-destination button[aria-pressed=true]{color:var(--paper-light)}.route-radio{height:11px;width:11px;border:1px solid #8b9383;border-radius:50%;display:grid;place-items:center}.route-destination button[aria-pressed=true] .route-radio{border-color:var(--orange-light)}.route-radio::after{content:'';width:5px;height:5px;border-radius:50%;background:var(--orange-light);opacity:0}.route-destination button[aria-pressed=true] .route-radio::after{opacity:1}.route-copy>.route-note{font-family:var(--mono);font-size:9px;line-height:1.9;color:#a2aa9b;max-width:270px;margin-top:21px}.route-workspace{position:relative;min-width:0}.route-canvas{margin-top:-14px;position:relative}.route-canvas .room-svg{width:calc(100% + 35px);margin-left:-25px;overflow:visible}.route-from{display:block;position:absolute;top:3%;left:0;color:#a8b09d;font-size:8px;letter-spacing:.06em}.route-schedule{position:relative;border-top:1px solid #50554b;max-width:440px;margin-left:40px;margin-top:-25px;font-size:12px}.schedule-row{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:17px 0;border-bottom:1px solid #434a3f;color:#bdc4b5}.schedule-row>span:last-child{display:flex;align-items:baseline;gap:8px}.schedule-row strong{font:21px var(--mono);color:var(--paper)}.schedule-row small,.schedule-total small{font:12px var(--mono);color:#acb6a2}.reserve-control{display:flex;gap:13px;align-items:center}.reserve-control button{width:32px;height:32px;min-height:32px;background:none;border:1px solid #5e6857;color:var(--paper);font-size:18px;line-height:1;transition:background .2s}.reserve-control button:hover{background:#414b39}.reserve-control output{font:12px var(--mono);min-width:64px;text-align:center}.reserve-control button:disabled{opacity:.3;cursor:default}.schedule-total{display:flex;align-items:baseline;justify-content:space-between;padding-top:19px;color:var(--paper)}.schedule-total>span:first-child{font-size:13px}.schedule-total>span:last-child{display:flex;align-items:baseline;gap:9px}.schedule-total strong{font:52px/.9 var(--serif);letter-spacing:-.03em;color:var(--orange-light)}.route-grain{position:absolute;inset:0;opacity:.3;background-image:linear-gradient(to right,rgb(175 192 151 / .06) 1px,transparent 1px),linear-gradient(to bottom,rgb(175 192 151 / .06) 1px,transparent 1px);background-size:50px 50px;mask-image:radial-gradient(ellipse at 70% 35%,#000,transparent 75%);pointer-events:none}
.drawing-section{display:grid;grid-template-columns:5fr 7fr;align-items:center;gap:60px;padding-top:150px;padding-bottom:120px}.drawing-copy .eyebrow{font-size:9px;margin-bottom:30px}.drawing-copy h2{font-size:clamp(58px,5.2vw,78px)}.drawing-copy h2 em{color:var(--orange)}.drawing-copy>p:not(.eyebrow):not(.drawing-note){font-size:14px;color:var(--muted);line-height:1.85;max-width:300px;margin-top:25px}.text-link{display:inline-flex;gap:27px;align-items:center;font-size:12px;border-bottom:1px solid var(--ink);padding-bottom:10px;min-height:44px;margin-top:25px}.text-link svg{width:16px;height:16px;transition:transform .2s}.text-link:hover svg{transform:translate(3px,-3px)}.export-formats{display:flex;gap:0;margin-top:31px;color:var(--muted);font-size:9px}.export-formats span{padding-inline:13px;border-right:1px solid var(--line)}.export-formats span:first-child{padding-left:0}.export-formats span:last-child{border-right:0}.drawing-copy .drawing-note{font-size:9px;margin-top:18px;max-width:280px;color:var(--muted);line-height:1.8}.drawing-art{position:relative;transform:translateY(var(--paper-shift,0px));padding-top:35px;padding-bottom:50px;min-width:0}.drawing-paper{background:#fff;box-shadow:0 3px 3px rgb(45 43 34 / .03),0 12px 18px rgb(45 43 34 / .07),0 35px 40px -22px rgb(45 43 34 / .17);transform:rotate(-5deg);padding:10px;position:relative;z-index:2}.drawing-paper::after{content:'';position:absolute;inset:0;background:linear-gradient(117deg,transparent 48%,rgb(75 73 53 / .05) 49.8%,rgb(255 255 255 / .7) 50.2%,transparent 52%);pointer-events:none}.drawing-paper img{width:100%;height:auto;display:block}.drawing-art::before{content:'';position:absolute;inset:44px 5px 49px -2px;border:1px solid #d9d5c8;background:#f7f5ed;transform:rotate(3deg);z-index:0}.drawing-art figcaption{display:flex;justify-content:space-between;gap:20px;position:absolute;bottom:0;left:0;right:0;font-size:9px;color:var(--muted)}.drawing-stamp{position:absolute;right:-10px;top:5px;transform:rotate(9deg);width:85px;height:85px;border:1px solid var(--orange);z-index:3;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--orange);gap:4px;background:rgb(241 240 231 / .9)}.drawing-stamp svg{width:37px;height:37px;fill:none;stroke:currentColor;stroke-width:1.2}.drawing-stamp span{font:6px var(--mono);letter-spacing:.06em}
.principles{display:grid;grid-template-columns:repeat(3,1fr);gap:50px;padding-block:0 115px}.principles>div{border-top:1px solid var(--line);padding-top:24px}.principle-number{color:var(--orange);font-size:9px;display:block;margin-bottom:20px}.principles h3{font-size:15px;font-weight:500;letter-spacing:-.2px;margin-bottom:13px}.principles p{font-size:12px;line-height:1.85;color:var(--muted);max-width:285px}.closing{text-align:center;padding-block:35px 90px}.closing-rule{display:flex;align-items:center;gap:20px;max-width:420px;margin:0 auto 65px}.closing-rule span{height:1px;background:var(--line);flex:1}.closing-rule svg{width:22px;height:22px;fill:none;stroke:var(--orange);stroke-width:.9}.closing .eyebrow{justify-content:center;font-size:9px;margin-bottom:23px}.closing h2{font-size:clamp(65px,6.4vw,98px)}.closing h2 em{color:var(--orange)}.closing .button{margin-top:34px}.closing-note{font-size:9px;color:var(--muted);margin-top:20px}.site-footer{padding-bottom:26px}.footer-wordmark{font-size:clamp(80px,17.3vw,270px);font-weight:500;letter-spacing:-.075em;line-height:1.2;border-bottom:1px solid var(--line);padding-bottom:16px;white-space:nowrap}.footer-wordmark>span{color:var(--orange)}.footer-bottom{display:flex;justify-content:space-between;gap:15px;align-items:center;font-size:9px;color:var(--muted);padding-top:21px}.footer-bottom>a{color:var(--ink);border-bottom:1px solid var(--line);padding-block:10px}.edge-ruler{position:fixed;right:16px;top:calc(var(--nav-height) + 60px);bottom:32px;width:14px;z-index:20;pointer-events:none;color:var(--muted);display:flex;flex-direction:column;align-items:center;gap:17px}.edge-ruler-label{writing-mode:vertical-rl;font:7px var(--mono);letter-spacing:.14em;white-space:nowrap}.edge-ruler-track{width:12px;flex:1;background:repeating-linear-gradient(to bottom,transparent 0 9px,var(--line) 9px 10px);border-left:1px solid var(--line);position:relative}.edge-ruler-track::before{content:'';position:absolute;top:0;bottom:0;left:0;width:5px;background:var(--paper)}.edge-ruler-track>span{position:absolute;top:0;left:-5px;width:18px;height:1px;background:var(--orange);transform:translateY(var(--edge-marker-y,0px))}.edge-ruler-position{font:8px var(--mono);color:var(--orange)}.noscript-note{padding:20px;font-size:14px;text-align:center;background:var(--paper-light);border-top:1px solid var(--line)}
html[lang=zh-CN] h1{font-family:var(--serif);font-size:clamp(64px,6.7vw,104px);line-height:1.14;letter-spacing:-.04em}html[lang=zh-CN] h2{font-size:clamp(48px,5vw,73px);line-height:1.15}html[lang=zh-CN] .story-step h3{font-size:clamp(39px,3.7vw,58px);line-height:1.15}html[lang=zh-CN] .hero-description{max-width:340px;font-size:14px;line-height:1.95}html[lang=zh-CN] .hero h1{margin-bottom:25px}html[lang=zh-CN] .hero-actions{gap:17px}html[lang=zh-CN] .platform-note{font-size:10px}html[lang=zh-CN] .step-detail{font-size:10px}html[lang=zh-CN] .story-step>p:not(.step-index){line-height:1.95}html[lang=zh-CN] .closing h2{font-size:clamp(55px,5.7vw,88px)}
@media(min-width:1600px){.hero-figure{margin-left:-10px}.hero h1{font-size:130px}.tool-ruler{right:-10px}.intro{padding-top:125px;padding-bottom:125px}}
@media(max-width:1150px){:root{--gutter:40px}.nav-links{gap:23px;margin-left:0}.nav-actions{gap:18px}.hero h1{font-size:clamp(74px,8vw,94px)}.hero-actions{gap:15px;flex-wrap:wrap}.hero-figure{margin-left:-15px}.hero-description{max-width:290px}.figure-scale{font-size:8px}.figure-meta,.figure-footer{padding-inline:10px}.view-switch button{padding-inline:10px}.tool-protractor{width:145px;right:0;bottom:12%}.tool-ruler{right:-10px;height:300px;width:33px}.intro{gap:25px 40px}.intro-copy{margin-left:0}.route-layout{gap:30px}.route-schedule{margin-left:0}.drawing-section{gap:35px}.edge-ruler{right:10px}.story-step h3{font-size:53px}}
@media(max-width:900px){:root{--nav-height:70px;--gutter:30px}.nav-links{display:none}.hero{grid-template-columns:1fr 1.15fr;min-height:650px;padding-bottom:75px}.hero h1{font-size:76px}.hero .eyebrow{font-size:8px;max-width:250px}.hero-figure{margin-left:-15px;margin-right:-8px}.hero-actions{align-items:flex-start;flex-direction:column;gap:14px}.platform-note br{display:none}.hero-footnote{font-size:8px;max-width:260px}.figure-meta .mono-label,.drawing-number{font-size:7px}.hero-art .room-svg{min-height:310px}.figure-footer{flex-direction:column;align-items:flex-start;gap:9px}.hero-baseline{font-size:8px}.intro{padding-block:80px}.intro h2{font-size:64px}.intro-copy p{font-size:13px}.story-body{grid-template-columns:4fr 6fr;gap:0}.story-copy{height:310px}.story-step h3{font-size:46px}.story-step>p:not(.step-index){font-size:12px;max-width:250px}.step-detail{max-width:240px}.story-figure{margin-right:-15px;margin-left:-5px}.story-figure figcaption{padding-inline:12px}.story-navigation{max-width:340px}.route-layout{gap:22px;padding-block:85px}.route-copy h2{font-size:59px}.route-copy>p:not(.eyebrow):not(.route-note){font-size:13px}.route-from{font-size:7px}.route-schedule{margin-top:-5px}.schedule-row{font-size:11px}.reserve-control{gap:7px}.reserve-control output{min-width:57px;font-size:11px}.reserve-control button{width:28px;height:32px}.drawing-section{padding-block:105px 90px;gap:30px}.drawing-copy h2{font-size:57px}.drawing-copy>p:not(.eyebrow):not(.drawing-note){font-size:13px}.drawing-stamp{width:65px;height:65px}.drawing-stamp svg{width:30px;height:30px}.drawing-stamp span{font-size:5px}.principles{gap:28px;padding-bottom:70px}.principles h3{font-size:14px}.principles p{font-size:11px}.edge-ruler{display:none}.closing{padding-bottom:70px}html[lang=zh-CN] h1{font-size:65px}html[lang=zh-CN] h2{font-size:50px}html[lang=zh-CN] .story-step h3{font-size:39px}}
@media(max-width:650px){:root{--gutter:24px;--nav-height:66px}.wordmark{font-size:20px;gap:8px}.brand-symbol{width:24px;height:24px}.nav-actions{gap:18px}.nav-beta{font-size:10px;gap:9px}.nav-beta svg{width:15px;height:15px}.language-toggle{font-size:10px}.hero{display:flex;flex-direction:column;min-height:0;padding-top:48px;padding-bottom:68px;align-items:stretch}.hero-copy{padding:0;z-index:5}.hero .eyebrow{font-size:8px;max-width:none;line-height:1.5}.hero h1{font-size:clamp(74px,16vw,100px);line-height:.95;margin-top:25px;margin-bottom:22px;max-width:480px}.hero h1 em::after{bottom:3px}.hero-description{font-size:14px;max-width:300px;line-height:1.75}.hero-actions{flex-direction:row;gap:17px;align-items:center;margin-top:24px}.button{min-height:48px;padding:14px 17px;font-size:11px;gap:22px}.platform-note{font-size:8px;max-width:160px}.platform-note br{display:initial}.hero-footnote{margin-top:23px;font-size:8px;max-width:none}.hero-figure{margin:35px -12px 0;max-width:none;padding-top:15px}.figure-meta{padding-inline:13px}.figure-meta .mono-label,.drawing-number{font-size:8px}.hero-art .room-svg{min-height:0}.hero-art::before{background-size:25px 25px}.tool-ruler{right:1px;top:38px;width:26px;height:245px}.tool-protractor{width:118px;right:5px;bottom:18%}.figure-footer{flex-direction:row;align-items:center;padding-inline:11px;gap:5px}.figure-scale{font-size:7px;max-width:115px;text-align:right}.view-switch button{font-size:9px;padding-inline:12px}.hero-baseline{bottom:20px;gap:13px;font-size:7px}.hero-baseline>span:last-child{max-width:175px;text-align:right}.intro{grid-template-columns:1fr;padding-block:67px;gap:24px}.intro h2{font-size:64px}.intro-copy{max-width:340px;align-self:auto;margin-top:4px;gap:20px}.intro-copy p{font-size:13px;line-height:1.9}.drawn-bracket{height:100px}.story{height:290svh}.story-sticky{height:calc(100svh - var(--nav-height));min-height:600px}.story-frame{padding-top:22px;padding-bottom:10px}.story-heading>.mono-label{font-size:7px;max-width:215px}.story-counter{font-size:9px}.story-counter>span:first-child{font-size:16px}.story-body{display:flex;flex-direction:column;justify-content:center;gap:0;align-items:stretch;padding-top:22px}.story-copy{height:218px;flex-shrink:0}.step-index{margin-bottom:14px;font-size:9px;gap:16px}.story-step h3{font-size:48px;margin-bottom:14px;line-height:1.01}.story-step>p:not(.step-index){font-size:12px;line-height:1.7;max-width:340px}.step-detail{font-size:8px;margin-top:10px;max-width:330px;line-height:1.7}.story-figure{width:100%;max-width:450px;margin:-13px auto -2px;flex:1;min-height:0;display:flex;flex-direction:column;justify-content:center}.story-figure .room-svg{max-height:calc(100svh - 420px);min-height:220px;width:100%;flex:1}.story-figure figcaption{padding-inline:0;font-size:8px}.story-figure .mono-label{font-size:7px}.story-meter{gap:7px;height:14px}.story-meter i:nth-child(3n){height:12px}.story-navigation{max-width:none;flex-shrink:0;margin-top:15px}.story-navigation button{font-size:9px;min-height:46px;gap:11px;padding-top:13px;padding-bottom:7px}.route-layout{display:flex;flex-direction:column;gap:36px;padding-block:66px}.route-copy{padding-top:0}.route-copy .eyebrow{font-size:8px;margin-bottom:24px}.route-copy h2{font-size:62px}.route-copy>p:not(.eyebrow):not(.route-note){font-size:13px;max-width:320px;margin-top:20px}.route-destination{margin-top:25px;max-width:none;flex-direction:row;gap:15px}.route-destination button{flex:1;font-size:11px;gap:9px;border-bottom:1px solid #50554b}.route-destination button svg{width:14px;height:14px}.route-copy>.route-note{font-size:8px;margin-top:15px;max-width:330px}.route-canvas{margin-top:-15px}.route-canvas .room-svg{width:calc(100% + 20px);margin-left:-10px}.route-from{font-size:7px;top:4%;left:0}.route-schedule{max-width:none;margin-top:0}.schedule-row{font-size:12px;padding-block:14px}.reserve-control{gap:12px}.reserve-control button{width:44px;height:44px;min-height:44px}.reserve-control output{font-size:12px;min-width:70px}.schedule-total{padding-top:20px}.schedule-total strong{font-size:52px}.drawing-section{display:flex;flex-direction:column;align-items:stretch;gap:35px;padding-top:75px;padding-bottom:65px}.drawing-copy .eyebrow{font-size:8px;margin-bottom:24px}.drawing-copy h2{font-size:61px}.drawing-copy>p:not(.eyebrow):not(.drawing-note){max-width:310px;margin-top:21px;font-size:13px}.drawing-copy .drawing-note{max-width:310px;font-size:8px}.drawing-art{margin-inline:7px;padding-top:30px;padding-bottom:39px}.drawing-paper{padding:6px;transform:rotate(-4deg)}.drawing-stamp{right:-9px;top:1px;width:65px;height:65px}.drawing-art figcaption{font-size:8px}.principles{display:flex;flex-direction:column;gap:26px;padding-bottom:65px}.principles>div{padding-top:20px;display:grid;grid-template-columns:43px 1fr;gap:0 10px}.principle-number{grid-row:1/3;margin-bottom:0;padding-top:2px}.principles h3{font-size:14px;margin-bottom:9px}.principles p{font-size:12px;max-width:360px}.closing{padding-top:0;padding-bottom:55px}.closing-rule{max-width:240px;margin-bottom:43px;gap:16px}.closing-rule svg{width:20px;height:20px}.closing .eyebrow{font-size:8px;max-width:285px;margin-inline:auto;line-height:1.8}.closing h2{font-size:65px}.closing .button{margin-top:27px}.closing-note{font-size:8px;max-width:290px;margin:18px auto 0;line-height:1.9}.footer-wordmark{font-size:clamp(70px,19vw,120px);padding-bottom:16px;line-height:1.1}.site-footer{padding-bottom:20px}.footer-bottom{font-size:8px;flex-wrap:wrap;padding-top:15px;gap:10px;justify-content:space-between}.footer-tagline{order:3;flex-basis:100%;font-size:8px}.footer-bottom>a{padding-block:10px}html[lang=zh-CN] h1{font-size:clamp(42px,12.5vw,64px);line-height:1.17}html[lang=zh-CN] h2{font-size:clamp(44px,12vw,63px)}html[lang=zh-CN] .story-step h3{font-size:38px}html[lang=zh-CN] .hero-description{font-size:13px;max-width:315px}html[lang=zh-CN] .platform-note{font-size:8px;max-width:132px}html[lang=zh-CN] .story-copy{height:230px}html[lang=zh-CN] .story-step>p:not(.step-index){font-size:12px}html[lang=zh-CN] .closing h2{font-size:51px}}
@media(max-width:360px){:root{--gutter:20px}.wordmark{font-size:18px}.nav-actions{gap:11px}.hero{padding-top:38px}.hero h1{font-size:73px}.hero-actions{gap:13px}.platform-note{max-width:122px;font-size:7px}.hero .button{padding:13px 14px;gap:15px;font-size:10px}.figure-scale{max-width:95px}.view-switch button{padding-inline:10px}.intro h2{font-size:57px}.story-step h3{font-size:43px}.story-copy{height:235px}.story-sticky{min-height:620px}.route-copy h2,.drawing-copy h2{font-size:54px}.route-destination button{font-size:10px}.closing h2{font-size:58px}.hero-baseline>span:last-child{max-width:140px}html[lang=zh-CN] .hero h1{font-size:42px}html[lang=zh-CN] .story-step h3{font-size:35px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}.story{height:auto;padding-bottom:24px}.story-sticky{position:relative;top:auto;min-height:620px;height:auto}.story-body{min-height:520px}.hero-protractor,.hero-ruler,.drawing-art{transform:none!important}.hero-art:hover .scene-reticle{opacity:0}.scene-reticle{display:none}}
@media(max-height:650px){.story{height:auto;padding-bottom:24px}.story-sticky{position:relative;top:auto;height:auto;min-height:0}.story-body{min-height:500px}.story-frame{padding-block:28px}.story-figure .room-svg{min-height:260px;max-height:430px}.story-navigation{margin-top:20px}}
.story-copy,html[lang=zh-CN] .story-copy{display:grid;height:auto}.story-step{position:relative;grid-area:1/1;inset:auto}
@media(max-width:650px){.platform-note{font-size:9px}.hero-footnote,.figure-scale,.figure-meta .mono-label,.drawing-number,.story-figure .mono-label,.drawing-art figcaption{font-size:9px}.route-copy>.route-note,.drawing-copy .drawing-note,.closing-note,.step-detail{font-size:10px;line-height:1.75}html[lang=zh-CN] .platform-note{font-size:9px}.figure-scale{max-width:140px}.hero-baseline{font-size:8px}}

/* Release revision: fewer annotations, readable copy, intrinsic bracket alignment. */
.hero-mark{width:100px;height:20px;color:var(--orange)}
.hero-mark svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1}
.release-status{display:inline-flex;align-items:center;gap:10px;font:13px/1.5 var(--mono);color:var(--muted);white-space:nowrap}
.release-status::before{content:'';width:6px;height:6px;background:var(--orange);border-radius:50%}
.story-counter{font-size:13px}.story-counter>span:first-child{font-size:22px}
.release-status-large{margin-top:32px;font-size:20px;color:var(--ink);justify-content:center}
.nav-links{font-size:14px}.language-toggle{font-size:13px;min-height:44px}
.platform-note,html[lang=zh-CN] .platform-note{font:14px/1.6 var(--sans);color:var(--muted)}
.hero-description,html[lang=zh-CN] .hero-description{font-size:17px;line-height:1.8}
.button{font-size:14px}.hero-actions{gap:22px}
:is(.figure-meta .mono-label,.figure-scale,.story-heading>.mono-label,.story-figure .mono-label,.drawing-art figcaption,.step-index,.export-formats,.route-copy>.route-note,.drawing-copy .drawing-note,.closing-note){font-size:13px!important;line-height:1.7}
.view-switch button{font-size:14px;min-height:44px;padding:10px 14px}
.figure-footer{flex-wrap:wrap;gap:12px}.figure-scale{max-width:none}
.hero-reset{width:44px;height:44px;display:grid;place-items:center;background:transparent;border:1px solid var(--line);margin-left:6px}
.hero-reset[hidden]{display:none}.hero-reset svg{width:20px;height:20px}
.hero-art{touch-action:pan-y;user-select:none}.hero-art[data-orbit=true]{cursor:grab}.hero-art.is-dragging{cursor:grabbing}
.hero-art:focus-visible{outline:2px solid var(--orange);outline-offset:-10px}
.intro-copy{display:grid;grid-template-columns:16px minmax(0,1fr);align-items:stretch;gap:24px;padding-bottom:0;max-width:420px}
.intro-copy p{font-size:17px;line-height:1.85;margin:0}
.drawn-bracket{height:auto;min-height:0;align-self:stretch;transform:none}
.drawn-bracket::after{top:50%;transform:translateY(-50%)}
.section-mark{width:58px;height:24px;stroke:var(--orange);stroke-width:1;fill:none}
.story-step>p:not(.step-index),html[lang=zh-CN] .story-step>p:not(.step-index){font-size:16px;line-height:1.8;max-width:350px}
.route-copy>p:not(.eyebrow):not(.route-note),.drawing-copy>p:not(.eyebrow):not(.drawing-note){font-size:16px;line-height:1.85;max-width:340px}
.schedule-row{font-size:15px}.schedule-total>span:first-child{font-size:16px}.reserve-control output{font-size:14px}
.reserve-control button{width:44px;height:44px;min-height:44px}
.text-link{font-size:15px}.principles p{font-size:15px;line-height:1.85}.principles h3{font-size:17px}
.footer-bottom{font-size:13px}.closing-note{max-width:460px;margin-inline:auto}
@media(max-width:650px){
 .nav-actions{gap:14px}.release-status{font-size:12px}.language-toggle{font-size:12px}
 .hero-description,html[lang=zh-CN] .hero-description{font-size:16px}
 .hero-actions{gap:16px}.button{font-size:13px}.platform-note,html[lang=zh-CN] .platform-note{font-size:14px;max-width:none}
 .figure-footer{align-items:flex-start}.figure-scale{flex-basis:100%;text-align:left;padding-left:12px}
 .intro-copy{grid-template-columns:15px minmax(0,1fr);gap:20px}.intro-copy p{font-size:16px}
 .story-step>p:not(.step-index),html[lang=zh-CN] .story-step>p:not(.step-index){font-size:15px;line-height:1.8}
 .route-copy>p:not(.eyebrow):not(.route-note),.drawing-copy>p:not(.eyebrow):not(.drawing-note){font-size:16px}
 .principles>div{display:block}.principles p{font-size:15px}.footer-bottom{font-size:13px}
 .closing .release-status-large{font-size:20px}.closing-note{max-width:310px}
}
