:root{--bg:#f7f8fa;--surface:#fff;--text:#202534;--muted:#606b7c;--border:#e2e5ec;--primary:#4c4fd4;--primary-soft:#eeedff;--success:#13735d;--danger:#ba3340;--sidebar:#f0f1f6;--ring:#6568e6;--font:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:16px/1.65 var(--font)}[hidden]{display:none!important}button,input,textarea,select{font:inherit}button,a,input,textarea,select{touch-action:manipulation}button{cursor:pointer;border:1px solid transparent;border-radius:9px;min-height:44px;padding:9px 15px;color:inherit;background:transparent;transition:background .18s,color .18s,border-color .18s}button:disabled{opacity:.48;cursor:not-allowed}button:hover:not(:disabled){background:var(--primary-soft)}:focus-visible{outline:3px solid var(--ring);outline-offset:3px}a{color:var(--primary)}input,textarea,select{width:100%;border:1px solid var(--border);border-radius:9px;background:var(--surface);color:var(--text);padding:11px 13px;min-height:44px}textarea{resize:vertical;max-height:40vh;line-height:1.65}label{display:block;font-size:14px;font-weight:600;margin-bottom:7px}.primary{background:var(--primary);color:#fff;font-weight:600}.primary:hover:not(:disabled){background:#3e41bc}.secondary{border-color:var(--border);background:var(--surface)}.text-button{color:var(--muted);font-size:14px;padding:6px 10px}.icon-button{font-size:23px;width:44px;padding:4px}.muted,.fine{color:var(--muted)}.fine{font-size:13px}.error,.danger{color:var(--danger)}.error:empty{display:none}.eyebrow{font-size:11px;font-weight:700;letter-spacing:.14em;color:var(--muted);margin:0 0 10px}.skip{position:fixed;left:16px;top:-100px;z-index:10;background:var(--surface);padding:12px}.skip:focus{top:12px}.brand-mark{width:56px;height:56px;display:grid;place-items:center;background:var(--primary);color:#fff;border-radius:15px;font-size:38px;font-weight:700;line-height:1}.brand-mark.small{width:38px;height:38px;border-radius:11px;font-size:28px}.login-screen{min-height:100dvh;display:grid;place-items:center;padding:24px;background:radial-gradient(ellipse at 25% 5%,var(--primary-soft),transparent 55%),var(--bg)}.login-card{width:min(440px,100%)}.login-card .brand-mark{margin-bottom:40px}.login-card h1{font-size:30px;letter-spacing:-1px;margin:12px 0}.login-card form{margin:32px 0 20px}.login-card form .primary{width:100%;display:flex;justify-content:space-between;margin-top:20px}.workspace{display:grid;grid-template-columns:246px minmax(0,1fr);height:100dvh;overflow:hidden}.sidebar{background:var(--sidebar);border-right:1px solid var(--border);padding:28px 16px 16px;display:flex;flex-direction:column;min-width:0}.brand{display:flex;gap:11px;align-items:center;text-decoration:none;color:var(--text);font-size:20px;font-weight:700;padding:0 8px}.brand small{display:block;font-size:11px;letter-spacing:.03em;color:var(--muted);font-weight:400}.sidebar-label{display:flex;align-items:center;justify-content:space-between;font-size:12px;font-weight:600;color:var(--muted);padding:32px 5px 6px}.sidebar nav{flex:1;overflow:auto}.room-link{display:flex;gap:12px;text-align:left;align-items:center;width:100%;padding:12px;min-height:57px;margin:4px 0}.room-link.active{background:var(--surface);color:var(--primary);border-color:var(--border)}.room-link .hash{font-size:23px;font-weight:400;opacity:.65}.room-link .room-link-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}.sidebar-footer{border-top:1px solid var(--border);display:flex;align-items:center;gap:7px;font-size:12px;padding-top:14px;margin-top:12px;color:var(--muted)}.sidebar-footer .text-button{margin-left:auto}.status-dot{width:7px;height:7px;background:var(--success);border-radius:50%;display:inline-block}.manage-button{text-align:left;font-size:14px;border:1px solid var(--border);background:var(--surface);display:flex;justify-content:space-between}.main{min-width:0;overflow:auto}.welcome{max-width:900px;padding:12vh 7vw}.welcome h1{font-size:clamp(34px,4.5vw,57px);line-height:1.3;letter-spacing:-.045em;margin:22px 0}.welcome>.primary{margin:24px 0 48px}.welcome-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;border-top:1px solid var(--border);padding-top:25px}.welcome-steps b{color:var(--primary);font-size:12px}.welcome-steps strong,.welcome-steps span{display:block}.welcome-steps span{font-size:13px;color:var(--muted);margin-top:5px}.room-view{display:flex;flex-direction:column;height:100%}.room-header{padding:25px 32px 21px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;gap:16px;background:var(--surface)}.room-header h1{font-size:23px;line-height:1.4;margin:0 0 5px}.room-header .eyebrow{margin:0 0 3px;font-size:10px}.room-header .muted{font-size:12px}.header-actions{display:flex;align-items:center;gap:12px;flex-shrink:0}.badge{font-size:12px;background:var(--primary-soft);color:var(--primary);padding:4px 10px;border-radius:20px;white-space:nowrap}.badge.running{color:var(--success);background:#e2f4ed}.badge.paused{color:#855707;background:#fff0cb}.room-body{display:grid;grid-template-columns:minmax(0,1fr) 245px;flex:1;min-height:0}.conversation{overflow:auto;padding:24px 32px;scroll-behavior:smooth}.members-panel{border-left:1px solid var(--border);padding:24px 20px;overflow:auto;background:var(--surface)}h2{font-size:16px;margin:0}.panel-heading{display:flex;align-items:center;justify-content:space-between}.member{display:flex;gap:10px;align-items:flex-start;padding:14px 0;border-bottom:1px solid var(--border)}.avatar{width:34px;height:34px;flex-shrink:0;background:var(--primary-soft);color:var(--primary);border-radius:10px;display:grid;place-items:center;font-size:13px;font-weight:700}.avatar.human{background:#e0f1e9;color:var(--success)}.member-info{min-width:0;flex:1}.member-name{font-size:13px;overflow-wrap:anywhere;font-weight:600}.member .fine{margin:2px 0}.member .text-button{min-height:30px;padding:2px 0;font-size:12px}.info-card{margin-top:26px;background:var(--bg);border:1px solid var(--border);padding:16px;border-radius:10px;font-size:12px;color:var(--muted)}.info-card strong{color:var(--text)}.info-card p:last-child{margin-bottom:0}#delete-room{margin-top:24px;font-size:12px}.message{display:flex;gap:12px;margin:0 0 25px;max-width:900px}.message-main{min-width:0;flex:1}.message-heading{display:flex;align-items:center;gap:8px;font-size:13px;margin-bottom:8px;flex-wrap:wrap}.message-heading strong{font-weight:600}.message-heading time{margin-left:auto;color:var(--muted);font-size:11px}.message-label{font-size:10px;color:var(--primary);padding:1px 6px;border:1px solid var(--border);border-radius:4px}.message-content{white-space:pre-wrap;overflow-wrap:anywhere;font-size:14px;line-height:1.9}.message.summary .message-main{background:var(--primary-soft);border:1px solid var(--border);padding:16px;border-radius:10px}.message.topic .message-content{font-weight:500}.system-message{font-size:12px;color:var(--muted);text-align:center;margin:18px 0}.room-empty{text-align:center;color:var(--muted);padding:8vh 12px}.room-empty h2{color:var(--text);margin:12px 0 6px}.room-empty p{font-size:13px}.empty-symbol{font-size:36px;font-weight:300;color:var(--primary);background:var(--primary-soft);border-radius:18px;width:64px;height:64px;display:grid;place-items:center;margin:auto}.composer{padding:14px 32px 22px;border-top:1px solid var(--border);background:var(--surface)}.composer label{font-size:12px;color:var(--muted)}.composer textarea{font-size:14px;background:var(--bg);min-height:88px}.composer-bottom{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:10px}.composer-bottom>span{font-size:11px;color:var(--muted)}.controls{display:flex;align-items:center;gap:8px;margin-bottom:8px;flex-wrap:wrap}.controls:empty{display:none}.controls span{font-size:12px;color:var(--muted);margin-right:auto}.controls button{font-size:12px;min-height:34px;padding:4px 10px}.notice{background:#fff2d4;color:#755008;padding:9px 32px;font-size:13px;border-bottom:1px solid #ead8ad}.older{display:block;margin:0 auto 25px}dialog{border:1px solid var(--border);border-radius:15px;background:var(--surface);color:var(--text);padding:24px;width:min(600px,calc(100% - 32px));max-height:88dvh;overflow:auto}dialog::backdrop{background:#11182780}.modal-header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px}.modal-header h2{font-size:20px}#modal-body form{display:grid;gap:14px}#modal-body label{margin:0}#modal-body input,#modal-body select{margin-top:6px}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.endpoint-card{border:1px solid var(--border);border-radius:10px;padding:15px;margin:12px 0}.endpoint-card header{display:flex;justify-content:space-between;align-items:center;gap:12px}.endpoint-card select{margin-top:10px;font-size:13px}.endpoint-card .fine{margin:5px 0}.endpoint-card .danger{font-size:12px}.secret-box{border:1px solid var(--border);background:var(--bg);border-radius:9px;padding:14px;overflow-wrap:anywhere;white-space:pre-wrap;font-family:monospace;font-size:12px}.modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:8px}.inline-form{display:flex;gap:8px;align-items:flex-end;margin-bottom:20px}.inline-form label{flex:1}.inline-form button{flex-shrink:0}#toast{position:fixed;bottom:22px;left:50%;transform:translateX(-50%);background:var(--text);color:var(--surface);padding:12px 20px;max-width:calc(100vw - 32px);border-radius:10px;z-index:20;font-size:14px}.empty-members{font-size:13px;color:var(--muted);padding:20px 0}
@media(prefers-color-scheme:dark){:root{--bg:#141720;--surface:#1b1f2b;--text:#eef0f7;--muted:#a5adbf;--border:#343a4b;--primary:#a6a7ff;--primary-soft:#2c2d4b;--success:#6ed6b7;--danger:#ff949f;--sidebar:#171a24;--ring:#b5b5ff}.primary,.brand-mark{background:#5457de;color:#fff}.primary:hover:not(:disabled){background:#686bee}.badge.running{background:#193c34;color:#83dfc2}.badge.paused,.notice{background:#3c321b;color:#f0d28f}.notice{border-color:#65542d}.avatar.human{background:#254237;color:#9ce8c6}}
@media(min-width:1450px){.room-body{grid-template-columns:minmax(0,1fr) 280px}.conversation{padding:32px 48px}.composer{padding-left:48px;padding-right:48px}.room-header{padding-left:48px}}
@media(max-width:1050px){.workspace{grid-template-columns:210px minmax(0,1fr)}.room-body{grid-template-columns:1fr}.members-panel{display:none}.room-header,.conversation,.composer{padding-left:22px;padding-right:22px}.welcome{padding:10vh 5vw}.room-header h1{font-size:20px}}
@media(max-width:650px){.workspace{display:flex;flex-direction:column;height:100dvh}.sidebar{padding:10px 14px;border-right:0;border-bottom:1px solid var(--border);display:grid;grid-template-columns:1fr auto;gap:8px}.brand{font-size:17px;padding:0}.brand small,.sidebar-label,.sidebar-footer{display:none}.brand-mark.small{width:32px;height:32px;font-size:25px}.sidebar nav{grid-row:2;grid-column:1/-1;display:flex;gap:6px}.room-link{width:auto;min-height:44px;padding:6px 12px;white-space:nowrap;margin:0;flex-shrink:0}.room-link .hash{font-size:18px}.manage-button{font-size:12px}.main{flex:1;min-height:0}.room-header{padding:14px 16px}.room-header h1{font-size:18px}.room-header .eyebrow{display:none}.header-actions{gap:6px;flex-direction:column;align-items:flex-end}.header-actions button{font-size:12px;padding:5px 9px;min-height:34px}.conversation{padding:20px 16px}.composer{padding:12px 16px calc(12px + env(safe-area-inset-bottom))}.composer-bottom>span{max-width:52%;font-size:10px}.composer textarea{font-size:16px;min-height:80px}.notice{padding:9px 16px}.welcome{padding:40px 24px}.welcome h1{font-size:36px}.welcome-steps{grid-template-columns:1fr;gap:16px}.welcome-steps div{display:grid;grid-template-columns:30px 1fr}.welcome-steps span{grid-column:2}.welcome>.primary{margin-bottom:25px}.field-row{grid-template-columns:1fr}.message-content{font-size:14px}.login-card h1{font-size:27px}dialog{padding:18px}.inline-form{align-items:stretch;flex-direction:column}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;scroll-behavior:auto!important}}
@media(max-height:500px) and (min-width:651px){.room-header{padding:10px 16px}.room-header h1{font-size:18px}.room-header .eyebrow{display:none}.sidebar{padding:12px 16px}.sidebar-label{padding-top:12px}.composer{padding:8px 16px}.composer textarea{min-height:48px;height:48px;max-height:100px}.composer-bottom{margin-top:6px}.conversation{padding:16px}.controls{margin-bottom:4px}.notice{padding:6px 16px}}
@media(max-width:650px){.manage-button{gap:8px}.header-actions button{min-height:44px}.controls button{min-height:44px}}
.auth-tabs{display:flex;gap:8px;margin-top:24px}.auth-tabs button[aria-pressed=true]{color:var(--primary);background:var(--primary-soft);border-color:var(--border)}.login-card form label:not(:first-child){margin-top:14px}.login-card form .fine{margin:5px 0 12px}.login-card .auth-tabs+form{margin-top:20px}.sidebar-tools{display:grid;gap:8px}#account-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-view{max-width:1240px;margin:auto;padding:40px 36px 64px}.admin-header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:28px}.admin-header h1{font-size:28px;margin:0}.admin-header p{margin:6px 0}.admin-header button{flex-shrink:0}.admin-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:24px}.admin-stat{padding:18px 22px;border:1px solid var(--border);background:var(--surface);border-radius:12px}.admin-stat strong{display:block;font-size:28px;line-height:1.4;margin-top:4px}.admin-section{border:1px solid var(--border);background:var(--surface);border-radius:12px;padding:24px;margin:24px 0}.admin-section-heading{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.admin-section-heading>button:last-child{margin-left:auto}.admin-section>.muted{font-size:14px}.invitation-form{display:grid;grid-template-columns:minmax(120px,2fr) minmax(80px,1fr) minmax(80px,1fr) auto;gap:12px;align-items:end;margin:22px 0}.invitation-form label{margin:0}.invitation-form input{margin-top:6px}.invitation-form button{min-height:50px}.admin-row{display:flex;gap:16px;justify-content:space-between;align-items:center;padding:20px 0;border-top:1px solid var(--border)}.admin-row-info{min-width:0;flex:1}.admin-row-title{display:flex;gap:10px;align-items:center;flex-wrap:wrap;overflow-wrap:anywhere}.admin-row .fine{margin:5px 0 0;overflow-wrap:anywhere}.admin-row-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.admin-section>label{margin:20px 0}.admin-row:last-child{padding-bottom:0}.admin-row .badge{white-space:normal}.admin-row>button{flex-shrink:0}
@media(max-width:1050px){.admin-view{padding:28px 22px}.invitation-form{grid-template-columns:1fr 1fr}.invitation-form>label:first-child{grid-column:1/-1}.admin-row{align-items:flex-start;flex-direction:column}.admin-row-actions{width:100%}}
@media(max-width:650px){.sidebar-tools{grid-row:2;grid-column:1/-1;display:flex;gap:8px;min-width:0}.sidebar-tools>.manage-button{flex:1;min-width:0;justify-content:center;padding:6px 9px;min-height:44px}#account-name{max-width:100px}#account>.fine{display:none}.sidebar nav{grid-row:3}.admin-view{padding:24px 16px 40px}.admin-header{flex-direction:column;gap:12px}.admin-header h1{font-size:24px}.admin-stats{gap:8px}.admin-stat{padding:12px}.admin-stat strong{font-size:24px}.admin-stat .fine{font-size:12px}.admin-section{padding:16px;margin:16px 0}.admin-section-heading{gap:8px}.admin-section-heading>button:last-child{margin-left:0}.invitation-form{gap:12px}.invitation-form>button{grid-column:1/-1}.admin-row-actions>button{flex:1}.login-card .brand-mark{margin-bottom:24px}}
.member-actions{display:flex;flex-wrap:wrap;gap:4px 8px;margin-top:6px}.member-actions .text-button{min-height:44px;padding:5px 0;text-align:left}.member-actions .danger{width:100%}
