*{box-sizing:border-box}
:root{--bg:#f3f4f2;--panel:#fbfbfa;--paper:#fff;--text:#202522;--muted:#7d837f;--line:#dedfdb;--line-soft:#ecece8;--accent:#2e5c4d;--accent-dark:#244a3e;--danger:#9b3e3e;--success:#3e705d;--shadow:0 18px 50px rgba(28,34,30,.08)}
html,body{margin:0;min-height:100%;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",Arial,sans-serif;color:var(--text);background:var(--bg)}
button,input,textarea{font:inherit}a{color:inherit;text-decoration:none}
.brand-mark{display:inline-grid;place-items:center;width:42px;height:42px;border:1px solid #26322d;border-radius:10px;font-size:12px;font-weight:800;letter-spacing:.12em;background:#252f2b;color:#fff}
.brand-mark.large{width:52px;height:52px;border-radius:13px}.brand-mark.small{width:30px;height:30px;border-radius:8px;font-size:9px}
.login-body{min-height:100vh;display:grid;place-items:center;background:radial-gradient(circle at 14% 18%,rgba(54,93,78,.08),transparent 30%),linear-gradient(135deg,#f0f1ee 0,#f8f8f6 100%);padding:32px}
.login-shell{width:min(980px,100%);display:grid;grid-template-columns:1.1fr .8fr;gap:72px;align-items:center}.login-brand{display:flex;gap:20px;align-items:center;padding-left:8px}.login-brand h1{font-size:34px;margin:0 0 8px;font-weight:650;letter-spacing:-.03em}.login-brand p{margin:0;color:var(--muted);font-size:15px}
.login-card{background:rgba(255,255,255,.92);border:1px solid var(--line);border-radius:18px;padding:38px 36px 26px;box-shadow:var(--shadow)}.login-head{margin-bottom:28px}.login-head h2{font-size:26px;margin:6px 0 8px;font-weight:650}.login-head p{margin:0;color:var(--muted);font-size:14px}
.eyebrow,.pane-kicker{font-size:10px;letter-spacing:.16em;color:#8c928e;font-weight:700}label{display:block;font-size:13px;color:#555d58;margin-bottom:16px}input,textarea{width:100%;border:1px solid #d4d7d3;background:#fff;color:var(--text);border-radius:9px;outline:none;transition:.16s}input{height:44px;padding:0 13px;margin-top:7px}textarea{padding:12px 13px;resize:none}input:focus,textarea:focus{border-color:#769184;box-shadow:0 0 0 3px rgba(72,111,93,.08)}
.primary-btn,.send-btn{border:0;background:var(--accent);color:white;border-radius:9px;cursor:pointer;font-weight:650;transition:.16s}.primary-btn:hover,.send-btn:hover{background:var(--accent-dark)}.primary-btn{height:44px;padding:0 18px}.primary-btn.full{width:100%;display:grid;place-items:center}.login-foot{text-align:center;color:#a0a5a1;font-size:11px;margin-top:22px}.notice{padding:11px 13px;border-radius:8px;font-size:13px;margin-bottom:18px}.notice.error{background:#f8eded;color:var(--danger);border:1px solid #ead3d3}.notice.success{background:#edf5f1;color:var(--success);border:1px solid #d4e6dc}
.topbar{height:58px;background:#f8f8f6;border-bottom:1px solid var(--line);display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:0 20px;position:sticky;top:0;z-index:10}.app-brand{display:flex;align-items:center;gap:10px;font-size:14px;font-weight:650;justify-self:start}.topnav{display:flex;height:100%;gap:4px}.topnav a{height:100%;display:flex;align-items:center;padding:0 18px;font-size:13px;color:#777d79;border-bottom:2px solid transparent}.topnav a.active{color:#243029;border-bottom-color:#395e4e;font-weight:650}.account{justify-self:end;display:flex;align-items:center;gap:14px;font-size:12px;color:#717772}.account a{color:#404844}
.workspace{height:calc(100vh - 58px);display:grid;grid-template-columns:minmax(0,1.55fr) minmax(340px,.92fr);gap:1px;background:var(--line);overflow:hidden}.document-pane,.chat-pane{background:var(--panel);min-width:0;display:flex;flex-direction:column}.document-pane{padding:0 26px 18px}.chat-pane{background:#f6f7f5}.pane-head{height:78px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line-soft);flex-shrink:0}.pane-head h1{font-size:17px;margin:5px 0 0;font-weight:650;letter-spacing:-.015em}.chat-head{padding:0 20px}
.segmented{display:flex;gap:4px;background:#efefec;padding:3px;border-radius:9px}.seg{border:0;background:transparent;color:#8b918d;border-radius:7px;padding:7px 10px;font-size:11px}.seg.active{background:#fff;color:#313a35;box-shadow:0 1px 3px rgba(0,0,0,.06)}.seg:disabled{opacity:.48}
.document-canvas{flex:1;overflow:auto;padding:24px 0}.empty-document{max-width:760px;margin:52px auto 0;background:#fff;border:1px solid #e2e3df;min-height:440px;padding:58px 64px;box-shadow:0 10px 30px rgba(31,38,34,.04)}.empty-document h2{font-family:"Songti SC","STSong","SimSun",serif;font-size:22px;font-weight:600;margin:25px 0 14px;color:#2c332f}.empty-document p{font-family:"Songti SC","STSong","SimSun",serif;color:#858b87;line-height:1.9;font-size:15px;margin:0;max-width:540px}.empty-line{width:54px;height:2px;background:#395f50}.document-status{height:28px;display:flex;justify-content:space-between;align-items:center;color:#9a9f9b;font-size:10px;border-top:1px solid var(--line-soft);padding-top:10px}
.status-dot{width:7px;height:7px;border-radius:50%;background:#4a7a65;box-shadow:0 0 0 4px rgba(74,122,101,.10)}.chat-messages{flex:1;overflow:auto;padding:20px 20px 8px}.message{margin-bottom:20px;max-width:88%}.message.user{margin-left:auto}.message-meta{font-size:10px;color:#9a9f9b;margin-bottom:6px}.message.user .message-meta{text-align:right}.message-bubble{font-size:13px;line-height:1.7;padding:11px 13px;border:1px solid #dedfdb;border-radius:10px;background:#fff;white-space:pre-wrap;word-break:break-word}.message.user .message-bubble{background:#e9efeb;border-color:#dce5df}.message.loading .message-bubble{color:#8c918e}
.composer{margin:12px 16px 16px;background:#fff;border:1px solid #d8dad6;border-radius:12px;padding:7px;box-shadow:0 8px 24px rgba(31,38,34,.05)}.composer textarea{border:0;box-shadow:none;margin:0;min-height:76px}.composer textarea:focus{box-shadow:none}.composer-foot{display:flex;justify-content:space-between;align-items:center;padding:4px 4px 2px 8px;color:#a2a7a3;font-size:10px}.send-btn{height:32px;padding:0 15px;font-size:12px}
.settings-shell{width:min(1060px,calc(100% - 48px));margin:0 auto;padding:44px 0 70px}.settings-title{margin-bottom:28px}.settings-title h1{font-size:28px;margin:7px 0 8px;letter-spacing:-.03em}.settings-title p{color:var(--muted);font-size:13px;margin:0}.status-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:18px}.status-card{background:#fbfbfa;border:1px solid var(--line);border-radius:12px;padding:18px 18px 16px;display:flex;flex-direction:column;gap:7px}.status-card>span{font-size:11px;color:#8f9591}.status-card strong{font-size:19px;font-weight:650}.status-card small{font-size:10px;color:#a0a5a1}.ok{color:var(--success)!important}.bad{color:var(--danger)!important}
.panel-block{background:#fbfbfa;border:1px solid var(--line);border-radius:12px;margin-top:12px;overflow:hidden}.panel-head{padding:19px 20px;border-bottom:1px solid var(--line-soft)}.panel-head h2{font-size:15px;margin:0 0 5px}.panel-head p{margin:0;font-size:11px;color:#969b97}.info-list{margin:0;padding:0 20px}.info-list>div{display:grid;grid-template-columns:180px 1fr;padding:14px 0;border-bottom:1px solid var(--line-soft);font-size:12px}.info-list>div:last-child{border-bottom:0}.info-list dt{color:#8c928e}.info-list dd{margin:0;color:#353d38}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;font-size:11px}th,td{text-align:left;padding:12px 14px;border-bottom:1px solid var(--line-soft);white-space:nowrap}th{color:#929793;font-weight:600;background:#f8f8f6}.pill{display:inline-block;padding:3px 7px;border-radius:999px;background:#eef1ef}.empty-table{padding:26px 20px;color:#9a9f9b;font-size:12px}
.install-body{min-height:100vh;background:#f2f3f0;padding:40px 20px}.install-shell{width:min(680px,100%);margin:0 auto;background:#fff;border:1px solid var(--line);border-radius:16px;padding:30px;box-shadow:var(--shadow)}.install-shell>h1{font-size:27px;margin:18px 0 4px}.install-sub{font-size:12px;color:#979c98;margin:0 0 25px}.install-form h2{font-size:13px;margin:24px 0 13px;padding-top:16px;border-top:1px solid var(--line-soft)}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:12px}.hint{font-size:10px;color:#a1a6a2}
@media(max-width:900px){.login-shell{grid-template-columns:1fr;gap:28px;max-width:520px}.login-brand{padding-left:0}.workspace{grid-template-columns:1fr;height:auto;overflow:visible}.document-pane{min-height:64vh}.chat-pane{min-height:70vh}.topbar{grid-template-columns:1fr auto;height:auto;padding-top:10px}.topnav{grid-row:2;grid-column:1/-1;height:44px;justify-content:center}.status-grid{grid-template-columns:1fr}}

/* A0.1 · 20260819.03 writing workspace */
.document-main-head{height:66px}.context-bar{display:grid;grid-template-columns:1.15fr 1fr .7fr .8fr;gap:8px;padding:10px 0;border-bottom:1px solid var(--line-soft);position:relative;z-index:5}.context-item{position:relative}.context-item summary{list-style:none;cursor:pointer;border:1px solid #dedfdb;border-radius:9px;background:#f8f8f6;padding:8px 10px;display:flex;flex-direction:column;gap:3px;min-height:48px}.context-item summary::-webkit-details-marker{display:none}.context-item summary span{font-size:9px;color:#959b97;letter-spacing:.03em}.context-item summary strong{font-size:12px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.context-item[open] summary{border-color:#9eb1a8;background:#fff;box-shadow:0 0 0 3px rgba(72,111,93,.06)}.context-popover{position:absolute;top:56px;left:0;width:280px;background:#fff;border:1px solid var(--line);border-radius:11px;box-shadow:0 16px 40px rgba(28,34,30,.12);padding:14px;z-index:30}.context-popover.wide{width:330px}.reference-popover{width:390px}.context-popover label{margin-bottom:12px}.context-popover select{width:100%;height:40px;border:1px solid #d4d7d3;border-radius:8px;background:#fff;padding:0 10px;margin-top:6px;color:var(--text)}.context-popover textarea{margin-top:7px;resize:vertical;min-height:140px}.inline-actions{display:flex;justify-content:flex-end;margin:-3px 0 12px}.secondary-btn{border:1px solid #d6d9d5;background:#fff;color:#4f5853;border-radius:8px;padding:7px 10px;font-size:11px;cursor:pointer}.secondary-btn:hover{background:#f3f5f3}.secondary-btn.tiny{padding:6px 8px;white-space:nowrap}.primary-btn.compact{height:34px;padding:0 12px;font-size:11px}.popover-note{font-size:10px;line-height:1.6;color:#929894;margin:0 0 12px}.document-paper{max-width:760px;margin:26px auto 0;background:#fff;border:1px solid #e2e3df;min-height:520px;padding:54px 64px;box-shadow:0 10px 30px rgba(31,38,34,.04);transition:.25s}.empty-document-inner h2{font-family:"Songti SC","STSong","SimSun",serif;font-size:22px;font-weight:600;margin:25px 0 14px;color:#2c332f}.empty-document-inner p{font-family:"Songti SC","STSong","SimSun",serif;color:#858b87;line-height:1.9;font-size:15px;margin:0;max-width:540px}.document-content{font-family:"Songti SC","STSong","SimSun",serif;white-space:pre-wrap;word-break:break-word;font-size:16px;line-height:2.05;color:#2a302d;letter-spacing:.01em}.document-flash{animation:ctwDocFlash .8s ease}@keyframes ctwDocFlash{0%{box-shadow:0 0 0 3px rgba(60,109,88,.22),0 10px 30px rgba(31,38,34,.04)}100%{box-shadow:0 10px 30px rgba(31,38,34,.04)}}.history-panel{position:absolute;right:26px;top:78px;width:360px;max-height:calc(100vh - 180px);background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:0 18px 45px rgba(28,34,30,.14);z-index:25;overflow:hidden}.document-pane{position:relative}.history-head{display:flex;align-items:center;justify-content:space-between;padding:14px 15px;border-bottom:1px solid var(--line-soft)}.history-head>div{display:flex;flex-direction:column;gap:4px}.history-head strong{font-size:14px}.icon-btn{border:0;background:transparent;font-size:22px;line-height:1;color:#858b87;cursor:pointer}.history-list{overflow:auto;max-height:520px}.history-item{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:13px 14px;border-bottom:1px solid var(--line-soft)}.history-item:last-child{border-bottom:0}.history-item strong{font-size:12px}.history-item p{font-size:11px;color:#5d6560;margin:4px 0;line-height:1.45}.history-item small{font-size:9px;color:#a0a5a1}.history-empty{padding:24px 16px;color:#969c98;font-size:11px}.message.document-action .message-bubble{border-left:3px solid #6f9182}.upgrade-needed{height:calc(100vh - 58px);display:grid;place-items:center;padding:30px;background:#f4f5f2}.upgrade-needed>div{width:min(520px,100%);background:#fff;border:1px solid var(--line);border-radius:14px;padding:34px;box-shadow:var(--shadow)}.upgrade-needed h1{font-size:24px;margin:8px 0 10px}.upgrade-needed p,.upgrade-copy{font-size:13px;color:var(--muted);line-height:1.7;margin:0 0 22px}
@media(max-width:1180px){.context-bar{grid-template-columns:1fr 1fr}.context-popover{left:0}.reference-popover{width:340px}}
@media(max-width:900px){.context-bar{grid-template-columns:1fr 1fr}.document-paper{padding:38px 34px;margin-top:16px}.history-panel{right:12px;left:12px;width:auto}}

/* A0.1 · 20260819.04 cache-safe workspace header */
.context-bar{display:flex;align-items:stretch;gap:0;padding:0;border-bottom:1px solid var(--line-soft);min-height:44px;background:#fafaf8;position:relative;z-index:5}
.context-item{position:relative;min-width:0;border-right:1px solid var(--line-soft)}
.context-item.project-context{flex:1.25 1 250px}
.context-item:not(.project-context){flex:1 1 150px}
.context-item summary{list-style:none;cursor:pointer;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;padding:0 12px!important;display:flex!important;flex-direction:row!important;align-items:center;gap:8px;min-height:44px!important;height:44px;white-space:nowrap}
.context-item summary::-webkit-details-marker{display:none}
.context-item summary span{font-size:10px!important;color:#9a9f9b!important;letter-spacing:0!important;flex:0 0 auto}
.context-item summary strong{font-size:12px!important;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#343d38}
.context-item summary:after{content:'⌄';margin-left:auto;font-size:11px;color:#a3a8a4;flex:0 0 auto}
.context-item[open] summary{background:#fff!important}
.context-item:hover summary{background:#f4f5f2!important}
.context-popover{top:45px}
.document-main-head{height:66px}
.document-canvas{padding-top:14px}
.document-paper{margin-top:14px}
@media(max-width:1180px){.context-bar{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);}.context-item{border-bottom:1px solid var(--line-soft)}.context-item.project-context{flex:none}.context-item:not(.project-context){flex:none}.context-popover{top:45px}}
