/* Hallmark · macrostructure: Night-cycle folio (bespoke) · tone: atmospheric · anchor hue: wine
 * nav: N7 · footer: Ft2 extended colophon · theme: custom midnight
 * paper: oklch(95.7% .012 80) · accent: oklch(76.3% .138 91)
 * fonts: Songti SC + PingFang SC · axes: light / roman-serif / warm-gold
 * Hallmark · pre-emit critique: P5 H5 E4 S4 R5 V4 */
@import url('tokens.css');
*{box-sizing:border-box}html,body{overflow-x:clip}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--color-page);color:var(--color-ink);font:var(--text-body)/1.85 var(--font-body)}a{color:inherit;text-underline-offset:5px}button{font:inherit;cursor:pointer}img{max-width:100%;height:auto;display:block}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-family:var(--font-display);font-style:normal;line-height:1.3;overflow-wrap:anywhere;min-width:0}h2{font-size:var(--text-h2);margin-bottom:var(--space-lg)}h3{font-size:1.28rem;margin-bottom:var(--space-sm)}p+p{margin-top:var(--space-md)}:focus-visible{outline:3px solid var(--color-focus);outline-offset:5px}button,a,summary{-webkit-tap-highlight-color:var(--color-light-shade)}[hidden]{display:none!important}.skip{position:fixed;top:-100px;left:10px;z-index:100;background:var(--color-paper);padding:8px}.skip:focus{top:8px}.masthead{position:sticky;top:0;z-index:30;background:var(--color-dark);color:var(--color-paper);border-bottom:2px solid var(--color-accent)}.nav-inner{max-width:1180px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:12px 28px}.mark{text-decoration:none;display:flex;align-items:center;gap:10px;font-family:var(--font-display);font-size:1.28rem;font-weight:700;white-space:nowrap}.mark img{width:30px;height:30px}.nav-links{display:flex;gap:24px}.nav-links a{font-size:.9rem;white-space:nowrap;text-decoration:none;border-bottom:1px solid var(--color-clear)}.nav-links a:hover,.nav-links a[aria-current=page]{color:var(--color-accent);border-color:var(--color-accent)}.nav-get{color:var(--color-accent);white-space:nowrap;font-size:.85rem}.btn{display:inline-flex;align-items:center;justify-content:center;gap:14px;background:var(--color-accent);border:1px solid var(--color-dark);color:var(--color-dark);padding:12px 24px;box-shadow:4px 4px 0 var(--color-dark);font-weight:700;text-decoration:none;white-space:nowrap;transition:transform var(--dur-fast) var(--ease-out),background var(--dur-fast) var(--ease-out)}.btn:hover{background:var(--color-accent-hover);transform:translateY(-2px)}.btn:active{transform:translate(3px,3px);box-shadow:1px 1px 0 var(--color-dark)}.btn.secondary{background:var(--color-clear);color:var(--color-paper);border-color:var(--color-dark-muted);box-shadow:none}.btn.secondary:hover{background:var(--color-shade)}.btn[aria-disabled=true],button:disabled{opacity:.45;cursor:not-allowed;box-shadow:none;transform:none}.btn[data-state=loading]{cursor:progress}.btn[data-state=error]{border-color:var(--color-error)}.btn[data-state=success]{border-color:var(--color-success)}.hero{height:min(860px,calc(100svh - 65px));min-height:620px;position:relative;background:var(--color-dark);color:var(--color-paper);isolation:isolate}.hero-art{width:100%;height:100%;object-fit:cover;object-position:65% 43%;position:absolute;inset:0;z-index:-2}.hero:after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,var(--color-shade),var(--color-light-shade) 75%),linear-gradient(0deg,var(--color-dark),var(--color-clear) 85%)}.hero-content{max-width:1180px;height:100%;margin:auto;padding:60px 36px 52px;display:flex;flex-direction:column;justify-content:flex-end;align-items:flex-start}.hero-meta{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:20px;font-size:.8rem}.hero-meta span{border:1px solid var(--color-dark-muted);padding:2px 10px}.hero h1{font-size:var(--text-display);letter-spacing:.04em;margin-bottom:8px}.original{font-family:var(--font-mono);letter-spacing:.23em;font-size:1rem;color:var(--color-accent)}.hero-copy{max-width:500px;margin:22px 0 25px;font-size:var(--text-lead);line-height:1.8}.actions{display:flex;gap:16px;flex-wrap:wrap}.hero-note{font-size:.78rem;margin-top:20px;color:var(--color-dark-muted)}.page-paper{max-width:960px;margin:0 auto 64px;background:var(--color-paper);box-shadow:12px 12px 0 var(--color-dark);position:relative}.info-strip{padding:28px 44px;background:var(--color-paper-alt);border-bottom:1px solid var(--color-rule)}.info-strip dl{margin:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.info-strip dt{font-size:.76rem;color:var(--color-muted)}.info-strip dd{margin:4px 0 0;font-weight:600;line-height:1.5}.content{padding:52px 56px}.section{margin-bottom:64px;scroll-margin-top:110px}.section:last-child{margin-bottom:0}.lead{font-size:var(--text-lead);line-height:1.9}.story-line{font-family:var(--font-display);font-size:clamp(1.9rem,4vw,3.1rem);line-height:1.7;margin:20px 0 30px;padding-left:22px;border-left:3px solid var(--color-page)}.story-line span{display:block}.note{font-size:var(--text-sm);color:var(--color-muted)}.inline-link{font-weight:600;white-space:nowrap}.editorial-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(0,1fr);gap:36px;align-items:start}.side-note{border-top:2px solid var(--color-page);padding-top:16px}.side-note p{font-size:.9rem}.photo-frame{background:var(--color-dark);aspect-ratio:16/9;display:flex;align-items:center;justify-content:center;overflow:clip}.photo-frame img{width:100%;height:100%;object-fit:contain}.photo-frame:hover img{opacity:.92}.photo-frame:active img{opacity:.8}figcaption{font-size:.8rem;line-height:1.7;margin-top:10px;color:var(--color-muted)}.gallery-thumbs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:14px}.gallery-thumbs img{width:100%;height:100%;object-fit:contain}.gallery-thumbs a{display:block;background:var(--color-dark);aspect-ratio:16/9;border:1px solid var(--color-rule)}.media-bottom{display:flex;justify-content:space-between;gap:20px;margin-top:18px;font-size:.85rem}.feature-rows{border-top:1px solid var(--color-rule)}.feature-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.5fr);gap:28px;padding:24px 0;border-bottom:1px solid var(--color-rule)}.feature-row p{font-size:.94rem}.timeline{list-style:none;margin:0;padding:0}.timeline li{display:flex;gap:25px;justify-content:space-between;padding:18px 0;border-bottom:1px solid var(--color-rule)}.timeline time{font-family:var(--font-mono);font-size:.85rem;white-space:nowrap}.timeline a{font-size:.8rem}.faq{border-top:1px solid var(--color-rule)}details{border-bottom:1px solid var(--color-rule);padding:16px 0}summary{cursor:pointer;font-weight:600;line-height:1.7}summary:hover{color:var(--color-page)}summary:active{opacity:.7}details p,details ol{padding:12px 0 2px;line-height:1.9;font-size:.94rem}details[open] summary{color:var(--color-page)}.closing{padding:46px 40px;background:var(--color-dark);color:var(--color-paper);text-align:center;border-top:3px solid var(--color-accent)}.closing h2{margin-bottom:12px}.closing p{max-width:560px;margin:0 auto 22px}.closing .note{color:var(--color-dark-muted);margin-top:20px;margin-bottom:0}.subhead{max-width:960px;margin:0 auto;background:var(--color-dark);color:var(--color-paper);padding:45px 56px 50px;border-bottom:3px solid var(--color-accent)}.breadcrumbs{display:flex;gap:12px;font-size:.8rem;margin-bottom:28px;flex-wrap:wrap;color:var(--color-dark-muted)}.breadcrumbs a{white-space:nowrap}.subhead h1{font-size:clamp(2.1rem,4.5vw,3.5rem);margin:10px 0 20px}.subhead p{max-width:660px;color:var(--color-dark-muted)}.keytag{background:var(--color-accent);color:var(--color-dark);padding:5px 12px;font-family:var(--font-mono);font-size:.75rem;display:inline-block;transform:rotate(-2deg);margin-bottom:14px}.toc{display:flex;gap:14px;flex-wrap:wrap;padding:20px 0 28px}.toc a{white-space:nowrap;font-size:.9rem}.guide-chapter{margin-bottom:48px}.guide-chapter ol{padding-left:24px}.guide-chapter li{margin-bottom:12px}.step-result{padding:16px 20px;border-left:3px solid var(--color-page);background:var(--color-paper-alt);font-size:.9rem;margin-top:20px}.download-card{padding:30px;border:1px solid var(--color-rule);border-top:3px solid var(--color-page)}.download-card .btn{margin:24px 0 18px}.version-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin:30px 0;gap:20px}.version-pair div{border-top:1px solid var(--color-rule);padding-top:14px}.version-pair strong{display:block;font:1.7rem/1.7 var(--font-mono)}.gallery-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 20px}.filters{display:none;gap:10px;flex-wrap:wrap;margin:0 0 28px}.js .filters{display:flex}.filters button{padding:6px 16px;border:1px solid var(--color-ink);background:var(--color-clear);color:var(--color-ink);white-space:nowrap}.filters button:hover{background:var(--color-paper-alt)}.filters button:active{transform:translateY(1px)}.filters button[aria-pressed=true]{background:var(--color-ink);color:var(--color-paper)}.footer{max-width:960px;margin:0 auto;color:var(--color-paper);padding:0 36px 50px;font-size:.83rem}.footer-line{padding:22px 0;border-top:1px solid var(--color-accent);display:flex;justify-content:space-between;gap:25px;flex-wrap:wrap}.foot-links{display:flex;gap:18px;flex-wrap:wrap}.foot-links a{white-space:nowrap}.related{display:flex;flex-wrap:wrap;gap:8px 20px;margin:10px 0 24px}.related a{white-space:nowrap;color:var(--color-dark-muted)}.footer .legal{color:var(--color-dark-muted);font-size:.76rem}.sticky{display:none}.top-link{display:block;margin:20px 0 0;color:var(--color-paper);white-space:nowrap}.lightbox{padding:20px;border:1px solid var(--color-accent);background:var(--color-dark);color:var(--color-paper);width:min(1200px,94vw);max-height:94svh}.lightbox::backdrop{background:var(--color-modal)}.lightbox-inner{display:flex;flex-direction:column;gap:14px}.lightbox-controls{display:flex;justify-content:space-between;align-items:center;gap:10px}.lightbox button{background:var(--color-paper);color:var(--color-dark);border:1px solid var(--color-accent);padding:7px 14px;white-space:nowrap}.lightbox button:hover{background:var(--color-accent)}.lightbox button:active{transform:translateY(1px)}.lightbox img{max-height:69svh;object-fit:contain;margin:auto;width:auto}.lightbox-status{font-size:.85rem;color:var(--color-dark-muted);min-height:26px}.lightbox[data-state=loading] img{opacity:.35}.lightbox[data-state=error] .lightbox-status{color:var(--color-accent)}.lightbox[data-state=success] img{opacity:1}.lightbox button:focus-visible,.masthead :focus-visible,.hero :focus-visible,.closing :focus-visible,.footer :focus-visible{outline-color:var(--color-accent)}
@media(min-width:1300px){.gallery-page .page-paper{max-width:1100px}.gallery-page .gallery-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:768px){.nav-inner{padding:10px 20px;gap:14px}.nav-links{gap:16px}.nav-get{display:none}.hero{min-height:660px}.hero-content{padding:40px 28px}.hero-art{object-position:63% center}.hero:after{background:linear-gradient(0deg,var(--color-dark),var(--color-light-shade) 100%)}.hero-copy{max-width:440px}.page-paper{margin:0 20px 48px;box-shadow:7px 7px 0 var(--color-dark)}.info-strip{padding:24px}.content{padding:40px 30px}.subhead{padding:30px}.editorial-grid{grid-template-columns:minmax(0,1fr)}.feature-row{grid-template-columns:minmax(0,1fr);gap:5px}.section{margin-bottom:45px}.closing{padding:35px 24px}.footer{padding:0 28px 110px}.sticky{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:25;align-items:center;justify-content:space-between;gap:16px;background:var(--color-dark);color:var(--color-paper);border-top:1px solid var(--color-accent);padding:10px 18px calc(10px + env(safe-area-inset-bottom))}.sticky span{font-family:var(--font-display);font-size:.9rem}.sticky .btn{font-size:.83rem;padding:9px 16px;box-shadow:none}.lightbox{padding:12px}.lightbox button{font-size:.8rem;padding:8px}.timeline li{gap:12px}.gallery-page .page-paper{margin:0 20px 48px}}
@media(max-width:480px){.nav-inner{display:block;padding:8px 16px}.mark{font-size:1.05rem}.mark img{width:24px;height:24px}.nav-links{justify-content:space-between;gap:8px;margin-top:5px}.nav-links a{font-size:.79rem}.hero{height:calc(100svh - 78px);min-height:540px}.hero-content{padding:30px 22px 90px}.hero h1{font-size:3.2rem}.hero-art{object-position:66% 20%;height:75%;mask-image:linear-gradient(var(--color-dark) 75%,var(--color-clear))}.hero-copy{font-size:1rem;margin:18px 0}.hero-meta{gap:7px}.hero-meta span{padding:1px 7px;font-size:.73rem}.actions{gap:12px}.actions .btn{font-size:.82rem;padding:10px 16px}.hero-note{max-width:270px}.content{padding:32px 22px}.page-paper{margin:0 12px 40px;box-shadow:5px 5px 0 var(--color-dark)}.info-strip{padding:20px}.info-strip dl{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.info-strip dd{font-size:.87rem}.story-line{padding-left:14px;font-size:1.72rem}.lead{font-size:1rem}.gallery-thumbs{gap:7px}.gallery-grid{grid-template-columns:minmax(0,1fr)}.media-bottom{flex-direction:column;gap:4px}.subhead{padding:25px 22px 30px}.subhead h1{font-size:2.2rem}.subhead p{font-size:.92rem}.version-pair{grid-template-columns:minmax(0,1fr);gap:18px}.download-card{padding:22px}.timeline li{flex-direction:column;gap:4px}.footer{padding:0 22px 110px}.gallery-page .page-paper{margin:0 12px 40px}.lightbox-controls{flex-wrap:wrap}.lightbox img{max-height:62svh}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}.btn:hover,.btn:active,.keytag{transform:none}}
