:root{--ink:#222a27;--muted:#78817b;--line:#e6e9e3;--green:#477459;--bg:#f7f8f4}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font:14px/1.6 -apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC",sans-serif}button,input,textarea{font:inherit}button,a,input,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:wait;opacity:.55}[hidden]{display:none!important}.shell{display:flex;min-height:100vh}aside{width:220px;flex-shrink:0;background:#eef1e9;border-right:1px solid var(--line);padding:35px 23px;position:fixed;height:100vh;display:flex;flex-direction:column}.brand{text-decoration:none;color:var(--ink);display:flex;align-items:center;gap:12px;font-size:22px;font-weight:650;letter-spacing:2px}.brand-icon{display:grid;place-items:center;background:#2e4e3d;color:#fff;width:40px;height:43px;border-radius:12px;font-size:21px}.brand small{display:block;font-size:8px;letter-spacing:1.2px;color:#71816f;font-weight:500}.nav-label{color:#879080;font-size:11px;margin:55px 12px 14px}.nav{display:flex;align-items:center;gap:12px;padding:12px;border-radius:9px;text-decoration:none;color:#727d70;margin-bottom:7px}.nav.active{background:#e0e6d9;color:#35523e;font-weight:600}.aside-bottom{margin-top:auto;color:#52664e;font-size:12px}.aside-bottom small{display:block;margin-top:7px;color:#8a9286;font-size:10px}.dot{display:inline-block;width:6px;height:6px;background:#5a8e67;border-radius:50%;margin-right:6px}main{margin-left:220px;flex:1;padding:0 40px;max-width:1640px}header{height:82px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);font-size:12px;color:#7d877b}header b{margin:0 12px;color:#bac1b5;font-weight:400}.local-badge{display:flex;align-items:center;background:#eef2e8;border:1px solid #e1e8d9;padding:5px 11px;border-radius:20px;color:#52714e}.intro{padding:40px 0 30px}.eyebrow{font-size:10px;letter-spacing:2.4px;color:#7e8e72;margin-bottom:8px}h1{font-size:32px;letter-spacing:-1px;margin:0 0 8px;font-weight:600}.intro p{color:var(--muted);margin:0}.layout{display:grid;grid-template-columns:minmax(0,1.75fr) minmax(300px,1fr);gap:26px}.section-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:15px;gap:12px}h2{font-size:16px;font-weight:600;margin:0}.section-heading>span{font-size:11px;color:#8d9488}.channel-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.card{border:1px solid var(--line);background:#fff;border-radius:14px;box-shadow:0 3px 12px #1c302404}.channel{padding:22px;min-width:0}.channel-top{display:flex;align-items:center;justify-content:space-between;gap:6px}.channel-icon{width:44px;height:44px;border-radius:13px;display:grid;place-items:center;font-size:16px;font-weight:700}.qq{color:#32779e;background:#eaf5fb}.weixin{background:#edf6e8;color:#5c9044}.tag{font-size:10px!important;background:#f6f7f3;color:#87907f;padding:4px 8px;border:1px solid #edf0e7;border-radius:5px;white-space:nowrap}h3{font-size:18px;margin:17px 0 7px}.channel p{font-size:12px;color:var(--muted);margin:0 0 21px;min-height:58px}.button{border:1px solid transparent;border-radius:7px;padding:10px 14px;line-height:1.4;font-size:12px;font-weight:500;transition:opacity .2s}.button:hover{opacity:.85}.dark{background:#2c3c32;color:#fff}.green{background:#527b50;color:#fff}.secondary{background:#fff;border-color:#dce1d7;color:#596354}.channel>.button{display:flex;justify-content:space-between;width:100%}.settings{margin-top:25px;padding:25px}.settings .section-heading{margin-bottom:23px}.section-heading p{font-size:12px;color:var(--muted);margin:4px 0 0}label{display:block;font-size:12px;color:#515d50;margin-bottom:18px;font-weight:500}input,textarea{display:block;width:100%;margin-top:7px;border:1px solid #e0e5db;border-radius:7px;background:#fdfefa;color:var(--ink);padding:10px 12px;outline:none;font-size:12px}textarea{resize:vertical}input:focus,textarea:focus{border-color:#87a17b;box-shadow:0 0 0 3px #eaf1e4}input::placeholder,textarea::placeholder{color:#a6aea0}label small{display:block;margin-top:5px;color:#92998b;font-size:10px;font-weight:400}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-footer{border-top:1px solid var(--line);padding-top:20px;display:flex;gap:12px;justify-content:space-between;align-items:center}.form-footer>span{font-size:9px;color:#949c8b}.form-footer>div{display:flex;gap:8px;flex-shrink:0}.result{font-size:12px;white-space:pre-wrap;overflow-wrap:anywhere;margin-bottom:0}.result:empty{display:none}.result.error{color:#a14d40}.result.success{color:#4f7b49}.secondary-column{padding-top:41px;min-width:0}.preview,.activity{padding:23px}.muted{color:var(--muted);font-size:12px}.preview>.muted{margin-top:-5px}#chat-messages{height:245px;overflow-y:auto;margin:16px -3px;padding:6px 3px}.chat-empty{padding-top:45px;text-align:center;color:#8e9987;font-size:12px}.chat-empty>div{font-size:32px;color:#a3b49a}.chat-empty small{display:block;font-size:10px;color:#b1baaa;margin-top:8px}.message{white-space:pre-wrap;overflow-wrap:anywhere;padding:10px 12px;border-radius:9px;background:#f2f5ed;margin:0 0 12px;font-size:12px}.message.user{background:#e7eee2;margin-left:30px}.message.assistant{margin-right:18px}.message.error{color:#9e5647;background:#fcf0eb}.message small{display:block;font-size:9px;opacity:.65;margin-bottom:4px}#chat-form textarea{background:#f7f9f3}#chat-form button{display:block;width:100%;margin-top:10px}.activity{margin-top:20px}.activity .section-heading>span{background:#f0f3e9;padding:1px 7px;border-radius:4px}#events{max-height:245px;overflow:auto}.event{font-size:11px;padding:10px 0;border-bottom:1px solid #f0f2ec}.event:last-child{border:none}.event time{color:#a0a794;font-size:10px;margin-right:8px}.event.error{color:#a25545}.note{padding:22px 5px;color:#77816e;font-size:11px}.note strong{font-size:12px;color:#596e50}.note p{margin:8px 0}code{background:#e9eee1;padding:2px 4px;border-radius:3px;font-size:10px}footer{color:#a2aa9b;text-align:center;font-size:10px;padding:34px}.qr-panel{border-top:1px solid var(--line);margin-top:18px;padding-top:15px;text-align:center}.qr-panel img{width:100%;max-width:230px;display:block;margin:8px auto}.qr-panel p{min-height:0;margin-bottom:10px}.qr-panel .button{margin:3px}.qr-panel input{margin-bottom:8px}.bot-item{border-top:1px solid var(--line);margin-top:15px;padding-top:12px;overflow-wrap:anywhere}.bot-name{font-size:11px}.bot-meta{color:#798570;font-size:10px;margin:5px 0}.bot-error{font-size:10px;color:#a35849}.bot-actions{display:flex;gap:8px;margin-top:8px}.bot-actions button{padding:5px 9px;font-size:10px}#toast{position:fixed;bottom:28px;left:50%;transform:translateX(-50%);padding:12px 20px;border-radius:9px;background:#2c3c32;color:#fff;font-size:13px;box-shadow:0 6px 25px #0002;max-width:90%;z-index:5}@media(min-width:1500px){main{padding:0 65px}}@media(max-width:1150px){aside{width:180px;padding:30px 18px}main{margin-left:180px;padding:0 26px}.layout{grid-template-columns:minmax(0,1fr)}.secondary-column{padding-top:0;display:grid;grid-template-columns:1fr 1fr;gap:20px}.activity{margin-top:0}.note{grid-column:1/-1}.form-footer>span{font-size:10px}}@media(max-width:650px){aside{position:static;width:100%;height:auto;padding:18px 20px;flex-direction:row;align-items:center;justify-content:space-between;border-right:0;border-bottom:1px solid var(--line)}.shell{display:block}.nav,.nav-label{display:none}.aside-bottom{margin:0}.aside-bottom small{display:none}.brand{font-size:18px}.brand-icon{width:34px;height:36px}main{margin:0;padding:0 18px}header{height:60px}.intro{padding:28px 0}h1{font-size:26px}.channel-grid{grid-template-columns:1fr}.channel p{min-height:0}.secondary-column{display:block}.activity{margin-top:18px}.form-grid{grid-template-columns:1fr;gap:0}.settings{padding:20px}.form-footer{display:block}.form-footer>span{display:block;margin-bottom:12px}.form-footer>div{justify-content:flex-end}.note{padding:20px 0}.channel-top .tag{font-size:10px}.intro p{font-size:12px}}
@media(min-width:651px){aside{top:0;left:0}}
/* Keep the workspace tied to the viewport, including long tables and narrow windows. */
body{width:100%;min-width:0}#workspace.shell{width:100%;min-width:0}#workspace>main{min-width:0;max-width:none}
@media(max-width:760px){#workspace.shell{display:block;width:100%;min-width:0}#workspace aside{position:relative;inset:auto;width:100%;height:auto;min-width:0;flex-direction:row;align-items:center;justify-content:space-between;flex-wrap:wrap;border-right:0;border-bottom:1px solid var(--line)}#workspace aside .nav-label{display:none}#workspace aside>.nav{display:inline-flex;width:auto;flex:1 1 auto;margin:0;padding:8px}#workspace aside #admin-nav{display:flex;flex:1 0 100%;width:100%;gap:5px;flex-wrap:wrap}#workspace aside #admin-nav .nav{width:auto;flex:1 1 auto;padding:7px}#workspace aside .aside-bottom{margin-left:auto}#workspace main{display:block;width:100%;min-width:0;max-width:none;margin:0;padding:0 20px}#workspace main>section{width:100%;min-width:0}}
.auth-screen{min-height:100vh;display:grid;grid-template-columns:1.1fr 1fr;align-items:center;gap:80px;max-width:1050px;margin:auto;padding:60px 30px}.auth-hero h1{font-size:52px;line-height:1.5;margin:15px 0}.auth-hero p{color:#7b8976;font-size:16px;line-height:2}.auth-feature{margin-top:48px;line-height:2.3;font-size:13px;color:#6c8066}.auth-card{padding:40px}.auth-card h2{font-size:25px;margin-top:22px}.auth-card form{margin-top:28px}.auth-card .button{width:100%}.auth-card .link-button{display:block;margin:16px auto 0}.link-button{border:0;background:none;color:#637b58;font-size:12px;cursor:pointer;padding:5px}.header-user{display:flex;align-items:center;gap:18px}#header-balance{background:#e9efdf;color:#5d774a;padding:5px 11px;border-radius:20px}button.nav{width:100%;border:0;text-align:left;background:none;font:inherit;font-size:13px;cursor:pointer}button.nav.active{background:#e0e6d9}.summary-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-bottom:28px}.summary-grid.four{grid-template-columns:repeat(4,1fr)}.metric{padding:22px;display:flex;flex-direction:column;gap:7px}.metric small{font-size:12px;color:#7d8a75}.metric strong{font-size:30px;font-weight:600;line-height:1.5}.metric>span{font-size:11px;color:#93a088}select{font:inherit;font-size:12px;padding:10px 12px;background:#fbfcf9;border:1px solid #dfe6d6;border-radius:7px;color:#46543e;max-width:100%;outline:none}.model-metric select{margin:4px 0}.panel{padding:25px;margin:22px 0}.panel h2{margin-bottom:20px}.panel .section-heading h2{margin:0}.narrow{max-width:580px}.admin-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.admin-grid .panel{margin-top:0}.table-wrap{width:100%;overflow:auto;margin-top:14px}table{border-collapse:collapse;width:100%;font-size:12px;white-space:nowrap}th{text-align:left;font-size:11px;font-weight:500;color:#89947f;background:#f7f9f2}th,td{padding:13px 12px;border-bottom:1px solid #edf0e7}td .button{padding:5px 9px;margin-right:5px;font-size:11px}.positive{color:#4b8553}.negative{color:#b4784d}.muted-cell{color:#8c9683;font-size:11px}.table-empty{text-align:center;color:#96a08b;padding:32px}.button-row{display:flex;gap:10px}.check-label{display:flex;align-items:center;gap:8px}.check-label input{width:15px;height:15px;display:inline-block;margin:0}.test-row{display:flex;gap:8px;border-top:1px solid var(--line);padding-top:20px;margin-top:22px}.test-row select{flex:1;min-width:0}.bot-item select{display:block;width:100%;margin-top:9px;font-size:11px}#user-search{width:210px;margin:0}dialog{border:1px solid #e2e8da;border-radius:16px;padding:28px;max-width:480px;width:calc(100% - 32px);color:var(--ink);box-shadow:0 20px 90px #20331d33}dialog::backdrop{background:#25331c55}dialog .button{margin-top:10px}dialog input,dialog select{width:100%;margin-top:7px}#user-action-submit{width:100%}#workspace .activity{margin-top:22px}#workspace .layout{align-items:start}#workspace aside .nav-label{margin-top:28px}#workspace .intro{padding-top:32px}#workspace #chat-messages{height:275px}#workspace .bot-error{white-space:pre-wrap}.status-pill{font-size:10px;padding:4px 7px;border-radius:5px;background:#f0f4e9;color:#789062}.status-pill.off{background:#f7ede7;color:#ac7960}@media(max-width:1000px){.auth-screen{gap:35px}.auth-hero h1{font-size:40px}.summary-grid.four{grid-template-columns:1fr 1fr}.admin-grid{grid-template-columns:1fr}}@media(max-width:650px){.auth-screen{grid-template-columns:1fr;gap:20px;padding:28px 20px}.auth-hero h1{font-size:32px}.auth-hero p{font-size:13px}.auth-feature{display:none}.auth-card{padding:26px}.summary-grid{grid-template-columns:1fr;gap:12px}.metric{padding:18px}.summary-grid.four{grid-template-columns:1fr 1fr}.metric strong{font-size:25px}#workspace aside{flex-wrap:wrap;gap:10px}#workspace aside .nav-label{display:none}#workspace aside .nav{display:inline-flex;width:auto;padding:8px;margin:0;font-size:11px}#workspace aside #admin-nav{display:flex;width:100%;gap:5px}#workspace aside #admin-nav .nav{padding:6px}.aside-bottom{margin-left:auto}.header-user{gap:8px;font-size:10px}.header-user .link-button{font-size:10px}header{flex-wrap:wrap;gap:8px;padding:12px 0;height:auto;min-height:70px}.panel{padding:18px}.admin-grid{gap:0}#user-search{width:150px}.test-row{flex-wrap:wrap}.test-row select{width:100%}#workspace .layout{display:block}#workspace .preview{margin-top:20px}}

.sticker-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:18px}.sticker-card{padding:20px}.sticker-card img{height:140px;width:100%;object-fit:contain}.sticker-card h3{margin:12px 0 4px}.sticker-card p{min-height:24px}.chat-image{display:block;max-width:100%;max-height:220px;object-fit:contain;margin-top:10px;border-radius:12px}.image-preview{display:flex;gap:8px;flex-wrap:wrap}.image-preview img{width:64px;height:64px;object-fit:cover}.chat-upload{font-size:12px;color:var(--muted);margin:10px 0}.chat-upload input{font-size:12px}
