:root{color-scheme:light;--brand: #4866d9;--brand-ink: #203064;--brand-soft: #edf0ff;--rose: #e85f91;--teal: #18a7b5;--page: #f7f8fc;--paper: #ffffff;--paper-soft: #f2f4fb;--chip: #eef1f7;--text: #20212a;--muted: #676b7c;--line: #dde1ea;--shadow: 0 10px 26px rgba(31, 35, 57, .075);--shadow-hover: 0 16px 36px rgba(31, 35, 57, .12)}:root[data-theme=dark]{color-scheme:dark;--brand: #9aa8ff;--brand-ink: #dfe4ff;--brand-soft: #252b42;--rose: #ff9abb;--teal: #72d7d2;--page: #101217;--paper: #181b22;--paper-soft: #202530;--chip: #252b36;--text: #f0f2f8;--muted: #b8bdcb;--line: #303744;--shadow: 0 10px 28px rgba(0, 0, 0, .22);--shadow-hover: 0 16px 40px rgba(0, 0, 0, .32)}*{box-sizing:border-box}html{background:var(--page);font-size:15px}body{margin:0;min-height:100vh;font-family:Inter,HarmonyOS Sans SC,Microsoft YaHei,system-ui,sans-serif;background:radial-gradient(circle at 18% 18%,rgba(72,102,217,.1),transparent 34%),linear-gradient(180deg,#f6f8ff 0,var(--page) 320px);color:var(--text)}:root[data-theme=dark] body{background:linear-gradient(180deg,#151a27 0,var(--page) 280px)}button,input,textarea,select{font:inherit}button{cursor:pointer;user-select:none}button,input,textarea,select{transition:background-color .16s ease,border-color .16s ease,box-shadow .16s ease,transform .16s ease,color .16s ease}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid color-mix(in srgb,var(--brand) 28%,transparent);outline-offset:2px}.loading-screen{min-height:100vh;display:grid;place-items:center;color:var(--brand-ink);font-weight:750}.auth-page{width:min(1060px,calc(100% - 40px));min-height:100vh;margin:0 auto;padding:56px 0;display:grid;grid-template-columns:minmax(0,600px) 360px;justify-content:center;gap:28px;align-items:center}.auth-hero{min-height:430px;display:grid;align-content:center;padding:42px;border-radius:20px;color:#fff;background:linear-gradient(135deg,#203064f0,#4866d9d6 56%,#18a7b5c2),#4866d9;box-shadow:var(--shadow)}.auth-hero h1{max-width:720px;margin:0;font-size:clamp(2.1rem,4vw,3.65rem);line-height:1.12;letter-spacing:0}.auth-hero p:not(.eyebrow){max-width:520px;margin:18px 0 0;color:#ffffffd6;line-height:1.7}.eyebrow{margin:0 0 8px;color:var(--brand);font-size:.72rem;font-weight:820;letter-spacing:.08em}.auth-hero .eyebrow{color:#fffc}.auth-card,.panel,.hero,.post-card,.section-card,.article,.comments,.composer,.profile{border:1px solid var(--line);background:var(--paper);box-shadow:var(--shadow)}.auth-card{display:grid;gap:12px;padding:22px;border-radius:18px}label{display:grid;gap:6px;color:var(--muted);font-size:.9rem;font-weight:650}input,textarea,select{width:100%;border:1px solid var(--line);border-radius:11px;padding:10px 12px;background:var(--paper-soft);color:var(--text);outline:none}textarea{min-height:240px;resize:vertical;line-height:1.65}.mode-tabs{display:grid;grid-template-columns:1fr 1fr;gap:4px;padding:4px;border-radius:12px;background:var(--paper-soft)}.mode-tabs button,.tonal{border:0;border-radius:9px;padding:9px 12px;background:transparent;color:var(--muted);font-weight:700}.mode-tabs button.active,.tonal:hover{background:var(--paper);color:var(--brand-ink);box-shadow:0 3px 10px #1f23390f}.primary,.upload{min-height:40px;display:inline-grid;place-items:center;border:0;border-radius:11px;padding:0 16px;background:var(--brand);color:#fff;font-weight:760}.primary:hover,.upload:hover{transform:translateY(-1px);background:var(--brand-ink);box-shadow:var(--shadow-hover)}.error{margin:0;padding:10px 12px;border-radius:11px;background:#ffdad6;color:#8c1d18}.app{width:min(1480px,calc(100% - 36px));min-height:100vh;margin:0 auto;padding:14px 0 42px;display:grid;grid-template-columns:60px minmax(0,1fr);gap:16px;align-items:start}.rail{position:sticky;top:14px;align-self:start;display:grid;gap:6px;padding:7px;border:1px solid var(--line);border-radius:16px;background:var(--paper);box-shadow:var(--shadow)}.rail button{min-height:42px;border:0;border-radius:12px;background:transparent;color:var(--muted);font-size:.84rem;font-weight:760}.rail button.active,.rail button:hover{background:var(--brand-soft);color:var(--brand-ink)}.rail .logo{background:linear-gradient(135deg,var(--brand),var(--teal));color:#fff;font-size:1.05rem}.content{min-width:0;display:grid;gap:14px;align-content:start}.topbar,.actions,.compose-row{display:flex;align-items:center;gap:9px}.topbar{min-height:46px;justify-content:space-between;padding:0 2px}.topbar h1{margin:0;font-size:1.45rem;line-height:1.15}.home-layout{display:grid;grid-template-columns:minmax(620px,840px) minmax(280px,320px);justify-content:start;align-items:start;gap:18px}.main-column,.side-column,.feed,.search-panel,.section-list,.composer-main,.tips{display:grid;gap:12px;align-content:start}.side-column{position:sticky;top:14px}.hero{min-height:180px;padding:24px;border-radius:18px;background:linear-gradient(135deg,#edf0ffe6,#fffffff5 62%,#e2f8f6db),var(--paper)}:root[data-theme=dark] .hero{background:linear-gradient(135deg,#252b42e6,#181b22fa 62%,#163534b8),var(--paper)}.hero h2{max-width:600px;margin:0;font-size:clamp(1.65rem,2.5vw,2.65rem);line-height:1.1;letter-spacing:0}.hero p,.post-card p,.byline,.profile p,.profile-mini p,.section-card p{color:var(--muted);line-height:1.68}.hero p{margin:10px 0 0}.panel{padding:14px;border-radius:16px}.panel h3{margin:0;font-size:.98rem}.profile-mini{grid-template-columns:42px minmax(0,1fr);align-items:center}.profile-mini strong{display:block;margin-bottom:2px}.profile-mini p{margin:0;font-size:.86rem}.section-list button,.section-card{width:100%;min-height:52px;display:grid;grid-template-columns:36px minmax(0,1fr) auto;align-items:center;gap:10px;border:1px solid transparent;border-radius:12px;padding:8px;background:transparent;color:var(--text);text-align:left}.section-list button:hover,.section-card:hover{border-color:var(--line);background:var(--brand-soft)}.section-list span,.section-card span,.avatar{width:36px;height:36px;display:grid;place-items:center;border-radius:11px;background:linear-gradient(135deg,var(--brand),var(--teal));color:#fff;font-weight:780}.section-list small{min-width:24px;text-align:right;color:var(--muted)}.post-card{display:grid;grid-template-columns:42px minmax(0,1fr);gap:12px;padding:16px;border-radius:16px}.post-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-hover)}.post-card h3{margin:6px 0;font-size:1.18rem;line-height:1.3}.post-card p{margin:0 0 10px}.meta,.tags{display:flex;flex-wrap:wrap;align-items:center;gap:6px;min-width:0;color:var(--muted)}.meta span,.tags span{flex:0 0 auto;max-width:100%;white-space:nowrap;border-radius:999px;padding:4px 9px;background:var(--chip);color:var(--muted);font-size:.78rem;font-weight:680;line-height:1.25}.section-page,.profile-page{display:grid;grid-template-columns:320px minmax(0,780px);gap:18px;align-items:start}.page-intro{position:sticky;top:14px;min-height:240px;padding:22px;border:1px solid var(--line);border-radius:18px;background:linear-gradient(135deg,#edf0fff2,#fffffffa 64%,#e2f8f6e6),var(--paper);box-shadow:var(--shadow)}:root[data-theme=dark] .page-intro{background:linear-gradient(135deg,#252b42f2,#181b22fa 64%,#163534b8),var(--paper)}.page-intro h2{margin:0;font-size:2rem;line-height:1.12}.page-intro p:not(.eyebrow){margin:12px 0 0;color:var(--muted);line-height:1.7}.section-compact-grid{display:grid;gap:10px}.section-card{grid-template-columns:42px minmax(0,1fr) auto;min-height:92px;padding:14px;border-color:var(--line)}.section-card h3{margin:0 0 4px;font-size:1.12rem}.section-card p{margin:0;color:var(--muted);line-height:1.55}.section-card>strong{align-self:center;white-space:nowrap;color:var(--brand-ink);font-size:.9rem}.article,.comments,.composer,.profile{width:min(880px,100%);padding:26px;border-radius:18px}.article h2,.composer h2{margin:12px 0 6px;font-size:clamp(1.8rem,3vw,2.7rem);line-height:1.12;letter-spacing:0}.markdown{max-width:720px;font-size:1rem;line-height:1.82}.markdown img{max-width:100%;border-radius:12px;box-shadow:var(--shadow)}.markdown pre{overflow-x:auto;padding:14px;border-radius:12px;background:#171923;color:#f8f9ff}.markdown code{border-radius:6px;padding:2px 5px;background:var(--chip)}.comments{display:grid;gap:12px}.comments h2{margin:0}.comments article{border-top:1px solid var(--line);padding-top:12px}.comments small{margin-left:8px;color:var(--muted)}.upload{position:relative;overflow:hidden}.upload input{position:absolute;inset:0;opacity:0}.write-page{display:grid;grid-template-columns:250px minmax(560px,820px) minmax(280px,340px);gap:14px;align-items:start}.write-settings,.editor-shell,.preview-panel{border:1px solid var(--line);background:var(--paper);box-shadow:var(--shadow)}.write-settings,.preview-panel{position:sticky;top:14px;display:grid;gap:14px;padding:16px;border-radius:16px}.write-settings h2,.preview-panel h2{margin:0;font-size:1.25rem;line-height:1.25}.compose-stats,.status-list{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.compose-stats span,.status-list span{display:grid;gap:4px;padding:10px;border-radius:12px;background:var(--paper-soft);color:var(--muted);font-size:.78rem}.compose-stats strong,.status-list strong{color:var(--text);font-size:1.08rem}.editor-shell{display:grid;overflow:hidden;border-radius:16px}.title-input{height:64px;border:0;border-radius:0;padding:0 20px;background:var(--paper);color:var(--text);font-size:1.45rem;font-weight:780}.editor-toolbar{display:flex;flex-wrap:wrap;gap:6px;padding:10px 12px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--paper-soft)}.tool-btn{min-height:34px;display:inline-grid;place-items:center;border:1px solid transparent;border-radius:10px;padding:0 11px;background:var(--paper);color:var(--muted);font-size:.84rem;font-weight:730}.tool-btn:hover{border-color:var(--line);color:var(--brand-ink);background:var(--brand-soft)}.markdown-editor{min-height:calc(100vh - 250px);border:0;border-radius:0;padding:20px;background:var(--paper);font-family:JetBrains Mono,Cascadia Code,Consolas,monospace;font-size:.98rem;line-height:1.85}.editor-footer{min-height:56px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px 10px 18px;border-top:1px solid var(--line);background:var(--paper-soft);color:var(--muted)}.preview-panel{max-height:calc(100vh - 28px);overflow:auto}.preview-body{max-width:none;padding-top:4px}.profile{display:grid;gap:18px;width:100%;min-height:0;margin:0}.profile-head{display:grid;grid-template-columns:64px minmax(0,1fr);gap:16px;align-items:center}.profile h2{margin:0;font-size:2rem;line-height:1.15}.profile p{margin:4px 0 0}.avatar.large{width:64px;height:64px;border-radius:16px;font-size:1.5rem}.profile-grid{display:grid;grid-template-columns:minmax(0,1fr) 120px;gap:12px;padding-top:14px;border-top:1px solid var(--line)}.profile-grid small{display:block;margin-bottom:8px;color:var(--muted);font-size:.82rem}.admin-link{justify-self:start;color:var(--brand-ink);font-weight:750;text-decoration:none}.profile-side{display:grid;gap:12px;align-content:start}.profile-side .panel{display:grid;gap:10px}.empty{padding:18px;border:1px dashed var(--line);border-radius:14px;background:var(--paper);color:var(--muted)}@media(max-width:1100px){.home-layout{grid-template-columns:minmax(0,1fr)}.section-page,.profile-page,.write-page{grid-template-columns:1fr}.page-intro{position:static;min-height:0}.side-column{position:static;grid-row:1;grid-template-columns:repeat(2,minmax(0,1fr))}.section-list{grid-column:1 / -1}.write-settings,.preview-panel{position:static}.markdown-editor{min-height:440px}}@media(max-width:760px){html{font-size:14px}.auth-page,.app,.composer{grid-template-columns:1fr}.auth-page,.app{width:min(100% - 24px,680px)}.auth-hero{min-height:300px;padding:28px}.rail{position:static;grid-template-columns:repeat(5,minmax(0,1fr))}.rail button{min-height:42px}.side-column,.profile-grid{grid-template-columns:1fr}.topbar,.actions,.compose-row{align-items:stretch;flex-direction:column}}.invite-admin-page{display:grid;grid-template-columns:320px minmax(0,760px);gap:18px;align-items:start}.invite-panel,.invite-list{border:1px solid var(--line);border-radius:16px;background:var(--paper);box-shadow:var(--shadow)}.invite-panel{display:grid;gap:14px;padding:18px}.invite-form-grid{display:grid;grid-template-columns:minmax(0,1fr) 160px;gap:12px}.group-picker{display:grid;gap:8px}.group-picker small{color:var(--muted);font-weight:720}.pickable-tags button{border:0;border-radius:999px;padding:6px 10px;background:var(--chip);color:var(--muted);font-size:.82rem;font-weight:720}.pickable-tags button.active{background:var(--brand-soft);color:var(--brand-ink);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--brand) 24%,transparent)}.invite-list{display:grid;gap:0;overflow:hidden}.invite-card{display:grid;grid-template-columns:1fr;gap:14px;align-items:start;padding:18px;border-bottom:1px solid var(--line)}.invite-card>div:first-child{min-width:0}.invite-card:last-child{border-bottom:0}.invite-card code{display:block;width:fit-content;max-width:100%;overflow-x:auto;overflow-y:hidden;border-radius:12px;padding:10px 12px;background:var(--paper-soft);color:var(--brand-ink);font-weight:760;line-height:1.35;white-space:nowrap}.invite-card p{margin:8px 0;color:var(--muted)}@media(max-width:1100px){.invite-admin-page{grid-template-columns:1fr}}@media(max-width:760px){.invite-form-grid{grid-template-columns:1fr}}.invite-actions{display:flex;flex-wrap:wrap;justify-content:flex-start;gap:8px}.danger{min-height:40px;border:0;border-radius:11px;padding:0 14px;background:#ffdad6;color:#8c1d18;font-weight:760}.danger:hover{transform:translateY(-1px);background:#ffb4ab}@media(max-width:760px){.invite-actions{justify-content:flex-start}}.modal-backdrop{position:fixed;inset:0;z-index:80;display:grid;place-items:center;padding:24px;background:#11182761;backdrop-filter:blur(14px)}.confirm-dialog{width:min(430px,100%);display:grid;gap:12px;border:1px solid var(--line);border-radius:22px;padding:24px;background:var(--paper);box-shadow:0 28px 80px #2a345438}.confirm-dialog h2{margin:0;color:var(--ink);font-size:1.35rem;line-height:1.25}.confirm-dialog p:not(.eyebrow){margin:0;color:var(--muted);line-height:1.7}.confirm-dialog code{overflow-wrap:anywhere;border-radius:12px;padding:10px 12px;background:var(--paper-soft);color:var(--brand-ink);font-weight:760}.dialog-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:4px}@media(max-width:760px){.dialog-actions{display:grid;grid-template-columns:1fr 1fr}}
