/* 地书 · 山河集 / 2026.10 */
:root{--bg:#eee9df;--paper:#faf8f2;--card:rgba(250,248,242,.97);--ink:#263e35;--dim:#626c60;--faint:#7c8276;--hair:rgba(47,66,52,.16);--gold:#956b43;--seal:#a74630;--sig:#b85a38;--ok:#315d48;--warn:#936022;--bad:#a6382d;--pw:360px;--top:76px;--sans:"Microsoft YaHei","PingFang SC",sans-serif}
body{font-family:var(--sans);font-size:12px;background:var(--bg)}
button,a,input{-webkit-tap-highlight-color:transparent}
button:focus-visible,a:focus-visible,input:focus-visible,[tabindex]:focus-visible{outline:2px solid #9c572f!important;outline-offset:4px}
button:disabled{cursor:not-allowed!important}
.eyebrow{font:500 10px/1.5 var(--mono);letter-spacing:.16em;color:var(--gold);display:block}
.top{padding:0 32px;gap:54px;background:rgba(250,248,242,.95);border-bottom:1px solid var(--hair);backdrop-filter:blur(16px)}
.mark{gap:13px}.seal{width:34px;height:38px;border-radius:1px;font-size:13px;background:var(--seal)}
.mark b{font-size:23px;letter-spacing:.18em}.mark span{font-size:11px;letter-spacing:.2em;padding-left:13px;border-left:1px solid var(--hair)}
.top nav{gap:16px}.top nav a{padding:26px 5px;font:500 13px/1.5 var(--sans);letter-spacing:.08em}.top nav a:after{left:4px;right:4px;bottom:15px}
.qstat{font:400 11px/1.4 var(--sans);letter-spacing:.03em}.qstat i{background:#568265;width:6px;height:6px}.qstat.offline i{background:var(--warn)}
.help-toggle{width:28px;height:28px;background:transparent;border:1px solid var(--hair);border-radius:50%;color:var(--dim);cursor:pointer;margin-left:-30px}
.connection{position:fixed;z-index:45;top:var(--top);left:0;right:0;padding:10px 24px;background:#f7ebd7;border-bottom:1px solid #d9c29f;color:#684824;font-size:12px;display:flex;justify-content:center;align-items:center;gap:20px}
.connection button{border:0;border-bottom:1px solid currentColor;background:none;color:inherit;cursor:pointer;white-space:nowrap;padding:4px}
.offline .tools{margin-top:44px}
.tools{top:100px;left:28px;width:min(550px,calc(100% - var(--pw) - 84px))}
.search input{height:48px;background:var(--paper);border:1px solid #cecfc3;box-shadow:0 6px 24px #263e3509;font:400 13px/1.5 var(--sans);padding-left:43px}
.search svg{top:15px;left:15px;width:17px;height:17px}.search kbd{top:15px;color:var(--dim)}
.search input::placeholder{color:#777d71}.search ul{box-shadow:0 14px 32px #263e351a;border-radius:0 0 5px 5px}.search li{padding:14px}.search li span{font-size:12px}.search li:hover{background:#e9eee5}
.chips{gap:5px;margin-top:9px}.chips span{font:500 10px/1.3 var(--sans);letter-spacing:0;background:var(--paper);padding:10px 8px}
.chips button{padding:10px 10px;color:var(--ink);font-size:11px;background:var(--paper);border:1px solid #d5d6c9}.chips button.on{color:var(--paper);background:var(--ink);border-color:var(--ink)}
.chips .tool{font:500 11px/1.3 var(--sans);letter-spacing:0;padding:8px 11px}.chips i{width:2px}
.veil{backdrop-filter:saturate(.45) brightness(1.02);-webkit-backdrop-filter:saturate(.45) brightness(1.02);background:rgba(245,242,234,.39)}
.frame{box-shadow:0 0 0 1px #263e3570,0 22px 40px -25px #263e3555}.frame .ftag{font:500 11px/1.3 var(--sans);letter-spacing:.16em}
.frame .fsz{color:var(--ink);background:var(--paper);padding:4px 7px;top:-31px}.cut{border-top-color:#a55a38aa}.cut span{background:#a55a38;box-shadow:0 0 0 3px #faf8f299}
.panel{top:100px;right:24px;bottom:24px;background:var(--paper);backdrop-filter:none;box-shadow:0 12px 34px -22px #263e3560;border-color:#d1d1c3}
.panel>section{padding:19px 22px}.panel .head{padding:22px 22px 18px}.head .eyebrow{margin-bottom:11px;letter-spacing:.08em;font-size:9px}
.title{font:600 27px/1.5 var(--serif);letter-spacing:.02em;color:var(--ink);border-bottom:1px solid transparent;padding-bottom:2px}.title:focus{border-color:var(--gold)}.title::placeholder{color:#72796b;font-weight:400}
.sub{font:400 11px/1.7 var(--sans);color:var(--dim);margin-top:6px}.panel h4{justify-content:flex-start;align-items:center;gap:10px;font:600 12px/1.3 var(--sans);letter-spacing:.04em;color:var(--ink);margin-bottom:14px}
.panel h4 .step-no{font:400 10px/1 var(--mono);letter-spacing:0;color:var(--gold)}
.kv{gap:8px 12px;font:400 11px/1.5 var(--sans)}.kv dd{font-family:var(--mono);font-size:10px}.kv dt{color:var(--dim)}.kv dd:first-of-type{font-size:18px;line-height:1;color:var(--ink)}
.material .mats{display:block}.mats .material-choice{display:grid;grid-template-columns:78px 1fr;gap:15px;width:100%;text-align:left;align-items:center;color:var(--ink);letter-spacing:0;padding:0;cursor:default}
.material-choice img{width:78px;height:78px;object-fit:cover;border:1px solid #c7cdbd;padding:4px;background:#fffdf7}.material-choice>span{display:grid;gap:9px}.material-choice b{font:600 15px/1.2 var(--serif)}
.mats .material-choice em{font:400 11px/1.3 var(--sans);color:var(--dim);height:auto}.material-choice small{font:400 10px/1 var(--sans);color:var(--ok)}.material-choice i{font-style:normal;margin-left:30px}
.coming-styles{font:400 10px/1.5 var(--sans);color:#78806f;display:flex;justify-content:space-between;margin-top:15px;padding-top:12px;border-top:1px solid var(--hair)}
.material-note{font:400 10px/1.65 var(--sans);color:var(--dim);margin-top:11px}.panel .grow{min-height:115px}
.jnote{font:400 12px/1.85 var(--sans);color:var(--dim)}.quiet-note{font:400 11px/1.8 var(--sans);color:#798171;margin-top:8px}
.output-note{display:flex;justify-content:space-between;padding:12px 22px 10px;border-top:1px solid var(--hair);font:400 10px/1.3 var(--sans);color:var(--dim);flex:none}
.output-note span{font-family:var(--mono);font-size:9px}.go{margin:0 12px 12px;padding:17px 16px;min-height:23px;letter-spacing:.07em;background:#263e35;box-shadow:0 5px 14px #263e3512}.go>span{font:600 14px/1.4 var(--sans)}.go b{margin-left:12px;font-size:18px;font-weight:400}.go em{font-size:10px;opacity:.85;letter-spacing:0}.go:hover{background:#345843}.go[disabled]{background:#e3e5d9;color:#747b6e;box-shadow:none}
.pf{left:28px;bottom:28px;width:min(420px,calc(100% - var(--pw) - 270px));padding:14px 18px 12px;background:var(--paper);box-shadow:0 8px 24px #263e3508}.pf header b{font:500 11px/1 var(--sans);letter-spacing:.06em}.pf header span{font-size:9px}
.dock{right:calc(var(--pw) + 50px);bottom:30px;gap:10px}.dock-label{font:500 10px/1 var(--sans);color:var(--ink);background:var(--paper);padding:4px 5px}.dock-label small{color:var(--dim);font-size:9px;margin-left:8px}.lights{background:var(--paper);padding:4px}.lights button{padding:11px 14px;font-size:12px}.lights button.on{background:var(--ink)}.attr{right:calc(var(--pw) + 50px);bottom:10px;font-size:8px;color:#6c7767}.legend{width:180px;font-size:9px}
.chip{padding:5px 7px;border:0;background:#e8eee4;font:500 10px/1.2 var(--sans);letter-spacing:0}.chip.warn{background:#f1e8d5}.chip.bad{background:#f5e3dc}.chip.run{background:#f3e9dc}.chip.q{background:#eaeae3}
.steps li{padding:6px 0;gap:5px}.steps li span{font:400 11px/1.4 var(--sans);letter-spacing:0}.steps li em{font-size:10px}.steps li.active{color:var(--gold)}
.btn{font:500 12px/1.4 var(--sans);letter-spacing:0;padding:11px 15px;border-color:#b9bfaf}.btn[disabled]{opacity:.45;pointer-events:none}.btn.solid{background:var(--ink)}.btn.solid:hover{background:#365841}
/* 开场是一本书的扉页，地形本身成为插图。 */
body.intro .top{background:rgba(250,248,242,.88)}body.intro .top nav{opacity:1;pointer-events:auto}
.intro-ui:before{background:linear-gradient(90deg,#f6f3eafc 0%,#f6f3eaf2 29%,#f6f3eac7 42%,#f6f3ea00 66%)}
.ititle{left:6.1vw;top:24%;bottom:auto;max-width:540px}.ititle>.eyebrow{font-size:10px;letter-spacing:.2em;margin-bottom:30px}
.ititle h1{font:600 clamp(52px,5.1vw,82px)/1.2 var(--serif);letter-spacing:.1em;color:var(--ink);text-shadow:none}
.ititle h1 span{display:block;font:400 clamp(23px,2.3vw,34px)/1.65 var(--serif);letter-spacing:.06em;margin-top:18px;color:#405448}
.ititle .en{font:italic 400 28px/1.2 var(--latin);color:var(--gold);margin-top:22px}.ititle .lead{font:400 13px/2.1 var(--sans);letter-spacing:.02em;margin-top:22px;color:var(--dim)}
.cta{gap:28px;margin-top:30px}.cta button{padding:18px 25px;font:500 13px/1.3 var(--sans);letter-spacing:.1em;box-shadow:none;background:var(--ink)}.cta button:hover{background:#395742}.cta a{font:400 12px/1.3 var(--sans);letter-spacing:.04em;color:var(--ink)}
.intro-steps{display:flex;gap:18px;margin-top:46px;padding-top:20px;border-top:1px solid #c5cbbd;max-width:390px;font:400 10px/1.5 var(--sans);color:var(--dim)}.intro-steps b{font:400 9px/1 var(--mono);color:var(--gold);margin-right:5px}
.ihint{left:auto;right:38px;top:112px;transform:none;font:400 9px/1.3 var(--mono);letter-spacing:.13em;color:var(--ink);background:#faf8f2c9;padding:8px 11px}
.iread{right:40px;bottom:34px;font-size:9px;color:var(--ink);background:#faf8f2b3;padding:14px 16px;border-left:1px solid var(--ink);text-align:left;gap:5px}.iread b{font:500 21px/1.2 var(--serif);margin-bottom:1px;letter-spacing:.1em}.iread span:last-child{display:none}
.sample-print{position:absolute;right:52px;bottom:155px;width:190px;transform:rotate(4deg);display:block;padding:9px;background:#faf8f2;border:1px solid #d5d5c7;box-shadow:0 18px 40px #23372933;text-decoration:none;pointer-events:auto;transition:transform .4s}
.sample-print:hover{transform:rotate(0) translateY(-5px)}.sample-print img{width:100%;display:block}.sample-print>span{display:grid;gap:6px;padding:10px 4px 4px}.sample-print b{font:500 10px/1.4 var(--sans);color:var(--ink)}.sample-print em{font:400 9px/1.4 var(--sans);font-style:normal;color:var(--dim)}
/* 作品集 */
#vWorks{padding:calc(var(--top) + 62px) max(36px,6vw) 70px;background:#f0ede4}.wall-head{max-width:1440px;justify-content:space-between;align-items:flex-end;margin-bottom:35px}.wall-head .eyebrow{font-size:10px;margin-bottom:14px}.wall-head h2{font:500 40px/1.4 var(--serif);letter-spacing:.05em}.wall-head #wallSum{font:400 12px/1.6 var(--sans);margin-top:13px;color:var(--dim)}
.wall-toolbar{display:flex;justify-content:space-between;align-items:center;max-width:1440px;margin:0 auto 30px;border-bottom:1px solid #cbd0c0;padding-bottom:16px}.wall-toolbar>span{color:var(--dim);font-size:10px}.wall-filters{display:flex;gap:7px}.wall-filters button{border:0;background:transparent;padding:9px 15px;font:400 12px/1.3 var(--sans);color:var(--dim);cursor:pointer}.wall-filters button.on{background:var(--ink);color:var(--paper)}
.wall{grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:36px 24px;max-width:1440px}.card{padding:12px 12px 17px;background:#faf8f2;border:1px solid #d6d8cb;transition:transform .25s,box-shadow .25s}.card:hover{transform:translateY(-4px);box-shadow:0 12px 25px #263e3512}.card .im{background:#e3e7dc;box-shadow:none}.card img{object-fit:contain}.card .ph{color:var(--dim);background:linear-gradient(145deg,#e8ebdf,#f3f2e9)}.card h3{font:500 20px/1.5 var(--serif);letter-spacing:.04em;margin:15px 4px 7px}.card p{margin:0 4px;font:400 10px/1.4 var(--sans);gap:4px;flex-wrap:wrap}.card .chip{font-size:9px}.empty{font-weight:400;font-size:17px;letter-spacing:.06em}
/* 作品详情 */
#vWork{grid-template-columns:1fr 390px}.viewer{background:radial-gradient(ellipse at center,#f4f2e8,#e2e5d8)}.viewer img{box-shadow:0 24px 60px -28px #263e354d}.detail>section{padding:25px 28px}.detail h2{font-weight:500;font-size:32px}.detail .sub{white-space:normal;font:400 11px/1.9 var(--mono)}.detail h4{font:500 12px/1.4 var(--sans);letter-spacing:.04em}.notes{font:400 12px/1.8 var(--sans)}.bars{gap:10px}.bars span{font-family:var(--sans);font-weight:400}.bars em{font-family:var(--mono);font-size:10px}.dl a{font:500 12px/1.5 var(--sans);letter-spacing:.02em;padding:14px;border-color:#bfc8b6}.dl a:first-child{background:var(--ink);color:var(--paper)}.dl a:first-child em{color:#dde4d4}.dl a:hover em{color:#dde4d4}.vhint,.vzoom{font-size:10px;color:var(--dim)}
.toast{font:500 13px/1.7 var(--sans);letter-spacing:0;padding:14px 21px;background:var(--ink)}
dialog{position:fixed;inset:0;margin:auto;border:1px solid #c8ccbd;max-width:520px;width:calc(100% - 40px);max-height:85dvh;padding:40px;background:var(--paper);color:var(--ink);box-shadow:0 30px 100px #172b3466;overflow:auto}dialog::backdrop{background:#1c302b88;backdrop-filter:blur(3px)}.dialog-close{position:absolute;right:14px;top:10px;border:0;background:none;color:var(--ink);font-size:28px;width:36px;height:36px;cursor:pointer}dialog h2{font:500 30px/1.5 var(--serif);margin:13px 0 25px}dialog ol{padding-left:22px;display:grid;gap:24px}dialog li{padding-left:8px}dialog li::marker{color:var(--gold);font-family:var(--mono)}dialog li b{font-size:14px;font-weight:500}dialog li p,.help-foot{font:400 12px/1.9 var(--sans);color:var(--dim);margin-top:7px}.help-foot{padding-top:18px;border-top:1px solid var(--hair);margin-top:28px}
@media(min-width:821px) and (max-height:800px){.ititle{top:20%}.ititle>.eyebrow{margin-bottom:18px}.ititle h1{font-size:58px}.ititle h1 span{font-size:25px;margin-top:12px}.ititle .lead{margin-top:14px}.intro-steps{margin-top:25px;padding-top:15px}.panel>section{padding:12px 18px}.panel .head{padding:14px 18px}.panel .title{font-size:23px}.material-choice img{width:58px;height:58px}.mats .material-choice{grid-template-columns:58px 1fr}.panel .grow{min-height:80px}.coming-styles{margin-top:10px;padding-top:8px}.panel h4{margin-bottom:10px}.sample-print{width:150px;bottom:140px}}
@media(max-width:1100px) and (min-width:821px){:root{--pw:320px}.mark span{display:none}.top{gap:35px}.tools{width:calc(100% - var(--pw) - 74px)}.chips .tool{padding:8px}.chips span{display:none}.pf{width:300px}.dock{bottom:28px}.legend{display:none}.ititle{left:5vw}.sample-print{right:32px;width:155px}}
@media(max-width:820px){
 :root{--top:64px}.top{padding:0 16px;gap:18px}.mark{gap:8px}.seal{width:28px;height:32px;font-size:11px}.mark b{display:block;font-size:18px}.mark span{display:none}.top nav{gap:12px}.top nav a{font:500 11px/1.4 var(--sans);padding:24px 0;letter-spacing:0}.top nav a:after{bottom:14px;left:0;right:0}.top nav em{font-size:9px;margin-left:3px}.qstat{font-size:9px;gap:5px}.qstat span{max-width:80px}.help-toggle{margin-left:-10px;width:25px;height:25px;flex:none}.connection{padding:10px 14px;gap:10px;font-size:11px;align-items:flex-start}.offline .tools{margin-top:60px}
 .tools{top:80px;left:14px;right:14px;width:auto}.search input{height:46px;font-size:12px;padding-left:38px}.search svg{left:13px}.chips{display:grid;grid-template-columns:repeat(5,1fr) auto auto;gap:4px;margin-top:8px;overflow:visible}.chips>span,.chips>i{display:none}.chips button{min-width:0;min-height:34px;padding:4px 0;text-align:center;font-size:10px;box-sizing:border-box}.chips .tool{min-width:44px;padding:7px 5px;font-size:10px;letter-spacing:0}.chips #bWander{font-size:0}.chips #bWander:after{content:'漫游 ↗';font-size:10px}
 .dock{top:178px;left:14px;right:auto;bottom:auto;flex-direction:row;align-items:center;gap:9px}.dock-label{font-size:9px;padding:3px 0;background:none}.dock-label small{display:none}.lights{padding:2px;gap:1px;background:#faf8f2eb}.lights button{padding:8px 10px;min-width:18px;font-size:10px}.legend{display:none}
 .frame .ftag{font-size:10px}.frame .fsz{top:-29px;font-size:10px}.cut span{width:17px;height:17px}.panel{left:0;right:0;bottom:0;top:auto;width:auto;border-radius:16px 16px 0 0;border:1px solid #c9cebf;border-bottom:0;max-height:78dvh;padding-bottom:env(safe-area-inset-bottom);box-shadow:0 -10px 30px #263e351a}.panel .grip{display:flex;align-items:center;justify-content:center;gap:12px;width:100%;padding:9px 0 7px;border:0;background:none;color:var(--dim);font:400 10px/1.3 var(--sans);cursor:pointer}.panel .grip i{margin:0;width:25px;height:3px}.panel .head{padding:5px 18px 11px}.head .eyebrow{display:none}.title{font-size:21px;line-height:1.4}.sub{font-size:10px;margin-top:4px}.panel>section{padding:16px 20px}.panel .output-note{padding:0 18px 8px;border-top:0;font-size:9px}.go{margin:0 10px 10px;padding:13px 14px;min-height:22px;bottom:env(safe-area-inset-bottom)}.go>span{font-size:13px}.go em{font-size:9px}.panel:not(.open) .output-note{display:none}.panel:not(.open) .head{padding-bottom:12px}.panel.open .go{flex:none}.panel .grow{min-height:100px}.kv{font-size:12px}.kv dd{font-size:11px}.material-note{font-size:11px}.coming-styles{font-size:11px}.material-choice img{width:72px;height:72px}.pf{display:none}.attr{display:none}.back3d{top:92px;bottom:auto;font:500 12px/1.3 var(--sans)}
 .intro-ui:before{background:linear-gradient(0deg,#f6f3eafa 0%,#f6f3eaf5 30%,#f6f3eaaa 56%,#f6f3ea00 90%)}.ititle{left:26px;right:26px;top:auto;bottom:52px;max-width:none}.ititle>.eyebrow{font-size:8px;letter-spacing:.13em;margin-bottom:16px}.ititle h1{font-size:46px;letter-spacing:.12em}.ititle h1 span{font-size:22px;line-height:1.6;margin-top:12px;letter-spacing:.04em}.ititle .en{position:absolute;right:2px;top:80px;font-size:20px;writing-mode:vertical-rl;display:none}.ititle .lead{font-size:12px;line-height:1.9;margin-top:16px}.cta{gap:24px;margin-top:23px}.cta button{padding:16px 23px;font-size:12px}.cta a{font-size:11px}.intro-steps{gap:12px;margin-top:25px;padding-top:15px;font-size:9px;max-width:none}.intro-steps b{font-size:8px;margin-right:3px}.sample-print{width:97px;right:22px;top:95px;bottom:auto;padding:5px;transform:rotate(5deg)}.sample-print>span{padding:5px 2px 2px;gap:0}.sample-print b{display:none}.sample-print em{font-size:8px}.ihint{left:23px;right:auto;top:92px;font-size:8px;padding:5px 7px}.iread{display:none}
 #vWorks{padding:calc(var(--top) + 30px) 16px 50px}.wall-head{align-items:flex-start;gap:10px;margin-bottom:25px;flex-wrap:wrap}.wall-head .eyebrow{font-size:8px;margin-bottom:10px}.wall-head h2{font-size:27px}.wall-head #wallSum{font-size:11px;margin-top:9px}.new-work{font-size:10px;padding:9px 11px;margin-top:10px}.wall-toolbar{padding-bottom:12px;margin-bottom:20px}.wall-toolbar>span{display:none}.wall-filters{gap:4px}.wall-filters button{padding:9px 12px;font-size:11px}.wall{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 12px}.card{padding:7px 7px 12px}.card h3{font-size:16px;margin:11px 2px 6px;letter-spacing:0;word-break:break-word}.card p{font-size:9px;margin:0 2px;gap:7px}.card .chip{font-size:8px;padding:4px}.viewer{height:55dvh;min-height:320px}.detail>section{padding:21px 23px}.detail h2{font-size:29px}.detail .sub{font-size:10px}.vhint{left:14px;bottom:10px;font-size:8px}.vzoom{right:14px;bottom:10px}.toast{bottom:175px;font-size:12px;max-width:calc(100vw - 32px);width:max-content;padding:12px 16px}.toast.on{transform:translate(-50%,0)}dialog{padding:30px 25px}dialog h2{font-size:26px}
}
@media(max-width:380px){.top{gap:13px;padding:0 12px}.mark b{display:none}.top nav{gap:12px}.help-toggle{margin-left:0}.ititle{left:22px;right:22px;bottom:32px}.ititle h1{font-size:42px}.intro-steps{gap:9px;font-size:8px}.chips .tool{min-width:39px}.wall-head h2{font-size:24px}}
@media(max-width:820px){.offline .dock{margin-top:60px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* Four pipeline styles and accessible mobile downloads. */
.material .mats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;padding:0}
.mats .style-choice{min-width:0;letter-spacing:0;gap:8px;text-align:center;cursor:pointer;padding:8px 0;border-radius:5px}
.mats .style-choice s{width:44px;height:44px;aspect-ratio:1}
.mats .style-choice b{font:500 13px/1.3 var(--serif)}.mats .style-choice em{font:400 9px/1.4 var(--sans);height:auto;white-space:nowrap}
.mats .style-choice small{font:400 9px/1.4 var(--sans);color:var(--dim)}.mats .style-choice.on{background:#e7ebdf}.mats .style-choice.on small{color:var(--ink)}
.mats .style-choice:focus-visible{outline:2px solid var(--ink);outline-offset:3px}
.quick-download>.btn{display:block;text-align:center}.open-original{display:inline-block;margin-top:10px;font:400 12px/1.5 var(--sans);text-decoration:underline;text-underline-offset:3px}
.mobile-download{display:none}.viewer img{opacity:0}.viewer img.ready{opacity:1}
@media(max-width:820px){#vWork{padding-bottom:calc(84px + env(safe-area-inset-bottom))}.mobile-download:not([hidden]){position:fixed;bottom:0;left:0;right:0;z-index:25;display:flex;align-items:center;justify-content:space-between;gap:12px;background:#f7f5ecf5;border-top:1px solid var(--hair);padding:13px 18px calc(13px + env(safe-area-inset-bottom));backdrop-filter:blur(12px)}.mobile-download>span{font:500 13px/1.4 var(--serif)}.mobile-download small{display:block;font:400 9px/1.5 var(--sans);color:var(--dim);margin-top:4px}.mobile-download a{font:500 12px/1.4 var(--sans);padding:14px 20px;white-space:nowrap}}

.mats .print-choice{grid-column:1/-1;display:grid;grid-template-columns:80px 1fr;gap:13px;padding:10px;border:1px solid #c5c8b8;background:#f8f6ef;border-radius:4px;text-align:left;letter-spacing:0;color:var(--ink)}
.print-choice img{width:80px;height:68px;object-fit:cover}.print-choice>span{display:grid;gap:7px}.print-choice b{font:500 13px/1.3 var(--serif)}.mats .print-choice em{font:400 10px/1.4 var(--sans);height:auto}.print-choice small{font:400 10px/1.4 var(--sans);color:var(--dim)}.mats .print-choice.on{border-color:var(--ink);box-shadow:0 0 0 1px var(--ink);background:#e9ece1}.print-choice:focus-visible{outline:2px solid var(--ink);outline-offset:3px}
.print-views:not([hidden]){position:absolute;z-index:4;top:16px;left:50%;transform:translateX(-50%);display:flex;gap:4px;padding:4px;background:#faf8f1ef;border:1px solid #c3c9b8;border-radius:6px;cursor:default;touch-action:manipulation;white-space:nowrap}.print-views button{border:0;background:transparent;color:var(--dim);font:500 12px/1.4 var(--sans);padding:10px 14px;cursor:pointer;border-radius:3px}.print-views button.on{background:var(--ink);color:var(--paper)}
@media(max-width:820px){.print-views button{font-size:11px;padding:9px 12px}.print-views:not([hidden]){top:9px}.mats .print-choice{grid-template-columns:64px 1fr}.print-choice img{width:64px;height:60px}}
body:not(.intro) .intro-ui{visibility:hidden;pointer-events:none} body:not(.intro) .intro-ui *{pointer-events:none}
@media(max-width:820px){.panel.open>section{flex-shrink:0}.panel.open .grow{flex:0 0 auto}.panel .output-note{background:var(--paper)}} @media(min-width:821px) and (max-height:800px){.panel{overflow-y:auto}.panel>section{flex-shrink:0}.panel .go{position:sticky;bottom:0;z-index:2}.panel .grow{flex:1 0 auto}}

/* Simplified navigation and map-first home. */
body.intro .qstat,body.intro .help-toggle{display:none}
body.intro .tools,body.intro .panel,body.intro .pf,body.intro .dock,body.intro .frame,body.intro .veil{visibility:hidden}
body.intro .top nav{margin-left:auto}
.intro-ui,.intro-ui:before,.intro-ui .ititle{pointer-events:none}
.intro-ui .cta button,.intro-ui .cta a{pointer-events:auto}
.intro-ui:before{background:linear-gradient(90deg,#f6f3eade 0%,#f6f3ea70 32%,#f6f3ea00 65%)}
.ititle{top:36%;left:7vw}.ititle h1{font-size:clamp(40px,4.5vw,70px);font-weight:500;letter-spacing:.08em}.ititle .lead{margin-top:22px;font-size:14px}.cta{margin-top:34px}
.ihint{top:auto;bottom:35px;right:36px;background:none;color:#364c40;letter-spacing:.02em;font-family:var(--sans)}
.iread{display:none}.back-link{display:block;width:fit-content;margin:0 0 18px;font:400 12px/1.6 var(--sans);color:var(--dim);text-decoration:none}.back-link:hover{text-decoration:underline}
.detail-back{position:absolute;top:calc(var(--top) + 16px);left:24px;z-index:12;padding:12px 16px;background:var(--paper);border:1px solid var(--hair);color:var(--ink);text-decoration:none}
.technical summary{cursor:pointer;font-size:12px;color:var(--dim);padding:5px 0}.technical .notes{margin-top:15px}.technical .back-link{margin:12px 0 0}.detail .btnrow{flex-wrap:wrap}.detail .btn{white-space:nowrap}.panel .grow{min-height:50px}.qstat span{max-width:none}
@media(max-width:820px){
 .intro-ui:before{background:linear-gradient(0deg,#f6f3eaf5 0%,#f6f3eaad 25%,#f6f3ea00 65%)}
 .ititle{top:auto;left:26px;right:22px;bottom:100px}.ititle h1{font-size:40px}.ititle .lead{font-size:12px;margin-top:14px}.cta{margin-top:25px;gap:24px}.ihint{top:auto;left:26px;right:auto;bottom:43px;padding:0;font-size:10px}
 .qstat{margin-left:auto}.qstat span{display:none}.help-toggle{margin-left:0}.detail-back{left:14px;top:calc(var(--top) + 12px);padding:10px 13px;font-size:11px}
 .panel.open{max-height:72dvh}.panel .only-m{display:none}.wall-head h2{font-size:30px}.viewer{min-height:300px}.technical .notes{font-size:11px}
}
