:root{--paper:#f7f5ef;--ink:#272d29;--muted:#72786f;--green:#355848;--line:#dedfd6;--accent:#dedfbe;--serif:Georgia,'Yu Mincho','Hiragino Mincho ProN',serif;font-family:system-ui,-apple-system,'Noto Sans JP',sans-serif;color:var(--ink);background:var(--paper);font-size:15px}*{box-sizing:border-box}body{margin:0}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button,.button{cursor:pointer;border:1px solid var(--green);background:var(--green);color:white;padding:11px 19px;border-radius:6px;display:inline-flex;align-items:center;justify-content:center;gap:7px;font-weight:600}button:hover,.button:hover{filter:brightness(1.12)}button:disabled{opacity:.6;cursor:wait}.secondary{background:transparent;color:var(--green);border-color:var(--line)}.small{padding:7px 12px;font-size:.85rem}header{max-width:1240px;margin:auto;padding:25px 42px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);gap:20px}.brand{display:flex;align-items:center;gap:12px;font-family:var(--serif);font-size:23px}.brand small{display:block;font:10px system-ui;letter-spacing:.12em;color:var(--muted);margin-top:4px}.brand-icon{display:grid;place-items:center;width:43px;height:48px;border-radius:20px 20px 5px 5px;background:var(--green);color:var(--paper);font:42px var(--serif)}nav{display:flex;align-items:center;gap:17px;font-size:13px}nav .username{color:var(--muted)}main{max-width:1156px;margin:auto;padding:36px 0 80px;min-height:75vh}.eyebrow{font-size:11px;letter-spacing:.2em;color:var(--green);font-weight:700}.hero{padding:24px 0 43px;display:grid;grid-template-columns:1.2fr 1fr;gap:35px;align-items:center}.hero h1{font-family:var(--serif);font-size:clamp(32px,4vw,51px);font-weight:500;line-height:1.5;letter-spacing:.03em;margin:15px 0 20px}.hero p{line-height:2;color:var(--muted);font-size:14px}.hero-art{min-height:260px;position:relative;border:1px solid var(--line);border-radius:150px 150px 10px 10px;display:flex;align-items:center;justify-content:center;background:radial-gradient(ellipse at 50% 100%,#e8e9d5,transparent 70%)}.worlds{display:grid;grid-template-columns:1fr 1fr;gap:18px;width:80%;text-align:center}.worlds .origin{grid-column:1/3;width:65%;margin:auto}.worlds span{border:1px solid #bdc8b4;border-radius:5px;background:#fbfaf5;padding:18px 5px;font-family:var(--serif);font-size:16px;box-shadow:0 8px 25px #35584808}.worlds small{display:block;font:10px system-ui;color:var(--muted);margin-bottom:9px;letter-spacing:.1em}.worlds .connector{grid-column:1/3;font:28px var(--serif);color:#879776;border:0;background:none;padding:0;box-shadow:none}.toolbar{border-top:1px solid var(--line);padding:28px 0 22px;display:flex;align-items:center;justify-content:space-between;gap:16px}.toolbar h2{font:25px var(--serif);margin:0}.search{display:flex;gap:8px;flex-wrap:wrap}input,textarea,select{border:1px solid #cdd2c7;background:#fffefa;border-radius:5px;padding:11px 12px;color:var(--ink);max-width:100%}input:focus,textarea:focus,select:focus{outline:2px solid #9cbaa2;outline-offset:2px}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.card{border:1px solid var(--line);background:#fdfcf7;border-radius:8px;overflow:hidden;transition:transform .2s}.card:hover{transform:translateY(-3px)}.book-cover{height:156px;background:#e5e8db;position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden;border-bottom:1px solid var(--line)}.book-cover::before,.book-cover::after{content:'';position:absolute;width:130px;height:190px;border:1px solid #b6c0a8;border-radius:90px 90px 0 0;transform:rotate(-24deg);left:20%;top:20px}.book-cover::after{transform:rotate(24deg);left:42%;top:42px}.book-cover span{z-index:1;letter-spacing:.35em;font:14px var(--serif);background:#f7f5efc9;padding:10px 20px}.card:nth-child(3n+2) .book-cover{background:#e9e1db}.card:nth-child(3n+3) .book-cover{background:#dce4e6}.card-content{padding:23px}.card h3{font:22px var(--serif);margin:10px 0 12px;line-height:1.5}.meta{font-size:12px;color:var(--muted);line-height:1.8}.summary{font-size:13px;color:#5f665f;line-height:1.9;white-space:pre-wrap;overflow-wrap:anywhere}.card .summary{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;min-height:74px}.stats{display:flex;gap:17px;border-top:1px solid var(--line);margin-top:20px;padding-top:15px;font-size:12px;color:var(--green)}.tag{font-size:10px;letter-spacing:.1em;color:var(--green)}.empty{padding:60px 25px;text-align:center;border:1px dashed #c7cebf;border-radius:8px;color:var(--muted);grid-column:1/-1}.empty h3{font:24px var(--serif);color:var(--ink)}.login{max-width:430px;margin:45px auto;padding:35px;background:#fffdf7;border:1px solid var(--line);border-radius:10px}.login h2{font:27px var(--serif)}label{display:block;font-size:13px;margin:18px 0 8px}form input,form textarea{width:100%}form button[type=submit]{margin-top:22px}form .error{color:#a33636;white-space:pre-wrap;line-height:1.7}.hint{font-size:12px;color:var(--muted);line-height:1.8}.back{font-size:13px;color:var(--green);display:inline-block;margin:6px 0 30px}.story-heading{max-width:790px;padding-bottom:22px}.story-heading h1{font:38px var(--serif);line-height:1.5;overflow-wrap:anywhere}.layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:40px}.panel{border:1px solid var(--line);background:#fffdf8;border-radius:8px;padding:24px}.panel h2,.section-title{font:23px var(--serif);margin:0 0 20px}.branch-list{display:grid;gap:16px}.branch-item{padding:22px;border:1px solid var(--line);border-left:3px solid var(--green);border-radius:5px;background:#fffdf8}.branch-item h3{font:21px var(--serif);margin:0 0 9px;overflow-wrap:anywhere}.branch-item ol{padding-left:24px;line-height:2;font-size:14px}.branch-item ol a:hover{text-decoration:underline}.branch-item .inherited{color:var(--muted)}.branch-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:15px}.tree{padding-left:15px;border-left:1px solid #b6c0a8;list-style:none}.tree li{margin:16px 0;overflow-wrap:anywhere}.tree a{font-size:13px;display:block}.tree small{font-size:10px;color:var(--muted)}.tree .tree{margin-top:8px}.reader-shell{max-width:790px;margin:auto}.reader-heading{text-align:center;padding:16px 0 30px;border-bottom:1px solid var(--line)}.reader-heading h1{font:32px var(--serif);line-height:1.6;overflow-wrap:anywhere}.reader-body{font-family:var(--serif);font-size:18px;line-height:2.3;letter-spacing:.04em;white-space:pre-wrap;overflow-wrap:anywhere;padding:45px 10px 55px}.reader-actions{padding:24px 0;border-top:1px solid var(--line);display:flex;gap:12px;justify-content:center;flex-wrap:wrap}.liked{background:#e7edde;color:var(--green)}.continuations{margin-top:35px}.continuations a{display:block;margin:12px 0;padding:18px;border:1px solid var(--line);border-radius:6px;background:#fffdf8}.continuations a:hover{border-color:var(--green)}dialog{border:1px solid var(--line);border-radius:10px;width:min(760px,calc(100% - 28px));padding:30px;background:var(--paper);max-height:92vh;color:var(--ink)}dialog::backdrop{background:#18271e77;backdrop-filter:blur(3px)}dialog h2{font:28px var(--serif);margin-top:0}.dialog-head{display:flex;align-items:start;justify-content:space-between;gap:20px}dialog textarea{min-height:250px;line-height:1.9;font-family:var(--serif);resize:vertical}dialog textarea.short{min-height:85px;font-family:inherit}.form-actions{display:flex;align-items:center;justify-content:space-between}.form-actions .hint{margin-top:22px}#toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);background:var(--green);color:#fff;padding:14px 22px;border-radius:6px;box-shadow:0 6px 25px #0002;display:none;z-index:5;max-width:90%;font-size:13px}footer{border-top:1px solid var(--line);padding:25px 42px;max-width:1240px;margin:auto;display:flex;justify-content:space-between;font:12px var(--serif);color:var(--muted)}.pagination{display:flex;justify-content:center;gap:12px;margin:30px 0}button:focus-visible,a:focus-visible{outline:3px solid #9cbaa2;outline-offset:3px}@media(max-width:1200px){main{padding:30px 30px 70px}}@media(max-width:800px){.cards{grid-template-columns:repeat(2,1fr)}.layout{grid-template-columns:1fr}.hero{grid-template-columns:1fr 0.8fr}.hero h1{font-size:33px}.hero-art{min-height:230px}.toolbar{align-items:start;flex-direction:column}header{padding:20px 25px}.username{display:none}}@media(max-width:550px){main{padding:20px 19px 50px}.cards{grid-template-columns:1fr}.hero{grid-template-columns:1fr;padding-top:5px;gap:15px}.hero-art{min-height:210px}.hero h1{font-size:34px}.brand{font-size:18px}.brand-icon{width:32px;height:39px}header{padding:17px 18px;gap:10px}nav{gap:7px}nav button{padding:7px 9px;font-size:11px}.search input{width:170px}.login{padding:24px}.reader-body{font-size:17px;padding:30px 0;line-height:2.2}.reader-heading h1,.story-heading h1{font-size:27px}footer{padding:23px 19px;gap:15px;font-size:10px}.panel{padding:18px}dialog{padding:22px}.book-cover{height:135px}}

@font-face{font-family:"Novel Reader Mincho";src:local("Yu Mincho"),local("Hiragino Mincho ProN"),url("./reader-mincho-v1.woff2") format("woff2");font-style:normal;font-weight:400;font-display:swap}
/* Wide, responsive reading column; preference styles apply to episode pages only. */
.reader-shell{width:100%;max-width:1080px;margin-inline:auto}
.reader-shell a{color:var(--green)}.reader-shell a:hover{text-decoration:underline}
.reader-heading{padding:18px 0 24px;border-bottom:0}.reader-heading h1{font:700 22px/1.5 system-ui,sans-serif;margin:12px 0}
.reader-body{margin:26px 12px 48px;padding:0;font-family:"Noto Sans JP","Yu Gothic","Hiragino Kaku Gothic ProN",sans-serif;font-size:18px;font-weight:400;line-height:1.95;letter-spacing:normal;white-space:break-spaces;overflow-wrap:anywhere;line-break:strict}
body[data-reader-font=mincho] .reader-body{font-family:"Novel Reader Mincho","Yu Mincho","Hiragino Mincho ProN","Noto Serif CJK JP",serif}
body[data-reader-size="16"] .reader-body{font-size:16px}body[data-reader-size="24"] .reader-body{font-size:24px}body[data-reader-size="28"] .reader-body{font-size:28px}
body[data-reader-theme]{background:var(--paper);color:var(--ink);min-height:100vh;--surface:#fffdf7;--muted:#62705f;--on-accent:#fff;--hover:#e7edde;--error:#a33636}
body[data-reader-theme=white]{--paper:#fff;--surface:#f5f7f3}
body[data-reader-theme=dark]{--paper:#171e19;--ink:#e5ebe3;--green:#afd0b2;--muted:#b5c2b4;--line:#526654;--surface:#222e25;--on-accent:#17231b;--hover:#314538;--error:#ffb4ae;color-scheme:dark}
body[data-reader-theme] :is(input,textarea,select){background:var(--surface);color:var(--ink);border-color:var(--line)}
body[data-reader-theme] :is(button,.button){color:var(--on-accent)}
body[data-reader-theme] :is(.quiet,.secondary,.branch-toggle){color:var(--green);background:transparent}
body[data-reader-theme] :is(.quiet:hover,.branch-toggle[aria-expanded=true],.liked){background:var(--hover);color:var(--green)}
body[data-reader-theme] .toc-candidates{background:var(--surface)}body[data-reader-theme] .error{color:var(--error)}body[data-reader-theme] #toast{color:var(--on-accent)}
body[data-reader-theme] :focus-visible{outline:2px solid var(--green);outline-offset:3px}body[data-reader-theme] option:checked{background:var(--green);color:var(--on-accent)}
@media(max-width:730px){body:has(.reader-shell) main{padding:18px 12px 50px}.reader-body{margin-inline:0}.reader-heading h1{font-size:20px}}
/* Reader-first index and discreet writing controls. */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%)}
.quiet{border:0;background:transparent;color:var(--muted);font-weight:400;padding:7px 9px}.quiet:hover{color:var(--green);background:#35584809}.quiet.liked{color:var(--green)}
.story-toc{max-width:950px;margin:auto}.story-toc h1{font-size:1.8rem;line-height:1.5;overflow-wrap:anywhere;margin-bottom:12px}.story-summary{white-space:pre-wrap;margin:22px 0 30px}
.toc-list{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}.toc-item{border-bottom:1px solid var(--line)}
.toc-row,.toc-candidate{display:grid;grid-template-columns:58px minmax(0,1fr) auto 56px;gap:12px;align-items:center;line-height:1.6;min-height:58px;padding:8px 0}.toc-title{color:var(--green);overflow-wrap:anywhere}.toc-title:hover{text-decoration:underline}.toc-number{font-size:.85rem;white-space:nowrap}.toc-meta{display:flex;align-items:baseline;gap:12px;font-size:.72rem;color:var(--muted)}.toc-author{overflow-wrap:anywhere;max-width:140px}.toc-meta time{font-variant-numeric:tabular-nums;white-space:nowrap}
.branch-toggle{background:transparent;border:0;color:var(--green);font-size:23px;padding:0;width:56px;min-height:40px;font-weight:400}.branch-toggle[aria-expanded=true]{background:#3558480b;border-radius:4px}.toc-candidates{padding:0 12px;margin:0 0 10px 15px;border-left:1px solid var(--line);text-align:left}.toc-candidates[hidden]{display:none}.toc-candidate{grid-template-columns:58px minmax(0,1fr) auto 56px;min-height:48px}
.reader-top{display:flex;align-items:baseline;justify-content:space-between;gap:18px}.reader-top .back{margin-bottom:15px;overflow-wrap:anywhere}.reader-top #open-editor{flex-shrink:0;font-size:12px}.reader-heading h1{margin:12px 0}.reader-branches{text-align:right;margin:8px 0}.reader-branches .toc-candidates{font-size:14px}.reader-actions{border:0;padding:5px 0}.chapter-nav{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin:26px 0;font-size:13px}.chapter-nav a{max-width:42%;overflow-wrap:anywhere}.chapter-nav .to-toc{white-space:nowrap;color:var(--muted)}.editor-menu{display:grid;gap:12px;padding:8px 0}.toolbar{border-top:0;padding-top:10px}.brand small{display:none}
@media(max-width:730px){.story-toc h1{font-size:1.5rem}.toc-row,.toc-candidate{grid-template-columns:47px minmax(0,1fr) 48px;gap:2px 8px;padding:10px 0}.toc-number{grid-column:1;grid-row:1}.toc-title{grid-column:2;grid-row:1}.toc-meta{grid-column:2;grid-row:2;gap:8px;font-size:.65rem;flex-wrap:wrap}.toc-author{max-width:100%;}.branch-toggle{grid-column:3;grid-row:1 / 3;width:48px;min-height:44px}.toc-candidates{margin-left:8px;padding-left:8px;padding-right:0}.reader-branches .toc-candidate{font-size:13px}.reader-top .back{font-size:12px}.reader-heading{padding-bottom:22px}.chapter-nav{font-size:12px;gap:10px}}

#nav button{white-space:nowrap}.brand-icon{flex-shrink:0}.branch-toggle svg{display:block}

.branch-count{font-size:11px;font-variant-numeric:tabular-nums}.branch-toggle{gap:5px}.branch-toggle:disabled{opacity:.65;cursor:default}.reading-branch{font-size:12px;padding:5px 8px;max-width:220px;background:transparent;color:var(--green);border-color:var(--line)}.reading-controls{display:flex;justify-content:flex-end;margin:12px 0}.visibility-setting{border-top:1px solid var(--line);margin-top:20px;padding-top:10px}.visibility-setting label{display:flex;gap:10px;align-items:center}.visibility-setting input{width:auto}.visibility-setting .error{color:#a33636}.reader-shell .toc-title{color:var(--green)}

input{accent-color:var(--green)}.reading-branch option:checked{background:var(--green);color:var(--paper)}

.story-info{max-width:790px;margin:auto}.info-top{display:flex;align-items:baseline;justify-content:space-between;gap:20px}.info-top .back{margin-bottom:15px}.story-info h1{font-size:1.8rem;overflow-wrap:anywhere}.story-info h2{font-size:1rem;margin:30px 0 12px}.info-text{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.9}.story-info .setting-notes{margin-bottom:35px}#story-info-form select{max-width:100%}

.icon-button{width:44px;min-width:44px;min-height:44px;padding:0;flex-shrink:0}.icon-button svg{display:block}.reader-tools{display:flex;gap:2px;align-items:center;flex-shrink:0}.reader-settings-trigger{font:20px Georgia,serif}.reader-top{align-items:flex-start;gap:12px}.reader-top .back{min-width:0;margin-top:10px}.reader-settings{padding:12px 18px;margin:8px 0 24px;border:1px solid var(--line);border-radius:6px;background:var(--surface)}.reader-settings[hidden]{display:none}.settings-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.settings-heading h2{font-size:15px;margin:0}.reader-settings #reset-reader-settings{min-height:44px;padding-left:0}#reader-settings-status:empty{display:none}@media(max-width:550px){.reader-settings{padding:10px 12px}.reader-top .back{font-size:12px}}

.reader-branches{display:flex;justify-content:flex-end;align-items:center;gap:8px;flex-wrap:wrap}.reader-branches .reading-controls{margin:0}.reader-branches .toc-candidates{flex-basis:100%;margin-left:0}

body[data-reader-font=meiryo] .reader-body{font-family:Meiryo,"メイリオ","Noto Sans JP","Yu Gothic","Hiragino Kaku Gothic ProN",sans-serif}
body[data-reader-theme=blue]{--paper:#edf7ff;--surface:#f7fbff;--ink:#24323b;--green:#285b65;--muted:#526779;--line:#9ab8cc}
#reader-settings .settings-controls{display:block}
.reader-setting-group{margin:18px 0 24px}.reader-setting-group h3{font-size:14px;font-weight:500;margin:0 0 9px;color:var(--ink)}
.reader-segments{display:grid;gap:0;border:1px solid var(--line);border-radius:6px;min-width:0}.segments-4{grid-template-columns:repeat(4,minmax(0,1fr))}.segments-3{grid-template-columns:repeat(3,minmax(0,1fr))}
#reader-settings .reader-choice{display:flex;justify-content:center;align-items:center;min-width:0;min-height:64px;margin:0;padding:6px 4px;border:0;border-right:1px solid var(--line);border-radius:0;box-shadow:none;color:var(--ink);background:var(--surface);font-size:17px;font-weight:400;line-height:1.3;white-space:nowrap}
#reader-settings .reader-choice:first-child{border-radius:5px 0 0 5px}#reader-settings .reader-choice:last-child{border-right:0;border-radius:0 5px 5px 0}#reader-settings .reader-choice:hover{filter:none}
#reader-settings .reader-choice[aria-checked=true]{box-shadow:inset 0 0 0 3px var(--green);position:relative;z-index:1}
#reader-settings .reader-choice:focus-visible{outline:2px dashed var(--green);outline-offset:-7px;position:relative;z-index:2}
#reader-size [data-value="16"]{font-size:16px}#reader-size [data-value="18"]{font-size:18px}#reader-size [data-value="24"]{font-size:24px}#reader-size [data-value="28"]{font-size:28px}
#reader-theme [data-value=white]{background:#fff;color:#272d29}#reader-theme [data-value=dark]{background:#171e19;color:#e5ebe3}#reader-theme [data-value=paper]{background:#f7f5ef;color:#272d29}#reader-theme [data-value=blue]{background:#edf7ff;color:#24323b}
#reader-font [data-value=mincho]{font-family:"Novel Reader Mincho","Yu Mincho","Hiragino Mincho ProN",serif}#reader-font [data-value=gothic]{font-family:"Noto Sans JP","Yu Gothic","Hiragino Kaku Gothic ProN",sans-serif}#reader-font [data-value=meiryo]{font-family:Meiryo,"メイリオ","Noto Sans JP","Yu Gothic","Hiragino Kaku Gothic ProN",sans-serif}
@media(max-width:550px){.reader-setting-group{margin:16px 0 22px}#reader-settings .reader-choice{min-height:62px}#reader-settings .settings-heading h2{font-size:17px}}

#reader-settings .settings-heading h2{font-size:18px}

/* Small additions live beside metadata or behind an explicit reader action. */
.toc-meta{flex-wrap:wrap}.character-count{white-space:nowrap}.toc-tools{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap}.toc-tools .reading-controls{margin:0}.reader-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.comments-panel{border-top:1px solid var(--line);margin:22px 0;padding:12px 0}.comments-panel summary{cursor:pointer;color:var(--muted);font-size:13px;min-height:44px;display:list-item;align-content:center}.comments-panel form{margin:12px 0 24px}.comment{border-top:1px solid var(--line);padding:16px 0}.comment-body{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.8}.comment .meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.comment .delete-comment{margin-left:auto}.comments-panel button{min-height:44px}#reorder-list{padding:0;list-style:none}#reorder-list li{display:flex;align-items:center;gap:6px;margin:8px 0}#reorder-list li span{flex:1;min-width:0;overflow-wrap:anywhere}#copy-text{min-height:45vh}.toc-tools>.meta{margin-right:auto}.comments-panel textarea{background:var(--surface);color:var(--ink)}

.comments-panel [hidden]{display:none}
