:root{font-family:Songti SC,STSong,SimSun,serif;color:#171512;background:#f3eee2;font-synthesis:none;--paper:#f3eee2;--paper2:#ebe2d1;--ink:#171512;--red:#9d1f18;--muted:#736d63;--rule:#9b9385}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:320px;min-height:100vh;background:var(--paper);-webkit-font-smoothing:antialiased}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{color:inherit}a{color:inherit;text-decoration:none}.page{overflow:hidden}.topbar{height:78px;margin:0 28px;display:flex;align-items:center;border-bottom:1px solid var(--ink);justify-content:space-between;gap:28px}.brand{display:flex;align-items:center;gap:14px;white-space:nowrap}.seal{display:grid;place-items:center;width:40px;height:48px;border:2px solid var(--red);color:var(--red);font-size:17px;line-height:1.05;font-weight:800}.brand strong{font-size:28px;letter-spacing:.05em}.brand small{font-size:12px;color:#585147;letter-spacing:.08em}.topbar nav{display:flex;gap:42px;margin-left:auto;font-size:14px}.topbar nav a,.about-link{padding:28px 0 23px;border-bottom:3px solid transparent}.topbar nav a:first-child,.topbar nav a:hover{border-color:var(--red);color:var(--red)}.about-link{font-size:13px}.hero{display:grid;grid-template-columns:53% 47%;min-height:475px;border-bottom:1px solid var(--rule);padding:24px 28px 18px;gap:28px}.hero-main{display:flex;flex-direction:column;justify-content:center}.folio{font-family:Georgia,serif;color:var(--red);font-size:11px;letter-spacing:.18em}.hero h1{margin:19px 0 12px;font-size:clamp(56px,6.7vw,108px);line-height:.88;letter-spacing:-.075em;font-weight:900}.hero h1 em{font-style:normal;color:var(--red)}.hero-line{font-size:19px;letter-spacing:.16em;margin:18px 0 28px}.search{width:min(100%,680px);height:72px;display:grid;grid-template-columns:58px 1fr auto;align-items:center;border:1px solid var(--ink);background:#ffffff2e}.search svg{justify-self:center}.search input{height:100%;min-width:0;border:0;border-left:1px solid #c8beae;background:transparent;outline:0;padding:0 20px;font-size:17px;color:var(--ink)}.search input::placeholder{color:#9c958b}.search button{height:100%;border:0;border-left:1px solid var(--ink);background:var(--red);color:#fff;padding:0 27px;display:flex;align-items:center;gap:12px;cursor:pointer;font-weight:700}.mode-row{display:flex;align-items:center;gap:12px;margin-top:20px;font-size:13px;flex-wrap:wrap}.mode-row>span{color:var(--muted)}.mode-row button{background:transparent;border:0;padding:5px 9px;cursor:pointer;border-bottom:2px solid transparent}.mode-row button.active{color:var(--red);border-color:var(--red)}.profile-feature{display:grid;grid-template-columns:62% 38%;min-width:0;background:#e7dece}.profile-feature>img{width:100%;height:100%;max-height:430px;object-fit:cover}.profile-copy{padding:26px 23px}.profile-copy>span{font-size:12px;color:var(--red)}.profile-copy h2{font-size:36px;margin:12px 0 3px}.profile-copy q{color:#544d44;font-size:15px}.profile-copy dl{margin:28px 0 0}.profile-copy dl div{display:grid;grid-template-columns:54px 1fr;gap:8px;margin:11px 0;font-size:12px;line-height:1.55}.profile-copy dt{color:var(--muted)}.profile-copy dd{margin:0}.alphabet{margin:0 28px;padding:20px 10px;display:grid;grid-template-columns:230px 1fr;align-items:end;border-bottom:1px solid var(--rule)}.alphabet>div:first-child span,.alphabet>div:first-child small{display:block}.alphabet>div:first-child span{font-size:20px}.alphabet>div:first-child small{font-size:11px;color:var(--muted);margin-top:4px}.letters{display:flex;align-items:center;justify-content:space-between;gap:8px}.letters button{border:0;background:transparent;min-width:36px;padding:7px 10px;cursor:pointer;font-family:Georgia,serif}.letters button.active{background:var(--red);color:#fff}.search-results{margin:0 28px;padding:26px;border-bottom:1px solid var(--ink);display:grid;grid-template-columns:220px 1fr;gap:28px;background:#e9dfcd}.search-results>div:first-child span,.search-results>div:first-child strong{display:block}.search-results>div:first-child span{font-size:11px;color:var(--red);letter-spacing:.1em}.search-results>div:first-child strong{font-size:22px;margin-top:8px}.search-results>div:last-child{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.search-results button{border:1px solid var(--rule);background:var(--paper);display:grid;grid-template-columns:52px 1fr auto;align-items:center;text-align:left;gap:10px;padding:7px;cursor:pointer}.search-results img{width:52px;height:52px;object-fit:cover}.search-results button span b,.search-results button span small{display:block}.search-results button small{color:var(--muted);font-size:10px;margin-top:3px}.search-results>p{margin:0;color:var(--muted)}.archive{display:grid;grid-template-columns:250px minmax(320px,1fr) minmax(480px,1.25fr);gap:28px;padding:28px;border-bottom:1px solid var(--rule);scroll-margin-top:20px}.cover{position:relative;min-height:420px;background:#171512;color:#fff;overflow:hidden;padding:18px;display:flex;flex-direction:column;justify-content:flex-end}.cover img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;opacity:.64}.cover span,.cover h2,.cover p{position:relative}.cover span{font:10px Georgia,serif;letter-spacing:.18em}.cover h2{font-size:34px;margin:8px 0 4px}.cover p{font-size:11px;margin:0;color:#ded6ca}.story-file{padding:14px 4px 0}.story-file header,.relations header{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--rule);padding-bottom:10px}.story-file header>span,.relations header>span{color:var(--red);font-size:13px}.story-file header small,.relations header small{color:var(--muted)}.story-file>h2{font-size:42px;margin:22px 0 8px}.story-file .lead{font-size:14px;line-height:1.95;margin:0}.clue-list{margin-top:28px;padding-top:18px;border-top:1px solid #c2b9aa}.clue-list h3{font-size:14px;margin:0 0 12px}.clue-list p{font-size:12px;margin:8px 0;display:flex;align-items:center;gap:9px}.clue-list i{width:5px;height:5px;background:var(--red);display:block}.tags{display:flex;gap:7px;flex-wrap:wrap;margin-top:19px}.tags span{background:#e5ddcf;padding:7px 10px;font-size:11px}.relations{border-left:1px solid var(--rule);padding:14px 0 0 28px}.people{display:grid;grid-template-columns:1fr 64px 1fr 64px 1fr;align-items:center;gap:7px;margin:38px 0 31px}.person{text-align:center}.person img{width:94px;height:116px;object-fit:cover;filter:saturate(.78)}.person.primary img{width:110px;height:140px}.person strong,.person small{display:block}.person strong{font-size:15px;margin-top:10px}.person small{font-size:10px;color:var(--muted);margin-top:4px;line-height:1.45}.relation-label{text-align:center;color:var(--red);font-size:10px}.relation-label svg{display:block;margin:auto}.ending-toggle{width:100%;border:1px solid var(--rule);background:#ebe2d2;display:flex;align-items:center;justify-content:space-between;text-align:left;padding:15px 17px;cursor:pointer}.ending-toggle>span:first-child strong,.ending-toggle>span:first-child small{display:block}.ending-toggle small{font-size:10px;color:var(--muted);margin-top:3px}.ending-toggle>span:last-child{color:var(--red);display:flex;align-items:center;gap:7px}.ending-toggle svg{transition:transform .2s}.ending-toggle svg.rotated{transform:rotate(180deg)}.clue-explorer,.shelf,.faq{padding:90px max(28px,calc((100vw - 1200px)/2))}.clue-explorer{background:#1a1713;color:#f4eee2}.section-title{display:grid;grid-template-columns:1fr 1fr;gap:12px 55px;align-items:end;margin-bottom:35px}.section-title>span{grid-column:1/-1;font:10px Georgia,serif;letter-spacing:.18em;color:var(--red)}.clue-explorer .section-title>span{color:#d75a50}.section-title h2{font-size:44px;margin:0;line-height:1.1}.section-title p{color:var(--muted);line-height:1.7;margin:0}.clue-explorer .section-title p{color:#aaa195}.mode-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid #776e63;border-bottom:1px solid #776e63}.mode-grid button{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:14px;text-align:left;border:0;border-right:1px solid #776e63;background:transparent;color:#eee7db;padding:26px 20px;cursor:pointer}.mode-grid button:last-child{border:0}.mode-grid button:hover{background:#26211c}.mode-grid>button>svg:first-child{color:#d75a50}.mode-grid strong,.mode-grid small{display:block}.mode-grid small{color:#91877a;font-size:10px;margin-top:5px}.shelf{background:var(--paper2)}.shelf-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:13px}.shelf-grid button{border:0;border-top:3px solid transparent;background:transparent;padding:0 0 16px;text-align:left;cursor:pointer}.shelf-grid button.selected{border-color:var(--red)}.shelf-grid img{width:100%;aspect-ratio:4/5;object-fit:cover;display:block;filter:saturate(.75)}.shelf-grid span{display:block;color:var(--red);font-size:9px;margin-top:10px}.shelf-grid strong{display:block;font-size:19px;margin-top:4px}.shelf-grid small{display:block;color:var(--muted);font-size:10px;margin-top:3px}.faq{display:grid;grid-template-columns:.85fr 1.15fr;gap:70px}.faq .section-title{display:block}.faq .section-title h2{margin:13px 0 18px}.faq-list{border-top:1px solid var(--ink)}.faq-list article{border-bottom:1px solid var(--rule)}.faq-list button{width:100%;border:0;background:transparent;display:flex;align-items:center;justify-content:space-between;padding:21px 0;text-align:left;cursor:pointer;font-size:16px}.faq-list button b{font-size:22px;color:var(--red)}.faq-list article>div{display:grid;grid-template-rows:0fr;transition:.25s}.faq-list article>div p{overflow:hidden;margin:0;color:var(--muted);line-height:1.8;font-size:13px}.faq-list article.open>div{grid-template-rows:1fr}.faq-list article.open>div p{padding-bottom:22px}footer{border-top:1px solid var(--ink);padding:40px 28px;display:grid;grid-template-columns:auto 1fr auto auto;gap:35px;align-items:center;color:var(--muted);font-size:11px}.footer-brand{display:flex;align-items:center;gap:12px;color:var(--ink)}.footer-brand strong{font-size:22px}footer>div:nth-of-type(2){display:flex;gap:23px;color:var(--ink)}@media(max-width:1050px){.brand small,.about-link{display:none}.topbar nav{gap:22px}.hero{grid-template-columns:1fr}.profile-feature{min-height:360px}.profile-feature>img{max-height:360px}.archive{grid-template-columns:220px 1fr}.relations{grid-column:1/-1;border-left:0;border-top:1px solid var(--rule);padding:28px 0 0}.search-results>div:last-child{grid-template-columns:repeat(2,1fr)}.shelf-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:720px){.topbar{height:66px;margin:0 16px}.brand strong{font-size:20px}.seal{width:34px;height:40px;font-size:14px}.topbar nav{display:none}.hero{padding:30px 16px 16px;gap:22px}.hero h1{font-size:58px}.hero-line{font-size:15px;margin:12px 0 22px}.search{height:auto;grid-template-columns:46px 1fr}.search input{height:56px;padding:0 12px;font-size:14px}.search button{grid-column:1/-1;height:50px;justify-content:center;border-left:0;border-top:1px solid var(--ink)}.mode-row{gap:4px}.profile-feature{grid-template-columns:1fr;min-height:0}.profile-feature>img{height:260px}.profile-copy{padding:20px}.profile-copy dl{margin-top:18px}.alphabet{margin:0 16px;padding:18px 0;grid-template-columns:1fr;gap:15px}.letters{justify-content:flex-start;overflow:auto}.search-results{margin:0 16px;padding:18px;grid-template-columns:1fr}.search-results>div:last-child{grid-template-columns:1fr}.archive{padding:18px 16px;grid-template-columns:1fr}.cover{min-height:430px}.relations{grid-column:auto}.people{grid-template-columns:1fr;gap:15px}.relation-label svg{transform:rotate(90deg)}.person img,.person.primary img{width:116px;height:138px}.section-title{grid-template-columns:1fr}.section-title>span{grid-column:auto}.section-title h2{font-size:34px}.clue-explorer,.shelf,.faq{padding:65px 16px}.mode-grid{grid-template-columns:1fr}.mode-grid button{border-right:0;border-bottom:1px solid #776e63}.shelf-grid{grid-template-columns:repeat(2,1fr)}.faq{grid-template-columns:1fr;gap:25px}footer{padding:34px 16px;grid-template-columns:1fr;gap:18px}footer>div:nth-of-type(2){flex-wrap:wrap}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.faq-list article>div,.ending-toggle svg{transition:none}}.hero h1{font-size:clamp(54px,5.6vw,86px);white-space:nowrap}.hero h1 em{color:var(--ink)}.clue-list p svg{color:var(--red);flex:0 0 auto}@media(max-width:720px){.hero h1{font-size:56px;white-space:normal}.hero h1 em{display:block;color:var(--red)}}
