@font-face{font-family:Manrope;src:url('/assets/manrope.woff2') format('woff2');font-weight:400 800;font-display:swap}
@font-face{font-family:Newsreader;src:url('/assets/newsreader.woff2') format('woff2');font-style:italic;font-weight:400 600;font-display:swap}
@font-face{font-family:Oreform SC;src:url('/assets/oreform-sc.woff2') format('woff2');font-weight:400 800;font-display:swap}
:root{
  color-scheme:light;
  --paper:#f5f1e9;
  --surface:#ece6dc;
  --ink:#282422;
  --muted:#645c55;
  --accent:#783e2d;
  --rule:#d3c8bb;
  --sans:Manrope,'Oreform SC',system-ui,sans-serif;
  --mono:ui-monospace,Consolas,'Oreform SC',monospace;
  scroll-behavior:smooth;
}
*{box-sizing:border-box}
body{margin:0;background:var(--paper);color:var(--ink);font:500 15px/1.65 var(--sans)}
a{color:inherit;text-decoration:none}
button,select,input{font:inherit}
button{cursor:pointer}
button:disabled{opacity:.55;cursor:wait}
:focus-visible{outline:2px solid #a65b3e;outline-offset:4px}
[hidden]{display:none!important}
.wrap{width:min(1312px,calc(100% - 104px));margin-inline:auto}
.header{min-height:79px;display:flex;justify-content:space-between;align-items:center;gap:18px;border-bottom:1px solid var(--rule)}
.brand,.actions,.hero-actions{display:flex;align-items:center;gap:12px}
.brand{font-size:.93rem;font-weight:800;letter-spacing:.18em;white-space:nowrap}
.header nav{display:flex;gap:32px;color:var(--muted);font-size:.84rem;font-weight:700}
.header nav a:hover,.foot-links a:hover{color:var(--accent);text-decoration:underline;text-underline-offset:4px}
.button,.quiet,.header select,.filters button{border:1px solid transparent;border-radius:3px}
.button{display:inline-flex;align-items:center;justify-content:center;padding:11px 17px;font-size:.85rem;font-weight:800;white-space:nowrap;transition:background .2s,color .2s,border-color .2s}
.light{background:var(--accent);color:#fff9ef}
.light:hover{background:#602c1f}
.header .light{background:transparent;border-color:#ad9a8b;color:var(--ink)}
.header .light:hover{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.quiet,.header select{background:transparent;color:inherit;font-size:.81rem;padding:8px 4px}
.quiet{font-weight:800}
.mono,.eyebrow{font:600 .69rem/1.55 var(--mono);letter-spacing:.12em}
.eyebrow{display:flex;align-items:center;gap:10px;color:var(--accent);margin:0 0 22px}
.signal{width:7px;height:7px;flex:none;background:currentColor;transform:rotate(45deg)}
.hero{display:grid;grid-template-columns:1.02fr 1fr;gap:36px;min-height:555px;padding-block:26px}
.hero-copy{position:relative;display:flex;flex-direction:column;justify-content:center;padding:30px 0 60px}
.hero h1{font:700 clamp(2.7rem,6.25vw,6.6rem)/.98 var(--sans);letter-spacing:-.065em;margin:0 0 22px}
.hero h1 i{font:italic 450 1.09em/.98 Newsreader,Georgia,serif;letter-spacing:-.057em;color:var(--accent)}
:lang(zh-CN) .hero h1{font-size:clamp(3.35rem,6.45vw,6.45rem);font-weight:650;line-height:1.12;letter-spacing:-.045em}
:lang(zh-CN) .hero h1 i{font:inherit;letter-spacing:inherit}
:lang(zh-CN) h2{letter-spacing:-.065em}
:lang(zh-CN) .eyebrow,:lang(zh-CN) .mono{letter-spacing:.08em}
.intro{max-width:435px;color:var(--muted);font-size:1rem;margin:0 0 25px}
.hero-actions{gap:22px;flex-wrap:wrap}
.secondary{font-size:.85rem;font-weight:800;border-bottom:1px solid #b28d7a;padding:5px 0}
.secondary:hover{color:var(--accent)}
.hero-index{position:absolute;inset:auto 0 0;display:flex;justify-content:space-between;border-top:1px solid var(--rule);padding-top:11px;color:var(--muted)}
.hero-art{position:relative;isolation:isolate;overflow:hidden;background:#292921;min-height:450px}
.hero-art img{width:100%;height:100%;position:absolute;object-fit:cover;object-position:center;animation:appear .7s ease-out both}
.hero-art::after{content:"";position:absolute;inset:15px;border:1px solid #f4e4d36b;pointer-events:none}
.cross{position:absolute;z-index:1;font:19px var(--mono);color:#f3e3d1}
.cross.top{top:5px;left:10px}
.cross.end{bottom:4px;right:10px}
.art-label{position:absolute;z-index:1;bottom:28px;right:28px;background:#211e1bdc;color:#f3e4d5;padding:10px 13px;display:grid;gap:3px}
.art-label strong{font:600 2.1rem/1 var(--sans);letter-spacing:-.08em}
@keyframes appear{from{opacity:.7;transform:scale(1.025)}to{opacity:1;transform:scale(1)}}
.band{background:var(--ink);color:#eee1d4}
.band-inner{min-height:47px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;font:650 .68rem/1.45 var(--mono);letter-spacing:.08em;padding-block:9px}
.band b{color:#d2a084;font-size:1.05rem;margin-right:7px}
.catalog{background:var(--surface);padding:70px 0 78px}
.section-heading{display:flex;justify-content:space-between;align-items:end;gap:16px;margin-bottom:28px}
h2{font:700 clamp(2.6rem,5.1vw,4.8rem)/1.03 var(--sans);letter-spacing:-.061em;margin:0 0 11px}
.section-heading p{color:var(--muted);margin:0}
.filters{display:flex;flex-wrap:wrap;gap:6px}
.filters button{padding:7px 11px;color:var(--muted);border-color:#bbae9f;background:transparent;font-size:.76rem;font-weight:750}
.filters button:hover{border-color:var(--accent)}
.filters .active{background:var(--ink);border-color:var(--ink);color:var(--paper)}
.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.card{display:block;text-align:left;background:var(--paper);color:var(--ink);border:1px solid var(--rule);border-radius:2px;padding:0;overflow:hidden;transition:transform .2s,box-shadow .2s}
.card:hover{transform:translateY(-4px);box-shadow:0 12px 26px #32201918}
.thumb{display:block;aspect-ratio:1.65;position:relative;overflow:hidden;background:#302821}
.thumb img{width:100%;height:100%;object-fit:cover;transition:transform .45s}
.card:hover img{transform:scale(1.045)}
.tag{position:absolute;top:12px;left:12px;padding:5px 8px;background:var(--paper);color:var(--ink)}
.card-copy{display:block;padding:17px}
.card-copy>.mono{color:var(--accent)}
.card-name{font:750 clamp(1.35rem,2.45vw,2.05rem)/1.16 var(--sans);letter-spacing:-.058em;display:block;margin:5px 0 15px}
.card-meta{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--rule);padding-top:11px;color:var(--muted)}
.arrow{font:1.15rem/1 var(--sans);color:var(--accent)}
.registry{display:grid;grid-template-columns:1fr 1fr;gap:7%;padding-block:72px}
.small{font-size:.83rem;color:var(--muted);max-width:450px}
.terminal,.passport-body{
  color-scheme:dark;
  --ink:#f5eee6;
  --muted:#cabbb0;
  --accent:#e3ad91;
  --rule:#645247;
  background:#302724;
  color:var(--ink);
}
.terminal{border:1px solid var(--rule);padding:25px;display:grid;gap:9px;align-content:start}
.terminal-head{display:flex;justify-content:space-between;gap:8px;border-bottom:1px solid var(--rule);padding-bottom:14px;margin-bottom:8px;color:var(--accent)}
label{font-size:.85rem;color:inherit}
.terminal select,.terminal input{width:100%;border:1px solid var(--rule);background:#241e1b;color:var(--ink);padding:10px;border-radius:3px}
.terminal .button{margin-top:6px;justify-self:start}
.terminal .light,.passport-body .light{background:var(--accent);color:#2f221e}
.terminal .light:hover,.passport-body .light:hover{background:#f0c8b1}
.status{font-size:.85rem;overflow-wrap:anywhere;margin:4px 0 0;color:var(--accent)}
.status:empty{display:none}
.status a{display:inline-block;text-decoration:underline;margin-inline-start:8px}
.footer{border-top:1px solid var(--rule);padding:24px 0;color:var(--muted)}
.footer .wrap,.foot-links{display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap}
.foot-links{font-size:.81rem}
dialog{max-width:min(560px,calc(100vw - 26px));width:100%;max-height:90dvh;background:#302724;border:1px solid #9b8170;padding:0;border-radius:4px}
dialog::backdrop{background:#201612bf;backdrop-filter:blur(5px)}
.passport-body{padding:24px;position:relative}
.passport-body h2{font-size:2.45rem;margin-top:12px}
.passport-body>img{width:100%;height:155px;object-fit:cover;border-radius:2px}
.close{position:absolute;right:13px;top:9px;border:0;background:none;color:var(--ink);font-size:1.6rem}
.passport-body dl{display:grid;grid-template-columns:1fr 1fr;gap:9px;padding:10px 0;border-block:1px solid var(--rule)}
.passport-body dd{margin:0}
.passport-body dt{font:700 .69rem var(--mono);color:var(--muted)}
code{display:block;overflow-wrap:anywhere;color:var(--accent);font:.77rem var(--mono)}
.passport-actions{display:flex;gap:7px;flex-wrap:wrap;margin:17px 0 7px}
.outline{background:transparent;border-color:#a98d7d;color:var(--ink)}
.outline:hover{background:#46362e}
.toast{position:fixed;right:15px;bottom:15px;z-index:5;max-width:min(410px,calc(100vw - 30px));padding:13px;background:var(--ink);color:var(--paper);box-shadow:0 4px 20px #0004;border-radius:3px}
.admin{max-width:710px;padding-block:45px}
.admin .terminal{margin:20px 0}
.admin h1{font:750 clamp(1.9rem,5vw,3rem)/1.15 var(--sans);letter-spacing:-.06em;margin:15px 0}
.admin a:not(.brand){text-decoration:underline}
@media(max-width:1050px){
  .wrap{width:calc(100% - 56px)}
  .header nav{gap:16px}
  .hero{min-height:485px;gap:22px}
  .hero-art{min-height:390px}
}
@media(max-width:760px){
  .wrap{width:calc(100% - 32px)}
  .header{min-height:65px;gap:6px;flex-wrap:wrap;padding-block:10px}
  .header nav{display:none}
  .actions{gap:4px}
  .header .button{padding:8px;font-size:.72rem}
  .header select,.quiet{font-size:.72rem;padding:4px 2px}
  .brand{font-size:.78rem;gap:6px}
  .brand img{width:28px;height:28px}
  .hero{grid-template-columns:1fr;padding-block:15px;gap:16px}
  .hero-copy{padding:23px 0 49px}
  .hero h1,:lang(zh-CN) .hero h1{font-size:clamp(2.45rem,11vw,5.5rem);margin-bottom:15px}
  .hero-art{min-height:0;aspect-ratio:1.48}
  .catalog{padding-block:45px}
  .section-heading{align-items:start;flex-direction:column}
  .cards{grid-template-columns:repeat(auto-fit,minmax(min(100%,235px),1fr))}
  .registry{grid-template-columns:1fr;gap:21px;padding-block:45px}
  .band-inner{font-size:.61rem}
  .footer{padding-block:18px}
}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{scroll-behavior:auto!important;animation:none!important;transition:none!important}
}
