/* Шрифты лежат на нашем сервере — не зависим от Google Fonts */
@font-face{font-family:'Unbounded';font-weight:600;font-style:normal;font-display:swap;src:url(/static/fonts/unbounded-cyrillic-600-normal.woff2) format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:'Unbounded';font-weight:600;font-style:normal;font-display:swap;src:url(/static/fonts/unbounded-latin-600-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Unbounded';font-weight:700;font-style:normal;font-display:swap;src:url(/static/fonts/unbounded-cyrillic-700-normal.woff2) format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:'Unbounded';font-weight:700;font-style:normal;font-display:swap;src:url(/static/fonts/unbounded-latin-700-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Golos Text';font-weight:400;font-style:normal;font-display:swap;src:url(/static/fonts/golos-text-cyrillic-400-normal.woff2) format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:'Golos Text';font-weight:400;font-style:normal;font-display:swap;src:url(/static/fonts/golos-text-latin-400-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Golos Text';font-weight:500;font-style:normal;font-display:swap;src:url(/static/fonts/golos-text-cyrillic-500-normal.woff2) format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:'Golos Text';font-weight:500;font-style:normal;font-display:swap;src:url(/static/fonts/golos-text-latin-500-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Golos Text';font-weight:600;font-style:normal;font-display:swap;src:url(/static/fonts/golos-text-cyrillic-600-normal.woff2) format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:'Golos Text';font-weight:600;font-style:normal;font-display:swap;src:url(/static/fonts/golos-text-latin-600-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}

:root {
  --bg: #f7f1ea;
  --surface: #fffaf5;
  --surface-2: #f0e6dc;
  --ink: #2b1d17;
  --muted: #7d6a5f;
  --line: #e4d6c9;
  --wine: #9e2f3c;
  --wine-ink: #fff;
  --coral: #e8735f;
  --wine-soft: #f6dfe0;
  --friend: #2f6f8f;
  --friend-soft: #dcecf3;
  --no: #6d6058;
  --no-soft: #ebe4de;
  --ok: #2f7a4f;
  --ok-soft: #dcefe2;
  --warn: #b26a12;
  --warn-soft: #f8ead3;
  --shadow: 0 1px 2px rgba(60, 30, 20, .06), 0 6px 24px rgba(60, 30, 20, .07);
  --r: 16px;
  --display: 'Unbounded', 'Golos Text', system-ui, sans-serif;
  --text: 'Golos Text', system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;
}
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) {
    --bg: #1b1412; --surface: #251c19; --surface-2: #30251f; --ink: #f3e9e2; --muted: #b39f93; --line: #3d3029;
    --wine: #e0606d; --wine-ink: #1b1412; --wine-soft: #44232a; --friend: #6cb3d6; --friend-soft: #1f3540;
    --no: #b3a59b; --no-soft: #3a302a; --ok: #6cc28f; --ok-soft: #1f3a2a; --warn: #e3a54f; --warn-soft: #3d2e17;
    --shadow: 0 1px 2px rgba(0,0,0,.3), 0 6px 24px rgba(0,0,0,.25);
  }
}
:root[data-theme="dark"] {
  --bg: #1b1412; --surface: #251c19; --surface-2: #30251f; --ink: #f3e9e2; --muted: #b39f93; --line: #3d3029;
  --wine: #e0606d; --wine-ink: #1b1412; --wine-soft: #44232a; --friend: #6cb3d6; --friend-soft: #1f3540;
  --no: #b3a59b; --no-soft: #3a302a; --ok: #6cc28f; --ok-soft: #1f3a2a; --warn: #e3a54f; --warn-soft: #3d2e17;
  --shadow: 0 1px 2px rgba(0,0,0,.3), 0 6px 24px rgba(0,0,0,.25);
}

* { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body { margin: 0; background: var(--bg); color: var(--ink); font: 16px/1.45 var(--text); }
h1, h2, h3 { font-family: var(--display); font-weight: 700; letter-spacing: -.01em; margin: 0; line-height: 1.15; }
h1 { font-size: 22px; } h2 { font-size: 18px; } h3 { font-size: 15px; }
a { color: var(--wine); }
.muted { color: var(--muted); }
.small { font-size: 13px; }
.card { background: var(--surface); border: 1px solid var(--line); border-radius: var(--r); box-shadow: var(--shadow); padding: 16px; }
.row { display: flex; gap: 8px; align-items: center; }
.wrap { flex-wrap: wrap; }
.grow { flex: 1; min-width: 0; }
.stack > * + * { margin-top: 12px; }
.chip { display: inline-flex; align-items: center; gap: 4px; padding: 3px 10px; border-radius: 999px; background: var(--surface-2); font-size: 13px; color: var(--muted); }
.chip.hit { background: var(--wine-soft); color: var(--wine); font-weight: 600; }
.pill { display: inline-block; padding: 2px 10px; border-radius: 999px; font-size: 12px; font-weight: 600; background: var(--surface-2); color: var(--muted); white-space: nowrap; }
.pill.ok { background: var(--ok-soft); color: var(--ok); }
.pill.warn { background: var(--warn-soft); color: var(--warn); }
.pill.wine { background: var(--wine-soft); color: var(--wine); }
.pill.friend { background: var(--friend-soft); color: var(--friend); }
button, .btn {
  font: 600 15px var(--text); border: 1px solid var(--line); background: var(--surface); color: var(--ink);
  border-radius: 12px; padding: 10px 14px; cursor: pointer; text-decoration: none; display: inline-flex; align-items: center; justify-content: center; gap: 6px;
  min-height: 44px; transition: transform .08s, background .15s;
}
button:active { transform: scale(.97); }
button:disabled { opacity: .45; cursor: default; }
.btn-primary { background: var(--wine); border-color: var(--wine); color: var(--wine-ink); }
.btn-ghost { background: transparent; border-color: transparent; color: var(--muted); }
.btn-sm { min-height: 34px; padding: 6px 10px; font-size: 13px; border-radius: 10px; }
input, textarea, select {
  font: 15px var(--text); color: var(--ink); background: var(--surface); border: 1px solid var(--line);
  border-radius: 10px; padding: 10px 12px; width: 100%;
}
textarea { resize: vertical; min-height: 64px; }
label { display: block; font-size: 13px; color: var(--muted); margin-bottom: 4px; font-weight: 500; }
.toast { position: fixed; left: 50%; bottom: 24px; transform: translateX(-50%); background: var(--ink); color: var(--bg); padding: 10px 16px; border-radius: 12px; font-weight: 500; z-index: 100; max-width: calc(100% - 32px); box-shadow: var(--shadow); }
.hidden { display: none !important; }

/* бренд */
.logo { display: block; height: 28px; width: auto; }
.logo-dark { display: none; }
@media (prefers-color-scheme: dark) { :root:not([data-theme="light"]) .logo-light { display: none; } :root:not([data-theme="light"]) .logo-dark { display: block; } }
:root[data-theme="dark"] .logo-light { display: none; }
:root[data-theme="dark"] .logo-dark { display: block; }
