@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+SC:wght@400;500;600&display=swap');
:root{color-scheme:light;--paper:#f5f3ed;--ink:#292d29;--muted:#96978d;--accent:#73816b;--line:#dfdfd5}*{box-sizing:border-box}body{margin:0;background:#e9e9e2;color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"PingFang SC",sans-serif;display:flex;justify-content:center;align-items:center;min-height:100vh;min-height:100svh}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;border:0;background:none;cursor:pointer}button:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:5px}#reader{background:var(--paper);width:440px;height:min(880px,94vh);height:min(880px,94svh);position:relative;padding:0 35px;display:flex;flex-direction:column;box-shadow:0 24px 90px #343b2910;border:1px solid #ffffff70}header{height:93px;flex-shrink:0;display:flex;align-items:center;justify-content:space-between}.brand{text-decoration:none;color:var(--ink);font-family:"Noto Serif SC",serif;letter-spacing:4px;font-size:23px;font-weight:600;display:flex;align-items:center;gap:8px}.brand-dot{height:5px;width:5px;background:var(--accent);border-radius:50%;margin-top:8px}.mode{font-size:11px;letter-spacing:2px;color:#747c6b}.mode span{font-size:19px;margin-left:6px}.top-rule{height:1px;background:var(--line);flex-shrink:0}article{flex:1;min-height:0;padding-top:37px;outline:none;cursor:pointer;touch-action:pan-x;overflow:hidden}.eyebrow{color:var(--accent);font-size:10px;letter-spacing:2.3px}.article-kicker{display:flex;align-items:center;gap:10px;font-size:10px;color:#8a8e80;letter-spacing:2px;margin-bottom:23px}.article-kicker:before{content:'';width:18px;height:1px;background:#8a8e80}h1{font-family:"Noto Serif SC","Songti SC",serif;font-weight:500;font-size:30px;letter-spacing:1px;line-height:1.65;margin:0 0 25px}article p{font-family:"Noto Serif SC","Songti SC",serif;font-size:17px;line-height:2.05;letter-spacing:.55px;margin:0 0 18px}article p.lead{color:#707666;font-size:14px;line-height:1.9;border-left:2px solid #b4bba8;padding-left:14px;margin-bottom:28px}article.continued{padding-top:32px}.page-enter{animation:appear .3s ease-out}@keyframes appear{from{opacity:0;transform:translateY(9px)}to{opacity:1;transform:translateY(0)}}footer{padding-bottom:22px;flex-shrink:0}.article-meta{display:flex;align-items:center;justify-content:space-between;margin:15px 0 17px;height:27px}#category{font-size:10px;letter-spacing:1.4px;color:#8b8f80}#save{padding:8px;margin-right:-8px}#save svg{width:20px;height:20px;display:block}#save[aria-pressed=true] svg{fill:#849276;color:#849276}.progress{height:2px;display:flex;gap:5px}.progress span{height:2px;flex:1;background:#dedfd5}.progress span.active{background:#78876b}.navigation{display:flex;align-items:center;justify-content:space-between;height:52px}.navigation>button:first-child,.navigation>button:last-child{font-size:21px;color:#7b8271;padding:10px}.navigation>button:first-child{margin-left:-10px}.navigation>button:last-child{margin-right:-10px}.navigation button:disabled{opacity:.25;cursor:default}#next-page{font-size:11px;letter-spacing:1px;color:#868b7c}#page-number{font-variant-numeric:tabular-nums;margin-left:13px;font-size:10px;color:#959a8b}.gesture-hint{text-align:center;font-size:9px;letter-spacing:1.5px;color:#a3a598}.gesture-hint i{font-style:normal;margin:0 8px}.end-note{font-family:"Noto Serif SC",serif;font-size:12px;color:#838b78;padding:8px 0 2px}.end-note span{display:block;font-size:10px;margin-top:5px;color:#a1a493}.desktop-note{position:absolute;left:7vw;top:13vh}.wordmark{font-family:"Noto Serif SC",serif;font-size:28px;letter-spacing:5px;display:flex;align-items:center;gap:15px}.seal{font-size:10px;letter-spacing:0;border:1px solid #909681;color:#7b846b;padding:3px 2px}.desktop-note p{font-family:"Noto Serif SC",serif;font-size:15px;line-height:2.1;color:#7d8275;margin-top:30px}.note-line{display:block;width:24px;height:1px;background:#a9ae9e;margin:35px 0}.desktop-note small{font-size:10px;color:#919787;letter-spacing:2px}.desktop-index{position:absolute;left:calc(50% + 290px);bottom:14vh}.desktop-index>span{font-size:8px;letter-spacing:2px;color:#939a88}.desktop-index>div{font-family:"Noto Serif SC",serif;font-size:24px;line-height:1.9;margin:22px 0;color:#727b64}.desktop-index p{font-size:10px;color:#9a9f91;margin-bottom:60px}.desktop-index .edition{font-size:8px;letter-spacing:1px}#toast{position:fixed;bottom:100px;left:50%;transform:translate(-50%,10px);padding:12px 20px;border-radius:6px;background:#343d30;color:#fff;font-size:12px;opacity:0;pointer-events:none;transition:.2s;white-space:nowrap}#toast.show{opacity:1;transform:translate(-50%,0)}dialog{border:1px solid var(--line);background:var(--paper);color:var(--ink);padding:38px 30px;width:min(380px,90vw);border-radius:3px}dialog::backdrop{background:#252c2255;backdrop-filter:blur(5px)}.close{position:absolute;right:15px;top:10px;font-size:26px;color:var(--muted)}dialog h2{font-family:"Noto Serif SC",serif;font-weight:500;font-size:23px;margin:20px 0}dialog p{font-size:13px;line-height:1.9;color:#808575}#interests{display:flex;flex-wrap:wrap;gap:8px;margin:22px 0}#interests span{padding:7px 12px;background:#e9ecdf;font-size:11px;color:#6f7c61}.stats{padding:15px 0;border-top:1px solid var(--line);font-size:12px;color:#747e67}.demo-note{font-size:10px;line-height:1.8;color:#979c8c}#reset{padding:0;margin-top:22px;font-size:11px;color:#78876b}@media(max-width:1100px){.desktop-note{left:4vw}.desktop-index{left:calc(50% + 260px)}}@media(max-width:900px){.desktop-note,.desktop-index{display:none}}@media(max-width:520px){body{background:var(--paper)}#reader{width:100%;height:100vh;height:100svh;border:0;box-shadow:none;padding:0 29px;padding-top:env(safe-area-inset-top)}header{height:77px}article{padding-top:29px}h1{font-size:28px}footer{padding-bottom:max(16px,env(safe-area-inset-bottom))}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
/* Reserve counts describe generated inventory, not the length or end of an article. */
.reader-debug{flex:0 0 72px;height:72px;padding:12px 0 8px;border-bottom:1px solid var(--line);color:#6e7964;font-size:10px;line-height:18px}
.reserve-counts{display:flex;justify-content:space-between;gap:12px;font-size:12px;font-variant-numeric:tabular-nums;color:#4e5d44}
#reserve-status{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.reserve-note{font-size:9px;color:#909687;white-space:nowrap}
.reserve-error #reserve-status{color:#9a6251}
.reading-rule{height:1px;background:var(--line)}
#mode-label{font-size:11px;margin-left:0}
#continuation-status{position:absolute;bottom:130px;left:29px;right:29px;text-align:center;font-size:10px;color:#8b7766;pointer-events:none}
#measure{position:fixed!important;left:-20000px!important;top:0!important;visibility:hidden!important;flex:none!important;margin:0!important;overflow:hidden!important;pointer-events:none!important;animation:none!important}
#article{overflow-y:auto;scrollbar-width:none;overscroll-behavior:contain}
#article::-webkit-scrollbar{display:none}
@media(max-height:500px){#reader{height:100vh;height:100svh}header{height:48px}article,article.continued{padding-top:12px}footer{padding-bottom:6px}.article-meta{margin:6px 0}.navigation{height:36px}.gesture-hint{display:none}h1{font-size:23px;margin-bottom:12px;line-height:1.4}.article-kicker{margin-bottom:10px}article p.lead{margin-bottom:12px}article p{font-size:15px;line-height:1.8}}

.reader-tools{display:flex;align-items:center;gap:16px}.admin-link{font-size:10px;letter-spacing:1.5px;color:#858b7d;text-decoration:none}.auth-page,.admin-page{display:block;background:var(--paper);min-height:100vh;min-height:100svh}.auth-page{display:grid;place-items:center}.auth-card{width:min(390px,calc(100vw - 48px));padding:42px 0}.auth-card h1{font-size:31px;margin:18px 0 35px}.auth-card label{display:block;font-size:11px;color:#7d8574;letter-spacing:1.5px;margin:18px 0}.auth-card input,.admin-main input{display:block;width:100%;margin-top:9px;padding:13px 0;border:0;border-bottom:1px solid var(--line);background:transparent;font-size:16px;outline:0}.auth-card button,.admin-main form button{width:100%;margin-top:25px;padding:14px;background:#4d5946;color:#fff;font-size:12px;letter-spacing:2px}.auth-card #form-error,.admin-main form p{min-height:18px;color:#a0544d;font-size:12px}.admin-header{height:72px;padding:0 max(24px,calc((100vw - 1120px)/2));border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between}.admin-header>div{display:flex;align-items:center;gap:16px;font-size:12px;color:#727a68}.admin-header button{font-size:11px;color:#727a68}.admin-main{max-width:1120px;margin:0 auto;padding:55px 24px}.admin-main h1{font-size:32px;margin:12px 0}.admin-intro{max-width:560px;line-height:1.8;color:#747a6d;font-size:14px}.admin-grid{display:grid;grid-template-columns:270px 1fr;gap:45px;margin-top:48px}.admin-grid aside{border-right:1px solid var(--line);padding-right:30px}.admin-grid h2{font-family:"Noto Serif SC",serif;font-size:17px;font-weight:500;margin:0 0 14px}.user-row{width:100%;text-align:left;padding:13px 0;border-bottom:1px solid var(--line)}.user-row strong,.user-row small{display:block}.user-row small{margin-top:5px;color:#909586;font-size:10px}.user-row.selected strong{color:#67775b}.user-row em{font-size:9px;font-style:normal;background:#e4e9d9;padding:2px 5px}.admin-grid form{margin-top:36px}.admin-grid form input{font-size:13px}.admin-grid form button{font-size:11px}.audit h3{font-size:11px;letter-spacing:1.7px;color:#7b836f;margin:30px 0 10px}.audit-record{padding:16px;background:#eeeee7;border:1px solid #e2e2da;margin-bottom:10px}.record-head{display:flex;justify-content:space-between;gap:16px;font-size:12px}.record-head small{color:#888f80;font-size:10px}.audit pre{white-space:pre-wrap;word-break:break-word;font:12px/1.75 ui-monospace,SFMono-Regular,Menlo,monospace;color:#4e544c;margin:14px 0 0}.empty{font-size:13px;color:#969c8e}.admin-main #create-error{margin:10px 0}@media(max-width:700px){.admin-main{padding:34px 22px}.admin-grid{grid-template-columns:1fr;gap:35px}.admin-grid aside{border:0;padding:0}.admin-header{padding:0 22px}.record-head{display:block}.record-head small{display:block;margin-top:5px}}
.generation-head,.generation-row{display:grid;grid-template-columns:145px 1.1fr 1.35fr 1.35fr;gap:16px;align-items:center}.generation-head{padding:0 14px 10px;color:#8c9283;font-size:10px;letter-spacing:1px}.generation-row{padding:13px 14px;border-top:1px solid var(--line);font-size:12px}.generation-row p{margin:0;color:#61685d;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.generation-article strong,.generation-article small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.generation-article small,.generation-row time{margin-top:4px;color:#92988b;font-size:10px}.generation-row time{margin:0;white-space:nowrap}@media(max-width:760px){.generation-head{display:none}.generation-row{grid-template-columns:1fr;gap:5px}.generation-row p{white-space:normal;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical}.generation-row time{margin-top:3px}}
.article-list{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 22px}.article-list span{max-width:100%;padding:7px 10px;background:#eef0e8;color:#67705f;font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bunch-list-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:28px}.bunch-list-toolbar h3{margin:0;padding:12px 0}.bunch-list-toolbar button{padding:7px 10px;color:#596b4d;background:#ecefe5;font-size:11px}.bunch-list-toolbar button:disabled{opacity:.5}
.bunch-list-head,.bunch-row{display:grid;grid-template-columns:140px minmax(0,1fr)96px 112px;gap:14px;align-items:start}
.bunch-list-head{padding:12px 14px;font-size:10px;color:#89907f;border-bottom:1px solid var(--line)}
.bunch-row{width:100%;padding:17px 14px;text-align:left;border-bottom:1px solid var(--line);background:transparent;color:#4c5647;font-size:12px;line-height:1.7}
.bunch-row:hover{background:#ecefe5}.bunch-row:focus-visible{outline:2px solid #73816b;outline-offset:-2px}.bunch-row>span{min-width:0}.bunch-row strong,.bunch-row small,.bunch-preview,.bunch-time time{display:block}.bunch-row strong{font-weight:500}.bunch-row small{font-size:10px;color:#8b9382;margin-top:4px}.bunch-time time{font-size:10px;white-space:nowrap}.bunch-article>strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bunch-preview{margin-top:7px;color:#7b8471;font-size:11px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.bunch-calls strong{overflow-wrap:anywhere;font-size:10px}.bunch-status.saved{color:#526b40}.bunch-status.failed{color:#a15e50}.bunch-status.generating{color:#9b8246}
.drawer-attempts{flex-shrink:0;display:flex;align-items:center;gap:12px;padding:12px 30px;border-bottom:1px solid var(--line);font-size:11px;color:#77816b}.drawer-attempts[hidden]{display:none}.drawer-attempts label{flex-shrink:0}.drawer-attempts select{min-width:0;flex:1;border:1px solid var(--line);background:#f1f2e9;padding:8px;color:#4e5b45;font:inherit}.drawer-tab:disabled{opacity:.4;cursor:default}.request-drawer .drawer-header{height:auto;min-height:110px}.drawer-bunch-summary{padding:12px;background:#eef0e6;color:#626f55;font-size:13px;line-height:1.8}.drawer-article-feedback{margin-top:24px;padding-top:16px;border-top:1px solid var(--line);font-size:12px;line-height:1.8;color:#858d7b}.drawer-panel .error{color:#a15e50;font-size:13px;line-height:1.8}#drawer-description-content{font-size:13px;line-height:1.8;color:#56634d}
@media(max-width:760px){.bunch-list-head{display:none}.bunch-row{grid-template-columns:minmax(0,1fr)auto;gap:8px 12px}.bunch-time{grid-column:1/-1;display:flex;justify-content:space-between;align-items:center}.bunch-time small{margin:0}.bunch-calls{grid-column:1/-1}.bunch-calls strong,.bunch-calls small{display:inline;margin-right:10px}.drawer-attempts{padding:12px 22px}.drawer-tabs{gap:18px}.drawer-tab{font-size:11px;white-space:nowrap}}
.article-record{width:100%;background:#eef0e8;color:#596451;font-size:11px}.article-record summary,.generation-row summary{cursor:pointer;list-style:none}.article-record summary::-webkit-details-marker,.generation-row summary::-webkit-details-marker{display:none}.article-record summary{padding:9px 11px}.generation-row>summary{display:grid;grid-template-columns:145px 1.1fr 1.35fr 1.35fr;gap:16px;align-items:center}.record-detail{padding:14px;border-top:1px solid var(--line);background:#f7f7f1}.record-detail strong{display:block;margin:8px 0;color:#747d6b;font-size:10px;letter-spacing:1px}.record-detail pre{white-space:pre-wrap;word-break:break-word;margin:0 0 16px;font:12px/1.7 ui-monospace,SFMono-Regular,Menlo,monospace;color:#4d554a}@media(max-width:760px){.generation-row>summary{grid-template-columns:1fr;gap:5px}}
.generation-row{width:100%;text-align:left;background:transparent;color:inherit;cursor:pointer}.generation-row:hover{background:#f1f2eb}.generation-row:focus-visible{outline:2px solid #738066;outline-offset:-2px}.generation-preview{margin:0;color:#61685d;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.drawer-open{overflow:hidden}.drawer-backdrop{position:fixed;inset:0;background:rgba(31,35,28,.26);z-index:30;backdrop-filter:blur(2px)}.request-drawer{position:fixed;z-index:31;right:0;top:0;width:min(660px,calc(100vw - 48px));height:100vh;height:100svh;background:#f8f8f2;box-shadow:-18px 0 55px rgba(32,37,29,.16);transform:translateX(105%);transition:transform .25s ease;display:flex;flex-direction:column}.request-drawer.open{transform:translateX(0)}.drawer-header{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;padding:28px 30px 22px;border-bottom:1px solid var(--line)}.drawer-header h2{margin:5px 0 7px;font:500 21px/1.45 "Noto Serif SC",serif;color:#3f493b}.drawer-eyebrow,.drawer-meta{margin:0;color:#899080;font-size:10px;letter-spacing:1.2px}.drawer-close{flex:0 0 auto;width:34px;height:34px;border-radius:50%;background:#eceee6;color:#697261;font-size:24px;line-height:1}.drawer-tabs{display:flex;gap:24px;padding:0 30px;border-bottom:1px solid var(--line)}.drawer-tab{position:relative;padding:16px 0 13px;color:#8a9182;font-size:12px}.drawer-tab.active{color:#46523f}.drawer-tab.active:after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:#67775b}.drawer-body{min-height:0;flex:1;overflow:hidden}.drawer-panel{height:100%;overflow:auto;padding:22px 30px 40px}.drawer-panel-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;color:#7a8272;font-size:10px;letter-spacing:1.2px}.copy-detail{padding:6px 10px;background:#eceee5;color:#687260;font-size:10px;letter-spacing:.5px}.drawer-panel pre{margin:0;white-space:pre-wrap;word-break:break-word;font:12px/1.8 ui-monospace,SFMono-Regular,Menlo,monospace;color:#4d554a}.drawer-output-content{white-space:pre-wrap;word-break:break-word;font:15px/2 "Noto Serif SC",serif;color:#41483e}.drawer-output-content.error{color:#a0544d}@media(max-width:760px){.generation-preview{white-space:normal;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical}.request-drawer{width:100vw}.drawer-header{padding:22px 22px 18px}.drawer-tabs{padding:0 22px}.drawer-panel{padding:20px 22px 34px}}

.drawer-explanation{padding:12px 30px;border-bottom:1px solid var(--line);font-size:12px;line-height:1.7;flex-shrink:0}.drawer-explanation summary{cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.drawer-explanation>div{max-height:140px;overflow:auto;padding-top:10px}.drawer-header{flex-shrink:0}.drawer-tabs{flex-shrink:0}.audit{min-width:0}.generation-row{grid-template-columns:145px minmax(0,1.1fr) minmax(0,1.35fr) minmax(0,1.35fr)}.generation-article{min-width:0}@media(max-width:760px){.generation-row{grid-template-columns:minmax(0,1fr)}.drawer-explanation{padding:12px 22px}}

/* One small listening control shares the existing footer, without taking body space. */
.article-actions{display:flex;align-items:center;gap:14px;flex-shrink:0}
.article-meta #category{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-right:12px}
#read-aloud{display:inline-flex;align-items:center;gap:5px;min-height:44px;min-width:70px;padding:5px 4px;font-size:11px;color:#73816b;white-space:nowrap}
#read-aloud-icon{font-size:15px;width:13px;text-align:center}
#read-aloud[aria-pressed=true]{color:#465b3c}
#read-aloud[aria-busy=true]{opacity:.65}
#read-aloud:disabled{opacity:.35;cursor:default}

/* Recommendation audit: visible fields and evidence, independent of reader UI. */
.evaluation-dashboard{margin:24px 0;padding:20px;border:1px solid #ddd6cb;border-radius:14px;background:#fbfaf7}.evaluation-dashboard h3{margin-top:0}.evaluation-run,.issue-record,.input-field{margin:12px 0;padding:12px;border:1px solid #e5e0d7;border-radius:8px}.evaluation-dashboard summary,.input-field summary{cursor:pointer;font-weight:600}.table-scroll{overflow:auto}.evaluation-dashboard table{border-collapse:collapse;width:100%;font-size:13px}.evaluation-dashboard th,.evaluation-dashboard td{padding:10px;border-bottom:1px solid #e5e0d7;text-align:left;vertical-align:top}.field-guide code{overflow-wrap:anywhere}.field-guide td:first-child{min-width:200px}.field-guide td:last-child{min-width:300px}.evaluation-form{display:grid;gap:12px;margin-top:16px}.evaluation-form label{display:grid;gap:5px;font-size:13px}.evaluation-form input,.evaluation-form textarea,.evaluation-form select{padding:9px;border:1px solid #d8d2c8;border-radius:6px;background:white;color:#302b26}.evaluation-form textarea{min-height:70px}.evaluation-form [role=status]{color:#9b392b}.input-module{margin-bottom:24px}.input-module>code{font-size:12px;color:#746d62}.input-field pre{white-space:pre-wrap;overflow-wrap:anywhere}.input-field p{font-size:13px;color:#746d62}.output-score{margin:12px 0 20px;padding:16px;background:#f3eee5;border-radius:8px;font-size:14px}.issue-record blockquote{margin:12px 0;padding-left:12px;border-left:3px solid #c5b89f}.evaluation-dashboard small{color:#746d62}

.recommendation-diagnostics{margin:24px 0}.recommendation-diagnostics>summary{cursor:pointer;font-size:14px;font-weight:600;color:#596451;padding:10px 0}

.request-identity{display:flex;flex-direction:column;gap:5px}.request-identity strong{font-size:12px;color:#596451}
.bunch-length-dashboard{margin:22px 0 30px;padding:20px;border:1px solid var(--line);background:#f7f7f1;color:#596451;font-size:12px;line-height:1.8}.bunch-length-dashboard h3{margin:0 0 12px}.length-headline{display:flex;align-items:baseline;flex-wrap:wrap;gap:16px}.length-headline strong{font-size:30px;font-weight:500;color:#46523f}.bunch-length-dashboard table{width:100%;border-collapse:collapse;white-space:nowrap;font-size:12px}.bunch-length-dashboard th,.bunch-length-dashboard td{padding:9px 12px 9px 0;text-align:left;border-bottom:1px solid var(--line)}.bunch-length-dashboard td:last-child{white-space:normal;min-width:70px}.bunch-length-dashboard summary{cursor:pointer;margin-top:14px}.bunch-length-dashboard time{font-size:10px}.bunch-length-dashboard button{text-decoration:underline;color:#46523f}.bunch-length-dashboard p{margin:10px 0}

.admin-sidebar-nav{margin:0 0 28px;padding-bottom:20px;border-bottom:1px solid var(--line)}.admin-sidebar-nav button{width:100%;padding:12px;text-align:left;color:#596451;font-size:13px}.admin-sidebar-nav button:hover,.admin-sidebar-nav button[aria-pressed="true"]{background:#e8ecdf}.length-view-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:12px;color:#747a6d;font-size:12px}.length-view-toolbar select{max-width:100%;padding:8px;border:1px solid var(--line);background:var(--paper);color:#46523f}.length-view-toolbar button{color:#596451;text-decoration:underline}.admin-sidebar-nav button:focus-visible,.length-view-toolbar button:focus-visible{outline:2px solid #738066;outline-offset:2px}

.bunch-row small.bunch-failure-count{color:#a15e50}.bunch-audit-section{margin:0 0 22px;padding-bottom:18px;border-bottom:1px solid var(--line)}.bunch-audit-section[hidden]{display:none}.bunch-audit-section h3{margin:0 0 10px;font-size:12px;font-weight:500;color:#56634d}.bunch-timing-values{display:grid;grid-template-columns:1fr 1fr;gap:16px}.bunch-timing-values p{margin:0}.bunch-timing-values span{display:block;font-size:11px;color:#858d7b}.bunch-timing-values strong{display:block;margin-top:5px;font-size:17px;font-weight:500;color:#4e5b45}.bunch-timing-note{margin:12px 0 0;font-size:11px;line-height:1.8;color:#838c79}.bunch-run-list{margin:12px 0 0;padding:0;list-style:none}.bunch-run-list li{display:flex;justify-content:space-between;gap:14px;padding:8px 0;font-size:11px;color:#68765e}.bunch-run-list small{display:block;margin-top:3px;font-size:10px;color:#858d7b}.bunch-run-list strong{font-weight:400;white-space:nowrap}.bunch-failure-list{list-style:none;margin:12px 0 0;padding:0}.bunch-failure-list li{margin:0 0 10px;padding:12px 14px;border-left:2px solid #bf9485;background:#f2eee7;font-size:12px;color:#856354}.bunch-failure-head{display:flex;justify-content:space-between;gap:12px}.bunch-failure-head strong{font-weight:500}.bunch-failure-list time,.bunch-failure-list small{display:block;margin-top:5px;font-size:10px;color:#97877c}.bunch-failure-list p{line-height:1.8;margin:8px 0;overflow-wrap:anywhere}.bunch-failure-list button{display:block;margin-top:10px;padding:0;text-decoration:underline;text-underline-offset:3px;font-size:11px;color:#657458}.bunch-failure-list button:focus-visible{outline:2px solid #73816b;outline-offset:4px}@media(max-width:420px){.bunch-timing-values{gap:12px}.bunch-timing-values strong{font-size:15px}}

.bunch-article .bunch-task{display:block;width:fit-content;margin:7px 0;padding:3px 8px;border-radius:4px;font-size:12px;font-weight:600;line-height:1.5;background:#e8ede5;color:#52634c}.bunch-article .bunch-task.adjacent{background:#e8ecef;color:#526473}.bunch-article .bunch-task.discovery{background:#eee8df;color:#776044}.bunch-article .bunch-task.unknown{background:#edede9;color:#85867c;font-weight:400}

/* Diagnostics stay outside the reading column and never reserve body space. */
.reader-debug{position:fixed;left:calc(50% + 250px);top:max(60px,9vh);width:220px;height:auto;padding:0;border:0;z-index:20;font-size:11px;line-height:1.7}
.reader-debug>summary{cursor:pointer;list-style:none;font-size:11px;color:#6e7964}
.reader-debug>summary::-webkit-details-marker{display:none}
.reserve-panel{padding:14px 16px;border:1px solid var(--line);border-radius:8px;background:var(--paper)}
.reserve-heading{display:block;font-size:10px;letter-spacing:2px;color:var(--muted);margin-bottom:10px}
.reader-debug .reserve-counts{display:flex;flex-direction:column;gap:4px;margin-bottom:9px}
.reader-debug #reserve-status,.reader-debug .reserve-note{white-space:normal;overflow-wrap:anywhere;overflow:visible}
.reader-debug .reserve-note{margin-top:9px;line-height:1.7}
@media(min-width:1000px){.reader-debug>summary{display:none}}
@media(max-width:999px){.reader-debug{left:auto;right:8px;top:94px;width:auto;max-width:calc(100vw - 32px)}.reader-debug>summary{width:28px;padding:8px 3px;border:1px solid var(--line);border-radius:5px;background:var(--paper);writing-mode:vertical-rl;letter-spacing:3px;opacity:.8}.reader-debug[open]>summary{margin-left:auto;writing-mode:horizontal-tb;width:auto;letter-spacing:1px;padding:5px 10px}.reader-debug .reserve-panel{width:240px;max-width:calc(100vw - 32px);margin-top:6px;box-shadow:0 8px 24px #343b2915}}

/* Active interest stays in the header and never overlays the article body. */
.active-interest-open{font-size:10px;color:#73816b;padding:6px 0;white-space:nowrap}
.active-interest-tools-hidden{visibility:hidden}
.active-interest-form{position:absolute;z-index:22;top:24px;left:112px;right:29px;min-height:44px;display:flex;align-items:center;gap:7px;background:var(--paper);border-bottom:1px solid #aeb9a3}
.active-interest-form[hidden]{display:none}.active-interest-label{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.active-interest-form input{min-width:0;width:100%;border:0;background:transparent;color:var(--ink);font-family:inherit;font-size:16px;line-height:1.5;outline:none;padding:7px 0}
.active-interest-form input::placeholder{color:#969d8d;font-size:12px}.active-interest-form input:focus-visible{outline:0}
.active-interest-submit{font-size:11px;white-space:nowrap;color:#526346;padding:7px 2px}.active-interest-close{font-size:20px;color:#89927e;padding:4px 0 4px 4px}
.active-interest-form button:disabled{opacity:.5;cursor:wait}
@media(max-width:520px){.active-interest-form{top:calc(16px + env(safe-area-inset-top));left:104px}.active-interest-open{font-size:10px}}
@media(max-height:500px){.active-interest-form{top:2px;left:104px}}
/* Admin: explicitly submitted interests remain visually separate from generated content. */
.admin-page .active-interest-row{background:#edf3f6;border-left:3px solid #789aae;padding-left:11px}
.admin-page .active-interest-row:hover{background:#e5eef3}
.admin-page .active-interest-row:focus-visible{outline-color:#5d859b}
.admin-page .active-interest-row .bunch-article>strong,.admin-page .active-interest-row .bunch-calls>strong{color:#446e83}
.admin-page .active-interest-row .bunch-preview{color:#496777;white-space:pre-wrap}
.admin-page .active-interest-badge{color:#446e83}
.admin-page .active-interest-profile{margin:18px 0;padding:16px 18px;background:#edf3f6;border-left:3px solid #789aae}
.admin-page .active-interest-profile h4,.admin-page .inferred-interest-profile h4{margin:0 0 9px;font-size:12px;font-weight:500}
.admin-page .active-interest-profile h4,.admin-page .active-interest-profile p,.admin-page .audit .active-interest-json{color:#496c80}
.admin-page .active-interest-profile p{font-size:11px;line-height:1.8;margin:8px 0}
.admin-page .inferred-interest-profile{margin:18px 0;padding:16px 18px;background:#eef0e6;border-left:3px solid #9ba78b}
.admin-page .inferred-interest-profile h4{color:#617351}
.admin-page .drawer-tab[hidden]{display:none}
.admin-page .input-module>code,.admin-page .input-field summary,.admin-page .input-field summary code{overflow-wrap:anywhere;word-break:break-word}
.admin-page .story-audit-section,.admin-page .preference-evidence{min-width:0;margin:16px 0;padding:14px;background:#eef1e8;border:1px solid #dce2d4;border-radius:6px;font-size:12px;line-height:1.8;color:#56634d}.admin-page .story-audit-section h3,.admin-page .story-audit-section h4,.admin-page .preference-evidence h4{margin:0 0 8px;font-size:13px}.admin-page .story-audit-section p,.admin-page .preference-evidence p{margin:6px 0 10px;color:#6e7865}.admin-page .story-audit-section pre,.admin-page .preference-evidence pre,.admin-page .preference-iteration pre{max-width:100%;white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word}.admin-page .story-audit-section .story-audit-section{background:#f7f8f2}.admin-page .story-missing{font-style:italic}.admin-page .saved-story-plan details>summary{cursor:pointer}.admin-page .model-story-progress{border-left:3px solid #8f9d79}
.admin-page .active-interest-drawer .drawer-tab.active{color:#446e83}
.admin-page .active-interest-drawer .drawer-tab.active:after{background:#789aae}
.admin-page .active-interest-original{white-space:pre-wrap;overflow-wrap:anywhere;background:#edf3f6;border-left:3px solid #789aae;padding:16px 18px;color:#3d6074;font:15px/2 "Noto Serif SC",serif}
.admin-page .active-interest-metadata{margin:24px 0;font-size:12px;line-height:1.8}
.admin-page .active-interest-metadata>div{display:grid;grid-template-columns:120px minmax(0,1fr);gap:16px;padding:9px 0;border-bottom:1px solid var(--line)}
.admin-page .active-interest-metadata dt{color:#889484}
.admin-page .active-interest-metadata dd{margin:0;color:#54695f;overflow-wrap:anywhere}
.admin-page .active-interest-note{font-size:12px;line-height:1.9;color:#7b897c}
@media(max-width:420px){.admin-page .active-interest-metadata>div{grid-template-columns:100px minmax(0,1fr);gap:12px}.admin-page .active-interest-profile,.admin-page .inferred-interest-profile{padding:13px 14px}}

/* Two serial calls share a bunch; their inputs and outputs remain separate. */
.drawer-tabs{overflow-x:auto}.drawer-tab{flex-shrink:0}.drawer-tab[hidden]{display:none}.stage-panel{font-size:13px;line-height:1.8;color:#56634d}.stage-panel h2{font-size:18px;margin:0 0 8px}.stage-purpose,.stage-request-meta{color:#7a8272;font-size:12px}.stage-request{margin:24px 0;padding:18px 0;border-top:1px solid var(--line)}.stage-request h3{margin:0;font-size:15px}.stage-request h4{margin:20px 0 8px;font-size:13px}.stage-request pre{padding:12px;background:#eff1e9;border-radius:5px}.stage-raw-input summary{cursor:pointer;margin:8px 0}.stage-not-started{padding:16px;background:#eff1e9;border-radius:5px}.bunch-article .bunch-task.active{background:#e6eef5;color:#486c8b}.bunch-stage-progress{color:#66745c}

#reader #next-article{min-height:44px;min-width:64px;font-size:13px;white-space:nowrap;color:#627454}#next-article span{font-size:11px;margin-right:3px}
