:root{
  --paper:#EAEDE9; --card:#FFF; --card-2:#F5F7F4; --ink:#10151A; --ink-soft:#39424B;
  --muted:#69737C; --rule:#D2D8D2; --rule-soft:#E2E7E1;
  --attack:#B0322A; --defend:#12615C; --gold:#9E7325; --focus:#12615C;
}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){
    --paper:#0E1114; --card:#171B1F; --card-2:#1D2227; --ink:#E7EBE6; --ink-soft:#C2C9C4;
    --muted:#8D979E; --rule:#2C333A; --rule-soft:#232930;
    --attack:#E4776B; --defend:#57B9AC; --gold:#D2A254; --focus:#57B9AC;
  }
}
*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;background:var(--paper);color:var(--ink);
  font:16px/1.55 "PT Serif",Georgia,serif;-webkit-font-smoothing:antialiased;
}
h1,h2,h3,h4,.narrow{font-family:"PT Sans Narrow","Arial Narrow",Arial,sans-serif;font-weight:700;margin:0}
.lbl{font:10.5px/1.4 "PT Mono",ui-monospace,monospace;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
a{color:var(--defend)}
button,input,textarea{font:inherit}
:focus-visible{outline:2px solid var(--focus);outline-offset:2px;border-radius:2px}

.btn{font-family:"PT Sans Narrow",sans-serif;font-weight:700;font-size:15px;letter-spacing:.02em;
  background:var(--card);color:var(--ink);border:1px solid var(--rule);padding:8px 14px;
  border-radius:3px;cursor:pointer}
.btn:hover{background:var(--card-2);border-color:var(--muted)}
.btn.primary{background:var(--defend);border-color:var(--defend);color:#fff}
.btn[disabled]{opacity:.45;cursor:default}
input[type=email],input[type=password],input[type=text]{
  width:100%;padding:10px 12px;border:1px solid var(--rule);border-radius:3px;
  background:var(--card);color:var(--ink);font-size:16px}

/* ---------------- вход ---------------- */
.gate{min-height:100dvh;display:grid;place-items:center;padding:24px}
.gate-box{width:min(420px,100%);background:var(--card);border:1px solid var(--rule);
  border-radius:6px;padding:26px}
.gate h1{font-size:26px;margin-bottom:4px}
.gate .sub{color:var(--muted);font-size:14px;margin-bottom:20px}
.gate label{display:block;margin:14px 0 6px}
.gate .row{display:flex;gap:10px;align-items:center;margin-top:18px}
.gate .alt{margin-top:16px;font-size:14px;color:var(--muted)}
.gate .alt a{cursor:pointer;text-decoration:underline}
.msg{margin-top:14px;padding:10px 12px;border-radius:3px;font-size:14px}
.msg.err{background:color-mix(in srgb,var(--attack) 12%,transparent);color:var(--attack)}
.msg.ok{background:color-mix(in srgb,var(--defend) 12%,transparent);color:var(--defend)}

/* ---------------- три панели ---------------- */
.app{display:grid;grid-template-columns:264px minmax(0,1fr);height:100dvh}
.app.with-art{grid-template-columns:264px minmax(0,1fr) minmax(320px,38%)}

.side{background:var(--card-2);border-right:1px solid var(--rule);display:flex;flex-direction:column;min-height:0}
.side-head{padding:14px;border-bottom:1px solid var(--rule)}
.side-head h2{font-size:17px}
.chats{flex:1;overflow-y:auto;padding:8px}
.chat-item{display:block;width:100%;text-align:left;padding:9px 10px;border:0;background:none;
  color:var(--ink);border-radius:4px;cursor:pointer;font-size:14.5px;line-height:1.35;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.chat-item:hover{background:var(--card)}
.chat-item.on{background:var(--card);box-shadow:inset 2px 0 0 var(--defend)}
.side-foot{border-top:1px solid var(--rule);padding:10px 12px;display:flex;
  align-items:center;gap:8px;justify-content:space-between}
.side-foot .who{font-size:13px;color:var(--muted);overflow:hidden;text-overflow:ellipsis}

.main{display:flex;flex-direction:column;min-height:0;min-width:0}
.thread{flex:1;overflow-y:auto;padding:24px 20px 8px}
.thread-in{max-width:760px;margin:0 auto}
.turn{margin-bottom:22px}
.turn .who{font-family:"PT Mono",monospace;font-size:10.5px;letter-spacing:.14em;
  text-transform:uppercase;color:var(--muted);margin-bottom:6px}
.turn .body{white-space:pre-wrap}
.turn.me .body{background:var(--card);border:1px solid var(--rule);border-radius:6px;padding:12px 14px}

.composer{border-top:1px solid var(--rule);background:var(--paper);padding:12px 20px 18px}
.composer-in{max-width:760px;margin:0 auto;display:flex;gap:10px;align-items:flex-end}
.composer textarea{flex:1;min-height:52px;max-height:200px;resize:none;padding:12px;
  border:1px solid var(--rule);border-radius:6px;background:var(--card);color:var(--ink);font-size:16px}

.empty{max-width:620px;margin:8vh auto;color:var(--ink-soft)}
.empty h3{font-size:22px;margin-bottom:10px}
.empty ul{padding-left:18px}
.empty li{margin:7px 0;cursor:pointer}
.empty li:hover{color:var(--defend)}

/* ---------------- карточки ---------------- */
.cards{display:flex;flex-direction:column;gap:10px;margin:12px 0 4px}
.card{background:var(--card);border:1px solid var(--rule);border-radius:6px;padding:12px 14px}
.card h4{font-size:16px;margin-bottom:4px}
.card .meta{font-size:12.5px;color:var(--muted);margin-top:4px}
.card .quote{font-style:italic;color:var(--ink-soft);margin-top:6px}
.card.case{border-left:3px solid var(--gold)}
.card.video{border-left:3px solid var(--defend)}
.card.verdict{border-left:3px solid var(--attack)}
.card.rebuttal{border-left:3px solid var(--gold)}
.badge{display:inline-block;font:10px/1.6 "PT Mono",monospace;letter-spacing:.1em;
  text-transform:uppercase;padding:1px 6px;border:1px solid var(--rule);border-radius:99px;
  color:var(--muted);margin-left:6px}

/* ---------------- артефакт ---------------- */
.art{border-left:1px solid var(--rule);background:var(--card);display:flex;flex-direction:column;min-height:0}
.art-head{padding:12px 14px;border-bottom:1px solid var(--rule);display:flex;
  align-items:center;justify-content:space-between;gap:8px}
.art-body{flex:1;overflow-y:auto;padding:16px}
.art-body textarea{width:100%;min-height:70vh;border:1px solid var(--rule);border-radius:4px;
  padding:12px;background:var(--card-2);color:var(--ink);font-size:15px;line-height:1.6}

@media (max-width:900px){
  .app,.app.with-art{grid-template-columns:1fr}
  .side{display:none}
  .art{display:none}
}

/* ---------------- лендинг у формы входа ---------------- */
.gate{align-items:center}
@media (min-width:920px){
  .gate{display:grid;grid-template-columns:minmax(0,1fr) 420px;gap:56px;
    max-width:1060px;margin:0 auto;place-items:center}
}
.pitch{max-width:560px}
.pitch-h{font-size:34px;line-height:1.15;margin-bottom:14px}
.pitch-lead{font-size:18px;color:var(--ink-soft);margin:0 0 22px}
.pitch-list{margin:0}
.pitch-list dt{font-family:"PT Sans Narrow",sans-serif;font-weight:700;font-size:17px;margin-top:14px}
.pitch-list dd{margin:2px 0 0;color:var(--ink-soft);font-size:15px}
.pitch-note{margin-top:22px;font-size:13.5px;color:var(--muted)}

/* ---------------- правовые страницы ---------------- */
.legal{max-width:720px;margin:0 auto;padding:40px 20px 80px}
.legal h1{font-size:30px;margin-bottom:6px}
.legal .back{display:inline-block;margin-bottom:22px;font-size:14px}
.legal-body{margin-top:24px}
.legal-body h3{font-size:19px;margin:26px 0 8px}
.legal-body p,.legal-body li{color:var(--ink-soft)}
.legal-body ul{padding-left:20px}
.legal-body li{margin:6px 0}

/* Просьба подтвердить почту вместо поля ввода — человек внутри, а не за дверью */
.confirm-note{align-items:center;justify-content:space-between;gap:14px;
  background:var(--card);border:1px solid var(--rule);border-radius:6px;padding:12px 14px}
.confirm-note div{font-size:14px;color:var(--ink-soft)}
.confirm-note b{display:block;font-size:15px;color:var(--ink);margin-bottom:2px}
