/* ============================================================
   SLEAZE — «минимализм, но не дёшево» (06.10.2026)
   Грузится ПОСЛЕДНИМ. Правит только переменные и точечные правила поверх
   redesign.css; откат = убрать одну строку <link> в index.html / login.html.
   Референсы: чёрная вязаная балаклава с красным, Rick Owens / DRKSHDW,
   indie sleaze. Палитра: почти-чёрный, графит, пыльный серый, кость.
   Красный (--accent) только точечно: главная кнопка, активный пункт, индикатор.
   Никаких анимаций фона, свечений, теней-смещений, стекла и размытия.
   ============================================================ */

@font-face{font-family:'Jost';font-style:normal;font-weight:300 600;font-display:swap;src:url(/static/fonts/jost-300-600.woff2) format('woff2')}

:root{
  --font-display:'Jost','Inter',sans-serif;
  --lbl-font:var(--font-display);
  /* кость, графит, пыль */
  --bg:#EDEAE2; --bg-page:#E6E3DA; --bg-sidebar:#E6E3DA; --bg-well:#DDDAD0; --bg-elev:#F3F0E9;
  --hairline:#BDBAB0; --hairline-soft:#D3D0C6; --hairline-strong:#0A0A0A;
  --ink:#0A0A0A; --ink-soft:#4A4944; --ink-mute:#615F59;
  --shadow-card:none; --shadow-float:0 6px 20px rgba(10,10,10,.14); --shadow-modal:0 16px 48px rgba(10,10,10,.22);
  --glass-fill:rgba(243,240,233,.97); --glass-border:#BDBAB0;
  --code-bg:#DDDAD0;
  /* острые углы: у вещей из кожи нет скруглений */
  --r-s:2px; --r-m:2px; --r-card:2px; --r-l:3px; --r-bubble:4px;
  /* «готово» — кость/графит вместо неона */
  --signal:#1F1F1E; --signal-ink:#EDEAE2; --signal-text:#0A0A0A;
  --ok-text:#3F5A2A;
  --splash-bg:#0A0A0A;
}
[data-theme="dark"]{
  --bg:#0A0A0A; --bg-page:#0A0A0A; --bg-sidebar:#070707; --bg-well:#171716; --bg-elev:#101010;
  --hairline:rgba(232,228,216,.14); --hairline-soft:rgba(232,228,216,.08); --hairline-strong:rgba(232,228,216,.34);
  --ink:#E8E4D8; --ink-soft:#A19E94; --ink-mute:#898780;
  --scrim:rgba(0,0,0,.78);
  --shadow-card:none; --shadow-float:0 8px 24px rgba(0,0,0,.6); --shadow-modal:0 20px 60px rgba(0,0,0,.75);
  --glass-fill:rgba(10,10,10,.97); --glass-border:rgba(232,228,216,.16);
  --code-bg:#070707; --code-inv-bg:#070707; --code-inv-ink:#E8E4D8;
  --signal:#D9D5C8; --signal-ink:#0A0A0A; --signal-text:#D9D5C8;
  --ok-text:#B3C49A; --warn-text:#D9B86A; --err-text:#FF6670;
  --forest:#101010; --forest-deep:#070707; --pl-forest:#101010; --pl-forest-deep:#070707;
}

/* ── типографика: тихие широкие заголовки, метки капсом с разрядкой ── */
h1,.pl-h1,.dash-title,.set-title,.view-title,.page-title{
  font-family:var(--font-display);font-weight:300;letter-spacing:.06em;text-transform:uppercase;line-height:1.25}
.dash-title{font-size:clamp(22px,2.6vw,34px)}
.dash-title-accent{color:var(--ink-soft)}
.pl-eyebrow,.sb-sec,.msheet-group-label,.set-block-title,.pl-col-title,.pl-cal-dow,
.pl-stats-section-title,.date-divider,.chat-head-meta,.dash-card-title{
  font-family:var(--lbl-font);text-transform:uppercase;letter-spacing:.16em;font-size:10.5px;font-weight:500}
.dash-date-num{font-family:var(--font-display);font-weight:300;letter-spacing:.06em}
.dash-date-text{text-transform:uppercase;letter-spacing:.14em;font-size:10.5px}
.nd-title,.fl-name,.fl-panel-title,.fp-h{font-family:var(--font-display)!important;font-weight:400!important}

/* ── никаких теней-свечений, смещённых теней, стекла, зерна поверх экрана ── */
body::after{content:none!important}
*,*::before,*::after{backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
.pl-btn-primary,.pl-btn-primary:hover,html:not([data-theme="dark"]) .pl-btn-primary,
[data-theme="dark"] .pl-btn-primary,[data-theme="dark"] .pl-btn-primary:hover,
.hdr-sq,[data-theme="dark"] .hdr-sq,.dash-send,.dash-send:hover,
html:not([data-theme="dark"]) .pl-btn-primary:hover{box-shadow:none!important}
.dash-send:hover{transform:none}
[data-theme="dark"] .pl-card:hover{box-shadow:none}
.pl-card:hover{border-color:var(--hairline-strong)}
.sb-item.active::before{box-shadow:none;width:2px}
.sb-item.active{background:transparent}
.sb-item.active .sb-label,.sb-item.active{color:var(--ink)}
.sb-item.active svg{color:var(--accent-text)}

/* ── линии вместо заливок: карточки и поля ── */
.dash-card,.pl-card{background:var(--bg-elev);border:1px solid var(--hairline);box-shadow:none;border-radius:var(--r-card)}
.dash-card{padding:20px 24px}
.dash-input-wrap{border-radius:var(--r-card);background:var(--bg-elev);border-color:var(--hairline);box-shadow:none}
.dash-input-wrap:focus-within{border-color:var(--hairline-strong);box-shadow:none}
.dash-send{border-radius:var(--r-card)}
.pl-input,.pl-textarea,.pl-select,.pl-picker-btn{border-radius:var(--r-m)}
button,.btn,.pl-btn{letter-spacing:.04em}
.pl-btn,.sb-new,button.primary,.btn-primary{font-weight:500;text-transform:uppercase;letter-spacing:.12em;font-size:11.5px}
.mwrap.user .bubble{border-radius:var(--r-bubble)}

/* ── всплывающие окна: тонкая рамка, без тумана ── */
[data-theme="dark"] .pl-menu,[data-theme="dark"] .msheet{border:1px solid var(--hairline)}
html:not([data-theme="dark"]) .pl-menu,html:not([data-theme="dark"]) .msheet{border:1px solid var(--hairline)}

/* ── красный: точка-индикатор вместо заливки у «активных» вкладок не трогаем, только убираем неон ── */
.dash-date-num{color:var(--ink)}


/* ── формы: никаких таблеток, острые углы ── */
.dash-empty-btn,.session-busy,.model-btn,.irow,.ag-badge,.ag-start,.pl-bp-pick,.pl-inbox-btn,.pl-quickadd-input,
.lib-search,.lib-filter-btn,.hdr-act,.hdr-act-primary,.an-periods,.seg,.seg button,.lib-switch,.lib-switch-btn,
.copy-btn,.chat-head-chip,.dash-card-badge{border-radius:var(--r-card)!important}
.irow{background:var(--bg-elev);box-shadow:none;border:1px solid var(--hairline)}
.irow:focus-within{border-color:var(--hairline-strong);box-shadow:none}
.chat-welcome-text{font-family:var(--font-display);font-weight:300;letter-spacing:.08em;text-transform:uppercase;font-size:clamp(20px,2.2vw,28px)}

/* ── вкладки шапки: текст капсом, активная — тонкая красная линия ── */
.hdrc-tabs{background:transparent;border-radius:0;padding:0;gap:2px;box-shadow:none;border:0}
.hdrc-tab,[data-theme="dark"] .hdrc-tab.on,.hdrc-tab.on{border-radius:0;background:transparent!important;box-shadow:none;
  text-transform:uppercase;letter-spacing:.14em;font-size:10.5px;font-weight:500;color:var(--ink-mute);
  border-bottom:1px solid transparent;min-height:36px;padding:0 12px}
.hdrc-tab:hover{color:var(--ink)}
.hdrc-tab.on,[data-theme="dark"] .hdrc-tab.on{color:var(--ink);font-weight:500;border-bottom-color:var(--accent)}
.seg button.on,[data-theme="dark"] .seg button.on,.lib-switch-btn.on,[data-theme="dark"] .lib-switch-btn.on{background:var(--bg-well)!important;color:var(--ink);box-shadow:none}

/* ── сайдбар: тихий список, красный только у активного пункта ── */
.hdr-sq,[data-theme="dark"] .hdr-sq{background:transparent!important;border:1px solid var(--hairline-strong);color:var(--ink)}
.hdr-sq svg{color:var(--ink);stroke:var(--ink)}
#appsb .hdr-logo{font-family:var(--font-display);font-weight:400;font-size:11px;letter-spacing:.18em;text-transform:uppercase}
.sb-item{font-weight:400;color:var(--ink-soft);letter-spacing:.01em}
.sb-item:hover{color:var(--ink);background:var(--bg-well)}
.sb-item.active{font-weight:500;color:var(--ink)}
.sb-new{background:transparent!important;border:1px solid var(--hairline-strong);color:var(--ink)}
.sb-new:hover{background:var(--bg-well)!important}

/* «Эффекты» (ночной фон, глитч) отключены владельцем: строку настройки не показываем */
.set-row:has(#ui-fx-seg){display:none}

/* фон Главной и входа: чистый почти-чёрный (картинки сняты по решению владельца) */
.login{background-color:var(--bg-page)}
.lcard{box-shadow:none;border-radius:var(--r-card);padding:36px}
.sq,.lcard .sq{border-radius:var(--r-s)}
.lhead h1{font-size:18px}
.inp:focus-within,.inp.focus{box-shadow:none;border-color:var(--ink)}
.inp.err:focus-within,.inp.err.focus{box-shadow:none}
.btn{font-weight:500;text-transform:uppercase;letter-spacing:.12em;font-size:12px}
:focus-visible{box-shadow:none;outline:1px solid var(--ink);outline-offset:2px}

/* мелкие кнопки шапки: без теней */
.sb-open-btn,.app-top button,.app-top .hdr-act,.hdr-btn,.model-btn{box-shadow:none!important}

/* заголовки первого уровня всегда тонкие (страницы базы и гайда задают свой вес) */
h1{font-weight:300!important}
#appsb:not(.mobile-open){box-shadow:none}
.sq,.lcard .sq{background:transparent;border:1px solid var(--hairline-strong);color:var(--ink)}
.sbtn,.mic-btn,.attach-btn{border-radius:var(--r-card)!important}
