/* dm.st ID — оболочка кабинета.
   Нейтральный тёмный интерфейс без откровенных изображений: кабинет должен быть безопасно
   открываемым на людях (ТЗ §6). Никаких внешних шрифтов и библиотек — CSP их и не пропустит. */

:root{
  color-scheme: dark;
  --bg:#0d0f12; --fg:#e6e8eb; --dim:#8b95a1; --line:#1e232a; --card:#12161b;
  --ok:#3fb950; --no:#f85149; --warn:#d29922; --accent:#4c8dff;
}
*{box-sizing:border-box}
body{background:var(--bg);color:var(--fg);margin:0;padding:40px 20px;
  font:15px/1.6 ui-sans-serif,-apple-system,"Segoe UI",Roboto,sans-serif}
.wrap{max-width:640px;margin:0 auto}
h1{font-size:23px;margin:0 0 8px;letter-spacing:-.01em}
h2{font-size:15px;margin:0 0 12px}
.lead{color:var(--dim);margin:0 0 24px;font-size:14px}
.alt{color:var(--dim);font-size:14px;margin-top:24px}
a{color:var(--accent)}
code{background:#161b22;padding:2px 5px;border-radius:4px;font-size:12px;
  font-family:ui-monospace,SFMono-Regular,Menlo,monospace}

.card{background:var(--card);border:1px solid var(--line);border-radius:10px;
  padding:20px;margin:0 0 16px}

.check{display:flex;gap:10px;align-items:flex-start;margin-bottom:12px;font-size:14px;cursor:pointer}
.check input{margin-top:3px;accent-color:var(--accent);width:16px;height:16px;flex:none}

.btn{appearance:none;border:1px solid var(--line);background:#1a2028;color:var(--fg);
  padding:11px 18px;border-radius:8px;font-size:14px;cursor:pointer;font-family:inherit}
.btn:hover:not(:disabled){background:#222932}
.btn:disabled{opacity:.45;cursor:default}
.btn.primary{background:var(--accent);border-color:var(--accent);color:#06101f;font-weight:600}
.btn.primary:hover:not(:disabled){background:#67a0ff}
.btn.done{background:#16311f;border-color:#2c6b40;color:#8ce09f}
.btn.bad{background:#2a1416;border-color:#63272b;color:#f0a0a0}
.row{display:flex;gap:10px;margin:14px 0}

.err{color:var(--no);font-size:13px;margin:14px 0 0}
.hint{color:var(--dim);font-size:13px;margin:14px 0 0}

.codes{background:#0a0d10;border:1px solid var(--line);border-radius:8px;padding:16px;
  font:14px/2 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.06em;
  margin:16px 0 0;overflow-x:auto;user-select:all}

.list{width:100%;border-collapse:collapse;font-size:14px}
.list td{padding:9px 0;border-bottom:1px solid var(--line);vertical-align:top}
.list td:last-child{text-align:right;padding-left:16px}
.dim{color:var(--dim);font-size:12px;font-family:ui-monospace,Menlo,monospace}
.tag{background:#16261a;border:1px solid #23543a;color:var(--ok);font-size:11px;
  padding:1px 7px;border-radius:99px;margin-left:8px;vertical-align:1px}
.tag.warn-tag{background:#26200d;border-color:#5c481a;color:#e8c76a}
.btn.small{padding:6px 12px;font-size:13px}
.card.danger{border-color:#4a2327}
.card.danger h2{color:#e8a0a0}
.list td .dim{display:block;margin-top:3px;text-align:left}

.status{list-style:none;padding:0;margin:0;font-size:14px}
.status li{padding:7px 0;border-bottom:1px solid var(--line)}
.status li:last-child{border:0}
.ok::before{content:"● ";color:var(--ok)}
.no::before{content:"● ";color:var(--no)}
.warn::before{content:"● ";color:var(--warn)}

.banner{padding:12px 14px;border-radius:8px;font-size:14px;margin:0 0 28px}
.banner.g{background:#0f2417;border:1px solid #23543a}
.banner.r{background:#2a1416;border:1px solid #63272b}
.banner.w{background:#26200d;border:1px solid #5c481a}
.banner{background:#12161b;border:1px solid var(--line)}
.banner b{color:#e8c76a}

.card.accent{border-color:#2d4a86;background:#111a2b}
details.card>summary{cursor:pointer;font-size:14px;color:var(--accent);list-style:none}
details.card>summary::-webkit-details-marker{display:none}
details.card>summary::before{content:"▸ "}
details.card[open]>summary{margin-bottom:16px}
details.card[open]>summary::before{content:"▾ "}

.input{width:100%;background:#0a0d10;border:1px solid var(--line);border-radius:8px;
  color:var(--fg);padding:12px 14px;font:15px/1.4 ui-monospace,SFMono-Regular,Menlo,monospace;
  letter-spacing:.12em;text-transform:uppercase;margin:0 0 14px}
.input:focus{outline:2px solid var(--accent);outline-offset:-1px}
