:root{--bg:#f6f5f1;--surface:#fff;--surface-2:#faf9f6;--ink:#1c1b19;--muted:#6b6760;--muted-2:#918c83;--line:#e7e4dd;--line-2:#efece6;--primary:#1e3a5f;--primary-soft:#e9eef4;--accent:#b8860b;--accent-soft:#fbf3df;--ok:#2d6a4f;--danger:#b3261e;--warn:#c2710c;--shadow:0 1px 2px #1c1b190a,0 4px 16px #1c1b190d;--shadow-lg:0 12px 40px #1c1b1929}*{box-sizing:border-box}html,body{height:100%;margin:0}body{background:var(--bg);color:var(--ink);-webkit-font-smoothing:antialiased;font:14px/1.55 Inter,ui-sans-serif,system-ui,-apple-system,PingFang SC,Microsoft YaHei,sans-serif}button{font:inherit;cursor:pointer}input,textarea,button,select{color:inherit;font-family:inherit}a{color:var(--primary);text-decoration:none}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:#dcd8cf;border-radius:6px}::-webkit-scrollbar-thumb:hover{background:#cfcabf}.app-shell{grid-template-columns:232px 1fr;height:100vh;display:grid}.sidebar{background:var(--surface);border-right:1px solid var(--line);flex-direction:column;min-height:0;display:flex;overflow-y:auto}.side-brand{align-items:center;gap:9px;padding:16px 18px 10px;display:flex}.side-brand .logo{background:linear-gradient(135deg,var(--primary),#2f5a8f);color:#fff;border-radius:7px;place-items:center;width:26px;height:26px;font-size:14px;font-weight:800;display:grid}.side-brand .name{letter-spacing:.2px;font-size:16px;font-weight:800}.side-brand .name small{color:var(--muted-2);letter-spacing:.3px;font-size:10.5px;font-weight:400;display:block}.nav-group{padding:6px 10px}.nav-group .gl{text-transform:uppercase;letter-spacing:.7px;color:var(--muted-2);padding:8px 10px 4px;font-size:10.5px}.nav-item{text-align:left;width:100%;color:var(--ink);background:0 0;border:1px solid #0000;border-radius:9px;align-items:center;gap:10px;margin-bottom:2px;padding:8px 10px;font-size:13.5px;transition:all .12s;display:flex}.nav-item:hover{background:var(--surface-2)}.nav-item.active{background:var(--primary-soft);color:var(--primary);border-color:#d8e2ee;font-weight:600}.nav-item .ic{text-align:center;width:18px;font-size:15px}.side-foot{border-top:1px solid var(--line);color:var(--muted);align-items:center;gap:8px;margin-top:auto;padding:12px 14px;font-size:12.5px;display:flex}.side-foot .who{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.main{flex-direction:column;min-height:0;display:flex;overflow:hidden}.topbar{background:var(--surface);border-bottom:1px solid var(--line);align-items:center;gap:10px;padding:10px 14px;display:none}.topbar .ham{border:1px solid var(--line);background:0 0;border-radius:8px;width:36px;height:34px;font-size:16px}.main-scroll{flex:1;overflow:auto}.main-inner{max-width:1120px;margin:0 auto;padding:26px 30px 60px}.page-head{margin-bottom:18px}.page-head h1{margin:0 0 3px;font-size:22px}.page-head p{color:var(--muted);margin:0;font-size:13px}.card{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:14px;padding:18px}.grid{gap:14px;display:grid}.cols-2{grid-template-columns:repeat(2,1fr)}.cols-3{grid-template-columns:repeat(3,1fr)}.cols-4{grid-template-columns:repeat(4,1fr)}.muted{color:var(--muted)}.spin{color:var(--muted-2);font-size:12.5px}.pill{background:var(--surface-2);border:1px solid var(--line);color:var(--muted);border-radius:20px;padding:2px 8px;font-size:11px}.section-title{align-items:baseline;gap:10px;margin:26px 0 12px;display:flex}.section-title h2{margin:0;font-size:15px}.section-title .more{margin-left:auto;font-size:12.5px}.btn{background:var(--surface);border:1px solid var(--line);color:var(--ink);border-radius:9px;padding:8px 14px;font-size:13px;transition:all .12s}.btn:hover{background:var(--surface-2);border-color:#cbc6bb}.btn.primary{background:var(--primary);border-color:var(--primary);color:#fff}.btn.primary:hover{background:#244670}.btn.sm{border-radius:7px;padding:4px 10px;font-size:12px}.btn.ghost{background:0 0}.btn:disabled{opacity:.5;cursor:default}.hello{font-size:20px;font-weight:700}.hello .sub{color:var(--muted);margin-top:2px;font-size:13px;font-weight:400}.stat{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:14px;padding:16px}.stat .n{letter-spacing:-.5px;font-size:26px;font-weight:800}.stat .l{color:var(--muted);margin-top:2px;font-size:12.5px}.stat .ic{float:right;opacity:.65;font-size:20px}.app-card{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);cursor:pointer;color:var(--ink);border-radius:14px;align-items:flex-start;gap:12px;padding:14px;transition:all .14s;display:flex}.app-card:hover{box-shadow:var(--shadow-lg);border-color:#d8d3c8;transform:translateY(-2px)}.app-card .ico{background:var(--accent-soft);border-radius:11px;flex-shrink:0;place-items:center;width:40px;height:40px;font-size:21px;display:grid}.app-card .t{font-size:14px;font-weight:700}.app-card .d{color:var(--muted);margin-top:2px;font-size:12px;line-height:1.45}.app-card .tag{color:var(--muted-2);margin-top:6px;font-size:10.5px}.art{border:1px solid var(--line);background:var(--surface);cursor:pointer;border-radius:12px;margin-bottom:8px;padding:12px 14px;transition:all .12s;display:block}.art:hover{background:var(--surface-2);border-color:#d8d3c8}.art .t{font-size:13.5px;font-weight:650}.art .s{color:var(--muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-top:3px;font-size:12px;display:-webkit-box;overflow:hidden}.art .m{color:var(--muted-2);margin-top:5px;font-size:11px}.search-in{background:var(--surface);border:1px solid var(--line);border-radius:10px;outline:none;width:100%;padding:9px 12px;font-size:13.5px}.search-in:focus{border-color:var(--primary)}.reader{font-size:15px;line-height:1.8}.reader h1,.reader h2,.reader h3{line-height:1.35}.reader pre{color:#e6e8ee;background:#0f172a;border-radius:10px;padding:12px;font-size:13px;overflow:auto}.reader code{background:var(--surface-2);border-radius:5px;padding:1px 5px}.wcols{grid-template-columns:240px 1fr 340px;height:100%;min-height:0;display:grid}.wpane{background:var(--surface);flex-direction:column;min-height:0;display:flex;overflow:hidden}.wpane.left{border-right:1px solid var(--line)}.wpane.right{border-left:1px solid var(--line)}.wpane-head{border-bottom:1px solid var(--line);color:var(--muted);align-items:center;gap:8px;padding:9px 12px;font-size:12px;display:flex}.wpane-head .spacer{flex:1}.wpane-body{flex:1;padding:8px;overflow:auto}.tabs{gap:4px;display:flex}.tab{color:var(--muted);background:0 0;border:1px solid #0000;border-radius:7px;padding:4px 10px;font-size:12px}.tab.active{color:var(--primary);background:var(--primary-soft);border-color:#d8e2ee}.doc-item{cursor:pointer;border:1px solid #0000;border-radius:9px;margin-bottom:3px;padding:8px 10px}.doc-item:hover{background:var(--surface-2)}.doc-item.active{background:var(--primary-soft);border-color:#d8e2ee}.doc-item .t{white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:650;overflow:hidden}.doc-item .d{color:var(--muted-2);margin-top:2px;font-size:11px}.editor{background:var(--surface-2);flex-direction:column;height:100%;display:flex}.editor .title-in{background:0 0;border:none;outline:none;width:100%;padding:16px 22px 6px;font-size:21px;font-weight:700}.editor .meta-row{color:var(--muted-2);align-items:center;gap:10px;padding:0 22px 8px;font-size:12px;display:flex}.editor .body-in{resize:none;background:0 0;border:none;outline:none;flex:1;width:100%;padding:8px 22px 20px;font-family:Source Han Serif SC,Georgia,ui-serif,serif;font-size:15px;line-height:1.8}.wtoolbar{border-top:1px solid var(--line);background:var(--surface);flex-wrap:wrap;align-items:center;gap:6px;padding:8px 16px;display:flex}.empty{color:var(--muted-2);text-align:center;padding:44px 16px;font-size:13px}.ai-actions{border-bottom:1px solid var(--line);grid-template-columns:repeat(3,1fr);gap:6px;padding:8px;display:grid}.ai-out{white-space:pre-wrap;flex:1;padding:12px;font-size:13.5px;line-height:1.65;overflow:auto}.ai-input{border-top:1px solid var(--line);flex-direction:column;gap:6px;padding:8px;display:flex}.ai-input textarea{background:var(--surface-2);border:1px solid var(--line);resize:vertical;border-radius:9px;outline:none;min-height:64px;padding:8px}.ai-row{align-items:center;gap:6px;display:flex}.tier{color:var(--muted);align-items:center;gap:8px;font-size:12px;display:flex}.cms-item{cursor:pointer;border:1px solid #0000;border-radius:8px;margin-bottom:3px;padding:7px 9px}.cms-item:hover{background:var(--surface-2);border-color:var(--line)}.cms-item .t{font-size:12.5px;font-weight:650}.cms-item .s{color:var(--muted-2);white-space:nowrap;text-overflow:ellipsis;margin-top:1px;font-size:11px;overflow:hidden}.gate{place-items:center;height:100vh;padding:16px;display:grid}.login-card{background:var(--surface);border:1px solid var(--line);width:340px;max-width:100%;box-shadow:var(--shadow-lg);border-radius:16px;flex-direction:column;padding:30px 28px;display:flex}.login-brand{font-size:23px;font-weight:800}.login-brand span{color:var(--muted-2);margin-left:8px;font-size:13px;font-weight:400}.login-sub{color:var(--muted);margin:5px 0 20px;font-size:12.5px}.login-label{color:var(--muted);margin:11px 0 4px;font-size:12px}.login-in{background:var(--surface);border:1px solid var(--line);border-radius:9px;outline:none;padding:10px 12px;font-size:14px}.login-in:focus{border-color:var(--primary)}.login-btn{letter-spacing:2px;margin-top:20px;padding:11px;font-size:14px}.login-err{color:var(--danger);margin:11px 0 0;font-size:12.5px}.login-foot{color:var(--muted-2);text-align:center;margin:16px 0 0;font-size:11px}.scrim{display:none}@media (max-width:1000px){.wcols{grid-template-columns:200px 1fr 300px}}@media (max-width:860px){.app-shell{grid-template-columns:1fr}.topbar{display:flex}.sidebar{z-index:50;width:260px;box-shadow:var(--shadow-lg);transition:transform .22s;position:fixed;top:0;bottom:0;left:0;transform:translate(-100%)}.app-shell.nav-open .sidebar{transform:translate(0)}.app-shell.nav-open .scrim{z-index:40;background:#1c1b1957;display:block;position:fixed;inset:0}.main-inner{padding:18px 16px 60px}.cols-3,.cols-4{grid-template-columns:repeat(2,1fr)}.wcols{height:auto;display:block;overflow:visible}.wpane{border:0;border-bottom:1px solid var(--line);height:auto}.wpane.left,.wpane.right{border-left:0;border-right:0}.editor{min-height:60vh}.ai-out{min-height:120px}}@media (max-width:560px){.cols-2,.cols-3,.cols-4{grid-template-columns:1fr}.stat .n{font-size:22px}}
