/* НСК ДНК · связь — палитра из аватарки канала: ночной синий + красное сердце */
:root{
  --bg:#f4f5f8; --panel:#ffffff; --panel2:#f9fafc; --line:#e3e6ee; --line2:#eef0f5;
  --ink:#16203a; --ink2:#4a5370; --muted:#8a91a6;
  --navy:#14234b; --accent:#d9472b; --accent-ink:#ffffff; --accent-soft:#fdece7;
  --blue:#2a5bd7; --ok:#1f9d55; --bad:#c62f2f; --warn:#e08a1e;
  --in:#ffffff; --out:#e8eefc; --out-ink:#16203a; --flash:#fff3c4;
  --r:10px; --shadow:0 6px 24px rgba(20,35,75,.12);
  --font: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  color-scheme: light;
}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){
    --bg:#0f1424; --panel:#161c30; --panel2:#1b2238; --line:#283050; --line2:#212842;
    --ink:#e8ebf5; --ink2:#b5bbd0; --muted:#7d849c;
    --navy:#0b1226; --accent:#ec5a3c; --accent-soft:#3a1f1c;
    --blue:#7aa2ff; --in:#1d2440; --out:#23325e; --out-ink:#eef1fb; --flash:#4a4120;
    --shadow:0 6px 24px rgba(0,0,0,.4); color-scheme: dark;
  }
}
:root[data-theme="dark"]{
  --bg:#0f1424; --panel:#161c30; --panel2:#1b2238; --line:#283050; --line2:#212842;
  --ink:#e8ebf5; --ink2:#b5bbd0; --muted:#7d849c;
  --navy:#0b1226; --accent:#ec5a3c; --accent-soft:#3a1f1c;
  --blue:#7aa2ff; --in:#1d2440; --out:#23325e; --out-ink:#eef1fb; --flash:#4a4120;
  --shadow:0 6px 24px rgba(0,0,0,.4); color-scheme: dark;
}
*{box-sizing:border-box}
html,body{margin:0;height:100%}
body{background:var(--bg);color:var(--ink);font:14px/1.45 var(--font);-webkit-text-size-adjust:100%}
a{color:var(--blue);text-decoration:none} a:hover{text-decoration:underline}
code{font:12.5px ui-monospace,SFMono-Regular,Menlo,monospace;background:var(--line2);padding:1px 5px;border-radius:5px}
.muted{color:var(--muted)} .err{color:var(--bad)} .grow{flex:1}
[hidden]{display:none!important}

button,.btn{font:inherit;font-size:13px;border:1px solid var(--line);background:var(--panel);color:var(--ink);
  padding:7px 12px;border-radius:8px;cursor:pointer;line-height:1.2}
button:hover{border-color:var(--ink2)}
button:disabled{opacity:.5;cursor:default}
button.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink);font-weight:600}
button.primary:hover{filter:brightness(1.06)}
button.ghost{background:transparent;border-color:transparent}
button.ghost:hover{background:var(--line2)}
button.sm,summary.sm{padding:5px 10px;font-size:12.5px}
button.xs{padding:1px 6px;font-size:11px}
button.danger,.danger{color:var(--bad)}
button.on{background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}
input,textarea,select{font:inherit;color:var(--ink);background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:8px 10px;width:100%}
input:focus,textarea:focus,select:focus{outline:2px solid color-mix(in srgb,var(--blue) 35%,transparent);border-color:var(--blue)}
:focus-visible{outline:2px solid var(--blue);outline-offset:1px}

.heart{display:inline-block;width:18px;height:16px;background:var(--accent);
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 28'%3E%3Cpath d='M16 28C6 20 0 14.5 0 8.5 0 3.8 3.6 0 8.2 0c3.2 0 5.9 1.8 7.8 4.4C17.9 1.8 20.6 0 23.8 0 28.4 0 32 3.8 32 8.5 32 14.5 26 20 16 28z'/%3E%3C/svg%3E") center/contain no-repeat;
          mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 28'%3E%3Cpath d='M16 28C6 20 0 14.5 0 8.5 0 3.8 3.6 0 8.2 0c3.2 0 5.9 1.8 7.8 4.4C17.9 1.8 20.6 0 23.8 0 28.4 0 32 3.8 32 8.5 32 14.5 26 20 16 28z'/%3E%3C/svg%3E") center/contain no-repeat}
.heart.lg{width:54px;height:48px;opacity:.85}
.pill{display:inline-block;min-width:18px;padding:0 6px;border-radius:9px;font-size:11px;font-weight:700;line-height:18px;text-align:center}
.pill.wait{background:var(--accent);color:#fff}

/* ── шапка ── */
.top{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:18px;height:52px;padding:0 16px;
  background:var(--navy);color:#fff}
.brand{display:flex;align-items:center;gap:7px;color:#fff;font-size:15px;letter-spacing:.2px}
.brand:hover{text-decoration:none}
.brand-sub{font-size:12px;color:#aab4d6;font-weight:500;margin-left:1px}
.brand.big{font-size:22px;color:var(--ink);gap:9px;margin-bottom:12px}
.brand.big .heart{width:28px;height:25px}
.brand.big .brand-sub{color:var(--muted);font-size:15px}
.nav{display:flex;gap:2px}
.nav a{color:#cfd6ee;padding:7px 12px;border-radius:8px;font-weight:500}
.nav a:hover{background:rgba(255,255,255,.08);text-decoration:none;color:#fff}
.nav a.on{background:rgba(255,255,255,.14);color:#fff}
.who{margin-left:auto;display:flex;align-items:center;gap:8px;color:#cfd6ee;font-size:13px}
.who a{color:#cfd6ee;font-size:12.5px;padding:5px 8px;border-radius:7px}
.who a:hover{background:rgba(255,255,255,.08);text-decoration:none}

/* ── экран диалогов ── */
.dlg{display:grid;grid-template-columns:340px minmax(0,1fr);height:calc(100dvh - 52px);overflow:hidden}
body.card-open .dlg{grid-template-columns:340px minmax(0,1fr) 300px}
.list{display:flex;flex-direction:column;min-width:0;border-right:1px solid var(--line);background:var(--panel);min-height:0}
.list-head{padding:10px 10px 8px;display:flex;flex-direction:column;gap:8px;border-bottom:1px solid var(--line2)}
.chips{display:flex;gap:5px;overflow-x:auto;scrollbar-width:none;padding-bottom:1px}
.chips::-webkit-scrollbar{display:none}
.chips button{flex:none;white-space:nowrap}
.chips button{padding:4px 10px;border-radius:14px;font-size:12.5px}
.seg{display:flex;gap:2px;background:var(--line2);padding:2px;border-radius:8px;overflow-x:auto;scrollbar-width:none}
.seg button{flex:1 1 auto;white-space:nowrap;border:0;background:transparent;padding:5px 8px;font-size:12px;border-radius:6px;color:var(--ink2)}
.seg button.on{background:var(--panel);color:var(--ink);box-shadow:0 1px 2px rgba(0,0,0,.08);font-weight:600}
.items{list-style:none;margin:0;padding:0;overflow-y:auto;flex:1}
.items .none{padding:28px 16px;text-align:center;color:var(--muted)}
.it{display:flex;gap:10px;padding:10px 12px;cursor:pointer;border-bottom:1px solid var(--line2);position:relative}
.it:hover{background:var(--panel2)}
.it.cur{background:var(--accent-soft)}
.it.waiting::before{content:"";position:absolute;left:0;top:10px;bottom:10px;width:3px;border-radius:0 3px 3px 0;background:var(--accent)}
.ava,.cava{flex:none;width:38px;height:38px;border-radius:50%;display:grid;place-items:center;font-weight:700;font-size:13px;color:#fff;
  background:hsl(var(--h) 45% 48%)}
.it-main{min-width:0;flex:1}
.it-top{display:flex;gap:6px;align-items:baseline}
.it-name{font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1}
.it.unread .it-name::after{content:"";display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--blue);margin-left:6px;vertical-align:middle}
.it-time{font-size:11.5px;color:var(--muted);flex:none}
.it.waiting .it-time{color:var(--accent);font-weight:600}
.it-prev{color:var(--ink2);font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.it.unread .it-prev{color:var(--ink)}
.it-meta{display:flex;gap:6px;align-items:center;margin-top:2px;font-size:11.5px;color:var(--muted);white-space:nowrap;overflow:hidden}
.it-meta .ln{background:var(--line2);padding:0 6px;border-radius:5px}
.it-meta .op{color:var(--warn)}
.it-meta .snz{font-style:italic}
.it-meta .tg{overflow:hidden;text-overflow:ellipsis}

.thread{display:flex;flex-direction:column;min-width:0;min-height:0;background:var(--bg)}
.empty{margin:auto;text-align:center;color:var(--ink2)}
.t-wrap{display:flex;flex-direction:column;height:100%;min-height:0}
.t-head{display:flex;align-items:center;gap:10px;padding:8px 12px;background:var(--panel);border-bottom:1px solid var(--line)}
.t-head .back{display:none;font-size:18px;padding:4px 10px}
.t-who{min-width:0;flex:1}
.t-name{font-weight:700;font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.t-name a{font-weight:400;font-size:13px}
.t-sub{font-size:12px;color:var(--muted)}
.t-acts{display:flex;gap:6px;align-items:center;flex-wrap:wrap;justify-content:flex-end}
details.more{position:relative}
details.more summary{list-style:none;border:1px solid var(--line);border-radius:8px;cursor:pointer;background:var(--panel)}
details.more summary::-webkit-details-marker{display:none}
details.more .menu{position:absolute;right:0;top:calc(100% + 4px);z-index:30;background:var(--panel);border:1px solid var(--line);border-radius:10px;
  box-shadow:var(--shadow);padding:4px;min-width:210px;display:flex;flex-direction:column}
details.more .menu button,details.more .menu a{border:0;background:none;text-align:left;padding:8px 10px;border-radius:7px;color:var(--ink)}
details.more .menu button:hover,details.more .menu a:hover{background:var(--line2);text-decoration:none}
details.more .menu .danger{color:var(--bad)}

.feed{flex:1;overflow-y:auto;padding:14px 18px 8px;display:flex;flex-direction:column;gap:3px}
.feed .none{margin:auto;color:var(--muted);text-align:center;max-width:340px}
.more-hist{text-align:center;margin-bottom:8px}
.day{text-align:center;margin:10px 0 6px}
.day span{font-size:11.5px;color:var(--ink2);background:var(--line2);padding:2px 10px;border-radius:10px}
.msg{display:flex;align-items:flex-end;gap:4px;max-width:min(640px,86%);position:relative}
.msg.in{align-self:flex-start}
.msg.out{align-self:flex-end;flex-direction:row-reverse}
.bub{background:var(--in);border:1px solid var(--line2);border-radius:14px;padding:7px 11px 5px;min-width:72px;overflow-wrap:anywhere}
.msg.in .bub{border-bottom-left-radius:4px}
.msg.out .bub{background:var(--out);color:var(--out-ink);border-color:transparent;border-bottom-right-radius:4px}
.msg.deleted .bub{opacity:.55}
.msg.deleted .tx{text-decoration:line-through}
.msg.flash .bub{background:var(--flash);transition:background .3s}
.tx{white-space:pre-wrap}
.tx blockquote{margin:3px 0;padding:2px 8px;border-left:3px solid var(--accent);background:color-mix(in srgb,var(--accent) 7%,transparent);border-radius:0 6px 6px 0}
.tx pre{margin:4px 0;padding:6px 8px;background:var(--line2);border-radius:6px;white-space:pre-wrap}
.spoiler{background:var(--ink2);color:transparent;border-radius:3px;cursor:pointer}
.spoiler.open{background:transparent;color:inherit}
.q{font-size:12.5px;color:var(--ink2);border-left:3px solid var(--blue);padding:1px 7px;margin-bottom:4px;cursor:pointer;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:420px}
.fwd{font-size:12px;color:var(--muted);margin-bottom:3px}
.meta{display:flex;gap:6px;justify-content:flex-end;align-items:baseline;flex-wrap:wrap;font-size:11px;color:var(--muted);margin-top:2px}
.meta .who{font-weight:600;color:var(--ink2)}
.meta .ok{color:var(--ok)} .meta .bad{color:var(--bad);font-weight:700}
.meta .del{color:var(--bad)}
.meta details.edits summary{cursor:pointer}
.meta details.edits div{text-align:left;white-space:normal;max-width:380px}
.rxs{display:flex;gap:4px;margin-top:3px}
.rx{font-size:13px;background:var(--line2);border-radius:10px;padding:0 6px}
.rx.ours{background:var(--accent-soft)}
.tools{display:flex;flex-direction:column;gap:2px;opacity:0;transition:opacity .12s}
.msg:hover .tools,.msg:focus-within .tools{opacity:1}
.tools button{padding:2px 6px;font-size:12px;background:var(--panel);border:1px solid var(--line);border-radius:6px}
.rmenu{position:absolute;z-index:25;bottom:100%;left:0;display:flex;gap:2px;background:var(--panel);border:1px solid var(--line);border-radius:20px;padding:3px;box-shadow:var(--shadow)}
.rmenu button{border:0;background:none;font-size:18px;padding:2px 5px;border-radius:12px}
.rmenu button:hover{background:var(--line2)}
.mimg img{display:block;max-width:100%;max-height:340px;border-radius:9px;margin:1px 0 4px}
.mvid{display:block;max-width:100%;max-height:340px;border-radius:9px;margin-bottom:4px;background:#000}
.mvid.round{width:220px;height:220px;border-radius:50%;object-fit:cover}
audio{display:block;max-width:280px;height:36px;margin-bottom:4px}
.mdoc{display:flex;gap:9px;align-items:center;padding:6px 8px;background:var(--line2);border-radius:9px;margin-bottom:4px;color:var(--ink)}
.mdoc:hover{text-decoration:none;filter:brightness(.97)}
.mdoc .ico{font-size:22px}
.alb{display:grid;gap:3px;margin-bottom:4px;max-width:380px}
.alb.n2,.alb.n3,.alb.n4{grid-template-columns:1fr 1fr}
.alb .mimg img,.alb .mvid{width:100%;height:150px;object-fit:cover;margin:0}
.alb .mdoc{grid-column:1/-1}
.kb{display:flex;flex-direction:column;gap:3px;margin:5px 0 2px}
.kb div{display:flex;gap:3px}
.kb a,.kb span{flex:1;text-align:center;font-size:12.5px;padding:5px 8px;border-radius:7px;background:color-mix(in srgb,var(--blue) 12%,transparent)}

.composer{background:var(--panel);border-top:1px solid var(--line);padding:6px 12px 10px;position:relative}
.composer.drop{outline:2px dashed var(--blue);outline-offset:-4px}
.quotebar{display:flex;align-items:center;gap:8px;font-size:12.5px;color:var(--ink2);border-left:3px solid var(--blue);padding:2px 8px;margin:4px 0}
.quotebar span{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.x{border:0;background:none;font-size:17px;line-height:1;padding:2px 6px;color:var(--muted)}
.atts{display:flex;gap:6px;flex-wrap:wrap;margin:4px 0}
.chip{display:inline-flex;align-items:center;gap:5px;background:var(--line2);border-radius:14px;padding:2px 4px 2px 9px;font-size:12px;color:var(--ink)}
.chip button{border:0;background:none;padding:0 4px;color:var(--muted);font-size:14px}
a.chip{padding-right:9px}
.fmt{display:flex;gap:2px;align-items:center;margin-bottom:5px}
.fmt>button{border:0;background:none;padding:4px 8px;color:var(--ink2);border-radius:6px}
.fmt>button:hover{background:var(--line2)}
.tplwrap{position:relative}
.tplwrap>button{font-size:12.5px}
.tplbox{position:absolute;right:0;bottom:calc(100% + 6px);width:min(520px,92vw);max-height:min(440px,60vh);display:flex;flex-direction:column;
  background:var(--panel);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow);z-index:40;padding:8px}
.tpllist{overflow-y:auto;margin-top:6px}
.tplsec{font-size:11px;text-transform:uppercase;letter-spacing:.5px;color:var(--muted);padding:8px 6px 3px}
.tplit{display:block;width:100%;text-align:left;border:0;border-radius:8px;padding:7px 8px;background:none}
.tplit:hover{background:var(--line2)}
.tplit span{display:block;color:var(--muted);font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pad{padding:10px}
.row{display:flex;gap:8px;align-items:flex-end}
.attach{cursor:pointer;font-size:19px;padding:6px 4px;line-height:1}
#text{resize:none;min-height:40px;max-height:260px;line-height:1.45}
.send{flex:none;height:40px}
.gate{font-size:12px;color:var(--ink2);margin-top:5px}

.card{border-left:1px solid var(--line);background:var(--panel);overflow-y:auto;min-height:0}
.card-inner{padding:18px 16px;position:relative}
.close-card{position:absolute;right:6px;top:6px}
.cava{width:60px;height:60px;font-size:20px;margin:0 auto 8px}
.cname{text-align:center;font-weight:700;font-size:16px}
.card-inner>a.muted{display:block;text-align:center;font-size:13px}
.card dl{display:grid;grid-template-columns:auto 1fr;gap:5px 10px;font-size:12.5px;margin:14px 0}
.card dt{color:var(--muted)} .card dd{margin:0;overflow-wrap:anywhere}
.sec{font-size:11px;text-transform:uppercase;letter-spacing:.5px;color:var(--muted);margin:16px 0 6px;font-weight:600}
.tags{display:flex;flex-wrap:wrap;gap:5px;align-items:center}
.tags input{width:110px;padding:3px 8px;font-size:12px;border-radius:14px}
.note{background:var(--panel2);border:1px solid var(--line2);border-radius:8px;padding:7px 9px;margin-top:6px;font-size:13px;white-space:pre-wrap}
.note .muted{font-size:11px;margin-top:3px}
#notein{font-size:13px}
details.acts div{font-size:12px;padding:2px 0}
details.acts summary{cursor:pointer}

#toast{position:fixed;left:50%;top:64px;transform:translate(-50%,-20px);opacity:0;pointer-events:none;z-index:100;
  background:var(--ink);color:var(--panel);padding:9px 16px;border-radius:9px;box-shadow:var(--shadow);transition:.18s;max-width:90vw;font-size:13px}
#toast.show{opacity:1;transform:translate(-50%,0)}
#toast.bad{background:var(--bad);color:#fff}

/* ── страницы ── */
.pagewrap{max-width:1100px;margin:0 auto;padding:22px 16px 60px}
.pagehead{display:flex;align-items:center;gap:12px;justify-content:space-between}
h1{font-size:22px;margin:0} h2{font-size:16px;margin:0 0 10px} h3{font-size:14px;margin:0 0 6px}
.toolbar{display:flex;gap:8px;margin:14px 0}
.toolbar input{max-width:320px} .toolbar select{max-width:220px}
.tgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:10px}
.tsec{grid-column:1/-1;font-size:12px;text-transform:uppercase;letter-spacing:.5px;color:var(--muted);margin:12px 0 0}
.tcard{background:var(--panel);border:1px solid var(--line);border-radius:var(--r);padding:12px 14px;cursor:pointer;display:flex;flex-direction:column;gap:6px}
.tcard:hover{border-color:var(--ink2)}
.tcard.off{opacity:.6}
.tc-body{font-size:13px;color:var(--ink2);white-space:pre-wrap;max-height:84px;overflow:hidden;
  -webkit-mask:linear-gradient(#000 60%,transparent);mask:linear-gradient(#000 60%,transparent)}
.tc-meta{display:flex;gap:6px;align-items:center;flex-wrap:wrap;font-size:11.5px}
.tc-meta .chip{padding-right:9px}
.none{color:var(--muted);padding:20px 0}
.modal{border:0;border-radius:14px;padding:0;width:min(640px,94vw);box-shadow:var(--shadow);background:var(--panel);color:var(--ink)}
.modal::backdrop{background:rgba(10,15,30,.45)}
.modal form{padding:18px 20px;display:flex;flex-direction:column;gap:10px}
.modal label{display:flex;flex-direction:column;gap:4px;font-size:12.5px;color:var(--ink2)}
.modal label.inline,label.inline{flex-direction:row;align-items:center;gap:7px;color:var(--ink)}
label.inline input{width:auto}
.two{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.modal-acts{display:flex;gap:8px;margin-top:6px}
#curimg img{max-width:160px;max-height:100px;border-radius:8px;display:block;margin-bottom:4px}
.box{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:16px 18px;margin-top:16px}
.botrow{display:flex;gap:8px;align-items:center;flex-wrap:wrap;padding:6px 0;border-bottom:1px solid var(--line2)}
.botrow:last-child{border:0}
.dot{width:9px;height:9px;border-radius:50%;flex:none} .dot.ok{background:var(--ok)} .dot.bad{background:var(--bad)}
.greet{border-top:1px solid var(--line2);padding-top:12px;margin-top:12px}
.greet textarea{font:13px/1.45 ui-monospace,SFMono-Regular,Menlo,monospace;margin-bottom:8px}
.greet .row{align-items:center}
.team{margin:0;padding-left:18px} .team li{padding:2px 0}
.cmds{border-collapse:collapse;font-size:13px} .cmds td{padding:4px 12px 4px 0;vertical-align:top}

/* ── вход ── */
.login{min-height:100dvh;display:grid;place-items:center;padding:16px}
.login-card{background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:28px 26px;max-width:400px;width:100%;box-shadow:var(--shadow)}
.login-card .err{background:color-mix(in srgb,var(--bad) 10%,transparent);padding:8px 10px;border-radius:8px}
.pwd{margin-top:14px} .pwd summary{cursor:pointer;color:var(--ink2)}
.pwd form{display:flex;flex-direction:column;gap:10px;margin-top:10px}
.pwd label{display:flex;flex-direction:column;gap:4px;font-size:12.5px;color:var(--ink2)}

/* ── планшет и телефон ── */
@media (max-width:1180px){
  body.card-open .dlg{grid-template-columns:300px minmax(0,1fr)}
  body.card-open .card{position:fixed;right:0;top:52px;bottom:0;width:min(320px,92vw);z-index:35;box-shadow:var(--shadow)}
  .dlg{grid-template-columns:300px minmax(0,1fr)}
}
@media (max-width:760px){
  .top{gap:8px;padding:0 10px}
  .who{gap:2px}
  .brand-sub,.who-name,.top .brand b{display:none}
  .nav a{padding:6px 8px;font-size:13px}
  .dlg,body.card-open .dlg{grid-template-columns:minmax(0,1fr)}
  .thread{display:none}
  body.has-thread .list{display:none}
  body.has-thread .thread{display:flex}
  .t-head{padding:6px 8px;gap:6px;flex-wrap:wrap}
  .t-head .back{display:block}
  .t-acts{order:3;width:100%;justify-content:flex-start}
  .feed{padding:10px 8px}
  .msg{max-width:94%}
  .tools{opacity:1}
  .fmt>button{padding:4px 6px}
  input,textarea,select{font-size:16px}
  .two{grid-template-columns:1fr}
  .composer{padding-bottom:calc(10px + env(safe-area-inset-bottom))}
}

/* ═══ постинг (v1.1) ═══ */
.pagewrap.wide{max-width:1400px}
.row.gap{gap:8px;align-items:center} .row.wrap{flex-wrap:wrap} .sep{width:1px;height:20px;background:var(--line);margin:0 4px}
.pill.q{background:var(--blue);color:#fff}
.navmore{position:relative} .navmore summary{list-style:none;color:#cfd6ee;padding:7px 12px;border-radius:8px;cursor:pointer;font-weight:500}
.navmore summary::-webkit-details-marker{display:none} .navmore summary:hover{background:rgba(255,255,255,.08)}
.navmore .menu{position:absolute;left:0;top:calc(100% + 4px);background:var(--panel);border:1px solid var(--line);border-radius:10px;box-shadow:var(--shadow);padding:4px;min-width:200px;display:flex;flex-direction:column;z-index:30}
.navmore .menu a{color:var(--ink);padding:8px 10px;border-radius:7px} .navmore .menu a:hover{background:var(--line2);text-decoration:none}
.navmore .menu a.on{background:var(--accent-soft);color:var(--accent)}
details.more .menu.wide{min-width:360px;padding:12px} details.more .menu.wide form{display:flex;flex-direction:column;gap:8px}
summary.btn{list-style:none;cursor:pointer;border:1px solid var(--line);border-radius:8px;padding:7px 12px;background:var(--panel)} summary.btn::-webkit-details-marker{display:none}

/* календарь */
.cal{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:12px;margin-top:12px}
.cal-head{display:flex;gap:10px;align-items:center;margin-bottom:10px;flex-wrap:wrap}
.cal-head .seg{flex:none} .cal-head .seg button{flex:none;padding:5px 10px}
.cal-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}
.cal-day{background:var(--panel2);border:1px solid var(--line2);border-radius:9px;padding:6px;min-height:150px;display:flex;flex-direction:column;gap:4px}
.cal-day.today{border-color:var(--accent)} .cal-day.wknd{background:color-mix(in srgb,var(--accent) 4%,var(--panel2))}
.cal-dh{font-size:12px;color:var(--muted);margin-bottom:2px} .cal-day.today .cal-dh{color:var(--accent)}
.cal-ch{font-size:10.5px;text-transform:uppercase;letter-spacing:.4px;color:var(--muted);margin-top:4px}
.cal-slot{display:block;font-size:11.5px;line-height:1.25;padding:4px 6px;border-radius:6px;color:var(--ink);border:1px dashed var(--line);overflow:hidden}
.cal-slot:hover{text-decoration:none;border-color:var(--ink2)}
.cal-slot span{display:block;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cal-slot.empty.k-rsya{border-color:color-mix(in srgb,var(--warn) 50%,transparent)} .cal-slot.empty.k-ad{border-color:color-mix(in srgb,var(--blue) 50%,transparent)}
.cal-slot.filled{border-style:solid;background:var(--panel)} .cal-slot.filled span{color:var(--ink2)}
.cal-slot.st-scheduled{border-color:var(--blue);background:color-mix(in srgb,var(--blue) 10%,var(--panel))}
.cal-slot.st-published{border-color:var(--ok);background:color-mix(in srgb,var(--ok) 9%,var(--panel))}
.cal-slot.st-failed{border-color:var(--bad);background:color-mix(in srgb,var(--bad) 10%,var(--panel))}
.cal-slot.filled.k-rsya,.cal-slot.filled.k-ad{border-left:3px solid var(--warn)}
.plist{margin-top:16px;display:flex;flex-direction:column;gap:10px} .plist .seg{max-width:460px}

/* карточки */
.pcards{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:10px;margin-top:10px}
.pcard{display:flex;flex-direction:column;gap:6px;background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:12px 14px;color:var(--ink)}
a.pcard:hover{text-decoration:none;border-color:var(--ink2)}
.pc-top{display:flex;gap:6px;align-items:center;flex-wrap:wrap;font-size:12px}
.pc-text{font-size:13px;color:var(--ink2);white-space:pre-wrap;max-height:84px;overflow:hidden;-webkit-mask:linear-gradient(#000 70%,transparent);mask:linear-gradient(#000 70%,transparent)}
.pc-text.clamp{max-height:150px;cursor:pointer;color:var(--ink);-webkit-mask:linear-gradient(#000 75%,transparent);mask:linear-gradient(#000 75%,transparent)}
.pc-text:not(.clamp).pc-text{max-height:none;-webkit-mask:none;mask:none;color:var(--ink)}
.pc-text.full{max-height:none;-webkit-mask:none;mask:none;color:var(--ink)}
.pc-meta{font-size:11.5px;color:var(--muted);display:flex;gap:8px;flex-wrap:wrap}
.st{font-size:11.5px;padding:1px 7px;border-radius:9px;background:var(--line2)}
.st-scheduled{background:color-mix(in srgb,var(--blue) 15%,transparent);color:var(--blue)} .st-published{background:color-mix(in srgb,var(--ok) 15%,transparent);color:var(--ok)}
.st-failed{background:color-mix(in srgb,var(--bad) 15%,transparent);color:var(--bad)} .st-deleted{text-decoration:line-through}
.chip.sel{border:0;background:var(--line2);font-size:12px;padding:2px 6px;width:auto} .chip.on{background:var(--accent-soft);color:var(--accent)}
.modal-body{padding:18px 20px;display:flex;flex-direction:column;gap:10px}
.ideaimg{max-width:240px;max-height:160px;border-radius:8px;object-fit:cover}

/* редактор */
.editor{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:16px;max-width:1400px;margin:0 auto;padding:16px}
.ed-main{display:flex;flex-direction:column;gap:10px;min-width:0}
.ed-top{display:flex;gap:8px;align-items:center;flex-wrap:wrap} .ed-top select{width:auto}
#f_text{min-height:320px;font-size:14.5px;line-height:1.5;resize:vertical}
.ed-block{background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:10px 12px;display:flex;flex-direction:column;gap:8px}
.ed-block label{display:flex;flex-direction:column;gap:3px;font-size:12px;color:var(--ink2)} .ed-block label.inline{flex-direction:row;align-items:center;color:var(--ink)} .ed-block input[type=datetime-local]{width:auto}
.ed-acts{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.medialist{display:flex;gap:6px;flex-wrap:wrap}
.btnrow{display:flex;gap:6px;margin-top:6px} .btnrow input:first-child{max-width:200px}
.aiwrap{position:relative} .aiwrap>button{border:1px solid var(--accent);color:var(--accent);background:var(--accent-soft);padding:4px 10px;border-radius:7px}
.aibox{position:absolute;left:0;top:calc(100% + 4px);z-index:30;background:var(--panel);border:1px solid var(--line);border-radius:10px;box-shadow:var(--shadow);padding:4px;min-width:260px;display:flex;flex-direction:column}
.aibox>button{border:0;background:none;text-align:left;padding:8px 10px;border-radius:7px;color:var(--ink)} .aibox>button:hover{background:var(--line2)}
.aifoot{padding:6px 10px;border-top:1px solid var(--line2);font-size:12px}
.ed-side{display:flex;flex-direction:column;gap:6px;min-width:0}
.tgprev{background:#e7ebf0;border-radius:12px;padding:10px;color:#111} :root[data-theme=dark] .tgprev{background:#0e1621;color:#eee}
@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .tgprev{background:#0e1621;color:#eee}}
.tgp-head{font-size:12.5px;display:flex;gap:6px;align-items:center;margin-bottom:6px} .tgp-head .heart{width:14px;height:12px}
.tgp-media .alb{max-width:100%} .tgp-media img,.tgp-media video{width:100%;max-height:260px;object-fit:cover;border-radius:8px;margin-bottom:6px}
.tgp-text{white-space:pre-wrap;font-size:14px;line-height:1.45;overflow-wrap:anywhere}
.tgp-text blockquote{margin:4px 0;padding:2px 8px;border-left:3px solid var(--accent)} .tgp-text a{color:#2a7bd6}
.tgp-btns div{display:flex;gap:3px;margin-top:4px} .tgp-btns span{flex:1;text-align:center;font-size:12.5px;padding:6px;border-radius:7px;background:rgba(42,123,214,.15)}
.tgp-foot{font-size:11px;color:var(--muted);margin-top:6px;text-align:right}
.simlist,.aiout{display:flex;flex-direction:column;gap:6px;font-size:13px}
.sim{background:var(--panel);border:1px solid var(--line2);border-radius:8px;padding:7px 9px;display:flex;flex-direction:column;gap:3px}
.aians{background:var(--panel);border:1px solid var(--accent);border-radius:8px;padding:9px 11px;white-space:pre-wrap;max-height:50vh;overflow-y:auto}

/* события */
.evlist{display:flex;flex-direction:column;gap:6px;margin:10px 0 20px}
.evcard{display:flex;gap:10px;background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:8px 10px;align-items:flex-start}
.evcard.sel{border-color:var(--accent)} .evchk{padding-top:4px} .evchk input{width:16px;height:16px}
.evimg{width:84px;height:84px;object-fit:cover;border-radius:7px;flex:none} .evbody{min-width:0;flex:1;display:flex;flex-direction:column;gap:3px}

/* окна */
.slots{border-collapse:collapse;width:100%;font-size:13px} .slots th{text-align:left;font-weight:500;color:var(--muted);font-size:11.5px;padding:4px}
.slots td{padding:3px 4px} .slots input,.slots select{padding:4px 6px;font-size:13px}

@media (max-width:1000px){.editor{grid-template-columns:1fr}.cal-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:760px){.cal-grid{grid-template-columns:1fr}.cal-day{min-height:0}.navmore{display:none}.two{grid-template-columns:1fr}}
.ideaform{display:flex;flex-direction:column;gap:8px;margin-bottom:12px} .ideaform .row select,.ideaform .row input{width:auto;max-width:220px}
.box .chips{flex-wrap:wrap;overflow:visible}
