:root {
  --bg: #0E1116; --panel: #161B22; --sub: #1C232D; --line: #2A3340; --line2: #3D4A5C;
  --text: #E6EDF3; --muted: #9AA7B4; --accent: #5AA9FF; --accent-t: #9CCBFF; --warn-bg: #3A2614; --warn: #FFC48A;
  color-scheme: dark;
}
@media (prefers-color-scheme: light) {
  :root {
    --bg: #F4F6F8; --panel: #FFFFFF; --sub: #F1F4F7; --line: #D0D7DE; --line2: #8C959F;
    --text: #1F2328; --muted: #57606A; --accent: #0969DA; --accent-t: #0550AE; --warn-bg: #FFE6CF; --warn: #7A3500;
    color-scheme: light;
  }
}
* { box-sizing: border-box; }
html, body { margin: 0; }
body {
  min-height: 100vh; background: var(--bg); color: var(--text);
  font-family: 'IBM Plex Sans', system-ui, -apple-system, 'Segoe UI', sans-serif; font-size: 15px; line-height: 1.4;
  display: flex; align-items: flex-start; justify-content: center; padding: 12vh 16px 24px;
}
.wrap {
  width: 100%; max-width: 380px; background: var(--panel); border: 1px solid var(--line); border-radius: 10px;
  padding: 20px 20px 16px; display: flex; flex-direction: column; gap: 10px;
}
.title { margin: 0; font-size: 18px; font-weight: 700; letter-spacing: .02em; }
.title-s { font-weight: 400; color: var(--muted); }
.note { margin: 0; color: var(--muted); font-size: 13px; }
.form { display: flex; flex-direction: column; gap: 10px; margin-top: 4px; }
.fl { display: flex; flex-direction: column; gap: 4px; font-size: 13px; color: var(--muted); }
input {
  min-height: 44px; padding: 6px 10px; border-radius: 6px; border: 1px solid var(--line2); background: var(--sub);
  color: var(--text); font: inherit; font-size: 16px; width: 100%;
}
input:focus-visible, .btn:focus-visible { outline: 2px solid var(--accent-t); outline-offset: 1px; }
.btn {
  min-height: 44px; border-radius: 6px; border: 1px solid var(--accent); background: var(--accent); color: #0B1220;
  font: inherit; font-weight: 600; cursor: pointer;
}
@media (prefers-color-scheme: light) { .btn { color: #FFFFFF; } }
.btn:hover { filter: brightness(1.08); }
.msg {
  display: none; margin: 0; padding: 8px 10px; border-radius: 6px; background: var(--warn-bg); color: var(--warn);
  font-size: 13px; font-weight: 500; border-left: 3px solid var(--warn);
}
.msg:target { display: block; }
.foot { margin: 4px 0 0; font-size: 12px; color: var(--muted); }
