:root{--reading-size:18px}html{scroll-behavior:auto}body{overflow-wrap:anywhere}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:default}[hidden]{display:none!important}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #c58f39;outline-offset:4px}button{min-height:44px}button[aria-pressed=true]{font-weight:700}h1,h2,h3{text-wrap:pretty}.skip-link{position:fixed;left:12px;top:-100px;z-index:100;padding:14px;background:#fff;color:#121c2d}.skip-link:focus{top:12px}.header{gap:18px}.header nav a{padding:12px 0}.brand{min-width:245px}.brand small{font-size:9px}.button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:46px;padding:11px 18px;border:1px solid #8993a5;border-radius:24px;color:inherit;background:transparent;font-size:14px;line-height:1.5;text-align:center}.button:hover{border-color:var(--gold);background:#dec49518}.button.primary{background:var(--gold);color:#172338;border-color:var(--gold);font-weight:600}.button[aria-pressed=true],button[data-favorite][aria-pressed=true]{color:#e99daf;border-color:#d39eae}.actions{display:flex;flex-wrap:wrap;gap:12px;margin:20px 0}.storage-notice{padding:14px;margin:0;background:#fff0c7;color:#443816;font-size:14px}.toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);background:#f5e7cc;color:#192439;padding:13px 22px;border-radius:28px;z-index:50;box-shadow:0 4px 24px #0004;font-size:14px;max-width:90vw;width:max-content}.works-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:24px 20px}.library{max-width:1260px;padding:48px 28px 70px}.work-card{background:#1d2a41;color:var(--cream);border:1px solid #ffffff1a;border-radius:10px;display:flex;flex-direction:column}.cover-link{background:#142034}.cover-link img{aspect-ratio:2/3;object-fit:contain;height:auto}.work-info{padding:16px;display:flex;flex-direction:column;flex:1}.work-info h3{font-size:15px;line-height:1.7;margin:12px 0 8px;-webkit-line-clamp:3;min-height:0}.work-info .genre-pill{align-self:start}.card-desc{font-size:12px;color:var(--muted);line-height:1.8;margin:0 0 12px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.card-progress{font-size:11px;line-height:1.7;color:#d9c7a8;margin:auto 0 0}.card-bottom{display:flex;align-items:center;justify-content:space-between;gap:4px;padding-top:9px}.card-bottom a{font-size:12px;color:var(--gold);padding:10px 0}.card-bottom button{font-size:24px;border:0;background:transparent;color:var(--gold);min-width:44px}.work-info h3 a:hover{text-decoration:underline}.shelf-tabs{display:flex;gap:4px;border-bottom:1px solid #ffffff30;margin:18px 0}.shelf-tabs button{border:0;border-bottom:2px solid transparent;border-radius:0;background:transparent;color:#c4cbd8;padding:12px 18px;font-size:14px}.shelf-tabs button[aria-pressed=true]{border-bottom-color:var(--gold);color:var(--gold)}.filter-row{display:flex;align-items:center;flex-wrap:wrap;gap:10px;font-size:12px;color:var(--muted);margin:15px 0}.filter-row select,.filter-row button{max-width:100%;background:#1b2840;color:var(--cream);border:1px solid #788295;padding:9px 12px;border-radius:8px;min-height:44px}.filter-row select{max-width:250px}.continue-section{max-width:1100px;margin:32px auto;padding:0 20px}.continue-section h2{font:500 26px "Noto Serif JP",serif}#continueReading{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.continue-card{padding:14px;background:#233149;border:1px solid #dec49550;border-radius:12px;display:flex;gap:14px;align-items:center}.continue-card img{object-fit:cover;border-radius:4px;flex:none}.continue-card strong{font-size:13px;line-height:1.6;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.continue-card small{font-size:11px;display:block;color:var(--muted);margin:7px 0}.continue-card b{font-size:12px;color:var(--gold)}.detail{max-width:1120px;margin:auto;padding:32px 28px 60px}.back-link{display:inline-block;margin-bottom:32px;font-size:13px;color:var(--gold)}.detail-hero{display:grid;grid-template-columns:240px minmax(0,1fr);gap:40px;align-items:start}.detail-cover{width:100%;height:auto;aspect-ratio:2/3;object-fit:contain;border-radius:8px;background:#1b2840;box-shadow:0 15px 40px #0004}.detail h1{font:500 clamp(22px,2.7vw,32px)/1.7 "Noto Serif JP",serif;margin:12px 0}.catch{line-height:1.9;color:#e3d4b8;font-size:15px}.tags{display:flex;flex-wrap:wrap;gap:8px}.tag{font-size:12px;padding:7px 10px;border:1px solid #ffffff30;border-radius:20px;color:#cbd4e3}.tag:hover{background:#ffffff15}.reading-progress{color:var(--gold);font-size:13px}.detail h2,.recommendations h2{font:500 25px/1.6 "Noto Serif JP",serif}.synopsis{margin:40px 0;padding:30px;background:#1a273d;border-radius:12px}.synopsis-text{white-space:pre-wrap;line-height:2;font-size:15px;color:#d5dce7;max-width:800px}.contents{margin:40px 0}.contents small{font:13px sans-serif;color:var(--muted)}.contents [data-completed]{font-size:13px;color:var(--gold)}.toc{list-style:none;padding:0;counter-reset:chapter}.toc li{border-bottom:1px solid #ffffff20}.toc a{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px 12px;font-size:15px;line-height:1.8}.toc a:hover{background:#ffffff08}.toc small{color:var(--gold);white-space:nowrap}.recommendations{margin:60px auto 0;max-width:1064px}.recommendations .works-grid{gap:16px}.recommendations .work-info h3{font-size:13px}.ad-slot{max-width:970px;margin:40px auto;min-height:120px;text-align:center;border-top:1px solid #8884;padding-top:24px}.reader-page{--paper:#f6f0e4;--ink:#342e26;--sub:#6c6152;--line:#d4c9b6;--accent:#805921;background:var(--paper);color:var(--ink)}.reader-page[data-theme=light]{--paper:#fff;--ink:#22252a;--sub:#60636b;--line:#d9dce2;--accent:#76531d}.reader-page[data-theme=dark]{--paper:#171d27;--ink:#dfdcd5;--sub:#b2b5bd;--line:#3d4553;--accent:#e0c28e}.reader-page .header{color:#f8f4ef}.reading-toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px max(16px,calc((100% - 960px)/2));position:sticky;top:0;z-index:10;background:var(--paper);border-bottom:1px solid var(--line);font-size:13px}.reading-toolbar a{min-height:44px;display:flex;align-items:center}.reading-toolbar button{color:var(--ink);background:transparent;border:1px solid var(--line);border-radius:22px;padding:8px 15px}.reading-toolbar>span{font-size:12px;color:var(--sub)}.reading-settings{max-width:720px;margin:16px auto;padding:20px;border:1px solid var(--line);border-radius:12px;color:var(--ink)}.reading-settings>div{display:flex;gap:18px;align-items:center;flex-wrap:wrap}.reading-settings label{font-size:14px}.reading-settings input{accent-color:var(--accent);min-height:44px;flex:1;max-width:280px}.reading-settings fieldset{border:0;padding:15px 0 0;display:flex;gap:10px}.reading-settings legend{float:left;margin:12px 14px 0 0;font-size:14px}.reading-settings button{border:1px solid var(--line);background:transparent;color:var(--ink);border-radius:24px;padding:8px 18px}.reading-settings button[aria-pressed=true]{background:var(--ink);color:var(--paper)}.reading-settings p{font-size:12px;color:var(--sub)}.reading-article{max-width:740px;padding:0 32px;margin:auto}.chapter-heading{padding:48px 0 44px;border-bottom:1px solid var(--line);margin-bottom:40px}.chapter-heading>a{font-size:13px;line-height:1.8;color:var(--sub)}.chapter-heading .eyebrow{color:var(--accent);margin-top:32px}.chapter-heading h1{font:500 clamp(22px,3vw,30px)/1.8 "Noto Serif JP","Yu Mincho",serif;margin-bottom:0}.prose{white-space:pre-wrap;font-family:"Noto Serif JP","Yu Mincho","Hiragino Mincho ProN",serif;font-size:var(--reading-size);line-height:2.15;letter-spacing:.035em;line-break:strict;overflow-wrap:break-word;font-weight:400;tab-size:2}.chapter-end{text-align:center;border-top:1px solid var(--line);margin:44px 0 28px;padding-top:28px;color:var(--sub);font-size:13px}.chapter-end>span{font-size:36px;color:var(--accent)}.reader-page .button{border-color:var(--line)}.reader-page .button[aria-pressed=true]{color:var(--accent)}.reader-page .button.primary{border-color:var(--gold)}.chapter-nav{max-width:850px;display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px;flex:none;margin:25px auto;padding:0 24px;justify-content:initial}.disabled{opacity:.45}.share-panel{max-width:850px;margin:40px auto;padding:32px;border:1px solid var(--line);border-radius:14px}.share-panel h2{font:500 25px "Noto Serif JP",serif}.reader-page .eyebrow{color:var(--accent)}.share-panel p{font-size:13px;color:var(--sub);line-height:1.8}.share-panel .actions{margin:16px 0}.reader-page .recommendations{padding:0 24px 50px}.reader-page .recommendations .eyebrow{color:var(--accent)}footer p{font:12px sans-serif;margin-top:25px}.privacy{max-width:800px;margin:40px auto;padding:0 24px 50px;line-height:2}.privacy h1{font:500 28px "Noto Serif JP",serif}.privacy p{color:#ccd4df}.privacy h2{font-size:20px;margin-top:30px}
@media(max-width:1000px){.works-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.header{flex-wrap:wrap}.header nav{gap:20px}.brand{min-width:215px}#continueReading{grid-template-columns:1fr}.recommendations .works-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:720px){.header{padding:10px 16px;gap:8px}.header .brand{min-width:0;flex:1}.header nav{display:flex;order:3;flex-basis:100%;gap:24px;justify-content:flex-start;border-top:1px solid #ffffff18;margin-top:4px}.header nav a{font-size:12px;padding:9px 0;min-height:40px}.header .brand small{font-size:8px}.works-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 12px}.library{padding:30px 16px 50px}.work-info{padding:12px}.work-info h3{font-size:13px}.card-desc{font-size:11px}.card-bottom{flex-wrap:wrap}.card-bottom a{font-size:11px}.shelf-tabs button{padding:12px 10px;font-size:12px;flex:1}.detail{padding:24px 20px 40px}.detail-hero{grid-template-columns:1fr;gap:22px}.detail-cover{width:180px;margin:auto}.detail h1{font-size:24px}.detail .actions .button{flex-grow:1}.synopsis{padding:22px;margin-top:28px}.synopsis-text{font-size:14px}.toc a{font-size:14px;padding:16px 4px}.reading-article{padding:0 22px}.chapter-heading{padding:28px 0 24px;margin-bottom:28px}.prose{line-height:2.05;letter-spacing:.025em}.reading-toolbar{padding:8px 12px;gap:8px}.reading-toolbar button{font-size:12px;padding:8px 12px}.reading-toolbar>span{font-size:11px}.reading-settings{margin:12px;padding:16px}.reading-settings fieldset{gap:6px;flex-wrap:wrap}.reading-settings button{padding:8px 14px}.chapter-nav{display:grid;padding:0 14px;gap:8px}.chapter-nav .button{padding:10px 8px;font-size:12px;border-radius:12px}.share-panel{margin:30px 14px;padding:24px 18px}.share-panel .button{flex-grow:1}.reader-page .recommendations{padding:0 16px 40px}.recommendations .works-grid{gap:12px}.reader-page .header .external{display:none}.toast{bottom:14px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
.recommendations .works-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.related-reason{font-size:12px;line-height:1.7;color:#e1c997;margin:0 0 10px}
@media(max-width:720px){
  .recommendations .works-grid{grid-template-columns:minmax(0,1fr);gap:14px}
  .recommendations .work-card{display:grid;grid-template-columns:96px minmax(0,1fr);align-items:start}
  .recommendations .cover-link{margin:12px 0 12px 12px;border-radius:5px;overflow:hidden}
  .recommendations .cover-link img{display:block;width:100%;height:auto}
  .recommendations .work-info{min-width:0;padding:12px}
  .recommendations .work-info h3{display:block;font-size:14px;line-height:1.65;margin:7px 0 9px}
  .recommendations .genre-pill{font-size:10px}
  .recommendations .card-desc{display:none}
  .recommendations .related-reason{font-size:11px;margin-bottom:8px}
  .recommendations .card-bottom a{font-size:12px;min-height:44px;display:flex;align-items:center}
}
