/* KURSRAUM v2: neutral graphite, white accents, compact editorial workspace. */
:root {
 --bg:#080808;--bg-2:#0c0c0d;--panel:#101011;--panel-2:#151516;--hover:#1a1a1c;
 --line:#202022;--line-2:#2c2c2f;--line-3:#444449;--text:#efeff0;--text-2:#bcbcc2;--muted:#93939c;--dim:#76767f;--white:#f2f2f3;
 --accent:#eeeeee;--accent-strong:#ffffff;--accent-wash:rgba(255,255,255,.065);--ok:#8bb99c;--bad:#dd9398;--warning:#c6ad7d;
 --r:6px;--r-lg:8px;--side:228px;--font-body:'Geist',system-ui,sans-serif;--font-code:'Geist Mono',monospace;
 --text-xs:11px;--text-sm:12px;--text-md:14px;--text-lg:18px;--text-xl:26px;
 --space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;
 --shadow:0 12px 40px #0009;--duration:160ms;--ease:cubic-bezier(.2,.7,.2,1);
}
html,body{max-width:100%;min-width:280px}body{background:var(--bg);font-family:var(--font-body)}
::selection{background:#e8e8e8;color:#101010}:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button,input,select,textarea{font-family:inherit}
button:disabled{cursor:not-allowed}input[type=checkbox],input[type=radio]{accent-color:var(--accent);width:15px;height:15px;flex:none}
.btn{border-radius:5px;font-size:13px;height:38px;padding:0 14px}.btn-primary{background:var(--white);color:#111;border:1px solid #e0e0e3}.btn-primary:hover:not(:disabled){background:#dddddd;border-color:var(--accent)}.btn-primary:focus-visible{outline-color:var(--accent-strong)}
.btn-danger{background:#241719;color:#e8b1b5;border-color:#503237}.btn-danger:hover{background:#342023;border-color:#815057}.icon-btn.danger:hover{color:var(--bad);background:#2a1b1d}.danger{color:var(--bad)!important}
.btn-sm{height:30px;font-size:12px}.btn-block{height:42px}.btn-ghost{background:#111112}.input{border-radius:5px;background:#09090a;font-size:13px}.input:focus{border-color:#8a8a8a;box-shadow:0 0 0 3px #ffffff14;background:#0c0c0d}.input::placeholder{color:#777780}
.form-error{border-color:#573237;border-left-color:var(--bad);background:#231618;color:#ecc0c4}.form-ok{color:var(--ok);border-color:#2d4636;background:#101c14}.field-hint.ok{color:var(--ok)}.field-hint.bad{color:var(--bad)}
.logo{font-size:12px;letter-spacing:.16em;font-weight:650;gap:10px}.logo-mark{object-fit:contain}.side-logo{padding:25px 16px 28px}.sidebar{background:#090909;border-right:1px solid var(--line);padding:0 12px 12px}.side-nav a,.side-channels a{height:36px;border-radius:3px;font-size:12.5px;padding:0 12px}.side-nav a.active,.side-channels a.active{background:#1b1b1d;color:#ededf3}.side-nav a.active::before,.side-channels a.active::before{background:var(--accent);left:0;top:0;bottom:0;width:2px;border-radius:2px}.side-nav a.active>.i,.side-channels a.active .hash{color:var(--accent)}.side-section{border-bottom:1px solid var(--line);margin:26px 8px 10px;padding:0 2px 10px}.side-section span{font-size:9px;letter-spacing:.16em}.side-foot{border-top:1px solid var(--line);padding-top:12px}.side-admin{font-size:11.5px;height:34px}.side-user{border-top:1px solid var(--line);padding-top:16px;margin-top:10px}.side-user strong{font-size:12px}.side-user em{font-size:10.5px}.side-channels a{gap:9px;min-width:0}.side-channels .grow{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hash{font-family:var(--font-code);color:var(--dim)}.side-utility{margin-top:2px}
.avatar-i{background:#1a1a1d;border:1px solid #2b2b30;color:#d7d7e1;border-radius:5px}.avatar{border-radius:5px}
.main-wrap{background:repeating-linear-gradient(132deg,transparent 0 12px,#ffffff03 12px 13px);min-height:100vh}.topbar{display:flex;height:58px;border-bottom:1px solid var(--line);align-items:center;padding:0 34px;gap:14px;background:#090909d9}.topbar h2{font-size:12px;font-weight:500;color:var(--muted);flex:1}.top-logo{display:none}.topbar-actions{display:flex;align-items:center;gap:10px}.top-search{display:flex;align-items:center;gap:9px;color:var(--muted);font-size:11px;padding:6px 8px;border:1px solid var(--line);border-radius:4px;min-width:175px}.top-search kbd{margin-left:auto}.topbar .icon-btn{width:29px;height:29px}.main{max-width:1460px;padding:34px clamp(20px,3vw,44px) 70px}.page{max-width:none}.page.narrow{max-width:720px}.page-head{align-items:center;gap:18px;margin-bottom:24px;padding-bottom:24px;border-bottom:1px solid var(--line)}.page-head h1{font-size:26px;font-weight:600;letter-spacing:-.035em;line-height:1.25}.page-head p{font-size:12.5px;margin-top:8px}.head-actions{display:flex;flex-wrap:wrap;gap:8px}.panel,.a-panel{border-radius:5px;background:#101011;border:1px solid #252527}.panel-head{padding:15px 18px;border-bottom:1px solid var(--line)}.panel-head h2{font-size:12px;font-weight:550}.panel-head a{font-size:10.5px;display:flex;align-items:center;gap:4px}.panel-head a .i{width:12px}.panel-foot{padding:14px 18px}.empty{padding:32px 22px;gap:7px}.empty strong{font-size:12px;font-weight:500;color:var(--text-2)}.empty span{font-size:11.5px;max-width:310px;line-height:1.65;color:var(--muted)}.empty>.i{width:20px;height:20px;margin-bottom:6px;color:#606069}
.dashboard-search{display:flex;gap:12px;align-items:center;width:100%;text-align:left;padding:14px 16px;border:1px solid var(--line-2);border-radius:5px;background:#0d0d0f;color:var(--muted);font-size:12px;margin-bottom:24px}.dashboard-search:hover{border-color:var(--line-3)}.dashboard-search kbd{margin-left:auto}kbd{font:10px var(--font-code);padding:2px 5px;border:1px solid #34343a;border-radius:3px;color:var(--muted)}
.workspace-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(270px,1fr);gap:24px;align-items:start}.stack{display:grid;gap:24px;min-width:0}.activity-v2{display:flex;align-items:flex-start;padding:18px;gap:12px;border-bottom:1px solid var(--line)}.activity-v2:last-child{border-bottom:0}.activity-v2:hover{background:#ffffff03}.activity-v2>div{flex:1;min-width:0}.activity-v2>.i{width:13px;color:var(--dim);margin-top:3px}.activity-meta{display:flex;align-items:center;gap:8px;font-size:10px;color:var(--dim);flex-wrap:wrap}.activity-meta strong{color:var(--text);font-size:11.5px;font-weight:500}.activity-meta span{color:var(--accent);font-size:10px}.activity-meta time{margin-left:auto}.activity-v2 p{font-size:12px;color:var(--text-2);margin:7px 0 0;overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow-wrap:anywhere;line-height:1.65}.activity-v2 .label-tag{font-size:9px;padding:2px 6px}.announcement-list{margin-bottom:22px;display:grid;gap:8px}.announcement{display:flex;gap:14px;align-items:center;padding:15px 17px;border:1px solid #3d3d3d;border-left:2px solid var(--accent);background:#151515;border-radius:4px}.announcement>span{display:grid;gap:3px;flex:1;min-width:0}.announcement small{color:var(--accent);font-size:10px}.announcement strong{font-size:12px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.announcement time{font-size:10px;color:var(--muted)}.recent-channels{display:flex;gap:8px;margin:0 0 22px;flex-wrap:wrap}.recent-channels a{display:flex;gap:8px;align-items:center;font-size:11px;border:1px solid var(--line);background:#101011;padding:8px 12px;border-radius:4px}.recent-channels .i{width:13px;color:var(--muted)}.material-row{display:flex;gap:12px;align-items:center;padding:14px 18px;border-bottom:1px solid var(--line)}.material-row>span{flex:1;display:grid;min-width:0;gap:4px}.material-row strong{font-size:11.5px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.material-row small{font-size:10px;color:var(--muted)}.material-row>.i{width:14px;color:var(--accent)}
.badge{background:var(--accent);color:#171a23;border-radius:3px;font-size:9px;min-width:16px;height:16px}.bar i{background:var(--accent)}.meter-top{font-size:10px}.bar{height:3px}.conv-row{padding:13px 16px}.conv-top strong{font-size:12px}.conv-top time,.conv-last{font-size:10.5px}.file-row{padding:12px 16px}.file-name{font-size:12px!important;font-weight:500!important;text-decoration:none;line-height:1.5}.file-main{min-width:0;overflow:hidden}.file-main strong{overflow-wrap:anywhere}.file-main .meta{font-size:10px;color:var(--muted);line-height:1.5}.file-ic{width:33px;height:38px;font-size:9px;border-radius:4px;border-color:#303037;background:#17171b;color:#c3c6d4;flex:none}.file-ic-image{color:#b4c6ba;background:#151b18}.file-ic-pdf{color:#d2b2b4;background:#1e1718}.file-ic-code{color:#beb6d2;background:#1b1820}.file-actions{gap:2px}.file-actions .icon-btn{width:28px;height:28px}.file-actions .i{width:13px}
.channel-v2{display:flex;align-items:center;border-bottom:1px solid var(--line);padding-right:14px}.channel-open{display:flex;align-items:center;gap:18px;padding:23px 20px;flex:1;min-width:0}.channel-open .grow{display:grid;min-width:0;gap:3px}.channel-open strong{font-weight:500;font-size:14px}.channel-open .meta{font-size:11px;color:var(--muted)}.channel-symbol{display:grid;place-items:center;width:39px;height:42px;border:1px solid var(--line-2);border-radius:4px;color:var(--muted);flex:none}.channel-preview{font-size:11px;color:var(--dim);margin-top:7px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.channel-tail{display:grid;justify-items:end;gap:10px;min-width:70px;font-size:10px;color:var(--dim)}.has-unread .channel-symbol{border-color:#626262;color:var(--accent)}.has-unread strong{color:var(--white)}.channel-v2:hover{background:#ffffff03}.has-unread .channel-preview{color:var(--text-2)}
.toolbar{gap:14px}.tabs a.on{color:var(--accent);border-bottom-color:var(--accent)}.tabs a{font-size:12px}.seg button{font-size:12px}.seg button.on{color:var(--accent);background:var(--accent-wash)}.channel-links{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:20px}.channel-links:empty{display:none}.channel-links>a{display:flex;align-items:center;gap:12px;padding:9px 12px;border:1px solid var(--line-2);border-radius:4px;background:#101011;font-size:12px}.channel-links .i{width:12px}.provider-name{font-size:9px;text-transform:uppercase;letter-spacing:.06em;color:var(--accent)}.provider-icon{color:var(--accent)}.link-card{background:#111114;border:1px solid #303036;border-left:2px solid #747f9d;border-radius:4px;padding:12px 14px;max-width:100%;min-width:0}.link-card strong{font-size:12px}.link-card em{font-size:10px;color:var(--muted)}.link-card>span:nth-child(2){flex:1}.link-card>.i{width:13px;color:var(--muted)}.pinned-section{padding:14px 0 20px;border-bottom:1px solid var(--line);margin-bottom:20px}.pinned-section h2{display:flex;gap:8px;align-items:center;font-size:11px;color:var(--muted)}.pinned-section .i{width:13px}.pin-list{display:flex;gap:10px;flex-wrap:wrap}.pin-list a{border:1px solid var(--line-2);padding:9px 12px;border-radius:4px;font-size:11px;display:flex;align-items:center;gap:10px;max-width:100%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.permanent-link{display:flex;align-items:center;gap:6px}.permanent-link .link-card{flex:1;margin:5px 0 12px}.channel-links-full{padding-bottom:25px;border-bottom:1px solid var(--line);margin-bottom:24px}.channel-links-full h2{font-size:13px}
.post{border-bottom:1px solid var(--line);padding:24px 0;gap:12px}.post-main{min-width:0}.post header{gap:8px}.post header strong{font-size:12px}.post header time{font-size:10px;color:var(--muted)}.post-options{margin-left:auto}.post .markdown{margin-top:9px}.post-files{background:#101011;border-radius:4px;max-width:100%;overflow:hidden}.post-files .file-row{padding:10px 12px}.tag-labels{display:flex;flex-wrap:wrap;gap:5px;margin-top:9px}.label-tag{border:1px solid #3a3a3a;color:#d1d1d1;background:#202020;padding:3px 7px;font-size:10px;border-radius:3px;line-height:1.5;display:inline-flex;align-items:center;gap:5px}.tone-blue{color:#d6d6d6;border-color:#414141;background:#1b1b1b}.tone-violet{color:#bfb4dc;border-color:#40394f;background:#201b29}.tone-amber{color:#d1bc90;border-color:#4b4230;background:#252116}.tone-green{color:#a2c2ad;border-color:#304639;background:#18231c}.tone-gray{color:#b0b0b8;border-color:#343438;background:#202023}.tag-picker{display:flex;flex-wrap:wrap;gap:6px;padding:12px 0}.tag-picker label{cursor:pointer;background:transparent;opacity:.65}.tag-picker label:has(:checked){opacity:1;background:#262626;border-color:#999999}.tag-picker input{width:11px;height:11px;margin:0}.composer{padding:16px;background:#101011;border-radius:5px;border:1px solid #29292e}.composer-bar{padding-top:9px;display:flex;gap:6px;align-items:center}.announce-check{font-size:10.5px;color:var(--muted);display:flex;align-items:center;gap:6px}.announce-check input{width:12px;height:12px}.attach-list{display:flex;gap:6px;flex-wrap:wrap}.chip{font-size:11px;border-radius:4px;max-width:100%;overflow-wrap:anywhere}.chip .i{width:12px}
.md-editor{width:100%;min-width:0;border:1px solid var(--line-2);border-radius:5px;overflow:hidden;background:#0c0c0e}.md-editor>.input{border:0;box-shadow:none;border-radius:0;display:block;resize:vertical;width:100%;min-width:0}.editor-tabs{display:flex;gap:4px;align-items:center;border-bottom:1px solid var(--line);padding:5px 8px;background:#141416;min-width:0}.editor-tabs button{font-size:10.5px;padding:4px 7px;border-radius:3px;color:var(--muted)}.editor-tabs button.on{color:var(--text);background:#25252b}.editor-tabs button:hover{background:var(--hover);color:var(--text)}.editor-preview{min-height:90px;padding:12px;font-size:13px}.markdown{font-size:13px;line-height:1.65;overflow-wrap:anywhere;min-width:0;color:var(--text-2)}.markdown h1{font-size:21px;margin:8px 0;font-weight:600;color:var(--text)}.markdown h2{font-size:18px;margin:8px 0;font-weight:600;color:var(--text)}.markdown h3{font-size:16px;margin:8px 0;font-weight:600;color:var(--text)}.markdown .subtext{font-size:10px;color:var(--muted)}.markdown a{color:var(--accent);text-decoration:underline;text-underline-offset:3px}.markdown blockquote{margin:8px 0;border-left:3px solid #4a4a55;padding:2px 12px;color:var(--muted)}.markdown ol,.markdown ul{margin:5px 0;padding-left:22px}.md-space{height:9px}.markdown .spoiler{border-radius:3px;background:#42424c;color:transparent;user-select:none;text-align:left;display:inline;overflow-wrap:anywhere}.markdown .spoiler *{visibility:hidden}.markdown .spoiler.revealed{color:inherit;background:#24242b;user-select:text}.markdown .spoiler.revealed *{visibility:visible}.code-block{margin:10px 0;border:1px solid #303038;border-radius:5px;overflow:hidden;background:#0a0a0d;min-width:0;max-width:100%}.code-head{display:flex;justify-content:space-between;gap:10px;align-items:center;padding:7px 11px;background:#15151a;border-bottom:1px solid #272730;font:10px var(--font-code);color:var(--muted)}.code-head button{font-family:var(--font-body);font-size:10px;color:var(--text-2)}.code-block pre{margin:0;padding:12px 14px;overflow:auto;max-height:65vh;text-align:left;tab-size:4;line-height:1.65;font-size:12px}.code-block code{font:inherit;background:none;padding:0;border:0;border-radius:0;white-space:pre}.syntax-keyword{color:#b6b5e4}.syntax-string{color:#b2c4a0}.syntax-number{color:#d5b090}.syntax-comment{color:#777e89}.source-lines{counter-reset:line}.source-line{display:block;min-height:1.65em;white-space:pre}.source-line:before{counter-increment:line;content:counter(line);display:inline-block;width:35px;margin-right:14px;border-right:1px solid #282832;color:#6e6e7b;user-select:none}.html-render iframe,.inline-preview iframe{width:100%;height:450px;background:#fff;border:1px solid var(--line-2);border-radius:4px}.inline-preview{padding:0 12px 10px;font-size:11px;color:var(--muted)}.inline-preview summary{cursor:pointer}.inline-preview>div{margin-top:10px}.inline-preview img{max-width:100%;max-height:450px}.inline-preview pre{max-height:350px}.preview{border-radius:4px}.preview iframe{height:65vh}.mb{margin-bottom:12px}.modal:fullscreen{background:#101011;width:100%;max-width:none;max-height:none;overflow:auto}
.files-layout{display:grid;grid-template-columns:175px minmax(0,1fr);gap:28px}.files-rail nav{display:grid;gap:4px}.files-rail nav button{display:flex;gap:9px;align-items:center;text-align:left;padding:9px 10px;font-size:11.5px;color:var(--muted);border-radius:3px;overflow:hidden;text-overflow:ellipsis}.files-rail nav button.on{background:#1a1a1e;color:var(--accent)}.files-rail .sec-head{margin:25px 8px 8px}.files-rail .i{width:14px}.files-rail #fileStorage{margin-top:32px}.files-content{min-width:0}.files-content .toolbar{margin-top:0}.files-content .dropzone{background:#0d0d0f;font-size:11px;min-height:72px;border-radius:5px}.files-content .exp-pick{font-size:10px}.exp-pick .input{font-size:11px}.files-content #fileLimits{font-size:10px}.files-content .file-row:last-child{border-bottom:0}.dropzone.over{border-color:var(--accent)}
.chat{height:calc(100dvh - 120px);background:#0c0c0e;border-radius:5px;grid-template-columns:280px minmax(0,1fr)}.chat-list-head h1{font-size:15px}.chat-list-head{background:#101012}.thread-head{background:#101012}.thread-head strong{font-size:12px}.thread-head span{font-size:10px}.thread-search{border-bottom:1px solid var(--line);padding:10px}.thread-search .pick-list a{display:block;padding:6px;font-size:11px;overflow-wrap:anywhere}.thread-body{padding:18px;gap:7px}.msg{max-width:88%;animation:none;min-width:0}.bubble{background:#19191d;color:var(--text-2);border:1px solid #2a2a31;border-radius:6px;padding:9px 12px;max-width:100%}.msg.mine .bubble{background:#20232b;color:var(--text);border-color:#39404e;border-radius:6px}.msg.mine .file-ic{background:#292b35;color:#d1d4df;border-color:#444754}.msg .markdown{font-size:12.5px;color:inherit}.msg .code-block{max-width:100%;font-size:11px}.msg .code-head{font-size:9px}.msg .code-block pre{font-size:11px}.bubble-wrap{max-width:100%;min-width:0}.msg-meta{font-size:9px;gap:6px}.msg-meta .icon-btn{width:20px;height:20px}.msg-meta .i{width:13px}.msg-img{margin:8px 0 0}.msg-img img{max-width:min(260px,100%);border-radius:4px}.message-file{display:flex;align-items:center;gap:6px}.msg-file{text-align:left;max-width:100%;min-width:0}.msg-file strong{font-size:11px}.msg-file em{font-size:10px}.v2-compose{display:block;padding:12px}.v2-compose .md-editor{width:100%}.v2-compose .hint{font-size:9px}.v2-compose textarea{min-height:55px;height:auto}.reply-quote{display:flex;gap:6px;padding:6px 8px;border-left:2px solid #7f8dab;margin-bottom:7px;background:#ffffff04;font-size:10px;color:var(--muted);max-height:60px;overflow:hidden}.reply-quote .i{width:12px;flex:none}.reply-draft{display:flex;align-items:center;gap:9px;padding:9px 14px;background:#1b1d25;border-top:1px solid #383c4a;font-size:11px}.reply-draft>span{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.reply-draft>.i{width:14px}.reactions{display:flex;gap:5px}.reaction{padding:2px 7px;border:1px solid #35353c;border-radius:4px;background:#19191e;font-size:13px;display:flex;gap:6px;align-items:center}.reaction span{font-size:9px;color:var(--muted)}.reaction.on{border-color:#7f8fab;background:#222838}.reaction-picker{display:flex;flex-wrap:wrap;gap:12px}.reaction-picker button{font-size:25px;border:1px solid var(--line-2);border-radius:5px;padding:6px}.load-old{margin:0 auto 15px}.thread-compose .attach-list{margin-bottom:7px}#attachmentDraft{padding:0 12px}.read-state{font-size:9px}
.auth-screen{background:#070707}.auth-vignette{background:radial-gradient(ellipse at 50% 45%,transparent,#070707 75%),repeating-linear-gradient(132deg,transparent 0 15px,#ffffff05 15px 16px)}.auth-card{max-width:390px;border-radius:7px;background:#0f0f10f5;backdrop-filter:none;border-color:#28282c;padding:30px}.auth-card .logo{margin-bottom:30px}.auth-title{font-size:23px}.auth-sub{font-size:12px;line-height:1.65}.remember{display:flex;align-items:center;gap:8px;font-size:10.5px;color:var(--text-2);margin:12px 0}.remember+.hint{font-size:10px;margin-bottom:16px}.auth-legal{color:#777780;font-size:10px}.auth-alt,.auth-switch{font-size:11px}.auth-switch a,.auth-alt a{color:var(--accent)}
.modal-wrap{backdrop-filter:none;padding:18px}.modal{background:#111113;border-color:#3a3a40;border-radius:7px;max-height:calc(100dvh - 36px)}.modal-head h3{font-size:13px}.modal-body{padding:18px;overflow-wrap:anywhere}.modal-head{position:sticky;top:0;z-index:2;background:#111113}.modal-actions{flex-wrap:wrap;gap:8px}.modal-actions .btn{font-size:12px}.popmenu{z-index:110;border:1px solid #3a3a40;background:#17171a;box-shadow:0 16px 40px #0009;border-radius:5px;padding:5px;min-width:215px;max-width:calc(100vw - 16px)}.popmenu button{display:flex;align-items:center;gap:10px;font-size:11.5px;min-height:32px;border-radius:3px;padding:7px 10px;width:100%;white-space:normal;text-align:left}.popmenu .i{width:14px}.popmenu button:hover,.popmenu button:focus{background:#2a2b32;color:#fff;outline:none}.toast{border-radius:5px;background:#e9e9ed;font-size:12px}.toast-error{background:#281b1f;color:#f1c5ca;border-color:#71434c}.attach-choices{display:grid;gap:10px}.pick-files{max-height:45vh;overflow:auto}.stored-row{display:flex;align-items:center;gap:12px;padding:12px 4px;border-bottom:1px solid var(--line);font-size:12px;cursor:pointer}.stored-row>span:last-child{display:grid;min-width:0;overflow-wrap:anywhere}.stored-row small{color:var(--muted);font-size:10px}.manage-row{display:flex;align-items:center;gap:12px;padding:14px 16px;border-bottom:1px solid var(--line);font-size:12px}.manage-row>span:first-child{flex:1;min-width:0;overflow-wrap:anywhere}.manage-row small{display:block;font-size:10px;color:var(--muted);margin-top:5px}.manage-row strong{font-weight:500}.saved-row{display:flex;align-items:center;gap:8px;border-bottom:1px solid var(--line);padding-right:10px}.saved-row>a,.search-result{display:flex;align-items:center;gap:14px;padding:16px 18px;flex:1;min-width:0}.saved-row a>span,.search-result>span{display:grid;flex:1;min-width:0;gap:4px}.saved-row strong,.search-result strong{font-weight:500;font-size:12px;overflow-wrap:anywhere}.saved-row small,.search-result small{font-size:10px;color:var(--muted)}.saved-row .i,.search-result .i{width:15px;color:var(--muted)}.search-result{border-bottom:1px solid var(--line)}.search-result:hover{background:var(--hover)}.global-query{display:flex;margin-bottom:20px;max-width:none;min-width:0}.global-query>.input{padding-left:37px}.global-query>.btn{margin-left:8px}.search-filters{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.notification-row{display:flex;gap:14px;align-items:center;padding:18px;border-bottom:1px solid var(--line)}.notification-row>span{flex:1;display:grid;gap:5px;min-width:0}.notification-row strong{font-size:12px;font-weight:500}.notification-row small{font-size:10px;color:var(--muted)}.notification-row>.i{color:var(--dim)}.notification-row.has-unread{background:#eeeeee06}.notification-row.has-unread>.i{color:var(--accent)}.unread-dot{width:5px;height:5px;border-radius:50%;background:var(--accent)}
.admin{background:var(--bg)}.admin-top{background:#0b0b0d;border-color:var(--line);backdrop-filter:none}.admin-brand{font-size:11px}.admin-brand em{background:#282a33;color:var(--accent);font-size:9px;border-radius:3px}.admin-nav{background:#090909;overflow-y:auto}.admin-nav a{font-size:12px;border-radius:3px}.admin-nav a.active{background:#1b1b1f;box-shadow:inset 2px 0 var(--accent);color:var(--accent)}.admin-main{max-width:1500px;background:repeating-linear-gradient(132deg,transparent 0 12px,#ffffff03 12px 13px)}.a-head h1{font-size:24px}.a-head p{font-size:12px}.table{font-size:11.5px}.table th{font-size:10px;background:#101012}.table td{padding:12px 14px}.table .u-cell strong{font-size:12px}.table .u-cell em{font-size:10px}.status-chip.ok{color:var(--ok);border-color:#2f4838;background:#142018}.status-chip.wait{color:var(--warning);border-color:#4e432d;background:#231e15}.status-chip.bad{color:var(--bad);border-color:#513037;background:#25191d}.status-chip{font-size:10px;border-radius:3px}.status-chip.ok i,.sys-dot.ok{background:var(--ok);box-shadow:none}.status-chip.wait i{background:var(--warning)}.status-chip.bad i{background:var(--bad)}.stats{border-radius:5px}.stat{background:#101012}.stat strong{font-size:24px}.stat span{font-size:10px}.stat em{font-size:10px}.release-box.live{border-color:#4f6258}.release-box{border-radius:4px}.a-panel h2{font-size:13px}.feedback-body{white-space:pre-wrap;font-size:13px;color:var(--text-2);line-height:1.7;overflow-wrap:anywhere}.reported-snapshot{border:1px solid var(--line-2);padding:14px;border-radius:4px;margin-top:16px}.approval-row{display:flex;gap:12px;align-items:center;padding:14px 0;border-bottom:1px solid var(--line);font-size:12px}.approval-row>span:last-of-type{display:grid;flex:1;min-width:0}.approval-row small{color:var(--muted);font-size:10px}.approval-row a{color:var(--accent);font-size:11px}
.tool-grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:24px;align-items:start}.tool-grid h2{font-size:15px}.scan-pages{display:grid;gap:10px;margin-top:20px}.scan-page{display:flex;align-items:center;gap:14px;padding:10px;border:1px solid var(--line-2);border-radius:4px}.scan-page img{width:70px;height:90px;object-fit:contain;background:#080808}.scan-page>div{display:grid;gap:8px;flex:1}.scan-page strong{font-size:12px}.crop-area{max-height:60vh;overflow:auto;margin-top:15px;text-align:center}.crop-area canvas{max-width:100%;max-height:60vh;object-fit:contain;touch-action:none;cursor:crosshair}.tool-grid input[type=file]{height:auto;padding:10px;max-width:100%;font-size:11px}.btn input[hidden]{display:none}
@media(min-width:1600px){.main{padding-top:44px}.workspace-grid{gap:30px}.page-head{padding-bottom:28px}.activity-v2{padding:22px}}
@media(max-width:1100px){.workspace-grid{grid-template-columns:minmax(0,1fr) 300px;gap:18px}.main{padding:26px 24px 60px}.page-head h1{font-size:23px}.files-layout{grid-template-columns:145px minmax(0,1fr);gap:18px}.files-content .toolbar{flex-wrap:wrap}.chat{grid-template-columns:240px minmax(0,1fr)}.topbar{padding:0 24px}.tool-grid{grid-template-columns:1fr}}
@media(max-width:860px){.sidebar{display:none}.main-wrap{margin-left:0}.topbar{height:54px;padding:0 16px;position:sticky;top:0;z-index:25;background:#090909f5;backdrop-filter:none}.top-logo{display:block}.topbar h2{font-size:12px}.top-search{min-width:0;border:0;padding:5px}.top-search span,.top-search kbd{display:none}.topbar-actions{gap:5px}.main{padding:24px 18px calc(96px + var(--safe-b))}.workspace-grid{grid-template-columns:minmax(0,1.5fr) minmax(240px,1fr)}.page-head h1{font-size:23px}.tabbar{background:#0d0d0ff5;backdrop-filter:none}.tabbar a.active{color:var(--accent)}.chat{grid-template-columns:1fr;height:calc(100dvh - 54px - 72px - var(--safe-b));margin:-24px -18px;border-radius:0}.chat.has-thread .chat-list{display:none}.chat:not(.has-thread) .chat-thread{display:none}.files-layout{grid-template-columns:140px minmax(0,1fr);gap:18px}.admin-nav{flex-direction:row;overflow-x:auto;overflow-y:hidden;top:56px;background:#0b0b0d}.admin-nav a{flex:none}.admin-main{padding:24px 16px 60px}.admin-nav a.active{box-shadow:none}.page-head{align-items:flex-start;flex-wrap:wrap}.head-actions{width:auto}.a-grid{grid-template-columns:1fr}.tabbar a{font-size:9px}.tabbar a .i{width:18px;height:18px}.topbar .icon-btn{width:28px}.tabbar{padding-bottom:calc(7px + var(--safe-b))}}
@media(max-width:640px){.workspace-grid{grid-template-columns:1fr}.page-head{padding-bottom:20px;margin-bottom:20px}.page-head h1{font-size:23px}.page-head p{font-size:12px;line-height:1.7}.dashboard-search{padding:12px;font-size:11px}.dashboard-search kbd{display:none}.dashboard-search>span{flex:1}.activity-v2{padding:16px}.activity-meta{gap:7px}.activity-meta time{font-size:9px}.activity-v2 p{font-size:12px}.announcement{padding:12px;gap:10px}.announcement time{display:none}.announcement strong{font-size:11px}.files-layout{grid-template-columns:1fr;gap:18px}.files-rail nav:first-child{display:flex;flex-wrap:wrap;gap:3px}.files-rail nav:first-child button{font-size:10.5px;padding:9px 8px}.files-rail .sec-head{margin:14px 0 4px}.files-rail #folderList{display:flex;flex-wrap:wrap}.files-rail #fileStorage{display:none}.files-content .filters{width:auto}.files-content .toolbar .search{flex-basis:100%}.files-content .dropzone{display:none}.files-content .file-row{padding:12px}.file-row .meta{font-size:10px}.file-actions .icon-btn{width:28px}.files-content .exp-pick{display:none}.file-name{font-size:12px!important}.channel-open{gap:12px;padding:18px 14px}.channel-tail{min-width:45px}.channel-tail time{display:none}.channel-preview{max-width:100%;font-size:10px}.channel-open .meta{font-size:10px}.channel-symbol{width:32px;height:36px}.channel-v2{padding-right:7px}.channel-v2>.icon-btn{width:28px}.channel-links>a{width:100%;padding:10px 12px}.channel-links .provider-name{font-size:8px}.channel-detail .toolbar .filters{width:100%;flex-wrap:wrap}.channel-detail .filters .search{flex-basis:100%}.channel-detail .filters select{flex:1}.composer{padding:12px}.tag-picker{gap:5px}.tag-picker .label-tag{font-size:9px;padding:3px 5px}.tag-picker input{width:10px;height:10px}.announce-check{font-size:9px}.announce-check input{width:11px;height:11px}.composer-bar .icon-btn{width:28px}.composer-bar .btn{font-size:11px;padding:0 10px}.post{padding:20px 0;gap:9px}.post>.avatar{width:28px!important;height:28px!important;font-size:10px!important}.post header{flex-wrap:wrap;gap:5px}.post header strong{font-size:11px}.post header time{font-size:9px}.post-main{width:calc(100% - 38px)}.markdown{font-size:12.5px}.post .post-options{margin-left:auto}.search-filters{grid-template-columns:1fr 1fr;gap:10px}.global-query .btn{padding:0 10px;font-size:12px}.search .input{font-size:16px}.modal-wrap{padding:10px}.modal{max-height:calc(100dvh - 20px);border-radius:6px}.modal-body{padding:14px}.modal-actions .btn{font-size:11px}.auth-card{padding:28px 22px;max-width:380px}.auth-card .input{font-size:16px}.auth-center{padding:30px 16px}.input,.select,textarea.input{font-size:16px}.label{font-size:11px}.source-lines{font-size:11px!important}.source-line:before{width:24px;margin-right:10px}.code-block pre{font-size:11px}.msg{max-width:94%}.bubble{padding:8px 10px}.msg .markdown{font-size:13px}.thread-body{padding:14px 12px}.editor-tabs button{font-size:10px;padding:5px 6px}.v2-compose{padding:9px}.v2-compose .hint{display:none}.thread-search .input{font-size:16px}.head-actions .btn{font-size:11px}.page-head>.btn{font-size:11px}.saved-row strong,.search-result strong{font-size:12px}.tool-grid{gap:18px}.tool-grid .pad-l{padding:18px}.manage-row{padding:12px 5px;gap:8px}.manage-row .btn{padding:0 9px;font-size:10px}.a-head{flex-wrap:wrap}.admin-top{padding:0 12px}.admin-brand{gap:7px;letter-spacing:.1em}.admin-top .btn{padding:0 8px;font-size:10px}.permanent-link .link-card{padding:10px;gap:8px}.permanent-link>.icon-btn{width:26px}.sec-head h2{font-size:12px}.pinned-section .sec-head{gap:10px}.html-render iframe,.inline-preview iframe{height:330px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

@media(min-width:861px){.main:has(.chat){padding-bottom:24px}}
.structured-preview{padding:12px 0;font-size:11px;color:var(--text-2)}.structured-preview summary{cursor:pointer;overflow-wrap:anywhere}.data-tree{margin-top:12px;padding:12px;border:1px solid var(--line-2);border-radius:4px;max-height:450px;overflow:auto}.tree-children{margin:6px 0 6px 12px;padding-left:12px;border-left:1px solid var(--line-2)}.tree-leaf{margin:5px 0;overflow-wrap:anywhere}.tree-leaf>span{color:var(--accent);margin-right:8px}.tree-leaf code{white-space:pre-wrap}.permanent-link .icon-btn{flex:none}
input.switch[type=checkbox]{appearance:none;width:36px;height:21px;border-radius:20px;margin:0;border:1px solid var(--line-3);background:#262629}.switch[type=checkbox]:checked{background:var(--accent);border-color:var(--accent)}.post{animation:fadeIn .16s var(--ease) both}.fade-in{animation-duration:.16s}.auth-view{animation-duration:.18s}
.message-focused .bubble{outline:1px solid var(--accent);outline-offset:3px}

/* 2.0.1 — consistent controls, compact subject workspace and quiet approval state. */
input[type=checkbox]:not(.switch){-webkit-appearance:none;appearance:none;display:inline-block;vertical-align:middle;width:16px;height:16px;min-width:16px;margin:0;border:1px solid #626262;border-radius:4px;background:#151515;cursor:pointer;box-shadow:none;transition:background-color .14s,border-color .14s;background-position:center;background-repeat:no-repeat;background-size:12px 12px}
input[type=checkbox]:not(.switch):checked{background-color:#f2f2f2;border-color:#f2f2f2;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='m3 8 3 3 7-7' fill='none' stroke='%23111111' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}
input[type=checkbox]:not(.switch):indeterminate{background-color:#f2f2f2;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4 8h8' stroke='%23111111' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E")}
input[type=checkbox]:disabled{opacity:.45;cursor:not-allowed}
.composer-tags{margin:8px 0 10px;border-top:1px solid var(--line)}
.composer-tags summary{display:flex;align-items:center;gap:7px;padding:13px 0 5px;font-size:12px;color:var(--text-2);cursor:pointer;list-style:none;user-select:none}
.composer-tags summary::-webkit-details-marker{display:none}.composer-tags summary:focus-visible{outline-offset:2px;border-radius:3px}
.composer-tags summary>.i{width:14px;height:14px;color:var(--muted)}.tag-count:empty{display:none}.tag-count{background:#eeeeee;color:#151515;font-size:10px;line-height:18px;min-width:18px;text-align:center;border-radius:4px}.tag-chevron{margin-left:auto;display:flex}.tag-chevron .i{width:12px;height:12px;transition:transform .16s}.composer-tags[open] .tag-chevron .i{transform:rotate(90deg)}
.composer-tags .tag-picker{display:flex;flex-wrap:wrap;gap:7px;padding:12px 0 4px}
.composer-tags .tag-picker label{position:relative;min-height:32px;font-size:11px;line-height:1.45;padding:6px 9px;gap:6px;border:1px solid #343434;border-radius:4px;color:#b8b8b8;background:#141414;opacity:1;cursor:pointer}
.composer-tags .tag-picker label:has(:checked){background:#eeeeee;border-color:#eeeeee;color:#151515}
.composer-tags .tag-picker label:has(:focus-visible){outline:2px solid #eeeeee;outline-offset:3px}
.composer-tags .tag-picker input[type=checkbox]{position:absolute;opacity:0;width:1px;height:1px;min-width:0;pointer-events:none}
.tag-tick{width:12px;height:12px;display:flex}.tag-tick .i{width:12px;height:12px;opacity:0}.tag-picker label:has(:checked) .tag-tick .i{opacity:1}
.composer-bar{gap:8px}.announce-check{display:flex;gap:7px;align-items:center;font-size:11px;line-height:1.4;min-height:34px;cursor:pointer;color:var(--text-2)}
.channel-detail .toolbar{display:grid;gap:14px}.channel-detail .tabs{width:100%}.channel-detail .filters{display:flex;gap:10px;width:100%;max-width:none}.channel-detail .filters .search{order:-1;flex:1;min-width:0}.channel-detail .filters .search .input{width:100%}.channel-detail .filters select{width:190px;flex:0 0 190px;min-width:0}.channel-detail #tagFilter[hidden]+.search{flex-basis:100%}
.channel-detail .md-editor{border-color:#292929}.channel-detail .editor-tabs{background:#141414}.channel-detail .editor-tabs button.on{color:#f2f2f2;background:#262626}.composer{background:#101010}.composer textarea{min-height:100px}
.approval-signal{display:grid;justify-items:center;gap:16px;margin:4px auto 24px;width:64px}
.approval-signal>span{display:grid;place-items:center;width:48px;height:48px;border:1px solid #333;border-radius:10px;background:#141414;color:#ddd}.approval-signal .i{width:22px;height:22px;stroke-width:1.4}
.approval-signal>div{width:48px;height:2px;background:#292929;border-radius:2px;overflow:hidden}.approval-signal i{display:block;width:18px;height:2px;background:#dedede;border-radius:2px;animation:approval-slide 2.8s ease-in-out infinite alternate}
@keyframes approval-slide{from{transform:translateX(0);opacity:.45}to{transform:translateX(30px);opacity:1}}
.status-view .status-box{gap:12px;flex-wrap:wrap;text-align:left}.status-view .status-box>div{min-width:0;flex:1}.status-view .status-box .status-chip{margin-left:auto;max-width:100%;white-space:normal}.status-view .auth-title{font-size:23px;line-height:1.3}.status-view .auth-sub{margin-bottom:24px}
@media(max-width:640px){
 .channel-detail .page-head{flex-wrap:nowrap;gap:12px;align-items:center;padding-bottom:16px;margin-bottom:14px}.channel-detail .page-head>div:first-child{flex:1;min-width:0}.channel-detail .page-head h1{font-size:21px;overflow-wrap:anywhere}.channel-detail .page-head .head-actions{flex:none}.channel-detail #channelOptions{font-size:0;width:34px;height:34px;padding:0;gap:0}.channel-detail #channelOptions .i{width:17px;height:17px}
 .channel-detail .toolbar{gap:12px;margin-bottom:16px}.channel-detail .filters{display:flex;flex-wrap:nowrap!important;gap:8px}.channel-detail .filters .search{flex:1 1 0;flex-basis:0;min-width:0}.channel-detail .filters select{width:116px;flex:0 0 116px;font-size:13px;padding-left:10px}.channel-detail .filters .search .input{font-size:16px;padding-right:8px}.channel-detail .filters .search>.i{width:14px;left:10px}.channel-detail .filters .search .input{padding-left:31px}
 .composer{padding:11px}.composer-bar{flex-wrap:wrap;gap:4px}.composer-bar .icon-btn{width:30px;height:34px}.composer-bar .btn{height:34px;font-size:12px;padding:0 11px}.announce-check{font-size:10px;gap:6px;margin-left:4px}.composer-tags summary{font-size:11px}.composer-tags .tag-picker label{font-size:11px;min-height:34px;padding:7px 9px}.composer textarea{min-height:105px}.channel-detail .editor-tabs button{padding:6px 7px}.channel-detail .editor-tabs [data-format=quote]{display:none}
 .status-view .status-box{padding:14px;gap:10px}.status-view .status-box .status-chip{flex-basis:100%;justify-content:center;margin:3px 0 0}.status-view .status-box>div{overflow:hidden}.status-view .status-box>div span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:block}.status-view .btn-row{gap:8px}.status-view .btn-row .btn{font-size:12px;padding:0 9px}.status-view .auth-title{font-size:22px}
}
@media(prefers-reduced-motion:reduce){.approval-signal i{animation:none;transform:translateX(15px);opacity:.8}}
@media(forced-colors:active){input[type=checkbox]:not(.switch){appearance:auto}.tag-picker label:has(:checked){outline:2px solid Highlight}}

.cache-refresh{min-height:100vh;min-height:100dvh}.cache-refresh #updateStatus{margin:16px 0;overflow-wrap:anywhere}
/* Public file sharing: explicit publication, compact PIN entry, no account required. */
.public-entry{display:flex;align-items:center;gap:8px;border-top:1px solid var(--line);padding-top:20px;margin-top:22px;font-size:12px;color:var(--text)}.public-entry>span{font-size:10px;color:var(--muted);margin-left:auto}.public-entry>.i{width:14px}.public-entry:hover{color:#fff}.public-page{min-height:100vh;background:repeating-linear-gradient(132deg,transparent 0 12px,#ffffff03 12px 13px)}.public-page>header{height:65px;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(18px,5vw,64px);border-bottom:1px solid var(--line);background:#090909}.public-page>main{max-width:1020px;padding:48px 24px;margin:auto}.public-open-card{max-width:420px;margin:32px auto;padding:32px}.public-open-card h1{font-size:26px;letter-spacing:-.03em;margin:8px 0 10px}.public-open-card>.muted{font-size:13px;line-height:1.7}.public-view-icon{display:grid;place-items:center;width:42px;height:42px;border:1px solid var(--line-2);border-radius:7px;margin-bottom:22px}.public-view-icon>.i{width:20px;height:20px}.public-open-card form{margin-top:28px}.public-open-card .pin-input{height:58px;font:500 30px var(--font-code);letter-spacing:.35em;text-align:center;padding-left:calc(12px + .35em)}.public-open-card .hint{font-size:11px;margin:10px 0 18px}.public-open-foot{font-size:10px;line-height:1.7;color:var(--muted);margin-top:20px}.public-page footer{color:var(--dim);font-size:10px;text-align:center;margin:32px 0}.public-file-head{display:flex;align-items:center;gap:20px;justify-content:space-between;margin-bottom:24px}.public-file-head>div{min-width:0}.public-file-head h1{font-size:25px;line-height:1.3;margin:7px 0 10px;overflow-wrap:anywhere}.public-preview{overflow:hidden;min-height:180px}.public-document{width:100%;height:65vh;min-height:320px;border:0;background:#fff;display:block}.public-image{display:block;max-width:100%;max-height:70vh;object-fit:contain;margin:auto}.public-preview-toolbar{display:flex;gap:12px;align-items:center;justify-content:space-between;padding:12px;border-bottom:1px solid var(--line)}.public-preview .code-block{margin:0;border:0}.public-file-foot{display:flex;gap:18px;align-items:center;margin-top:20px}.public-file-foot>.hint{font-size:11px;line-height:1.7;max-width:460px}.public-filename{overflow-wrap:anywhere;font-size:14px;margin-bottom:10px}.public-share-summary{display:flex;align-items:center;gap:20px;justify-content:space-between}.public-share-summary>div{display:grid;gap:8px}.public-pin{font:500 48px var(--font-code);letter-spacing:.18em;line-height:1.2}.public-share-summary small{font-size:10px;color:var(--muted)}.public-qr{width:148px;height:148px;background:#fff;border-radius:4px;image-rendering:pixelated;flex:none}.public-share-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:20px}.public-share-actions .btn{flex:1}.public-share-actions .btn-danger{flex-basis:100%;margin-top:4px}
@media(max-width:640px){.public-page>main{padding:24px 16px}.public-open-card{margin:20px auto;padding:25px 20px}.public-page .logo{font-size:11px;letter-spacing:.12em}.public-file-head{flex-wrap:wrap;gap:16px}.public-file-head h1{font-size:22px}.public-file-head>.btn{width:100%}.public-preview-toolbar{flex-wrap:wrap;gap:8px}.public-file-foot{align-items:flex-start;flex-direction:column;gap:12px}.public-share-summary{gap:12px}.public-qr{width:128px;height:128px}.public-pin{font-size:42px}.public-share-actions .btn{font-size:11px;padding:0 10px}.public-entry{gap:6px}.public-entry>span{font-size:9px}.public-document{height:55vh}}
