:root{color-scheme:light;--bg: #f8dda0;--paper: #fff7d8;--paper-warm: #fff0bb;--paper-strong: #ffe89a;--ink: #302218;--muted: #735f4a;--accent: #ff7a59;--accent-strong: #1765a8;--accent-soft: #ffd166;--button-hover-bg: #fff1a6;--line: #302218;--shadow: 6px 6px 0 rgba(48, 34, 24, .9);--soft-shadow: 3px 3px 0 rgba(48, 34, 24, .78);--hover-shadow: 3px 3px 0 rgba(48, 34, 24, .9);--pressed-shadow: 1px 1px 0 rgba(48, 34, 24, .9);--mobile-shadow: 4px 4px 0 rgba(48, 34, 24, .88);--page-gutter: clamp(18px, 4vw, 32px);--reader-width: 68ch;--font-reader: "Noto Serif SC", "Source Han Serif SC", "Songti SC", Georgia, serif;--font-ui: "Zpix", "Fusion Pixel", "Cubic 11", "Courier New", "Noto Sans Mono CJK SC", monospace;font-family:var(--font-reader);color:var(--ink);font-size:16px;text-size-adjust:100%;-webkit-text-size-adjust:100%}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:linear-gradient(90deg,rgba(48,34,24,.06) 1px,transparent 1px),linear-gradient(rgba(48,34,24,.06) 1px,transparent 1px),linear-gradient(180deg,var(--paper-warm) 0%,var(--bg) 44%,#f0bd68 100%);background-size:18px 18px,18px 18px,auto;line-height:1.6}a{color:inherit;text-decoration:none}.site-shell{width:min(1120px,calc(100% - var(--page-gutter) * 2));margin:0 auto;padding:clamp(20px,4vw,32px) 0 clamp(40px,6vw,56px)}.site-header{display:flex;align-items:center;justify-content:space-between;gap:24px;border:3px solid var(--line);margin-bottom:clamp(28px,4vw,44px);padding:14px 16px;background:var(--paper);box-shadow:var(--soft-shadow)}.brand{display:inline-flex;flex-direction:column;gap:4px}.brand strong{font-family:var(--font-ui);font-size:clamp(1.15rem,1.7vw,1.5rem);letter-spacing:.04em}.brand span{color:var(--muted);font-family:var(--font-ui);font-size:.78rem}.pixel-button{display:inline-flex;min-height:44px;align-items:center;justify-content:center;border:3px solid var(--line);color:var(--ink);padding:10px 16px;background:var(--paper-strong);box-shadow:var(--soft-shadow);font-family:var(--font-ui);font-size:.92rem;line-height:1.2;transition:transform .12s ease}.pixel-button--primary{background:var(--accent-soft);font-weight:700}.pixel-button:hover,.pixel-button:focus-visible{background:var(--button-hover-bg);box-shadow:var(--pressed-shadow);transform:translate(2px,2px)}.cta-link{margin-top:8px}.hero{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(280px,.9fr);gap:clamp(20px,3vw,32px);align-items:stretch;margin-bottom:clamp(28px,4vw,36px)}.pixel-surface{border:3px solid var(--line);background:var(--paper);box-shadow:var(--shadow)}.pixel-surface--warm{background:var(--paper-warm)}.hero-card{padding:clamp(24px,5vw,48px)}.eyebrow{display:inline-block;border:3px solid var(--line);margin-bottom:18px;padding:4px 8px;background:#b8f3ff;color:var(--ink);font-family:var(--font-ui);font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}h1,h2,h3,p{margin-top:0}h1{max-width:11em;margin-bottom:18px;font-family:var(--font-ui);font-size:clamp(2rem,4.4vw,3.55rem);line-height:1.16}.lede{max-width:42rem;color:var(--muted);font-size:clamp(1rem,1.2vw,1.12rem);line-height:1.75}.panel{padding:clamp(22px,3vw,28px)}.panel h2{font-family:var(--font-ui);font-size:1.08rem}.panel ul{margin:0;padding-left:1.2rem;color:var(--muted);line-height:1.8}.section-title{display:flex;align-items:end;justify-content:space-between;gap:16px;margin:clamp(36px,5vw,48px) 0 18px}.section-title h2{margin:0;font-family:var(--font-ui);font-size:clamp(1.2rem,2vw,1.65rem)}.section-title span{color:var(--muted);font-family:var(--font-ui);font-size:.82rem}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:18px}.novel-card{display:flex;min-height:220px;flex-direction:column;padding:clamp(20px,3vw,24px);transition:transform .12s ease}.novel-card:hover{background:#fffbea;box-shadow:var(--hover-shadow);transform:translate(3px,3px)}.meta,.tag-list{display:flex;flex-wrap:wrap;gap:8px;color:var(--muted);font-family:var(--font-ui);font-size:.86rem}.tag-list{margin-top:auto}.tag{border:2px solid var(--line);padding:5px 10px;background:#d7f7c2;color:var(--ink)}.novel-card h3{margin:16px 0 10px;font-family:var(--font-ui);font-size:1.12rem;line-height:1.35}.novel-card p{color:var(--muted);line-height:1.7}.reader{max-width:var(--reader-width);margin:0 auto;padding:clamp(24px,6vw,56px)}.reader-header{border-bottom:1px solid var(--line);margin-bottom:clamp(28px,5vw,36px);padding-bottom:clamp(22px,4vw,28px)}.reader-header h1{max-width:100%;font-size:clamp(1.75rem,3.4vw,2.65rem)}.reader-content{font-size:clamp(1rem,.45vw + .91rem,1.08rem);line-height:1.9}.reader-content h1{max-width:100%;border-top:3px solid var(--line);border-bottom:3px solid var(--line);margin:2.5em 0 1em;padding:.6em 0;font-family:var(--font-ui);font-size:clamp(1.35rem,2vw,1.72rem);line-height:1.35}.reader-content h2{margin:2.2em 0 .8em;font-family:var(--font-ui);font-size:1.22em;line-height:1.35}.reader-content p{margin-bottom:1.35em}.reader-content blockquote{border:3px solid var(--line);margin:2em 0;padding:1em 1.1em;background:var(--paper-warm);color:var(--muted);box-shadow:var(--soft-shadow)}.reader-content pre{overflow-x:auto;border:3px solid var(--line);padding:1rem;background:#2b241d;color:var(--paper)}.reader-content code{font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:.92em}.reader-footer{display:flex;justify-content:space-between;gap:16px;border-top:1px solid var(--line);margin-top:48px;padding-top:24px}@media(max-width:860px){.hero{grid-template-columns:1fr}.site-header{margin-bottom:32px}}@media(max-width:640px){:root{--page-gutter: 14px}.site-header{display:block;margin-bottom:24px}.brand strong{font-size:1.22rem}.nav-link{margin-top:14px;padding:9px 14px}h1{font-size:clamp(1.8rem,10vw,2.5rem)}.pixel-surface{box-shadow:var(--mobile-shadow)}.section-title{display:block}.section-title span{display:inline-block;margin-top:6px}.reader{padding:22px 16px 30px}.reader-content{font-size:1rem;line-height:1.85}.reader-content h2{font-size:1.16em;line-height:1.35}.reader-content h1{font-size:1.32rem}.reader-footer{display:block}}@media(max-width:380px){.site-shell{width:min(100% - 20px,1120px)}.pixel-surface{padding-right:14px;padding-left:14px}}
