:root{--bg:#f6efe6;--bg-warm:#eadcc8;--panel:#ffffffc7;--panel-strong:#ffffffeb;--panel-soft:#fff7eee0;--border:#4634211c;--text:#23180e;--muted:#6f604f;--shadow:0 24px 60px #7350221f;--shadow-soft:0 16px 34px #73502214;--accent:#ff7a30;--accent-dark:#bb4c14;--book-accent:var(--accent)}[data-reader-theme=night]{--panel:#16181deb;--panel-strong:#16181df7;--panel-soft:#111317f0;--border:#fff4e41a;--text:#f5efe6;--muted:#cabfb0}*{box-sizing:border-box}html,body{width:100%;min-height:100%;color:var(--text);background:radial-gradient(circle at top left, #ffb86c47, transparent 30%), radial-gradient(circle at top right, #ffdbbe80, transparent 32%), linear-gradient(180deg, #fbf7f2 0%, var(--bg) 45%, #efe3d4 100%);background-attachment:fixed;margin:0;font-family:SF Pro Display,SF Pro Text,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;overflow-x:hidden}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}button{cursor:pointer;border:0}.home-shell{width:min(100%,1320px);max-width:1320px;margin:0 auto;padding:24px 20px 40px}.page-header,.shelf-panel,.list-panel,.modal-card{-webkit-backdrop-filter:blur(18px)}.page-header,.shelf-panel,.list-panel{background:var(--panel);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:28px}.page-header{justify-content:space-between;align-items:flex-start;gap:24px;padding:20px 28px;display:flex}.page-header h1{letter-spacing:-.03em;margin:0;font-size:clamp(1.8rem,4vw,3rem)}.page-subtitle{color:var(--muted);margin:8px 0 0;font-size:.98rem}.header-meta{text-align:right;color:var(--muted);flex-direction:column;flex:none;align-items:flex-end;gap:10px;font-size:.85rem;font-weight:600;display:flex}.shelf-panel,.list-panel{margin-top:16px;padding:18px 22px}.section-head{justify-content:space-between;align-items:end;gap:18px;margin-bottom:18px;display:flex}.section-head h2{letter-spacing:-.02em;margin:0;font-size:1.2rem}.book-list{gap:12px;display:grid}.list-row{border:1px solid var(--border);background:#ffffffc2;border-radius:20px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:14px;padding:12px 14px;transition:transform .16s,box-shadow .16s,border-color .16s;display:grid}.list-row:hover,.list-row:focus-visible{border-color:#bf531833;transform:translateY(-2px);box-shadow:0 18px 36px #7350221f}.list-title{letter-spacing:-.01em;min-width:0;font-size:1.02rem;font-weight:700}.list-sub{color:var(--muted);margin-top:2px;font-size:.85rem;font-weight:500}.list-open{color:var(--accent-dark);white-space:nowrap;font-size:.85rem;font-weight:700}.book-cover{--book-accent:var(--accent);letter-spacing:.08em;color:#fff;background:linear-gradient(165deg, color-mix(in srgb, var(--book-accent) 72%, white 28%) 0%, color-mix(in srgb, var(--book-accent) 50%, black 20%) 100%);border-radius:14px;flex:none;justify-content:center;align-items:center;width:48px;height:66px;font-size:.95rem;font-weight:800;display:flex;box-shadow:inset 0 1px #ffffff38,0 18px 30px #462d162e}.toggle-chip{border:1px solid var(--border);color:var(--muted);background:#ffffffbd;border-radius:999px;align-items:center;gap:8px;padding:10px 14px;font-size:.9rem;font-weight:700;display:inline-flex}.field{width:100%;color:var(--text);background:#ffffffd1;border:1px solid #4634211f;border-radius:16px;padding:13px 16px;box-shadow:inset 0 1px #fff6}.btn{border:1px solid var(--border);color:var(--text);background:#ffffffd1;border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:12px 18px;font-size:.92rem;font-weight:700;transition:transform .14s,box-shadow .14s;display:inline-flex}.btn:hover:not(:disabled){box-shadow:var(--shadow-soft);transform:translateY(-1px)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-accent{background:linear-gradient(165deg, var(--accent) 0%, var(--accent-dark) 100%);color:#fff;border-color:#0000}.notice{color:var(--accent-dark);background:#fff4e5d9;border:1px solid #bf531847;border-radius:20px;margin-top:16px;padding:14px 18px;font-size:.9rem}.notice code{background:#fff9;border-radius:6px;padding:1px 6px}.modal-card{background:var(--panel-strong);border:1px solid var(--border);max-width:400px;box-shadow:var(--shadow);border-radius:28px;margin:8vh auto;padding:32px 30px}.modal-card h1{letter-spacing:-.02em;margin:0;font-size:1.5rem}.stack{flex-direction:column;gap:10px;display:flex}.nav-bar{justify-content:space-between;align-items:center;gap:16px;max-width:1320px;margin:0 auto;padding:22px 24px 0;display:flex}.brand{letter-spacing:-.01em;align-items:center;gap:12px;font-size:1.05rem;font-weight:800;display:flex}.brand-mark{color:#fff;background:linear-gradient(165deg, var(--accent) 0%, var(--accent-dark) 100%);border-radius:10px;place-items:center;width:34px;height:34px;font-weight:900;display:grid;box-shadow:0 10px 20px #bb4c1452}.nav-links{align-items:center;gap:10px;display:flex}.landing-hero{text-align:center;max-width:1320px;margin:0 auto;padding:56px 24px 8px}.eyebrow{border:1px solid var(--border);color:var(--accent-dark);letter-spacing:.02em;background:#ffffffb3;border-radius:999px;margin-bottom:22px;padding:7px 14px;font-size:.82rem;font-weight:700;display:inline-block}.landing-hero h1{letter-spacing:-.04em;max-width:16ch;margin:0 auto;font-size:clamp(2.4rem,6vw,4.4rem);line-height:1.02}.landing-hero .lede{max-width:60ch;color:var(--muted);margin:22px auto 0;font-size:clamp(1.05rem,2vw,1.3rem);line-height:1.5}.hero-ctas{flex-wrap:wrap;justify-content:center;gap:12px;margin-top:30px;display:flex}.btn-lg{padding:15px 26px;font-size:1rem}.stat-row{color:var(--muted);flex-wrap:wrap;justify-content:center;gap:34px;margin-top:40px;display:flex}.stat b{color:var(--text);letter-spacing:-.02em;font-size:1.7rem;display:block}.section{max-width:1320px;margin:0 auto;padding:48px 24px 0}.section-title{text-align:center;letter-spacing:-.03em;margin:0 auto 6px;font-size:clamp(1.6rem,3vw,2.3rem)}.section-lede{text-align:center;color:var(--muted);max-width:62ch;margin:0 auto 28px;font-size:1.02rem;line-height:1.5}.category-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px;display:grid}.category-card{background:var(--panel);border:1px solid var(--border);box-shadow:var(--shadow-soft);border-top:4px solid var(--book-accent,var(--accent));border-radius:24px;padding:22px 22px 20px;transition:transform .16s,box-shadow .16s}.category-card:hover{box-shadow:var(--shadow);transform:translateY(-3px)}.category-card h3{letter-spacing:-.02em;margin:0 0 6px;font-size:1.2rem}.category-card p{color:var(--muted);margin:0 0 14px;font-size:.92rem;line-height:1.45}.category-count{color:var(--book-accent,var(--accent-dark));font-size:.8rem;font-weight:700}.category-titles{gap:4px;margin:10px 0 0;padding:0;list-style:none;display:grid}.category-titles li{color:var(--text);font-size:.86rem}.spotlight{background:var(--panel-strong);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:30px;grid-template-columns:200px minmax(0,1fr);align-items:center;gap:30px;padding:30px 34px;display:grid;position:relative;overflow:hidden}.spotlight-glow{pointer-events:none;background:radial-gradient(circle at 0,#b4530929,#0000 55%);position:absolute;inset:0}.spotlight-cover{z-index:1;color:#fff;letter-spacing:.14em;background:linear-gradient(165deg, color-mix(in srgb, var(--book-accent) 72%, white 28%) 0%, color-mix(in srgb, var(--book-accent) 50%, black 22%) 100%);border-radius:22px;justify-content:center;align-items:center;width:200px;height:272px;font-size:2.2rem;font-weight:800;display:flex;position:relative;box-shadow:inset 0 1px #ffffff40,0 26px 44px #462d1647}.spotlight-cover-img{z-index:1;object-fit:cover;border-radius:18px;width:200px;height:282px;position:relative;box-shadow:inset 0 1px #ffffff40,0 26px 44px #462d1652}.book-cover-img{object-fit:cover;border-radius:12px;flex:none;width:48px;height:66px;box-shadow:0 12px 22px #462d1638}.spotlight-body{z-index:1;position:relative}.spotlight-tag{color:var(--accent-dark);letter-spacing:.08em;text-transform:uppercase;align-items:center;gap:8px;font-size:.82rem;font-weight:800;display:inline-flex}.spotlight-body h3{letter-spacing:-.02em;margin:10px 0 8px;font-size:clamp(1.5rem,3vw,2rem)}.spotlight-body p{color:var(--muted);max-width:60ch;margin:0 0 18px;font-size:1rem;line-height:1.55}.landing-footer{text-align:center;max-width:1320px;color:var(--muted);margin:0 auto;padding:56px 24px 44px;font-size:.85rem}@media (max-width:720px){.spotlight{text-align:center;grid-template-columns:1fr;justify-items:center}}
