
:root{--bg:#f7f5ef;--paper:#fffdf8;--ink:#203b34;--muted:#66736a;--line:#dcded2;--accent:#a95134;--soft:#e7ebdf;--reader-size:21px;color-scheme:light}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.65 system-ui,sans-serif}body.dark{--bg:#14221f;--paper:#1c2d28;--ink:#e5e8dd;--muted:#b1beb3;--line:#3d4e44;--accent:#f0ae87;--soft:#253d32;color-scheme:dark}a{color:inherit;text-decoration:none}button,input,select{font:inherit}button,a,input,select{touch-action:manipulation}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid var(--accent);outline-offset:4px}header{max-width:1240px;margin:auto;display:flex;align-items:center;gap:24px;padding:26px 5%;border-bottom:1px solid var(--line)}.brand{font:italic 42px/1 Georgia,serif;letter-spacing:-2px;display:inline-flex;align-items:center;gap:12px}.brand span{font:10px/1.4 system-ui;letter-spacing:3px;border-left:1px solid var(--line);padding-left:12px}nav{margin-left:auto;display:flex;gap:24px;font-size:14px}.icon{border:1px solid var(--line);border-radius:50%;background:transparent;color:var(--ink);width:42px;height:42px}main{max-width:1120px;margin:auto;padding:0 24px;min-height:60vh}.hero{padding:64px 0 58px;display:grid;grid-template-columns:1.1fr 1fr;gap:50px;align-items:center}.eyebrow{font-size:11px;letter-spacing:2px;text-transform:uppercase;color:var(--accent);font-weight:650}.hero h1{font:clamp(42px,5.5vw,72px)/1.1 Georgia,serif;letter-spacing:-2px;margin:18px 0 24px}.hero p{max-width:460px;color:var(--muted)}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}.btn{display:inline-block;padding:12px 22px;border:1px solid var(--ink);border-radius:4px;background:var(--ink);color:var(--paper);font-weight:600;font-size:14px}.btn.secondary{background:transparent;color:var(--ink)}.cover{aspect-ratio:4/4.5;background:#173b34;color:#f3e8cb;padding:38px;position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:space-between;border-radius:8px;box-shadow:12px 14px 0 var(--soft)}.cover:before{content:"";width:280px;height:280px;border:1px solid #b6c29955;border-radius:50%;position:absolute;right:-90px;top:60px;box-shadow:0 0 0 35px #b6c2990b,0 0 0 70px #b6c2990a,0 0 0 105px #b6c29908}.cover .moon{width:60px;height:60px;background:#e6c697;border-radius:50%;box-shadow:inset -18px -5px 0 #173b34}.cover strong{font:40px/1.15 Georgia,serif;max-width:260px;z-index:1}.cover small{letter-spacing:2px;font-size:10px;z-index:1}.section{padding:38px 0;border-top:1px solid var(--line);scroll-margin-top:20px}.section h2{font:32px/1.2 Georgia,serif;margin:0 0 14px}.section-head{display:flex;justify-content:space-between;gap:20px;align-items:end}.muted,.small{color:var(--muted)}.small{font-size:13px}.tools{display:flex;gap:12px;margin:25px 0;flex-wrap:wrap}.tools input{flex:1;min-width:180px}.tools input,.tools select{padding:12px;background:var(--paper);color:var(--ink);border:1px solid var(--line);border-radius:4px}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.card{padding:24px;border:1px solid var(--line);border-radius:6px;background:var(--paper)}.card h3{font:25px/1.35 Georgia,serif;margin:12px 0}.card p{font-size:14px;color:var(--muted)}.card .tag,.tag{font-size:11px;letter-spacing:1px;color:var(--accent)}.story-card{display:grid;grid-template-columns:170px 1fr;gap:30px;max-width:780px}.mini{background:#173b34;color:#f3e8cb;border-radius:4px;min-height:200px;padding:25px;display:flex;align-items:end;font:26px/1.25 Georgia,serif}.text-link{display:inline-block;border-bottom:1px solid var(--accent);color:var(--accent);font-size:14px;font-weight:600}.reader{max-width:740px;margin:40px auto 64px}.reader h1{font:42px/1.2 Georgia,serif}.reader h2{font:28px/1.35 Georgia,serif}.reading{font:var(--reader-size)/1.95 Georgia,'Times New Roman',serif;overflow-wrap:anywhere}.reading p{margin:0 0 1.1em}.reader-controls{display:flex;flex-wrap:wrap;align-items:center;gap:12px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:16px 0;margin:25px 0}.reader-controls button,.reader-controls select{background:var(--paper);color:var(--ink);border:1px solid var(--line);padding:8px 12px;border-radius:4px;min-height:44px}.chapter-nav{display:flex;justify-content:space-between;gap:20px;margin-top:36px}.note{background:var(--soft);border-radius:5px;padding:18px;font-size:14px}.toc{padding:0;list-style:none}.toc a{display:block;padding:16px 0;border-bottom:1px solid var(--line)}.empty{padding:25px;border:1px dashed var(--line);color:var(--muted)}footer{max-width:1120px;margin:40px auto 0;padding:36px 24px;border-top:1px solid var(--line)}footer p{max-width:700px}.skip{position:absolute;left:12px;top:-100px;background:var(--ink);color:var(--paper);padding:12px;z-index:9}.skip:focus{top:10px}#resume:empty{display:none}#resume{margin-bottom:24px}#live{min-height:24px}.reader .meta{font-size:13px;color:var(--muted)}@media(max-width:700px){header{padding:20px;gap:14px;flex-wrap:wrap}.brand{font-size:35px}nav{order:3;width:100%;margin:0;justify-content:space-between;gap:10px;font-size:13px}.icon{margin-left:auto}.hero{grid-template-columns:1fr;padding:36px 0;gap:28px}.hero h1{font-size:48px}.hero .cover{aspect-ratio:1.5;padding:28px}.cover strong{font-size:32px;max-width:300px}.cover .moon{width:40px;height:40px}.grid{grid-template-columns:1fr}.story-card{grid-template-columns:1fr;gap:16px}.mini{min-height:130px}.section-head{display:block}.reader h1{font-size:34px}.reader{margin-top:24px}.reading{line-height:1.85}.chapter-nav .btn{padding:12px 15px}}

@font-face{font-family:NoctaSans;src:url('fonts/noto-sans-regular.ttf') format('truetype');font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:NoctaSans;src:url('fonts/noto-sans-bold.ttf') format('truetype');font-style:normal;font-weight:600 900;font-display:swap}
body,.hero h1,.cover strong,.section h2,.card h3,.mini,.reader h1,.reader h2,.reading{font-family:NoctaSans,'Segoe UI',Arial,sans-serif;font-synthesis:none}
.reading{letter-spacing:normal;word-spacing:normal;line-height:1.9}.hero h1{letter-spacing:-1.5px}
