:root {
  color-scheme: dark;
  --ink:#e6dfce; --light:#f8ebd3; --muted:#b1af9d; --gold:#e5c18a;
  --floor:#141b17; --shadow:#101612; --panel:#1d2820; --line:#404a3d;
  --rust:#d39379; --sheet:#e6d7b9;
  --serif:"Songti TC","Noto Serif TC","PMingLiU",serif;
  --sans:system-ui,"PingFang TC",sans-serif;
  --mono:ui-monospace,"SF Mono",Consolas,monospace;
}
* {box-sizing:border-box}
html{scroll-padding-top:1.25rem}
body{margin:0;font-family:var(--sans);background:var(--floor);color:var(--ink);line-height:1.65}
[hidden]{display:none!important}
a{color:inherit;text-decoration:none}
a:hover{color:var(--gold)}
button,input,select,textarea{font:inherit}
button{cursor:pointer}
button:disabled{cursor:default;opacity:.58}
:focus-visible{outline:2px solid #f5cb8c;outline-offset:4px}
h1,h2,h3,p{margin:0}
img{display:block;max-width:100%}
.wide{width:min(100% - 64px,1180px);margin-inline:auto;padding-inline:max(0px,calc(env(safe-area-inset-left,0px) - 12px)) max(0px,calc(env(safe-area-inset-right,0px) - 12px))}
.skip{position:absolute;top:8px;left:8px;transform:translateY(-125%);z-index:9;background:var(--gold);color:var(--shadow);padding:10px 14px}
.skip:focus-visible{transform:none}
.mast{background:#111813;border-bottom:1px solid #555243;position:relative;z-index:1}
.topbar{min-height:70px;display:flex;justify-content:space-between;align-items:center;gap:14px}
.brand{display:flex;align-items:center;gap:10px;flex:none}
.brand-wordmark{display:block;color:var(--light);font:700 17px/1.15 var(--serif);letter-spacing:.09em}
.brand-wordmark i{color:var(--gold)}
.brand small{display:block;margin-top:3px;color:var(--muted);font-size:11px;line-height:1.3;letter-spacing:.1em}
.topbar nav{display:flex;align-items:center;gap:24px;font-size:14px}
.topbar nav a{padding-block:11px;white-space:nowrap}
.seal-button,.secondary{background:transparent;color:var(--ink);border:1px solid #716850;padding:9px 13px;min-height:42px}
.seal-button:hover,.secondary:hover{border-color:var(--gold);color:var(--gold)}
.hero{position:relative;background:#121914 url("/media/reading-room.webp") 67% 57%/cover no-repeat;border-bottom:1px solid #595449;isolation:isolate}
.hero::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#0d1511f7 0%,#101813cc 31%,#1418134d 59%,#15191710 100%),linear-gradient(0deg,#101612d9 0%,transparent 31%);z-index:-1}
.cover-layout{padding-block:74px 22px;min-height:565px;display:grid;align-content:space-between;gap:56px}
.cover-copy{align-self:center}
.overline{display:flex;gap:.65em;align-items:center;flex-wrap:wrap;color:var(--gold);font:11px/1.55 var(--mono);letter-spacing:.12em}
.divider{display:inline-block;width:17px;height:1px;background:#a99470}
.lamp-dot{width:6px;height:6px;border-radius:50%;background:#e6a16d;box-shadow:0 0 9px 2px #ff924132}
.cover-copy h1{font:700 83px/.99 var(--serif);color:var(--light);letter-spacing:.03em;margin:26px 0 25px;text-shadow:0 3px 14px #0006}
.cover-copy h1 span{color:#edcd96}
.hero-lead{color:#e0dac9;font-size:16px;margin-bottom:26px;line-height:1.75}
.primary{display:inline-flex;flex:none;min-height:48px;align-items:center;justify-content:center;gap:1.3em;border:1px solid #d9b685;padding:10px 17px;background:#e2c28e;color:#1a2219;font-weight:730}
.primary:hover{background:#f3d5a0;color:#141b17}
.frame-caption{text-align:right;display:flex;align-items:center;justify-content:flex-end;gap:12px;color:#e1dac9;font-size:12px;text-shadow:0 1px 3px black}
.frame-caption span{font:11px var(--mono);color:#e5c18a}
.ticks{margin-left:7px;letter-spacing:0}
.evidence-strip{background:#1c271e;border-bottom:1px solid var(--line)}
.strip-layout{display:grid;grid-template-columns:minmax(170px,.87fr) minmax(280px,1.7fr);align-items:center;gap:30px;padding-block:26px}
.strip-phrase h2,.section-title h2,.ledger h2{font:700 40px/1.2 var(--serif);color:var(--light);margin:7px 0 8px}
.strip-phrase h2{font-size:26px}
.strip-phrase p:last-child,.ledger p:not(.overline){color:var(--muted);font-size:14px}
.desk{display:flex;gap:19px;align-items:center;justify-content:flex-end;min-height:75px;background:repeating-linear-gradient(1deg,#332d2399 0 1px,transparent 1px 14px),linear-gradient(100deg,#25271b00,#35291f95);padding:7px 18px 7px 8px;border-bottom:1px solid #786b4d76}
.desk-photo{width:100px;flex:none;padding:4px 4px 10px;background:var(--sheet);transform:rotate(-5deg);box-shadow:4px 5px 10px #0007}
.desk-photo img{width:100%;height:57px;object-fit:cover}
.desk-drawers{width:88px;flex:none;display:grid;gap:3px;align-self:center;perspective:200px}
.desk-drawers i{height:15px;display:grid;place-items:center;border:1px solid #837152;background:#414737;box-shadow:0 3px 2px #090e0aaf;transition:transform .9s}
.desk-drawers i::after{content:"";width:16px;height:2px;background:#c7a66d}
.desk[data-open="true"] .desk-drawers i:nth-child(2){transform:translate(-8px,3px) scale(1.1);background:#6c644c;box-shadow:0 6px 3px #090b08}
.item-list{margin:0;padding:0;list-style:none;display:flex;gap:7px;flex-wrap:wrap;font-size:12px}
.item-list li{padding:1px 7px;border:1px solid #7b7055;color:var(--light)}
.files{padding-block:55px 76px}
.section-title{display:flex;align-items:flex-end;justify-content:space-between;border-bottom:1px solid var(--line);gap:15px;padding-bottom:15px}
.index-stamp{white-space:nowrap;border:1px solid #936b57;color:#efb697;padding:5px 9px;font:12px var(--mono);transform:rotate(-2deg);margin-bottom:7px}
.filters{display:flex;gap:8px;flex-wrap:wrap;margin-block:18px 23px}
.filters button{border:1px solid var(--line);background:#18211b;color:#d3cfbc;padding:6px 12px;min-height:42px;font-size:13px}
.filters button[aria-pressed="true"]{background:#ddd0ac;border-color:#ddd0ac;color:#1b2218;font-weight:700}
.filters button:hover{border-color:var(--gold)}
#case-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.case-card{min-width:0;display:flex;flex-direction:column;background:#1e2820;border:1px solid #465041;transition:border-color .17s,background .17s}
.case-card:hover{border-color:#a78f62;background:#252f26;color:var(--ink)}
.card-photo,.file-photo{position:relative;overflow:hidden;margin:0;background:#1b2521}
.card-photo{aspect-ratio:1.8}
.card-photo img,.file-photo img{width:100%;height:100%;object-fit:cover}
.card-photo::after,.file-photo::after{content:"";position:absolute;inset:0;box-shadow:inset 0 0 32px #1119;pointer-events:none}
.photo-missing{display:grid;place-items:center;min-height:100%;font:12px var(--mono);color:var(--gold);background:repeating-linear-gradient(135deg,#3a403270 0 1px,#252d2460 1px 9px)}
.card-body{padding:14px 16px 18px;flex:1;display:flex;flex-direction:column;gap:7px}
.card-meta{display:flex;align-items:center;justify-content:space-between;gap:.6em;color:#d1b98f;font:11px/1.5 var(--mono);letter-spacing:.06em}
.card-meta span:last-child{text-align:right}
.card-body h3{font:700 22px/1.23 var(--serif);color:var(--light)}
.card-body p{font-size:13px;color:#c5c3af}
.card-next{display:block;margin-top:auto;padding-top:10px;font:12px var(--mono);color:var(--gold)}
.case-file{padding-block:34px 70px;min-height:65vh}
.file-back{display:inline-flex;min-height:44px;align-items:center;color:var(--gold);margin-bottom:14px}
.file-grid{display:grid;grid-template-columns:1.65fr 1fr;gap:32px;align-items:center}
.file-photo{aspect-ratio:1.58;padding:8px;background:#c5b290;border:1px solid #837453}
.file-photo img{object-fit:contain;background:#171d18}
.file-copy h1{font:700 42px/1.17 var(--serif);color:var(--light);margin:9px 0 3px}
.file-copy .en{color:var(--gold);font:12px/1.6 var(--mono)}
.file-summary{font-size:18px;margin:18px 0 24px}
.file-copy .fine-print{margin-top:12px}
.ledger{border-block:1px solid var(--line);background:#1c271e;padding-block:48px}
.ledger-layout{display:grid;grid-template-columns:1fr 1fr;gap:60px}
#ledger-form{margin-top:18px;display:grid;gap:11px}
#ledger-form label:not(.check){display:grid;gap:5px;font-size:13px}
input:not([type=checkbox]),textarea,select{width:100%;background:#131c16;color:var(--ink);padding:9px 10px;border:1px solid #59614d;border-radius:0;font-size:16px}
textarea{resize:vertical}
.check{display:flex;gap:8px;align-items:center;min-height:36px;font-size:13px}
input[type=checkbox]{width:18px;height:18px;accent-color:#c9a773}
#ledger-form button{justify-self:start}
.entry{margin-top:12px;border-bottom:1px solid var(--line);padding:12px 0}
.entry h3{font-size:15px;margin-bottom:4px}
.entry p{overflow-wrap:anywhere;white-space:pre-wrap}
.entry summary{min-height:36px;cursor:pointer;color:var(--gold);font-size:14px}
.entries>.fine-print{margin-top:14px}
.footer{display:flex;justify-content:space-between;gap:12px;align-items:baseline;padding-block:26px 30px;color:var(--muted);font:12px/1.6 var(--mono)}
.footer span{color:var(--rust)}
dialog{background:#222d24;color:var(--ink);border:1px solid #867456;padding:24px;width:min(calc(100% - 30px),590px);max-height:calc(100dvh - 40px);overflow:auto;box-shadow:0 15px 65px #0009}
dialog::backdrop{background:#0a100bcf}
dialog h2{font:700 37px/1.1 var(--serif);color:var(--light);margin:9px 42px 14px 0}
dialog p{margin-bottom:10px;font-size:15px}
.close-form{position:absolute;top:9px;right:9px}
.close{height:44px;width:44px;border:0;background:transparent;color:var(--ink);font-size:24px}
.fine-print,output{font-size:13px;color:var(--muted)}
output{display:block;margin-top:8px}
.row{display:flex;flex-wrap:wrap;gap:9px}
#import-preview{border-top:1px solid #5c604f;margin-top:13px;padding-top:12px}
.transfer-note{margin-top:10px;font-size:13px;color:var(--muted)}
.transfer-note summary{cursor:pointer}
.transfer-note p{margin:4px 0 0}
@media(max-height:450px){
  dialog{padding:15px 19px;max-height:calc(100dvh - 26px)}
  dialog h2{font-size:29px;margin-bottom:8px}
  dialog p{font-size:14px;margin-bottom:8px}
}
@media(max-width:880px){
  .wide{width:calc(100% - 44px)}
  .cover-copy h1{font-size:73px}
  .cover-layout{min-height:520px;padding-top:65px}
  #case-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
  .file-grid{grid-template-columns:1fr;gap:22px}
  .file-photo{aspect-ratio:1.8}
  .ledger-layout{gap:30px}
}
@media(max-width:560px){
  .wide{width:calc(100% - 32px)}
  .topbar{align-items:flex-start;flex-direction:column;gap:4px;padding-top:10px}
  .brand{gap:7px}
  .topbar nav{width:100%;gap:12px;justify-content:space-between;font-size:12px}
  .seal-button{padding:5px 8px;min-height:36px}
  .hero{background-position:84% 50%}
  .hero::before{background:linear-gradient(90deg,#0d1511ed,#10181394 59%,#171a114a),linear-gradient(0deg,#0d1410e0,transparent 40%)}
  .cover-layout{min-height:498px;padding-block:58px 15px;gap:35px}
  .cover-copy h1{font-size:59px;margin:20px 0}
  .hero-lead{font-size:14px}
  .frame-caption{font-size:10px;gap:7px}
  .strip-layout{gap:8px;grid-template-columns:1fr;padding-block:16px}
  .desk{justify-content:flex-start;min-height:62px}
  .strip-phrase h2{font-size:24px}
  .files{padding-block:39px 48px}
  .section-title h2,.ledger h2{font-size:33px}
  .filters{gap:6px}
  .filters button{padding-inline:7px;font-size:12px;min-height:40px}
  #case-grid{gap:8px}
  .card-body{padding:9px 9px 11px;gap:6px}
  .card-body h3{font-size:17px}
  .card-body p{font-size:12px}
  .card-meta{font-size:9px}
  .case-file{padding-block:17px 35px}
  .file-copy h1{font-size:33px}
  .file-summary{font-size:16px;margin:13px 0 17px}
  .ledger-layout{grid-template-columns:1fr}
  .footer{flex-wrap:wrap}
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition-duration:.001ms!important}}
