@font-face { font-family: Manrope; src: url('/static/fonts/manrope-cyrillic.woff2') format('woff2'); font-weight: 200 800; font-display: swap; }
@font-face { font-family: 'Noto Sans'; src: url('/static/fonts/noto-sans-cyrillic.woff2') format('woff2'); font-weight: 100 900; font-display: swap; }
:root {
  color-scheme: light;
  --desk-paper: #f3f6f9; --desk-surface: #ffffff;
  --ink-primary: #182b3d; --ink-secondary: #526778; --ink-tertiary: #5f7180;
  --ink-muted: #61717f; --desk-action: #176a99; --desk-warning: #8a5c00;
  --desk-destructive: #a32f37; --desk-rule: rgba(24,43,61,.16);
  --desk-soft-rule: rgba(24,43,61,.08); --control-background: #eef3f7;
  --control-hover: #e3ecf3; --control-focus: #176a99;
  font: 15px/1.5 'Noto Sans', Arial, sans-serif; color: var(--ink-primary);
  background: var(--desk-paper); -webkit-font-smoothing: antialiased;
}
* { box-sizing: border-box; }
[hidden] { display: none !important; }
body { margin: 0; }
body > main { max-width: 560px; margin: 12vh auto; padding: 24px; border: 1px solid var(--desk-rule); border-radius: 10px; background: var(--desk-surface); }
h1,h2,h3 { font-family: Manrope, 'Noto Sans', Arial, sans-serif; text-wrap: balance; }
h1 { font-size: 27px; line-height: 1.25; letter-spacing: -.5px; }
h2 { font-size: 19px; line-height: 1.4; }
h3 { font-size: 16px; }
p { text-wrap: pretty; }
button,select { font: inherit; min-height: 44px; border: 1px solid var(--desk-rule); border-radius: 6px; background: var(--control-background); color: var(--ink-primary); padding: 8px 16px; }
button { cursor: pointer; }
button:hover,select:hover { background: var(--control-hover); }
button:active { transform: scale(.97); }
button:disabled { opacity: .6; cursor: not-allowed; transform: none; }
:focus-visible { outline: 3px solid var(--control-focus); outline-offset: 3px; }
a { color: var(--desk-action); text-underline-offset: 3px; overflow-wrap: anywhere; }
body.authenticated > main { max-width: none; margin: 0; padding: 12px 24px; border: 0; border-bottom: 1px solid var(--desk-rule); border-radius: 0; display: flex; align-items: center; gap: 16px; }
body.authenticated > main h1 { font-size: 15px; margin: 0; }
body.authenticated #message { font-size: 13px; color: var(--ink-secondary); margin: 0; flex: 1; }
@media (max-width: 700px) { body.authenticated > main { padding: 12px 16px; } body.authenticated > main h1 { display: none; } }
@media (prefers-reduced-motion: reduce) { button:active { transform: none; } }
