@import url('/base.css');
:root{--ink:#20352e;--muted:#7a857e;--green:#215b49;--lime:#dcebb9;--paper:#fcfdf9;--line:#e6eae2;--side:#f3f5ef;--white:#fff;--danger:#a53c3c}
*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:Inter,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif;font-size:14px}button,input,textarea{font:inherit}button,a,input,textarea{ -webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.45}button{border:0;background:none;color:inherit}a{color:var(--green);text-decoration:none}button:focus-visible,a:focus-visible{outline:3px solid #91ab71;outline-offset:3px}svg{width:20px;height:20px;flex-shrink:0;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.icon-button{width:36px;height:36px;display:inline-flex;align-items:center;justify-content:center;border-radius:10px}.icon-button:hover{background:#e8eee2}.primary{background:var(--green);color:#fff;border-radius:9px;padding:12px 19px;display:inline-flex;align-items:center;justify-content:center;gap:8px;font-weight:600;transition:background .15s}.primary:hover{background:#174634}.secondary{padding:10px 15px;border:1px solid #d6ded3;border-radius:9px;background:#fff;display:inline-flex;gap:8px;align-items:center;justify-content:center}.secondary:hover{background:#f0f4eb}.muted{color:var(--muted)}.eyebrow{text-transform:uppercase;font-size:10px;letter-spacing:2.5px;color:#84917c;font-weight:700}.brand{display:flex;align-items:center;gap:11px;font-weight:750;letter-spacing:-.7px;font-size:21px}.brand img{width:36px;height:36px}.brand small{font-size:10px;font-weight:500;letter-spacing:1.5px;display:block;color:var(--muted);margin-top:2px}.loading-screen{height:100dvh;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:10px}.app-shell{height:100dvh;display:grid;grid-template-columns:72px 248px minmax(0,1fr)}
.rail{background:var(--green);display:flex;align-items:center;flex-direction:column;gap:14px;padding:24px 0 16px;color:#d9e6da}.rail-logo{display:flex;align-items:center;justify-content:center;width:42px;height:42px;border:1px solid #5a806d;border-radius:13px;margin-bottom:29px}.rail-logo img{width:38px;height:38px}.rail .icon-button{width:42px;height:42px}.rail .icon-button.active{background:#dcebb9;color:#24533f}.rail .icon-button:hover{background:#3a705c}.rail .active:hover{background:#dcebb9}.rail-spacer{flex:1}.rail .avatar{background:#d9d9b6;color:#354a34;border:2px solid #527963;font-size:12px}.sidebar{background:var(--side);display:flex;flex-direction:column;border-right:1px solid var(--line);min-height:0}.workspace-head{padding:25px 21px 20px}.workspace-head .eyebrow{font-size:9px;letter-spacing:2px}.workspace-name{font-size:18px;letter-spacing:-.5px;font-weight:700;margin:11px 0 6px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.workspace-meta{font-size:11px;color:var(--muted);display:flex;align-items:center;gap:7px}.small-dot{width:6px;height:6px;border-radius:50%;background:#56936a;display:inline-block}.side-search{margin:2px 16px 23px;padding:10px 11px;border:1px solid #e0e5da;background:#fff;border-radius:7px;display:flex;gap:9px;align-items:center;font-size:12px;color:#81887c;text-align:left}.side-search svg{width:16px;height:16px}.side-section{padding:0 12px;margin-bottom:16px}.section-label{display:flex;align-items:center;justify-content:space-between;color:#8b9285;font-size:10px;font-weight:600;letter-spacing:1px;margin:0 9px 7px}.section-label .icon-button{width:25px;height:25px}.section-label svg{width:15px;height:15px}.channel-list{display:flex;flex-direction:column;gap:3px;max-height:36vh;overflow:auto}.channel-button{display:flex;align-items:center;gap:11px;padding:11px 13px;border-radius:7px;font-size:13px;text-align:left;min-width:0}.channel-button:hover{background:#e8ede1}.channel-button.active{background:#e1eacb;color:#2b5035;font-weight:650}.hash{font-size:20px;font-weight:400;color:#8c9c80;line-height:1}.channel-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.badge{margin-left:auto;min-width:20px;font-size:10px;background:var(--green);color:white;padding:3px 5px;border-radius:6px;text-align:center}.member-list{display:flex;flex-direction:column;gap:4px}.member-row{display:flex;align-items:center;gap:10px;padding:7px 11px;min-width:0;font-size:12px}.member-row .avatar{width:27px;height:27px;font-size:10px;border-radius:8px}.member-name{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.presence-dot{width:6px;height:6px;border-radius:50%;background:#c1c8b9}.presence-dot.online{background:#78a46d}.side-bottom{margin-top:auto;padding:18px 18px 20px}.alpha-card{border:1px solid #dde5d1;border-radius:10px;padding:14px;background:#eef3e5}.alpha-label{display:flex;gap:7px;align-items:center;font-size:11px;font-weight:650}.alpha-label svg{width:16px;height:16px}.alpha-card p{font-size:11px;line-height:1.8;color:#859077;margin:8px 0 10px}.alpha-card button{font-size:11px;color:var(--green);font-weight:650;padding:0;display:flex;align-items:center;gap:5px}.alpha-card button svg{width:13px;height:13px}.side-footer{display:flex;align-items:center;justify-content:space-between;color:#8d9786;font-size:10px;margin-top:18px}.main{display:flex;flex-direction:column;min-width:0;min-height:0;background:#fff}.topbar{height:83px;flex-shrink:0;border-bottom:1px solid var(--line);padding:0 32px;display:flex;align-items:center;gap:15px}.channel-mark{width:37px;height:37px;background:#f3f5ed;border:1px solid var(--line);border-radius:11px;display:flex;align-items:center;justify-content:center;font-size:24px;color:#8e9b7e}.channel-heading{min-width:0;flex:1}.channel-heading h1{font-size:16px;margin:0 0 6px;font-weight:700;letter-spacing:-.3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.channel-heading p{font-size:11px;margin:0;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.topbar-actions{display:flex;align-items:center;gap:12px}.member-stack{display:flex;padding-right:10px}.member-stack .avatar{border:2px solid white;margin-right:-10px;width:29px;height:29px;font-size:10px;border-radius:50%}.vertical-divider{height:22px;width:1px;background:var(--line)}.invite-button{font-size:11px;padding:8px 11px}.invite-button svg{width:15px;height:15px}.connection-bar{display:flex;align-items:center;gap:7px;font-size:10px;color:#829079;padding:12px 33px;border-bottom:1px solid #f0f2ec;background:#fcfdf9}.connection-bar.reconnecting{color:#9a6b22;background:#fff9ec}.connection-bar.reconnecting .small-dot{background:#dba24a}.connection-bar .region{margin-left:auto;color:#9ca596;letter-spacing:.5px}.chat-scroll{flex:1;overflow:auto;overscroll-behavior:contain;padding:32px 33px 16px;scroll-behavior:smooth}.welcome{display:flex;gap:18px;align-items:center;padding:24px 26px;background:#f3f5ee;border:1px solid #e4e9da;border-radius:13px;position:relative;overflow:hidden;margin-bottom:32px;min-height:116px}.welcome-graphic{width:55px;height:55px;display:flex;align-items:center;justify-content:center;border-radius:17px;background:#e2ebcf;transform:rotate(-7deg);flex-shrink:0;color:#557e44}.welcome-graphic svg{width:29px;height:29px;transform:rotate(7deg)}.welcome h2{font-size:19px;margin:0 0 9px;font-weight:600;letter-spacing:-.6px}.welcome p{font-size:12px;line-height:1.7;color:#839075;margin:0}.welcome-tag{margin-left:auto;align-self:flex-start;display:flex;align-items:center;gap:6px;color:#75905d;font-size:9px;white-space:nowrap;letter-spacing:.5px}.welcome-tag svg{width:14px;height:14px}.date-divider{display:flex;align-items:center;gap:16px;margin:21px 0 24px;color:#8b9385;font-size:10px}.date-divider:before,.date-divider:after{content:"";height:1px;background:var(--line);flex:1}.message{display:flex;gap:12px;margin-bottom:23px;scroll-margin:20px}.avatar{width:36px;height:36px;border-radius:11px;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;font-size:12px;font-weight:650;background:#e2e9d9;color:#576a45}.avatar.tone-1{background:#e7e1d4;color:#8b775a}.avatar.tone-2{background:#dce8ea;color:#607e86}.avatar.tone-3{background:#e8e2ec;color:#877092}.avatar.tone-4{background:#e3e7d0;color:#7d854b}.message-content{min-width:0;flex:1}.message-meta{display:flex;align-items:center;gap:9px;margin:2px 0 7px}.message-author{font-size:12px;font-weight:650}.message-time{font-size:10px;color:#a0a69b}.you-label{font-size:9px;color:#829276;background:#f0f4e9;padding:2px 5px;border-radius:3px}.message-body{font-size:13px;line-height:1.9;color:#4c584a;white-space:pre-wrap;overflow-wrap:anywhere}.message.pending{opacity:.55}.message.pending .message-time{color:#9c711b}.message.failed{background:#fff4f0;border-radius:8px;padding:8px}.message.failed button{font-size:11px;color:var(--danger);padding:4px 0}.empty-chat{text-align:center;color:#95a18a;padding:28px;font-size:12px;line-height:1.8}.load-older{display:block;margin:0 auto 20px;font-size:11px;padding:8px 14px;border:1px solid var(--line);border-radius:20px;color:#829077}.composer-wrap{padding:12px 33px 20px;flex-shrink:0}.composer{border:1px solid #d8e0ce;border-radius:12px;box-shadow:0 3px 10px #263a1705;overflow:hidden;background:#fff}.composer:focus-within{border-color:#8da872;box-shadow:0 0 0 3px #dce8d033}.composer textarea{display:block;width:100%;height:70px;min-height:65px;max-height:180px;resize:none;border:0;padding:17px 18px 6px;color:#35452d;font-size:13px;background:transparent;outline:none;line-height:1.6}.composer textarea::placeholder{color:#a4ac9c}.composer-toolbar{display:flex;align-items:center;gap:9px;padding:4px 12px 10px}.composer-toolbar .hint{font-size:10px;color:#a0a893}.composer-toolbar .count{margin-left:auto;font-size:10px;color:#9ca48f}.send{display:flex;align-items:center;justify-content:center;gap:7px;padding:8px 13px;border-radius:7px;background:var(--green);color:#fff;font-size:11px}.send svg{width:14px;height:14px}.composer-footer{display:flex;align-items:center;justify-content:space-between;padding:10px 2px 0;color:#a1a99a;font-size:9px;letter-spacing:.3px}.composer-footer span{display:flex;align-items:center;gap:5px}.composer-footer svg{width:11px;height:11px}.mobile-menu{display:none}.search-strip{display:flex;align-items:center;gap:10px;padding:12px 32px;background:#f7f9f2;border-bottom:1px solid var(--line)}.search-strip input{width:100%;border:1px solid #d9e3cf;padding:10px;border-radius:8px;outline:none}.search-caption{font-size:10px;color:var(--muted);white-space:nowrap}#toasts{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);z-index:100;max-width:90vw;pointer-events:none}.toast{margin-top:8px;padding:13px 20px;background:#254d3e;color:#fff;border-radius:10px;box-shadow:0 8px 30px #102c2026;font-size:13px}.toast.error{background:#8c4437}dialog{border:1px solid #dfe6d5;border-radius:19px;padding:28px;width:460px;max-width:calc(100vw - 32px);color:var(--ink);box-shadow:0 20px 100px #142e2122}dialog::backdrop{background:#17352955;backdrop-filter:blur(3px)}.modal-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.modal-heading h2{font-size:21px;letter-spacing:-.6px;margin:0}dialog p{color:var(--muted);font-size:13px;line-height:1.8}.field{display:flex;flex-direction:column;gap:8px;margin:17px 0;font-size:12px;font-weight:500}.field input,.field textarea,.invite-link{width:100%;border:1px solid #d9e1d2;border-radius:8px;padding:12px;background:#fcfdf9;color:#35492f;outline:none;min-width:0}.field input:focus,.field textarea:focus{border-color:#86a56d;box-shadow:0 0 0 3px #e8efdc}.field small{font-size:10px;color:var(--muted);line-height:1.7;font-weight:400}.form-error{color:var(--danger);font-size:12px;line-height:1.7;margin:10px 0}.full{width:100%}.modal-member{display:flex;gap:12px;align-items:center;padding:12px 0;border-bottom:1px solid var(--line)}.modal-member .person{flex:1;min-width:0}.modal-member strong{display:block;font-size:13px}.modal-member small{display:block;margin-top:4px;font-size:11px;color:var(--muted);overflow-wrap:anywhere}.remove-member{font-size:11px;color:var(--danger);padding:8px}.stat-line{display:flex;justify-content:space-between;padding:12px 0;border-bottom:1px solid var(--line);font-size:12px}.modal-actions{display:flex;gap:10px;margin-top:20px}.invite-link{font-size:12px;line-height:1.7;overflow-wrap:anywhere;margin:15px 0;resize:none;height:100px}.auth-layout{min-height:100dvh;display:grid;grid-template-columns:minmax(380px,1fr) minmax(440px,1fr);background:#fcfdf9}.auth-aside{background:#e9efdf;padding:50px 10%;display:flex;flex-direction:column;position:relative;overflow:hidden}.auth-story{margin:auto 0;padding:80px 0;z-index:1}.auth-story h1{font-size:clamp(38px,4.4vw,64px);font-weight:500;line-height:1.25;letter-spacing:-2px;max-width:600px;margin:25px 0}.auth-story p{line-height:1.9;font-size:14px;color:#7b886d;max-width:390px}.auth-orbit{width:370px;height:370px;border:1px solid #d6e2c2;border-radius:50%;position:absolute;bottom:-100px;right:-100px}.auth-orbit:before{content:"";position:absolute;inset:40px;border:1px solid #d6e2c2;border-radius:50%}.auth-footer{font-size:11px;color:#7f9071;display:flex;justify-content:space-between;z-index:1}.auth-main{display:flex;align-items:center;justify-content:center;padding:60px 40px;position:relative}.auth-language{position:absolute;right:30px;top:24px;font-size:11px}.auth-panel{width:360px;max-width:100%}.auth-panel h2{font-weight:600;letter-spacing:-1px;font-size:29px;margin:12px 0}.auth-panel .subtitle{font-size:12px;color:var(--muted);line-height:1.8;margin-bottom:25px}.auth-tabs{display:flex;border-bottom:1px solid var(--line);gap:24px;margin-bottom:25px}.auth-tab{font-size:12px;color:#8a9580;padding:10px 0 12px}.auth-tab.active{color:var(--green);border-bottom:2px solid var(--green);font-weight:650}.auth-panel .primary{margin-top:8px}.auth-fineprint{font-size:10px;color:#919c86;line-height:1.8;margin-top:23px}.auth-back{display:inline-block;margin-top:20px;font-size:11px}.mobile-backdrop{display:none}[hidden]{display:none!important}
@media(min-width:1500px){.chat-scroll{padding-left:7%;padding-right:7%}.composer-wrap{padding-left:7%;padding-right:7%}.app-shell{grid-template-columns:78px 268px minmax(0,1fr)}}
@media(max-width:1100px){.app-shell{grid-template-columns:64px 216px minmax(0,1fr)}.topbar{padding:0 22px}.chat-scroll{padding:25px 22px 12px}.composer-wrap{padding:10px 22px 18px}.welcome-tag{display:none}.topbar-actions{gap:8px}.member-stack{display:none}.welcome{padding:20px}.welcome h2{font-size:17px}}
@media(max-width:760px){.app-shell{grid-template-columns:minmax(0,1fr)}.rail{display:none}.sidebar{position:fixed;top:0;bottom:0;left:0;width:274px;z-index:30;transform:translateX(-100%);transition:transform .2s}.app-shell.menu-open .sidebar{transform:translateX(0)}.app-shell.menu-open .mobile-backdrop{display:block;position:fixed;inset:0;z-index:25;background:#19362755}.mobile-menu{display:flex}.topbar{height:75px;padding:0 14px;gap:10px}.channel-mark{display:none}.topbar-actions{gap:4px}.topbar-actions .vertical-divider{display:none}.invite-button{font-size:0;padding:8px}.invite-button svg{width:18px;height:18px}.channel-heading h1{font-size:15px}.channel-heading p{font-size:10px;max-width:190px}.connection-bar{padding:10px 18px;font-size:9px}.connection-bar .region{font-size:8px}.chat-scroll{padding:20px 18px 8px}.welcome{padding:17px;gap:13px;min-height:100px;margin-bottom:23px}.welcome-graphic{height:41px;width:41px;border-radius:12px}.welcome h2{font-size:15px}.welcome p{font-size:10px}.welcome-graphic svg{width:23px}.composer-wrap{padding:8px 12px max(12px,env(safe-area-inset-bottom))}.composer textarea{padding:14px 13px 5px;min-height:59px;height:59px;font-size:13px}.composer-toolbar .hint{font-size:9px;max-width:180px}.composer-footer{font-size:8px}.message{gap:10px;margin-bottom:20px}.message-body{font-size:13px}.message .avatar{width:31px;height:31px;border-radius:9px;font-size:11px}.message-author{font-size:11px}.search-strip{padding:10px 14px;flex-wrap:wrap}.search-caption{width:100%}.auth-layout{display:block}.auth-aside{padding:30px 24px}.auth-story{padding:20px 0 8px}.auth-story h1{font-size:32px;margin:12px 0;letter-spacing:-1px}.auth-story p,.auth-footer,.auth-story .eyebrow{display:none}.auth-main{padding:48px 24px 35px}.auth-language{top:13px;right:20px}.auth-panel{width:100%;max-width:390px}.auth-panel h2{font-size:25px}.auth-panel .field{margin:14px 0}.auth-orbit{width:200px;height:200px}.brand img{width:31px;height:31px}.brand{font-size:18px}dialog{padding:22px}.composer .count{font-size:9px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
