:root{--paper:#FFF8F2;--white:#fff;--soft:#F3EBE3;--ink:#1A1230;--text:#2C2440;--muted:#5A5270;--faint:#8A8298;--pink:#E11D8F;--indigo:#6366F1;--cyan:#0891B2;--amber:#D97706;--mint:#059669;--line:rgba(26,18,48,.10);--shadow:0 14px 34px rgba(26,18,48,.08);--radius:20px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif;line-height:1.75;overflow-x:hidden}a{color:inherit;text-decoration:none}img{max-width:100%;height:auto;display:block}button{font:inherit}.wrap{width:min(1160px,calc(100% - 32px));margin:auto}.skip-link{position:fixed;left:16px;top:-60px;z-index:120;background:var(--ink);color:#fff;padding:10px 16px;border-radius:999px}.skip-link:focus{top:12px}.site-header{position:fixed;inset:0 0 auto;z-index:80;background:var(--paper);border-bottom:1px solid var(--line)}.masthead{height:72px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center}.icon-button,.text-button,.close-button{min-height:44px;border:0;background:transparent;color:var(--ink);cursor:pointer}.icon-button{width:44px;padding:11px;display:grid;gap:4px;align-content:center}.icon-button span{display:block;height:2px;background:var(--ink);border-radius:2px}.brand{justify-self:center;display:flex;align-items:center}.brand-logo{max-height:38px;width:auto}.brand strong{font-size:22px;letter-spacing:.08em}.mast-actions{justify-self:end;display:flex;gap:4px}.text-button{padding:0 14px;border-radius:999px}.app-link{background:var(--ink);color:#fff}.chapter-bar{height:46px;background:#fff;border-top:1px solid var(--line)}.chapter-inner{height:100%;display:flex;align-items:center;justify-content:center;gap:32px}.chapter-inner a{height:100%;display:flex;align-items:center;position:relative;color:var(--muted);font-weight:650}.chapter-inner a.is-active{color:var(--ink)}.chapter-inner a.is-active:after{content:"";height:3px;background:var(--pink);position:absolute;left:4px;right:4px;bottom:0;border-radius:3px}.site-main{padding-top:118px}.hero,.page-hero{padding:58px 0 28px}.hero-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:36px;align-items:center}.eyebrow{font-weight:800;letter-spacing:.2em;color:var(--pink);font-size:13px}.hero h1,.page-hero h1{font-size:clamp(28px,4vw,34px);line-height:1.25;color:var(--ink);margin:12px 0 18px}.hero p,.page-hero p{font-size:17px;color:var(--muted);max-width:760px}.actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:22px}.btn{min-height:44px;display:inline-flex;align-items:center;justify-content:center;padding:10px 20px;border-radius:999px;font-weight:700;border:1px solid var(--line)}.btn.primary{background:linear-gradient(135deg,#6366F1 0%,#E11D8F 55%,#D97706 100%);color:#fff;border:0}.btn.secondary{background:#fff;color:var(--ink)}.image-slot{background:linear-gradient(135deg,#f6ede5,#fff);border:1px solid var(--line);border-radius:24px;min-height:220px;display:flex;align-items:center;justify-content:center;overflow:hidden}.hero-image{max-height:360px;object-fit:contain;width:100%}.section{padding:34px 0}.section-head{display:flex;justify-content:space-between;gap:18px;align-items:end;margin-bottom:18px}.section-head h2{margin:0;color:var(--ink);font-size:24px}.section-head p{margin:0;max-width:620px;color:var(--muted)}.card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.card-grid.four{grid-template-columns:repeat(4,1fr)}.card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:22px;box-shadow:var(--shadow)}.card h3{color:var(--ink);margin:0 0 10px}.card p{margin:0;color:var(--muted)}.card .content-image{margin:16px 0 12px;border-radius:15px;max-height:280px;object-fit:contain;width:100%}.tag-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.tag-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:18px}.dot{width:10px;height:10px;border-radius:50%;display:inline-block;margin-right:8px}.c1{background:var(--pink)}.c2{background:var(--indigo)}.c3{background:var(--cyan)}.c4{background:var(--amber)}.story-list,.shelf-list,.number-list,.timeline,.steps{display:grid;gap:14px}.story-item,.shelf-item,.timeline-item,.step{background:#fff;border:1px solid var(--line);border-radius:18px;padding:20px;display:grid;grid-template-columns:auto 1fr;gap:16px}.story-num,.big-num{font-size:28px;line-height:1;font-weight:900;color:var(--pink)}.shelf-item{grid-template-columns:120px 1fr}.shelf-code{font-weight:900;color:var(--indigo)}.number-item{display:grid;grid-template-columns:88px 1fr;gap:18px;padding:22px;background:#fff;border:1px solid var(--line);border-radius:20px}.number-item:nth-child(2) .big-num{color:var(--indigo)}.number-item:nth-child(3) .big-num{color:var(--cyan)}.number-item:nth-child(4) .big-num{color:var(--amber)}.number-item:nth-child(5) .big-num{color:var(--mint)}.timeline{position:relative}.timeline:before{content:"";position:absolute;left:15px;top:8px;bottom:8px;width:2px;background:var(--line)}.timeline-item{grid-template-columns:30px 1fr;position:relative}.timeline-dot{width:12px;height:12px;border-radius:50%;background:var(--pink);margin-top:8px;z-index:1}.status{display:inline-block;padding:4px 10px;border-radius:999px;background:var(--soft);color:var(--ink);font-size:13px;font-weight:700}.prose{background:#fff;border:1px solid var(--line);border-radius:22px;padding:clamp(22px,4vw,38px);box-shadow:var(--shadow)}.prose h2{color:var(--ink);margin-top:1.7em}.prose h2:first-child{margin-top:0}.prose p{margin:.8em 0}.notice{border-left:4px solid var(--pink);padding:12px 16px;background:#fff;border-radius:0 14px 14px 0}.faq-list details{background:#fff;border:1px solid var(--line);border-radius:16px;padding:16px 18px;margin-bottom:12px}.faq-list summary{cursor:pointer;font-weight:800;color:var(--ink)}.faq-list p{color:var(--muted)}.site-footer{background:var(--ink);color:#F7EFE6;margin-top:56px;padding:46px 0 calc(28px + env(safe-area-inset-bottom))}.footer-grid{display:grid;grid-template-columns:2fr repeat(4,1fr);gap:28px}.footer-grid section{display:flex;flex-direction:column;gap:8px}.footer-grid h2,.footer-grid h3{margin:0 0 8px;color:#fff}.footer-grid h2 span{display:block;font-size:12px;letter-spacing:.12em;color:#d9cfdf}.footer-grid a{color:#e9e0ea}.footer-brand p{color:#cfc5d4;max-width:440px}.footer-logo{max-height:34px;width:auto;margin-bottom:12px}.copyright{border-top:1px solid rgba(255,255,255,.14);margin-top:32px;padding-top:18px;color:#bfb5c6;font-size:14px}.overlay{position:fixed;inset:0;background:rgba(26,18,48,.48);z-index:90;opacity:0;transition:.18s;pointer-events:none}.overlay.is-on{opacity:1;pointer-events:auto}.book-menu,.search-layer{position:fixed;z-index:100;visibility:hidden;pointer-events:none;opacity:0;transition:.18s}.book-menu.is-on,.search-layer.is-on{visibility:visible;pointer-events:auto;opacity:1}.book-menu{left:50%;top:50%;transform:translate(-50%,-48%);width:min(840px,calc(100% - 32px));max-height:calc(100vh - 40px);background:#fff;border-radius:24px;box-shadow:0 30px 90px rgba(0,0,0,.22);overflow:auto}.book-menu.is-on{transform:translate(-50%,-50%)}.book-head{position:sticky;top:0;background:#fff;display:flex;justify-content:space-between;align-items:center;padding:18px 22px;border-bottom:1px solid var(--line);z-index:2}.book-brand{display:flex;align-items:center;gap:10px;color:var(--ink)}.book-brand img{max-height:30px;width:auto}.close-button{padding:0 12px;border-radius:999px;background:var(--soft)}.book-pages{display:grid;grid-template-columns:1fr 1fr}.book-page{padding:24px}.book-page:first-child{border-right:1px solid var(--line)}.book-page h2{font-size:18px;color:var(--ink);margin:4px 0 12px}.book-page a{display:block;padding:12px 0;border-bottom:1px dashed var(--line)}.book-page b{display:block;color:var(--ink)}.book-page span{display:block;color:var(--muted);font-size:14px;margin-top:2px}.search-layer{inset:0;display:grid;place-items:center;padding:16px}.search-card{width:min(620px,100%);background:#fff;border-radius:24px;padding:24px;box-shadow:0 30px 90px rgba(0,0,0,.22)}.search-top{display:flex;align-items:center;justify-content:space-between;gap:12px}.search-top h2{font-size:22px;color:var(--ink);margin:0}.search-look{margin:20px 0;padding:16px 18px;border:1px solid var(--line);border-radius:999px;color:var(--faint);background:var(--paper)}.quick-links{display:flex;flex-wrap:wrap;gap:10px}.quick-links a{padding:9px 14px;border-radius:999px;background:var(--soft);color:var(--ink)}.modal-open{overflow:hidden}.mobile-nav{display:none}a:focus-visible,button:focus-visible{outline:3px solid rgba(99,102,241,.35);outline-offset:3px}.card a:hover,.footer-grid a:hover,.chapter-inner a:hover{color:var(--pink)}
@media(max-width:900px){.card-grid.four,.tag-grid{grid-template-columns:repeat(2,1fr)}.footer-grid{grid-template-columns:1.7fr repeat(2,1fr)}.hero-grid{grid-template-columns:1fr}.hero-grid .image-slot{order:-1}.footer-brand{grid-column:1/-1}}
@media(max-width:700px){.chapter-bar{display:none}.site-main{padding-top:72px}.masthead{grid-template-columns:64px 1fr auto}.search-open{display:none}.app-link{padding:0 10px}.brand-logo{max-width:150px}.hero,.page-hero{padding-top:36px}.card-grid,.card-grid.four,.tag-grid{grid-template-columns:1fr}.book-pages{grid-template-columns:1fr}.book-page:first-child{border-right:0;border-bottom:1px solid var(--line)}.mobile-nav{display:grid;position:fixed;z-index:70;left:0;right:0;bottom:0;height:calc(50px + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);background:#fff;border-top:1px solid var(--line);grid-template-columns:repeat(5,1fr)}.mobile-nav a{display:flex;align-items:center;justify-content:center;font-size:13px;color:var(--muted)}.mobile-nav a.is-active{color:var(--pink);font-weight:800}.site-footer{padding-bottom:calc(74px + env(safe-area-inset-bottom))}.shelf-item,.number-item{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr 1fr}.footer-brand{grid-column:1/-1}.section{padding:28px 0}}
@media(max-width:430px){.wrap{width:min(100% - 32px,1160px)}.mast-actions{gap:0}.brand strong{font-size:18px}.footer-grid{grid-template-columns:1fr}.book-menu{width:calc(100% - 20px);max-height:calc(100vh - 20px)}}