/* AO3 Archive 2.0 仿官方：深红顶栏 / 灰导航 / blurb 列表 / 右侧 Dashboard */
.ao3-view,.ao3-read-view{
  --ao3-red:#900; --ao3-red-d:#6d0000; --ao3-link:#900;
  --ao3-meta:#666; --ao3-border:#d5d0c8; --ao3-nav:#e8e6df;
  --ao3-head:#990000; --ao3-paper:#fff; --ao3-page:#f2f0ea;
  --ao3-tag:#eee; --ao3-warn:#f5e8e8;
  background:var(--ao3-page); color:#2a2a2a;
  font-family:"Lucida Grande","Lucida Sans Unicode","GNU Unifont",Verdana,Helvetica,"PingFang SC","Microsoft YaHei",sans-serif;
}
html[data-theme="dark"] .ao3-view,html[data-theme="dark"] .ao3-read-view{
  --ao3-page:#141210; --ao3-paper:#201d1a; --ao3-nav:#2b2723;
  --ao3-border:#3d3833; --ao3-meta:#aaa; --ao3-tag:#2b2723; --ao3-warn:#3a2020; color:#e8e4dc;
}
/* 顶栏：红底 AO3 标志 + search */
.ao3-topbar{flex-shrink:0;background:var(--ao3-head);color:#fff;padding:calc(8px + var(--sat)) 12px 10px;display:flex;align-items:center;gap:10px}
.ao3-topbar .back-btn{background:rgba(255,255,255,.18);color:#fff}.ao3-topbar .back-btn svg{stroke:#fff}
.ao3-logo{flex:1;min-width:0;display:flex;align-items:center;gap:8px}
.ao3-logo-mark{flex-shrink:0;width:38px;height:30px;background:#fff;color:#900;font:900 13px/30px Verdana;text-align:center;border-radius:2px;letter-spacing:.02em}
.ao3-logo-text{display:flex;flex-direction:column;line-height:1.15;min-width:0}
.ao3-logo-text b{font:400 15px/1.2 Georgia,serif;letter-spacing:.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ao3-logo-text i{font:400 10px/1.2 inherit;opacity:.85;font-style:normal}
.ao3-top-search{display:flex;flex-shrink:0}
.ao3-top-search input{width:110px;border:0;padding:6px 8px;font-size:12px;border-radius:2px 0 0 2px;outline:0}
.ao3-top-search button{border:1px solid #fff;background:transparent;color:#fff;font-size:12px;padding:5px 10px;border-radius:0 2px 2px 0;cursor:pointer}
/* 官方二级灰导航 */
.ao3-masthead{flex-shrink:0;display:flex;align-items:center;gap:2px;background:var(--ao3-nav);border-bottom:1px solid #c8c2b4;padding:0 8px;height:32px;font-size:12.5px;color:#333;overflow-x:auto}
html[data-theme="dark"] .ao3-masthead{color:#ddd}
.ao3-mast-link{padding:7px 10px;white-space:nowrap;cursor:default}.ao3-mast-link:hover{color:var(--ao3-red)}
.ao3-mast-right{margin-left:auto;display:flex;gap:2px}
.ao3-post-link{border:0;background:transparent;color:var(--ao3-red);font-weight:700;font-size:12.5px;padding:7px 8px;cursor:pointer}
/* tab */
.ao3-nav{flex-shrink:0;display:flex;background:#f7f5f0;border-bottom:1px solid var(--ao3-border)}
html[data-theme="dark"] .ao3-nav{background:#262220}
.ao3-nav button{flex:1;height:36px;border:0;background:transparent;font:700 12px/1 inherit;color:#555;cursor:pointer;border-bottom:3px solid transparent}
html[data-theme="dark"] .ao3-nav button{color:#ccc}
.ao3-nav button.active{color:var(--ao3-red);border-bottom-color:var(--ao3-red);background:rgba(153,0,0,.05)}
.ao3-main{flex:1;min-height:0;overflow:auto;padding:12px 10px calc(16px + var(--foot-bottom))}
.ao3-panel{display:none}.ao3-panel.active{display:block}
.ao3-browse-wrap{display:flex;gap:12px;align-items:flex-start}
.ao3-browse-main{flex:1;min-width:0}
.ao3-dashboard{flex:0 0 150px;background:var(--ao3-paper);border:1px solid var(--ao3-border);padding:10px;font-size:12px}
.ao3-dash-heading{background:var(--ao3-red);color:#fff;font-size:12px;margin:-10px -10px 10px;padding:7px 10px}
.ao3-dash-group{margin-bottom:10px}.ao3-dash-group h4{margin:0 0 6px;font-size:12px;border-bottom:1px dotted var(--ao3-border);padding-bottom:3px;color:#444}
html[data-theme="dark"] .ao3-dash-group h4{color:#ccc}
.ao3-dash-group label{display:flex;gap:6px;align-items:center;font-size:11.5px;color:#555;margin-bottom:4px;cursor:pointer}
html[data-theme="dark"] .ao3-dash-group label{color:#bbb}
.ao3-dash-group input{accent-color:var(--ao3-red)}
.ao3-sort-go{height:34px;font-size:12px;margin-top:4px}
/* 筛选条 */
.ao3-filter{background:var(--ao3-paper);border:1px solid var(--ao3-border);padding:10px;margin-bottom:10px}
.ao3-filter input{width:100%;box-sizing:border-box;border:1px solid #bbb;padding:7px 9px;font-size:13px;background:#fff;color:#222;outline:0;border-radius:2px}
.ao3-filter input:focus{border-color:var(--ao3-red)}
.ao3-fandoms{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.ao3-chip{border:1px solid #bbb;background:#f5f4f0;color:#555;font-size:11px;padding:4px 9px;cursor:pointer;border-radius:10px}
.ao3-chip.on{background:var(--ao3-red);color:#fff;border-color:var(--ao3-red)}
/* 标题 */
.ao3-heading{font:700 18px/1.3 Georgia,"Noto Serif SC",serif;color:#333;margin:2px 0 10px;padding-bottom:5px;border-bottom:1px solid var(--ao3-red)}
html[data-theme="dark"] .ao3-heading{color:#eee}
.ao3-count{font:400 12px Verdana;color:var(--ao3-meta)}
/* 作品列表：官方 blurb */
.ao3-work-index{list-style:none;margin:0;padding:0}
li.ao3-blurb,button.ao3-blurb{background:var(--ao3-paper);border:1px solid var(--ao3-border);border-radius:3px;padding:10px 12px 8px;margin:0 0 10px;display:block;width:100%;text-align:left;color:inherit;font:inherit;cursor:pointer;box-sizing:border-box;position:relative}
li.ao3-blurb::before{content:"";position:absolute;left:0;top:0;bottom:0;width:5px;background:#ccc;border-radius:3px 0 0 3px}
li.ao3-blurb.rating-g::before,button.ao3-blurb.rating-g{border-left:5px solid #7ab31c}
li.ao3-blurb.rating-g::before{background:#7ab31c}li.ao3-blurb.rating-t::before{background:#d8c300}
li.ao3-blurb.rating-m::before{background:#e07410}li.ao3-blurb.rating-e::before{background:#900}
.ao3-blurb h4.heading{margin:0 0 2px;font:700 14.5px/1.4 Georgia,"Noto Serif SC",serif;color:var(--ao3-link)}
.ao3-blurb h4.heading a{color:var(--ao3-link);text-decoration:underline}
.ao3-blurb .ao3-byline{font-size:12px;color:var(--ao3-meta)}
.ao3-required-tags{display:flex;gap:4px;margin:6px 0;flex-wrap:wrap}
.ao3-sym{width:22px;height:22px;display:inline-flex;align-items:center;justify-content:center;font:900 11px/1 Verdana;border:1px solid #999;border-radius:2px;color:#fff}
.ao3-sym.r-g{background:#7ab31c}.ao3-sym.r-t{background:#e0c800;color:#333}.ao3-sym.r-m{background:#e07410}.ao3-sym.r-e{background:#900}
.ao3-sym.warn-y{background:#b00}.ao3-sym.warn-n{background:#fff;color:#333}.ao3-sym.warn-c{background:#666}
.ao3-sym.cat{width:auto;padding:0 5px;font-size:10px}
.ao3-sym.done-n{background:#fff;color:#b00;border-color:#b00}
.ao3-fandom-head{font:700 12px/1.4 inherit;margin:4px 0;color:#333}
html[data-theme="dark"] .ao3-fandom-head{color:#ddd}
.ao3-fandom-head a{color:var(--ao3-link)}
.ao3-taglist{list-style:none;margin:4px 0;padding:0;font-size:12px;line-height:1.6}
.ao3-taglist li{display:inline}
.ao3-taglist .ao3-tag-label{font-weight:700;color:#555}
html[data-theme="dark"] .ao3-taglist .ao3-tag-label{color:#bbb}
.ao3-taglist a.tag{color:var(--ao3-link);text-decoration:none;margin-right:2px}
.ao3-taglist a.tag:hover{text-decoration:underline}
.ao3-summary{font-size:12.5px;line-height:1.6;color:#444;margin:6px 0;padding:0;border:0}
html[data-theme="dark"] .ao3-summary{color:#ccc}
.ao3-stats{margin:6px 0 0;font-size:11px;color:var(--ao3-meta);line-height:1.7}
.ao3-stats dt{display:inline;font-weight:400;margin:0}.ao3-stats dt::after{content:": "}
.ao3-stats dd{display:inline;margin:0 8px 0 0;font-weight:700}
.ao3-datetime{font-size:11px;color:var(--ao3-meta);text-align:right;margin:2px 0 0}
.ao3-badge-gen{display:inline-block;margin-left:6px;font-size:10px;font-weight:700;padding:1px 6px;background:#eee;color:#666;vertical-align:middle}
.ao3-badge-gen.busy{background:#fff3cd;color:#8a6d00}.ao3-badge-gen.fail{background:#f5e8e8;color:#900}
.ao3-empty{background:var(--ao3-paper);border:1px solid var(--ao3-border);padding:28px 16px;text-align:center;color:var(--ao3-meta)}
.ao3-empty b{display:block;color:#333;margin-bottom:6px;font-size:14px}
html[data-theme="dark"] .ao3-empty b{color:#eee}
/* 发布表单 */
.ao3-form-card{background:var(--ao3-paper);border:1px solid var(--ao3-border);padding:12px;border-radius:3px}
.ao3-form-card h2{margin:0 0 10px;font:700 16px Georgia,serif;color:var(--ao3-red);padding-bottom:6px;border-bottom:1px solid var(--ao3-border)}
.ao3-notice{background:#fff8e5;border:1px solid #e6d9a8;color:#5c4b00;font-size:12px;line-height:1.55;padding:8px 10px;margin-bottom:12px}
html[data-theme="dark"] .ao3-notice{background:#3a3518;border-color:#5a4e20;color:#ffe9a0}
.ao3-field{margin-bottom:12px}
.ao3-field>label{display:block;font-weight:700;font-size:12px;color:#555;margin-bottom:5px}
html[data-theme="dark"] .ao3-field>label{color:#bbb}
.ao3-field>label em{font-style:normal;font-weight:400;color:var(--ao3-meta);margin-left:6px}
.ao3-req{color:var(--ao3-red);margin-right:2px}
.ao3-input,.ao3-textarea,.ao3-select{width:100%;box-sizing:border-box;border:1px solid #bbb;background:#fff;color:#222;font-size:13px;padding:8px 10px;outline:0;border-radius:2px}
.ao3-textarea{min-height:72px;resize:vertical}
.ao3-input:focus,.ao3-textarea:focus,.ao3-select:focus{border-color:var(--ao3-red)}
.ao3-char-list{border:1px solid var(--ao3-border);background:#faf9f6;max-height:180px;overflow:auto}
.ao3-char-item{display:flex;align-items:center;gap:8px;padding:8px 10px;border-bottom:1px solid var(--ao3-border);cursor:pointer;font-size:13px}
.ao3-char-item:last-child{border-bottom:0}.ao3-char-item input{accent-color:var(--ao3-red)}
.ao3-char-item img{width:28px;height:28px;border-radius:50%;object-fit:cover;background:#ddd}
.ao3-char-item .ao3-char-sub{font-size:11px;color:var(--ao3-meta)}
.ao3-char-empty{padding:14px;font-size:12px;color:var(--ao3-meta);text-align:center}
.ao3-field-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.ao3-theme-group{margin-bottom:10px;padding:8px 10px;border:1px solid var(--ao3-border);background:#faf9f6}
.ao3-theme-group>b{display:block;font-size:12px;color:#555;margin-bottom:6px}
.ao3-theme-opts{display:flex;flex-wrap:wrap;gap:6px}
.ao3-chap-nav{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 10px;padding:8px 10px;background:var(--ao3-paper);border:1px solid var(--ao3-border)}
.ao3-chap-nav button{border:1px solid #bbb;background:#f5f4f0;color:#333;font-weight:700;font-size:11px;padding:6px 10px;cursor:pointer}
.ao3-chap-nav button.on{background:var(--ao3-red);color:#fff;border-color:var(--ao3-red)}
.ao3-submit{width:100%;height:42px;border:1px solid #600;background:var(--ao3-red);color:#fff;font-weight:700;font-size:14px;cursor:pointer;border-radius:3px}
.ao3-submit:disabled{opacity:.55;cursor:default}
/* 阅读页 preface 官方风 */
.ao3-read-top{flex-shrink:0;background:var(--ao3-head);color:#fff;padding:calc(6px + var(--sat)) 12px 8px;display:flex;align-items:center;gap:10px}
.ao3-read-top .back-btn{background:rgba(255,255,255,.15);color:#fff}.ao3-read-top .back-btn svg{stroke:#fff}
.ao3-read-top h1{flex:1;margin:0;font:700 14px/1.3 Georgia,serif;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ao3-read-main{flex:1;min-height:0;overflow:auto;padding:12px 12px calc(72px + var(--foot-bottom));background:var(--ao3-page)}
.ao3-preface{background:var(--ao3-paper);border:1px solid var(--ao3-border);padding:14px;margin-bottom:12px;border-radius:3px}
.ao3-preface h2.title{margin:0;font:700 20px/1.35 Georgia,serif;text-align:center;color:#222}
html[data-theme="dark"] .ao3-preface h2.title{color:#eee}
.ao3-preface .byline{text-align:center;font-size:12.5px;color:var(--ao3-meta);margin:6px 0 10px}
.ao3-preface .byline a{color:var(--ao3-link);font-weight:700}
.ao3-meta-dl{border-top:1px solid var(--ao3-border);border-bottom:1px solid var(--ao3-border);padding:8px 0;margin:0 0 10px}
.ao3-meta-dl .meta-row{display:flex;gap:8px;font-size:12.5px;line-height:1.6;padding:2px 0}
.ao3-meta-dl dt{flex:0 0 86px;font-weight:700;color:#555}
html[data-theme="dark"] .ao3-meta-dl dt{color:#bbb}
.ao3-meta-dl dd{flex:1;margin:0;color:#333}
html[data-theme="dark"] .ao3-meta-dl dd{color:#ddd}
.ao3-meta-dl a.tag{color:var(--ao3-link)}
.ao3-chapter{background:var(--ao3-paper);border:1px solid var(--ao3-border);padding:18px 16px 22px;border-radius:3px}
.ao3-chapter h3{margin:0 0 12px;font:700 15px inherit;text-align:center;color:#444;padding-bottom:8px;border-bottom:1px solid var(--ao3-border)}
.ao3-chapter-body{font:400 15px/1.9 Georgia,"Noto Serif SC",serif;color:#222;white-space:pre-wrap;word-break:break-word}
.ao3-chapter-body .off-say{font-weight:600;color:#900}.ao3-chapter-body .off-think{font-style:italic;color:#666}
.ao3-chapter-body .off-em{font-weight:700;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}
.ao3-chapter-body .off-env{font-size:13px;color:#777}
html[data-theme="dark"] .ao3-chapter-body{color:#e8e8e8}
.ao3-generating{text-align:center;padding:36px 16px;color:var(--ao3-meta)}
.ao3-generating .ao3-spinner{width:28px;height:28px;margin:0 auto 12px;border:3px solid var(--ao3-border);border-top-color:var(--ao3-red);border-radius:50%;animation:ao3Spin .8s linear infinite}
@keyframes ao3Spin{to{transform:rotate(360deg)}}
.ao3-read-actions{position:absolute;left:0;right:0;bottom:0;display:flex;border-top:1px solid var(--ao3-border);background:#f7f5f0;z-index:5;padding-bottom:var(--foot-bottom)}
.ao3-read-actions button{flex:1;height:44px;border:0;background:transparent;font-weight:700;font-size:13px;color:var(--ao3-red);cursor:pointer;border-right:1px solid var(--ao3-border)}
.ao3-read-actions button:last-child{border-right:0}.ao3-read-actions button.on{background:var(--ao3-red);color:#fff}
.ao3-read-actions button:disabled{color:#999}.ao3-read-actions button.danger{color:#900}
.ao3-blurb-wrap{display:flex;align-items:stretch;margin:0 0 10px;border:1px solid var(--ao3-border);background:var(--ao3-paper);border-radius:3px;overflow:hidden}
.ao3-blurb-wrap .ao3-blurb{flex:1;margin:0;border:0}
.ao3-blurb-del{flex:0 0 44px;border:0;border-left:1px solid var(--ao3-border);background:transparent;color:#900;font-weight:700;font-size:12px;cursor:pointer;writing-mode:vertical-rl;letter-spacing:.12em}
.ao3-cont-banner{display:flex;align-items:center;justify-content:center;gap:10px;margin:0 0 12px;padding:10px 12px;border:1px solid var(--ao3-border);background:var(--ao3-warn);color:var(--ao3-red);font-weight:700;font-size:12px}
.ao3-dir-hint{margin-top:16px;padding-top:12px;border-top:1px dashed var(--ao3-border);display:flex;flex-direction:column;gap:6px;font-size:12px;color:var(--ao3-meta)}
.ao3-dir-hint b{color:var(--ao3-red)}.ao3-dir-hint span{display:block;color:#444}
html[data-theme="dark"] .ao3-dir-hint span{color:#ccc}
.ao3-continue-card .ao3-select{margin-bottom:10px}
.ao3-continue-dirs{display:flex;flex-direction:column;gap:8px;margin-bottom:10px}
.ao3-dir-tag{text-align:left;border:1px solid #ddd;background:#fafafa;padding:10px 12px;cursor:pointer;color:#333;font-size:13px}
.ao3-dir-tag b{display:block;font-size:11px;color:#900;margin-bottom:4px}
.ao3-dir-tag.on{border-color:#900;background:#fff5f5;box-shadow:inset 3px 0 0 #900}
@media (max-width:560px){.ao3-dashboard{display:none}.ao3-top-search input{width:80px}}
