
:root{--paper:#0F0A0A;--faint:#0A0707;--wash:#241818;--panel:#1A1212;--ink:#FFFFFF;--text:#F0E8E8;--sub:#C4B0B0;--muted:#8A7070;--blue:#E63946;--bright:#FF4D4F;--dark:#C41E3A;--edge:rgba(230,57,70,.18);--shade:0 16px 40px rgba(0,0,0,.55);--wrap:1220px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:150px}body{margin:0;background:var(--paper);color:var(--text);font:400 16px/1.72 -apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans CJK SC","Microsoft YaHei",sans-serif;overflow-x:clip}body.modal-open{overflow:hidden}a{color:inherit;text-decoration:none}button,input{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed}img{max-width:100%;vertical-align:middle}p,h1,h2,h3,h4{overflow-wrap:anywhere}h1,h2,h3,h4{color:var(--ink);margin:0;font-weight:780;letter-spacing:-.028em}h1{font-size:clamp(28px,2.8vw,32px);line-height:1.34}h2{font-size:clamp(20px,2vw,25px);line-height:1.4}h3{font-size:18px;line-height:1.48}p{margin:0}a,button,input{ -webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid #FF7B82;outline-offset:3px}a,button{transition:color .2s ease,background-color .2s ease,border-color .2s ease,transform .2s ease,box-shadow .2s ease}a:hover{color:var(--bright)}
.site-top{position:fixed;top:0;left:0;right:0;width:100%;z-index:120;background:var(--panel);isolation:isolate}
.red-line{height:22px;width:100%;background:var(--dark);color:#fff;font-size:12px;font-weight:650;letter-spacing:.075em}
.red-line-inner{height:22px;max-width:var(--wrap);margin:0 auto;padding:0 18px;position:relative;display:flex;align-items:center;justify-content:space-between}
.tiny-search{position:absolute;right:16px;top:-11px;min-width:72px;height:44px;background:transparent;border:0;color:#fff;display:flex;align-items:center;justify-content:center;gap:6px;font-size:12px;z-index:1;padding:0 7px;border-radius:6px}
.tiny-search:hover{background:#8B1C2D;color:#fff}
.head-bar{height:72px;background:var(--panel);border-bottom:1px solid var(--edge);width:100%}
.head-inner{height:100%;max-width:var(--wrap);padding:0 18px;margin:0 auto;display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:16px}
.brand-logo{justify-self:start;display:inline-flex;align-items:center;min-height:44px;min-width:0;color:var(--blue)}
.brand-logo img{display:block;width:auto;max-width:min(176px,32vw);height:auto;max-height:36px;object-fit:contain;object-position:left center}
.brand-logo>span{font-size:26px;font-weight:850;letter-spacing:-.08em}
.book-trigger{min-height:44px;padding:0 17px;background:var(--panel);color:var(--ink);border:1px solid var(--edge);border-radius:10px;display:inline-flex;align-items:center;gap:9px;font-size:14px;font-weight:730}
.book-trigger:hover{background:var(--faint);border-color:var(--bright)}
.hamburger{width:18px;display:grid;gap:4px}.hamburger i{width:18px;height:2px;background:currentColor;display:block;border-radius:2px}
.head-app{justify-self:end;background:linear-gradient(135deg,#FF4D4F,#E63946 50%,#C41E3A);color:#fff;border-radius:9px;min-height:44px;padding:0 17px;display:inline-flex;align-items:center;gap:8px;font-size:14px;font-weight:730;white-space:nowrap}
.head-app:hover{color:white;box-shadow:0 7px 20px rgba(230,57,70,.25);transform:translateY(-1px)}
.tab-band{height:44px;position:fixed;top:94px;left:0;right:0;width:100%;z-index:110;background:var(--faint);border-bottom:1px solid var(--edge)}
.tab-inner{max-width:var(--wrap);height:100%;margin:auto;padding:0 18px;display:flex;align-items:center;justify-content:flex-start;gap:8px}
.tab-inner a{display:inline-flex;align-items:center;height:44px;min-width:90px;justify-content:center;padding:0 17px;border-radius:8px;font-size:13px;font-weight:720;color:var(--sub)}
.tab-inner a:hover{color:var(--blue);background:#32191F}.tab-inner a.is-active{color:#fff;background:var(--blue)}
.site-main{padding-top:170px;padding-bottom:76px;min-height:80vh}.home-container,.page-layout{max-width:var(--wrap);margin:auto;padding:0 18px}
.eyebrow,.section-kicker{font-size:12px;letter-spacing:.13em;color:var(--bright);font-weight:800;text-transform:uppercase;display:inline-flex;align-items:center;gap:9px}
.eyebrow-dot{width:8px;height:8px;display:inline-block;background:var(--bright);border-radius:2px}
.section-kicker{letter-spacing:.19em;font-size:11px}
.action{min-height:44px;border:1px solid transparent;display:inline-flex;align-items:center;justify-content:center;gap:14px;padding:9px 19px;border-radius:9px;font-size:14px;font-weight:740;line-height:1.3;white-space:nowrap}
.action-primary{color:#fff;background:linear-gradient(135deg,#FF4D4F,#E63946 50%,#C41E3A)}.action-primary:hover{color:#fff;box-shadow:0 9px 24px rgba(230,57,70,.26);transform:translateY(-1px)}
.action-outline{border-color:#80404A;background:var(--panel);color:var(--ink)}.action-outline:hover{color:var(--ink);border-color:var(--bright);background:#29171C}
.text-link{display:inline-flex;align-items:center;min-height:44px;color:var(--blue);font-size:14px;font-weight:750;white-space:nowrap}.text-link:hover{color:var(--bright);transform:translateX(2px)}
.media-stage{background:linear-gradient(155deg,#2A1318,#13090B 61%,#251216);border:1px solid var(--edge);display:flex;align-items:center;justify-content:center;overflow:hidden;isolation:isolate;position:relative;border-radius:12px;min-height:150px}
.media-stage img{display:block;max-width:100%;max-height:100%;width:100%;height:100%;object-fit:contain;object-position:center;filter:none}
.media-fallback{width:100%;height:100%;min-height:160px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;color:var(--dark);background:radial-gradient(circle at 15% 22%,#571D26,transparent 42%),linear-gradient(135deg,#2A1217,#10090B)}
.media-fallback span{font-size:clamp(26px,4vw,56px);font-weight:870;letter-spacing:-.055em}.media-fallback small{font-size:13px;font-weight:700}
/* Home hero with image fully visible, followed by the headline. */
.hero-card{background:var(--faint);border:1px solid var(--edge);border-radius:16px;overflow:hidden;box-shadow:var(--shade)}
.hero-stage{height:300px;max-height:300px;width:100%;border:0;border-radius:0;background:linear-gradient(135deg,#7F0F25,#170709)}
.hero-stage img{max-height:300px;object-fit:contain}
.hero-body{padding:32px 38px 35px;background:linear-gradient(150deg,#1A1212 10%,#241818 100%)}
.hero-kicker{font-weight:830;color:var(--blue);font-size:16px;margin:13px 0 5px}.hero-body h1{max-width:790px}.hero-intro{max-width:850px;margin-top:15px;color:var(--sub)}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:22px}
.home-section{margin-top:66px}.section-top{display:flex;justify-content:space-between;align-items:end;gap:16px;margin-bottom:21px}.section-top h2{margin-top:4px}.section-summary{color:var(--sub);margin:15px 0 20px}
.topic-lines{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.topic-line{min-width:0;min-height:122px;padding:20px 20px 18px;background:var(--panel);border:1px solid var(--edge);border-radius:12px;display:grid;grid-template-columns:10px 1fr auto;column-gap:12px;align-content:start;box-shadow:0 3px 14px rgba(0,0,0,.08)}
.topic-line:hover{border-color:#A83A45;background:#2B171B;box-shadow:var(--shade);transform:translateY(-2px)}.topic-mark{height:10px;width:10px;border-radius:3px;background:var(--bright);grid-row:span 2;margin-top:6px}.topic-mark.alt{background:var(--dark)}
.topic-line strong{color:var(--ink);font-size:17px;line-height:1.5}.topic-line small{grid-column:2;line-height:1.5;margin-top:7px;font-size:13px;color:var(--sub)}.topic-line b{grid-column:3;grid-row:1;font-size:16px;color:var(--bright)}
.feature-focus{border-radius:16px;padding:28px;background:var(--faint);border:1px solid var(--edge)}.feature-focus .section-top{margin-bottom:18px}.feature-banner{height:235px;max-height:235px;border-radius:13px}.feature-banner img{max-height:235px}
.focus-body>p{margin:21px 0 16px;color:var(--sub);max-width:1040px}
.four-notes{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}.four-notes a{min-width:0;min-height:105px;background:var(--panel);border-radius:11px;border:1px solid var(--edge);padding:15px 13px;display:grid;grid-template-rows:auto 1fr auto;position:relative}.four-notes a>span{color:var(--bright);font-size:22px;line-height:1.2;font-weight:800}.four-notes strong{color:var(--ink);font-size:15px}.four-notes small{color:var(--sub);font-size:12px}.four-notes b{position:absolute;right:13px;top:13px;color:var(--blue)}.four-notes a:hover{border-color:var(--bright)}
.three-panels{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.catalog-card{min-width:0;background:var(--panel);border:1px solid var(--edge);border-radius:13px;overflow:hidden;box-shadow:0 8px 26px rgba(0,0,0,.25)}.catalog-media{height:200px;max-height:200px;border:0;border-radius:0}.catalog-media img{max-height:200px}.card-copy{padding:20px 21px 24px}.card-copy h3{font-size:20px;margin-bottom:11px}.card-copy p{font-size:15px;color:var(--sub);line-height:1.78}.card-copy .text-link{margin-top:13px}
.split-grid{display:grid;grid-template-columns:1.07fr 1fr;gap:17px;align-items:stretch}.split-media{height:330px;border-radius:13px}.split-media img{max-height:330px}.vertical-links{display:grid;gap:8px}.vertical-links a{display:grid;grid-template-columns:45px minmax(0,1fr) auto;column-gap:9px;align-items:center;border:1px solid var(--edge);border-radius:10px;padding:12px 15px;min-height:70px}.vertical-links a>span{color:var(--blue);font-size:21px;font-weight:810;grid-row:span 2}.vertical-links strong{color:var(--ink);font-size:15px}.vertical-links small{color:var(--sub);font-size:13px;grid-column:2}.vertical-links b{grid-column:3;grid-row:1/span 2;color:var(--bright)}.vertical-links a:hover{background:var(--faint)}
.motif-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:16px}.motif-grid a{border:1px solid var(--edge);background:var(--panel);border-radius:11px;min-height:114px;padding:17px 18px;display:grid;grid-template-columns:1fr auto;align-content:space-between}.motif-grid a:hover{background:var(--faint);border-color:#A83A45}.motif-ordinal{font-size:12px;font-weight:800;color:var(--bright)}.motif-grid strong{grid-column:1;display:block;font-size:16px;color:var(--ink)}.motif-grid small{grid-column:1;color:var(--sub);font-size:13px}.motif-arrow{grid-column:2;grid-row:2/span 2;color:var(--bright)}
.shelf-rows{border:1px solid var(--edge);border-radius:11px;overflow:hidden;margin-top:16px}.shelf-rows a{display:grid;grid-template-columns:50px 185px minmax(0,1fr) 25px;align-items:center;gap:14px;min-height:70px;padding:12px 22px;border-bottom:1px solid var(--edge)}.shelf-rows a:last-child{border-bottom:0}.shelf-rows a:hover{background:var(--faint)}.shelf-rows a span{color:var(--blue);font-weight:820}.shelf-rows a strong{color:var(--ink)}.shelf-rows a small{color:var(--sub);font-size:14px}.shelf-rows a b{color:var(--bright)}
.rank-lines{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.rank-lines a{display:flex;flex-direction:column;min-height:175px;border:1px solid var(--edge);border-radius:13px;padding:17px;background:var(--faint);position:relative}.rank-lines a span{color:var(--blue);font-size:42px;font-weight:860;line-height:1.2;letter-spacing:-.05em}.rank-lines a strong{color:var(--ink);margin-top:9px}.rank-lines a small{color:var(--sub);font-size:13px;margin-top:7px;line-height:1.5}.rank-lines a b{position:absolute;right:16px;top:17px;color:var(--bright)}.rank-lines a:hover{border-color:var(--bright);background:var(--panel)}
.home-timeline{border-left:2px solid #8D2B3C;margin:22px 0 0 25px;display:grid;gap:12px}.home-timeline a{position:relative;margin-left:19px;display:grid;grid-template-columns:105px 1fr auto;gap:12px;padding:17px 20px;border-radius:11px;background:var(--faint);border:1px solid var(--edge)}.time-dot{position:absolute;left:-29px;top:25px;width:14px;height:14px;border:3px solid #0F0A0A;background:var(--blue);border-radius:50%;box-shadow:0 0 0 2px var(--blue)}.home-timeline strong{color:var(--ink)}.home-timeline small{color:var(--sub);font-size:13px}.home-timeline b{color:var(--bright)}.home-timeline a:hover{border-color:var(--bright)}
.craft-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:15px}.craft-steps a{display:flex;flex-direction:column;gap:7px;padding:19px;border-radius:11px;background:var(--panel);border:1px solid var(--edge)}.craft-steps a:hover{background:var(--faint)}.craft-steps span{font-size:21px;font-weight:860;color:var(--bright)}.craft-steps strong{font-size:16px;color:var(--ink)}.craft-steps small{color:var(--sub);font-size:13px}
.app-showcase{padding:28px;background:linear-gradient(135deg,#221016,#180D11);border:1px solid var(--edge);border-radius:16px}.app-grid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:36px;align-items:center}.app-visual{min-width:0}.app-stage{height:400px;max-height:400px;border-radius:14px;background:transparent}.app-stage img{max-height:400px}.app-copy p{color:var(--sub);margin-top:16px}.app-identity{display:flex;align-items:center;gap:14px}.app-identity>.media-stage{width:68px;height:68px;min-height:68px;flex:0 0 68px;border-radius:14px}.app-icon img{object-fit:contain}.app-identity>span strong,.app-identity>span small{display:block}.app-identity strong{color:var(--ink);font-size:22px}.app-identity small{color:var(--sub);letter-spacing:.06em;font-size:11px}
.pair-title{margin-bottom:20px}.pair-title h2{margin-top:4px}.essay-duo{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.essay-duo article{border:1px solid var(--edge);padding:26px;border-radius:13px;background:var(--panel)}.essay-duo h3{font-size:22px;margin:11px 0}.essay-duo p{color:var(--sub);font-size:15px;line-height:1.85}.essay-duo .text-link{margin-top:15px}
.closing-home{border-top:1px solid var(--edge);padding-top:28px}.closing-home>p{max-width:1060px;color:var(--sub)}.footer-card-links{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px}.footer-card-links a{min-height:44px;display:inline-flex;align-items:center;padding:9px 17px;border:1px solid var(--edge);border-radius:9px;font-size:14px;color:var(--blue);font-weight:740}.footer-card-links a:hover{background:var(--faint)}.faq-mini{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-top:22px}.faq-mini a{border-radius:9px;border:1px solid var(--edge);padding:12px 17px;display:flex;justify-content:space-between;align-items:center;gap:12px;min-height:49px;color:var(--text);font-size:14px}.faq-mini span{color:var(--blue)}.faq-mini a:hover{background:var(--faint)}.home-brand .action{margin-top:20px}
/* Individual readable pages. */
.page-layout{max-width:1060px}.page-lede{background:linear-gradient(135deg,#2A1419,#1A1212 80%);border-left:5px solid var(--blue);padding:33px 36px;border-radius:0 13px 13px 0;margin-bottom:23px}.page-lede h1{margin-top:13px}.lede-text{margin-top:14px;max-width:920px;color:var(--sub);line-height:1.85}.lede-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}.page-visual{margin-bottom:24px}.page-media{height:235px;max-height:235px;border-radius:13px}.page-media img{max-height:235px}.empty-page-rule{background:var(--faint);border:1px solid var(--edge);border-radius:12px;display:flex;align-items:center;justify-content:space-between;padding:16px 20px;color:var(--blue);margin-bottom:25px}.empty-page-rule span:first-child{font-size:25px;font-weight:820}.empty-page-rule span:last-child{font-size:12px;letter-spacing:.1em}
.content-sections{display:grid;gap:12px}.text-piece{background:var(--panel);border:1px solid var(--edge);border-radius:12px;display:grid;grid-template-columns:62px minmax(0,1fr);gap:11px;padding:21px 24px}.piece-num{font-weight:860;color:var(--bright);font-size:24px;line-height:1.28;letter-spacing:-.06em}.piece-copy h2{font-size:19px;line-height:1.45;margin-bottom:9px}.piece-copy p{color:var(--text);line-height:1.9;font-size:16px}.state-pill{display:inline-block;margin-top:13px;font-size:12px;font-weight:750;color:var(--blue);border:1px solid var(--edge);background:var(--faint);padding:4px 10px;border-radius:7px}
.numbered-list .text-piece:nth-child(odd),.step-index .text-piece:nth-child(odd),.ranking-index .text-piece:nth-child(odd){background:#211418}
.genre-index,.topic-index,.person-index{grid-template-columns:repeat(2,minmax(0,1fr))}.genre-index .text-piece,.topic-index .text-piece,.person-index .text-piece{grid-template-columns:1fr;gap:7px}.genre-index .piece-num,.topic-index .piece-num,.person-index .piece-num{font-size:13px;letter-spacing:.14em;line-height:1.4}.genre-index .piece-copy h2,.topic-index .piece-copy h2,.person-index .piece-copy h2{font-size:19px}
.serial-list .text-piece{grid-template-columns:75px 1fr}.serial-list .text-piece:nth-child(even){background:var(--faint)}
.ranking-index{grid-template-columns:repeat(2,minmax(0,1fr))}.ranking-index .text-piece{grid-template-columns:1fr}.ranking-index .piece-num{font-size:39px}.ranking-index .text-piece:first-child{grid-column:span 2}
.time-index{border-left:2px solid var(--blue);margin-left:23px;gap:15px}.time-index .text-piece{margin-left:22px;position:relative;grid-template-columns:1fr}.time-index .text-piece:before{content:'';position:absolute;left:-30px;top:27px;width:12px;height:12px;background:var(--blue);border:3px solid #0F0A0A;border-radius:50%;box-shadow:0 0 0 2px var(--blue)}.time-index .piece-num{font-size:13px;letter-spacing:.13em}
.shelf-index .text-piece{grid-template-columns:78px 1fr}.shelf-index .text-piece:nth-child(odd){background:var(--faint)}
.essay-index .text-piece{grid-template-columns:1fr;padding:24px 30px}.essay-index .piece-num{font-size:12px;letter-spacing:.15em}.essay-index .piece-copy h2{font-size:21px}
.legal-index .text-piece,.help-index .text-piece{grid-template-columns:38px minmax(0,1fr)}
.editor-note{border:1px solid var(--edge);background:#241418;border-radius:12px;padding:25px 29px;margin-top:24px}.editor-note p{margin-top:12px;line-height:1.9;color:var(--text)}
.related-nav{margin:34px 0 0;padding:23px 0 0;border-top:1px solid var(--edge)}.related-nav h2{font-size:20px}.related-nav>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-top:15px}.related-nav a{min-height:50px;display:flex;align-items:center;justify-content:space-between;padding:10px 15px;border-radius:10px;border:1px solid var(--edge);color:var(--blue);font-weight:730}.related-nav a:hover{background:var(--faint);border-color:var(--bright)}
.faq-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.faq-entry{padding:22px 24px;border:1px solid var(--edge);border-radius:12px;background:var(--panel)}.faq-entry>span{font-size:13px;color:var(--bright);font-weight:850;letter-spacing:.1em}.faq-entry h2{font-size:18px;margin:8px 0 10px}.faq-entry p{color:var(--sub);font-size:15px;line-height:1.88}
/* Footer, overlays and mobile controls. */
.site-footer{background:#080505;color:#C4B0B0;margin-top:0;width:100%;border-top:4px solid var(--blue)}.footer-inner{max-width:var(--wrap);margin:auto;padding:52px 18px 18px}.footer-intro{display:flex;gap:35px;justify-content:space-between;align-items:center;padding-bottom:30px;border-bottom:1px solid rgba(255,255,255,.14)}.footer-intro>p{max-width:620px;line-height:1.8;font-size:13px;color:#DDC7C7}.footer-brand{display:flex;gap:14px;align-items:center;min-width:0}.footer-brand img{width:auto;max-width:130px;max-height:32px;height:auto;object-fit:contain;background:transparent;border-radius:6px;padding:0}.footer-brand>span{display:block;color:#fff;font-size:20px;font-weight:850;white-space:nowrap}.footer-brand small{font-size:12px;letter-spacing:.06em;color:#DDC7C7}.footer-columns{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:25px;padding:32px 0}.footer-columns section h2{font-size:14px;color:#fff;margin-bottom:14px}.footer-columns ul{list-style:none;padding:0;margin:0;display:grid;gap:8px}.footer-columns li{font-size:13px}.footer-columns a{color:#D2BFBF;display:inline-flex;min-height:44px;align-items:center}.footer-columns a:hover{color:white}.footer-bottom{border-top:1px solid rgba(255,255,255,.14);padding:20px 0 0;display:flex;justify-content:space-between;gap:15px;font-size:12px;color:#C4B0B0}.mobile-bottom{display:none}
.veil{position:fixed;inset:0;background:rgba(0,0,0,.75);backdrop-filter:blur(2px);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .21s ease,visibility .21s ease;z-index:180}.veil.is-open{opacity:1;visibility:visible;pointer-events:auto}
.book-panel{position:fixed;top:94px;left:50%;width:min(var(--wrap),calc(100% - 32px));max-height:calc(100dvh - 108px);transform:translate(-50%,-22px);z-index:200;visibility:hidden;opacity:0;pointer-events:none;transition:opacity .22s ease,transform .22s ease,visibility .22s ease}
.book-panel.is-open{visibility:visible;opacity:1;pointer-events:auto;transform:translate(-50%,0)}
.book-shell{background:var(--panel);border:1px solid var(--edge);border-radius:0 0 16px 16px;overflow-y:auto;max-height:calc(100dvh - 108px);overscroll-behavior:contain;box-shadow:0 24px 60px rgba(0,0,0,.7)}.panel-head{display:flex;align-items:center;justify-content:space-between;padding:18px 24px;gap:12px;border-bottom:1px solid var(--edge);background:var(--faint)}.panel-brand{display:flex;gap:11px;align-items:center;min-width:0}.panel-brand img{max-height:31px;max-width:120px;width:auto;object-fit:contain}.panel-brand strong{font-size:21px;color:var(--blue)}.panel-brand>span{color:var(--sub);font-size:13px}.panel-close{height:44px;width:44px;flex:0 0 44px;border:1px solid var(--edge);border-radius:10px;background:var(--panel);color:var(--ink);font-size:30px;line-height:1;display:flex;align-items:center;justify-content:center}.panel-close:hover{color:var(--blue);background:#32191F}
.book-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;padding:20px}.book-group{min-width:0}.book-group>h2{font-size:13px;letter-spacing:.13em;color:var(--blue);padding:0 5px 9px;border-bottom:1px solid var(--edge);margin-bottom:11px}.book-items{display:grid;gap:8px}.book-items a{display:block;min-width:0;border:1px solid var(--edge);background:var(--panel);border-radius:10px;padding:10px 11px;min-height:75px}.book-items a:hover{background:#32191F;border-color:#A83A45}.book-items a strong{display:flex;justify-content:space-between;gap:6px;color:var(--ink);font-size:14px}.book-items a strong span{color:var(--bright)}.book-items a small{display:block;margin-top:5px;color:var(--sub);line-height:1.48;font-size:11px;overflow-wrap:anywhere}
.search-panel{position:fixed;top:94px;right:max(16px,calc((100vw - var(--wrap))/2));width:min(540px,calc(100vw - 32px));background:var(--panel);border:1px solid var(--edge);border-radius:0 0 15px 15px;padding:27px;box-shadow:0 24px 60px rgba(0,0,0,.7);z-index:210;opacity:0;visibility:hidden;pointer-events:none;transform:translateY(-18px);transition:opacity .2s ease,visibility .2s ease,transform .2s ease;max-height:calc(100dvh - 108px);overflow:auto}.search-panel.is-open{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0)}
.search-head{display:flex;justify-content:space-between;gap:14px;align-items:start}.search-head small{color:var(--bright);font-weight:780;font-size:11px;letter-spacing:.13em}.search-head h2{font-size:22px;margin-top:6px}.search-field{display:flex;align-items:center;gap:11px;background:var(--faint);padding:0 16px;border:1px solid #6C343B;border-radius:10px;height:54px;margin-top:22px;color:var(--blue)}.search-field input{width:100%;background:transparent;border:0;outline:0;color:var(--ink);font-size:15px;min-width:0}.search-field:focus-within{box-shadow:0 0 0 3px #57222B;border-color:var(--bright)}.search-hint{font-size:13px;color:var(--sub);margin:13px 0 17px}.search-pills{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.search-pills a{min-height:47px;display:flex;justify-content:space-between;gap:10px;align-items:center;padding:10px 13px;border:1px solid var(--edge);border-radius:9px;font-size:14px;font-weight:750;color:var(--blue)}.search-pills a:hover{background:var(--faint)}.search-pills a[hidden]{display:none!important}.search-empty{color:var(--sub);font-size:13px;padding:15px 0}
@media(min-width:801px) and (max-width:1100px){.rank-lines{grid-template-columns:repeat(3,minmax(0,1fr))}.topic-lines{grid-template-columns:repeat(2,minmax(0,1fr))}.book-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:800px){
 html{scroll-padding-top:108px}.tab-band{display:none}.site-main{padding-top:115px;padding-bottom:calc(60px + env(safe-area-inset-bottom))}
 .site-top{width:100%;left:0;right:0;overflow:visible}.red-line,.head-bar{width:100%;min-width:0}.red-line-inner{padding:0 16px}.red-line-inner span{font-size:10px}.tiny-search{right:12px;min-width:65px;font-size:11px}
 .head-inner{padding:0 16px;gap:7px}.brand-logo img{max-width:min(144px,33vw);max-height:32px}.brand-logo>span{font-size:22px}.book-trigger{padding:0 11px;min-width:66px;gap:7px}.head-app{padding:0 10px;font-size:12px;gap:4px}.head-app span{font-size:13px}
 .home-container,.page-layout{padding:0 16px}.home-section{margin-top:45px}.hero-stage{height:238px;max-height:238px}.hero-stage img{max-height:238px}.hero-body{padding:24px 22px 25px}.hero-intro{font-size:15px}
 .topic-lines{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.topic-line{min-height:118px;padding:16px 13px;column-gap:8px}.topic-line strong{font-size:15px}.topic-line small{font-size:12px}
 .feature-focus,.app-showcase{padding:18px}.feature-banner{height:195px;max-height:195px}.feature-banner img{max-height:195px}
 .four-notes{grid-template-columns:repeat(2,minmax(0,1fr))}.three-panels{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.catalog-media{height:145px;max-height:145px}.catalog-media img{max-height:145px}.card-copy{padding:16px 13px}.card-copy p{font-size:14px}.card-copy h3{font-size:18px}
 .split-grid{grid-template-columns:1fr}.split-media{height:215px}.split-media img{max-height:215px}.vertical-links{grid-template-columns:repeat(2,minmax(0,1fr))}.vertical-links a{grid-template-columns:36px 1fr auto;padding:12px 11px}.vertical-links a small{font-size:12px}
 .rank-lines{grid-template-columns:repeat(3,minmax(0,1fr))}.rank-lines a{min-height:155px}
 .app-grid{grid-template-columns:1fr 1fr;gap:18px}.app-stage{height:315px;max-height:315px}.app-stage img{max-height:315px}.app-copy p{font-size:14px;line-height:1.8}.app-identity>.media-stage{width:53px;height:53px;min-height:53px;flex-basis:53px}.app-copy .hero-actions{gap:8px}.app-copy .action{padding:10px 12px}
 .site-footer{padding-bottom:calc(50px + env(safe-area-inset-bottom))}.footer-inner{padding:35px 16px 20px}.footer-intro{display:block}.footer-intro>p{margin-top:16px}.footer-columns{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.footer-bottom{display:grid}
 .mobile-bottom{display:grid;position:fixed;left:0;right:0;bottom:0;grid-template-columns:repeat(5,minmax(0,1fr));min-height:50px;height:calc(50px + env(safe-area-inset-bottom));padding:0 4px env(safe-area-inset-bottom);background:var(--panel);border-top:1px solid var(--edge);z-index:110;box-shadow:0 -4px 22px rgba(0,0,0,.40);width:100%}.mobile-bottom a{min-width:0;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:0;font-size:11px;font-weight:700;color:var(--sub);border-radius:8px;margin:3px 1px;padding:0}.mobile-bottom .bottom-icon{font-size:16px;height:21px;line-height:21px}.mobile-bottom a.is-active{background:var(--blue);color:#fff}.mobile-bottom a:hover{color:var(--bright)}.mobile-bottom a.is-active:hover{color:#fff}
 .book-panel{top:94px;left:0;right:0;width:100%;max-height:calc(100dvh - 94px);transform:translateY(-28px);}.book-panel.is-open{transform:translateY(0)}.book-shell{max-height:calc(100dvh - 94px);border-radius:0 0 14px 14px}.book-grid{grid-template-columns:repeat(2,minmax(0,1fr));padding:15px;gap:13px}.panel-head{padding:12px 16px}.panel-brand>span{display:none}.book-items a{min-height:70px;padding:9px}.book-items a small{font-size:11px}
 .search-panel{top:0;left:0;right:0;bottom:0;width:100%;max-height:none;height:100dvh;border-radius:0;background:#0A0707;padding:calc(22px + env(safe-area-inset-top)) 18px 24px;transform:translateY(-26px)}.search-head h2{font-size:22px}.search-pills{grid-template-columns:repeat(2,minmax(0,1fr))}
 .page-lede{padding:27px 22px}.page-media{height:205px;max-height:205px}.page-media img{max-height:205px}
 .faq-grid{grid-template-columns:1fr}.content-sections.genre-index,.content-sections.topic-index,.content-sections.person-index{grid-template-columns:1fr}
}
@media(max-width:560px){
 .home-section{margin-top:38px}.section-top{align-items:start}.section-top h2{font-size:21px}.section-top .text-link{font-size:12px;white-space:normal;text-align:right;max-width:130px}
 .hero-stage{height:184px;max-height:184px}.hero-stage img{max-height:184px}.hero-body{padding:21px 18px 23px}.hero-body h1{font-size:28px}.hero-intro{font-size:15px;line-height:1.82}
 .three-panels{grid-template-columns:1fr;gap:13px}.catalog-card{display:grid;grid-template-columns:1fr}.catalog-media{height:184px;max-height:184px}.catalog-media img{max-height:184px}.card-copy{padding:16px 18px}.card-copy h3{font-size:18px}.card-copy .text-link{margin-top:8px}
 .four-notes a{min-height:109px}.four-notes a strong{font-size:14px}.four-notes a small{font-size:11px}
 .topic-line{min-height:137px}.topic-line small{line-height:1.6}.motif-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.motif-grid a{min-height:116px;padding:13px}.motif-grid strong{font-size:15px}
 .shelf-rows a{grid-template-columns:28px 1fr 18px;gap:9px;padding:13px 12px}.shelf-rows a small{grid-column:2;grid-row:2;font-size:12px}.shelf-rows a b{grid-column:3;grid-row:1/span 2}.shelf-rows a strong{font-size:14px}
 .rank-lines{grid-template-columns:repeat(2,minmax(0,1fr))}.rank-lines a{min-height:150px;padding:15px}.rank-lines a span{font-size:36px}.rank-lines a strong{font-size:14px}
 .home-timeline{margin-left:15px}.home-timeline a{grid-template-columns:1fr auto;gap:3px 8px;padding:13px}.home-timeline a small{grid-column:1;grid-row:2;font-size:12px}.home-timeline a b{grid-column:2;grid-row:1/span 2}.home-timeline .time-dot{left:-29px}
 .craft-steps{grid-template-columns:repeat(2,minmax(0,1fr))}.app-grid{grid-template-columns:1fr;gap:18px}.app-visual{display:flex;justify-content:center}.app-stage{width:100%;height:290px;max-height:290px}.app-stage img{max-height:290px}.app-copy p{font-size:15px}.app-copy .action{font-size:13px}
 .essay-duo{grid-template-columns:1fr}.faq-mini{grid-template-columns:1fr}.action{font-size:13px;padding:9px 13px;gap:8px}.hero-actions{gap:8px}
 .piece-copy h2{font-size:18px}.text-piece{grid-template-columns:39px 1fr;gap:8px;padding:18px 15px}.piece-num{font-size:16px}.piece-copy p{font-size:15px;line-height:1.9}.ranking-index{grid-template-columns:1fr}.ranking-index .text-piece:first-child{grid-column:span 1}.ranking-index .piece-num{font-size:28px}.serial-list .text-piece,.shelf-index .text-piece{grid-template-columns:40px 1fr}.essay-index .text-piece{padding:20px 17px}.editor-note{padding:20px 18px}.related-nav>div{grid-template-columns:1fr}.faq-entry{padding:20px 17px}.page-lede h1{font-size:28px}.page-lede{padding:24px 18px}.page-visual .page-media{height:170px;max-height:170px}.page-visual .page-media img{max-height:170px}
 .search-panel{padding-left:16px;padding-right:16px}.search-pills a{font-size:13px;padding:9px 11px}
}
@media(max-width:350px){.head-inner{gap:4px}.book-trigger{min-width:60px;padding:0 8px;gap:5px;font-size:12px}.head-app{padding:0 8px;font-size:11px}.brand-logo img{max-width:31vw}.topic-line{padding:13px 10px}.topic-line strong{font-size:14px}.feature-focus,.app-showcase{padding:13px}.search-panel{padding:20px 16px}.book-grid{gap:9px;padding:10px}.book-items a{padding:8px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}

/* Hongtao signature surfaces */
body { color-scheme:dark; }
.site-top {background:#0A0707;}
.head-bar {background:#0F0A0A;border-bottom:1px solid rgba(230,57,70,.22);}
.tab-band {background:#140B0D;border-color:rgba(230,57,70,.2);}
.red-line {background:#C41E3A;}
.red-line-inner {color:#fff;}
.brand-logo {color:#fff;}
.book-trigger {background:#221417;color:#fff;border-color:#68303A;}
.book-trigger:hover {background:#35181F;color:#fff;border-color:#D53B4C;}
.media-stage {background:linear-gradient(155deg,#2A1318,#13090B 61%,#251216);}
.media-fallback {background:radial-gradient(circle at 15% 22%,#571D26,transparent 42%),linear-gradient(135deg,#2A1217,#10090B);color:#fff;}
.hero-body {background:linear-gradient(150deg,#1A1212 10%,#241818 100%);}
.catalog-card,.topic-line,.four-notes a,.motif-grid a,.craft-steps a,.essay-duo article,.text-piece,.faq-entry,.book-items a {background:var(--panel);}
.topic-line:hover,.rank-lines a:hover,.book-items a:hover {background:#33181E;}
.feature-focus,.app-showcase {background:#160D10;}
.action-outline {background:#1A1212;color:#fff;border:1px solid #B32E42;}
.action-outline:hover {color:#fff;background:#32191F;}
.page-lede {background:linear-gradient(135deg,#2C151A,#1A1212 80%);}
.numbered-list .text-piece:nth-child(odd),.step-index .text-piece:nth-child(odd),.ranking-index .text-piece:nth-child(odd) {background:#231417;}
.editor-note {background:#281519;}
.site-footer {background:#080505;color:#C4B0B0;}
.footer-brand img {background:transparent;padding:0;}
.book-shell {background:#1A1212;}
.panel-head {background:#140B0D;}
.panel-close {background:#291619;color:#fff;}
.search-panel {background:#1A1212;}
.search-field {background:#241818;}
.search-field input::placeholder {color:#BBA9A9;opacity:1;}
.search-pills a {color:#F0E8E8;background:#231416;}
.search-pills a:hover {background:#34191F;color:#fff;}
.mobile-bottom {background:#170E10;}
.mobile-bottom a.is-active {background:#E63946;color:#fff;}
.mobile-bottom a:hover {color:#FF777A;}
@media(max-width:800px) {.search-panel {background:#0A0707;}.book-panel {top:94px;}.book-shell {max-height:calc(100dvh - 94px);}}
@media(max-width:560px) {.hero-stage {height:184px;max-height:184px}.topic-lines{grid-template-columns:repeat(2,minmax(0,1fr))}}
/* Brand identity remains legible on 320px displays. */
.footer-brand>span { min-width:0; flex:1 1 auto; white-space:normal; line-height:1.25; }
.footer-brand small { display:block; white-space:normal; margin-top:5px; }
@media(max-width:560px){
  .footer-brand { gap:10px; max-width:100%; }
  .footer-brand img { max-width:100px; flex:0 1 100px; min-width:0; }
  .footer-brand>span { font-size:18px; }
  .footer-brand small { font-size:11px; letter-spacing:.025em; }
  .hero-stage, .hero-stage img { height:145px; max-height:145px; }
}
