@font-face{font-family:Song;src:local('Songti SC')}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#091722;color:#ede5d5;font:16px/1.85 'PingFang SC','Microsoft YaHei',sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}a:hover{color:#e6af73}button,input,select{font:inherit}button,a,input{outline-offset:5px}h1,h2,h3,h4{font-family:Song,'Noto Serif CJK SC',serif;font-weight:500;line-height:1.3;margin:0}h1{font-size:clamp(42px,5.4vw,78px);letter-spacing:.04em;overflow-wrap:anywhere}h2{font-size:34px}h3{font-size:25px}p{margin:0 0 20px}small,.muted{font-size:13px;color:#a3b0b6}.top{padding:22px 4vw;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #ccb48b33;gap:22px;position:relative;z-index:2;background:#091722f5}.brand{font-family:Song,serif;font-size:25px;white-space:nowrap;letter-spacing:.15em}.brand svg{width:32px;margin-right:14px;vertical-align:middle}.top nav{display:flex;gap:25px;font-size:13px;white-space:nowrap}.top .active{color:#edaa73;border-bottom:2px solid #cc704d}.crumb{font-size:12px;letter-spacing:.09em;color:#bcbaa8;margin-bottom:35px}.hero{position:relative;min-height:530px;padding:58px max(5vw,calc((100vw - 1200px)/2));overflow:hidden;display:flex;align-items:center;border-bottom:1px solid #b5a38125}.hero-art{position:absolute;inset:0 0 0 28%;background-size:cover;background-position:center;opacity:.88}.hero-art:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#091722 0%,#09172233 40%,transparent 80%),linear-gradient(0deg,#091722 0%,transparent 32%)}.hero-copy{position:relative;z-index:1;max-width:720px}.hero-copy h1{max-width:690px}.hero-copy .intro{margin-top:28px;max-width:550px;color:#d5d2c7;font-size:18px;line-height:1.9}.hero .original{color:#e1aa72;font:17px Song,serif;margin-top:17px;letter-spacing:.18em}.hero .vline{position:absolute;right:5vw;top:80px;writing-mode:vertical-rl;letter-spacing:.28em;font:17px Song,serif;color:#de9867;border-right:1px solid #ba775c;padding-right:16px;max-height:350px}.navline{display:flex;gap:32px;flex-wrap:wrap;padding:20px 5vw;border-bottom:1px solid #d4bea12a;font-size:14px;color:#d6c4a4}.wrap{max-width:1200px;margin:auto;padding:62px 30px}.section{margin:0 0 75px}.section-head{display:flex;align-items:baseline;gap:30px;justify-content:space-between;border-bottom:1px solid #c4aa802f;padding-bottom:21px;margin-bottom:32px}.section-head p{max-width:540px;color:#a8b3b7;font-size:14px;margin:0}.split{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:start}.split.wide{grid-template-columns:1.5fr 1fr}.lead{font:27px/1.75 Song,serif;color:#f1dec0}.lede{font-size:19px;line-height:2}.paper{background:#eee3cf;color:#262b2c;padding:48px;position:relative}.paper .muted{color:#657073}.paper:before{content:'';width:54px;height:3px;background:#b96542;display:block;margin-bottom:25px}.paper h2{margin-bottom:24px}.paper a:hover{color:#a94f32}.rule{height:1px;background:#bd9b744d;margin:28px 0}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:25px}.grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.feature{padding:29px 0;border-top:1px solid #c5b08050;position:relative}.feature .num{font:italic 42px Georgia,serif;color:#c17852;margin-bottom:14px}.feature p{color:#abb5b6;font-size:15px;margin-top:17px}.feature h3{font-size:24px}.bookcard{display:block;min-width:0}.bookcard h3{font-size:19px;margin:20px 0 5px;overflow-wrap:anywhere}.bookcard p{font-size:13px;color:#adb5b6;margin:0}.cover{height:295px;position:relative;isolation:isolate;display:flex;flex-direction:column;justify-content:space-between;padding:28px 22px;background:#1e333b;border-left:7px solid #425153;box-shadow:7px 9px 18px #0005;overflow:hidden;max-width:240px}.cover:before{content:'';position:absolute;inset:0;background-image:var(--art);background-size:cover;background-position:center;z-index:-2;opacity:.35}.cover:after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,#041319ad,transparent 80%)}.cover .cover-title{font:26px/1.4 Song,serif;max-height:205px;overflow:hidden;overflow-wrap:anywhere}.cover .cover-author{font-size:12px;letter-spacing:.14em;color:#e4d3b4}.cover.c1{background:#e4dac7;color:#172c34;border-color:#c0a776}.cover.c1:after{background:linear-gradient(0deg,#e9decfa0,transparent)}.cover.c1 .cover-author{color:#33454b}.cover.c2{border-color:#bd7757;background:#382d2c}.cover.c3{border-color:#738c8a;background:#173c40}.cover .cover-line{height:1px;width:45px;background:#c99868;margin:17px 0}.bookcard.compact{display:grid;grid-template-columns:72px 1fr;gap:18px;align-items:start;padding:20px 0;border-bottom:1px solid #b8aa8530}.compact .cover{height:102px;padding:8px;border-left-width:3px}.compact .cover-title{font-size:12px;max-height:60px}.compact .cover-author,.compact .cover-line{display:none}.compact h3{margin:4px 0;font-size:20px}.authorcard{min-width:0;border-top:1px solid #b3aa8c55;display:block}.authorcard .scene{height:190px;background-size:cover;background-position:center;margin-bottom:20px}.authorcard h3{font-size:26px}.authorcard p{color:#aeb7b7;font-size:14px;margin:12px 0 20px}.authorcard .arrow{color:#d1a170;font-size:13px}.outline{padding:35px 0;border-top:1px solid #c5b08050}.outline h3{margin-bottom:20px}.timeline{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}.timeline>div{border-top:2px solid #a57354;padding-top:25px}.timeline .date{font:32px Georgia,serif;color:#d8ae7b;margin-bottom:18px}.tagline{font:40px/1.65 Song,serif;letter-spacing:.05em;max-width:900px;margin:20px 0}.portrait-art{min-height:340px;background-size:cover;background-position:center;position:relative}.caption{font-size:12px;color:#a9ac9e;margin:10px 0}.band{min-height:220px;padding:42px;background:linear-gradient(90deg,#153140,#091722);border:1px solid #c7b08a33;display:flex;align-items:center;justify-content:space-between;gap:25px}.band h2{max-width:700px}.button{display:inline-flex;align-items:center;justify-content:center;border:1px solid #bca485;padding:11px 24px;color:#efddbf;font-size:14px;background:transparent;cursor:pointer;white-space:nowrap}.button:hover{background:#cdaa8020}.paper .button{color:#253840}.linklist{display:grid;gap:0}.linkrow{display:flex;gap:28px;justify-content:space-between;align-items:center;border-bottom:1px solid #b5a07c40;padding:23px 0}.linkrow h3{font-size:22px}.linkrow p{margin:9px 0 0;color:#a6b1b4;font-size:14px}.linkrow>span{color:#d8aa75;font:22px Georgia}.letter-index{columns:3;column-gap:45px}.index-entry{break-inside:avoid;padding:17px 0;border-top:1px solid #cdb79538}.index-entry h3{font-size:20px}.index-entry p{font-size:13px;color:#b9b5a7;margin:8px 0}.book-hero{min-height:580px}.book-hero .hero-copy{max-width:none;width:100%;display:grid;grid-template-columns:300px 1fr;gap:74px;align-items:center}.book-hero .cover{max-width:none;height:410px;padding:38px 29px}.book-hero .cover-title{font-size:40px;max-height:290px}.book-hero h1{font-size:clamp(36px,4vw,60px)}.book-hero .intro{font-size:17px}.meta{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:25px;margin-top:32px;padding-top:22px;border-top:1px solid #c9b38966}.meta dt{font-size:12px;color:#a7b2b3}.meta dd{margin:6px 0 0;font-size:16px;overflow-wrap:anywhere}.version{display:grid;grid-template-columns:80px 1fr auto;gap:25px;align-items:center;border-bottom:1px solid #b8a78640;padding:24px 0;min-width:0}.version .fmt{font:18px Georgia;color:#cba16f}.version p{margin:0;color:#a4b0b3;font-size:13px;overflow-wrap:anywhere}.version h3{font-size:19px;overflow-wrap:anywhere}.version small{font-size:12px}.sources{font-size:13px;border-top:1px solid #c0ae8b40;padding-top:22px}.sources h2{font-size:23px;margin-bottom:20px}.sources a{color:#d8b588;display:block;margin:9px 0;overflow-wrap:anywhere}.foot{padding:26px 5vw;display:flex;justify-content:space-between;gap:24px;border-top:1px solid #c9b18d40;color:#b0b7b5;font-size:12px}.foot a{margin-right:18px}.prevnext{display:flex;justify-content:space-between;gap:24px;margin-bottom:40px;padding:24px 0;border-top:1px solid #a9977955}.article{max-width:840px;margin:0 auto}.article p{font-size:18px;line-height:2.15}.article h2{margin:45px 0 22px}.side{border-left:1px solid #b99c7255;padding-left:35px}.aside-num{font:80px Georgia;color:#b08555;line-height:1}.concept-hero h1{max-width:700px}.route-step{display:grid;grid-template-columns:55px 1fr;gap:30px;border-top:1px solid #b3a28755;padding:32px 0}.route-step .step{font:36px Georgia;color:#d5a476}.route-step h3{margin:8px 0 15px}.route-step .books{margin-top:25px}.route-step .cover{height:190px;max-width:145px}.route-step .cover-title{font-size:20px}.route-step .cover-author{font-size:10px}.shelf-search{display:flex;gap:16px;align-items:center;flex-wrap:wrap;margin-bottom:32px}.shelf-search input{background:#102530;border:1px solid #687273;color:#f6eee0;padding:14px 18px;min-width:230px;flex:1}.shelf-search select{background:#102530;color:#e2d3b8;padding:14px 15px;border:1px solid #687273;max-width:250px}.hidden{display:none!important}.pager{display:flex;gap:10px;flex-wrap:wrap;margin:38px 0}.pager a{border:1px solid #b99a7544;padding:5px 14px;font-size:13px}.pager .active{color:#142631;background:#d1b389}.notice{font-size:13px;padding:15px 20px;border-left:2px solid #b67954;color:#b9c0bd;background:#15303a55;margin:25px 0}details{border-top:1px solid #b5a17d55;padding:20px 0}summary{cursor:pointer;color:#d7c4a3;font-size:15px}.toc{font-size:14px;color:#b9c0be;padding:15px 0 0 20px;columns:2}.toc li{margin:8px 0;break-inside:avoid}.tickets{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:25px}.ticket{background:#e9dec9;color:#172930;padding:35px;position:relative}.ticket small{font-family:Georgia;color:#8d5d43}.ticket h2{font-size:30px;margin:15px 0}.ticket p{font-size:13px;line-height:1.8;color:#47565b}.ticket:after{content:'→';position:absolute;right:25px;bottom:20px;color:#a34d34}.motif-text{font:90px/1 Song,serif;color:#c7ae8350;writing-mode:vertical-rl;position:absolute;right:30px;bottom:30px;pointer-events:none}.variant-1 .hero-copy{margin-left:5%}.variant-2 .paper{border-right:5px solid #b77d59}.variant-3 .hero-art{inset:0 10% 0 38%}.variant-4 .hero{min-height:590px}.variant-5 .portrait-art{min-height:430px}.light .paper{background:#f0e5d0}.reviewbar{background:#eee3cf;color:#3a4549;padding:13px 5vw;font-size:12px;display:flex;justify-content:space-between;gap:15px}.reviewbar a{text-decoration:underline}.reviewbar b{font-weight:500}.review-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.reviewcard{border-top:1px solid #bba27a55;padding:20px 0;min-width:0}.reviewcard h3{font-size:19px}.reviewcard small{display:block;margin-bottom:6px}.reviewcard a{display:inline-block;margin:15px 14px 0 0;font-size:12px;color:#d5ae7c}.reviewcard .thumb{height:140px;background-size:cover;background-position:center;margin-bottom:15px}.stats{display:flex;gap:35px;flex-wrap:wrap;margin:32px 0}.stats strong{font:34px Georgia;color:#e3b37d}.stats span{display:block;font-size:12px;color:#afb8b6}.reviewnote{font-size:14px;color:#afb9bb;line-height:1.9;max-width:1000px}.readmore{color:#d5ae7c;font-size:13px}.empty{min-height:230px;display:grid;place-items:center;text-align:center;border-top:1px solid #c4b08355}.empty h2{margin-bottom:20px}.screenonly{display:none}
@media(min-width:1500px){.hero{padding-left:calc((100vw - 1200px)/2);padding-right:calc((100vw - 1200px)/2)}}
@media(max-width:800px){.top{padding:16px 22px;display:block}.brand{font-size:23px}.top nav{margin-top:15px;gap:21px;overflow:auto;padding-bottom:7px}.hero{padding:35px 24px;min-height:540px}.hero-art{inset:0 0 0 0;opacity:.48}.hero-art:after{background:linear-gradient(90deg,#091722b0,transparent),linear-gradient(0deg,#091722,transparent)}.hero .vline{display:none}.hero-copy h1{font-size:46px;max-width:550px}.hero-copy .intro{font-size:16px}.wrap{padding:40px 24px}.split,.split.wide{grid-template-columns:1fr;gap:28px}.grid,.grid.four,.review-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.grid.two{grid-template-columns:1fr}.section{margin-bottom:48px}.section-head{display:block}.section-head p{margin-top:15px}.paper{padding:28px}.paper h2,h2{font-size:29px}.lead{font-size:24px}.timeline{grid-template-columns:1fr}.book-hero .hero-copy{grid-template-columns:125px 1fr;gap:22px}.book-hero .cover{height:185px;padding:15px 11px;border-width:4px}.book-hero .cover-title{font-size:22px;max-height:125px}.book-hero .cover-author{font-size:10px}.book-hero h1{font-size:32px}.book-hero .crumb{margin-bottom:20px}.book-hero .intro{font-size:14px}.meta{grid-template-columns:1fr;gap:12px}.cover{height:225px;padding:20px 15px}.cover .cover-title{font-size:23px;max-height:155px}.cover .cover-author{font-size:11px}.band{padding:26px;display:block}.band .button{margin-top:25px}.letter-index{columns:2}.version{grid-template-columns:55px 1fr;gap:15px}.version small{grid-column:2}.tagline{font-size:31px}.foot{display:block}.foot>div{margin-bottom:12px}.navline{gap:20px;padding:17px 24px}.reviewbar{display:block;padding:12px 22px}.reviewbar a{margin-left:12px}.tickets{grid-template-columns:1fr}.side{padding-left:20px}.route-step{grid-template-columns:35px 1fr;gap:18px}.toc{columns:1}.variant-1 .hero-copy{margin-left:0}.variant-3 .hero-art{inset:0}.variant-4 .hero{min-height:540px}.section .portrait-art{min-height:260px}}
@media(max-width:380px){.hero-copy h1{font-size:40px}.book-hero .hero-copy{grid-template-columns:100px 1fr;gap:16px}.book-hero h1{font-size:27px}.book-hero .cover{height:160px}.book-hero .cover-title{font-size:18px}.letter-index{columns:1}.cover{height:200px}.cover .cover-title{font-size:19px}}

/* Identity-preserving author portraits and documented character concepts */
.identity-image{display:block;width:100%;height:100%;object-fit:cover;object-position:center;border-radius:inherit}
.identity-thumb{display:block;width:104px;height:104px;overflow:hidden;border:1px solid #b99867;border-radius:50%;background:#111b2a;box-shadow:0 5px 20px #07101c44}
.authorcard .scene{position:relative}
.authorcard .scene .identity-thumb{position:absolute;left:22px;bottom:18px;width:126px;height:126px;border:2px solid #e6d4b6}
.feature>.identity-thumb{margin-bottom:22px;width:120px;height:120px;border-radius:6px}
.hero.with-identity{position:relative;display:flex;align-items:center;gap:54px;padding-right:max(5vw,30px)}
.hero.with-identity .hero-copy{flex:1;max-width:calc(100% - 360px)}
.hero.with-identity .hero-art{opacity:.4}
.identity-figure{position:relative;z-index:2;margin:0;width:300px;flex:none}
.identity-figure>.identity-image{aspect-ratio:1;height:auto;border:1px solid #b9986766;border-radius:4px;box-shadow:0 12px 40px #06102044}
.identity-figure figcaption{font-size:11px;line-height:1.8;color:var(--muted,#aab3be);margin-top:12px}
.identity-figure figcaption a{display:inline-block;margin-left:7px;color:inherit;text-decoration:underline}
@media(max-width:800px){.hero.with-identity{flex-direction:column;align-items:flex-start;gap:28px;padding:40px 24px}.hero.with-identity .hero-copy{max-width:100%;padding:0;width:100%}.hero.with-identity .identity-figure{width:210px;align-self:center}.authorcard .scene .identity-thumb{width:110px;height:110px}.feature>.identity-thumb{width:96px;height:96px}}

.skip-link{position:fixed;left:16px;top:-80px;z-index:100;padding:10px 20px;background:#eee3cf;color:#172930}.skip-link:focus{top:12px}:focus-visible{outline:2px solid #e6af73;outline-offset:5px}.search-entry{border-top:1px solid #bba27a55;padding:20px 0;min-width:0}.search-entry h3{overflow-wrap:anywhere;margin:14px 0}.search-entry small{display:block}.search-entry .identity-thumb{width:104px;height:104px}.search-entry p{font-size:13px}.foot{flex-wrap:wrap}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}}

