/* ============================================================
   Госы — единая дизайн-система в духе Anthropic.
   Тёплая «слоновая кость», коралловый клэй-акцент, дружелюбный
   шрифт для заголовков/кнопок и чистый — для длинных текстов.
   Подключается на всех страницах: <link rel="stylesheet" href="/theme.css">
   ============================================================ */
/* Shantell Sans — захостен локально (работает офлайн и в PWA, без внешних запросов) */
@font-face{font-family:'Shantell Sans';font-style:normal;font-weight:400 700;font-display:swap;src:url('/fonts/shantell-latin.woff2') format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
@font-face{font-family:'Shantell Sans';font-style:normal;font-weight:400 700;font-display:swap;src:url('/fonts/shantell-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}
@font-face{font-family:'Shantell Sans';font-style:normal;font-weight:400 700;font-display:swap;src:url('/fonts/shantell-cyrillic.woff2') format('woff2');unicode-range:U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;}
@font-face{font-family:'Shantell Sans';font-style:normal;font-weight:400 700;font-display:swap;src:url('/fonts/shantell-cyrillic-ext.woff2') format('woff2');unicode-range:U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;}

:root{
  /* поверхности */
  --bg:#F2F0E9;
  --surface:#FBFAF6;
  --surface-2:#F4F2EA;
  --surface-3:#EDEAE0;
  /* текст */
  --ink:#201E18;
  --ink-soft:#6B6456;
  --ink-faint:#938B7A;
  /* линии */
  --line:#E4DFD2;
  --line-strong:#D6CFBD;
  /* акцент (Anthropic clay/coral) */
  --accent:#C96442;
  --accent-strong:#B0512F;
  --accent-soft:#C9644216;
  --accent-tint:#C964420f;
  /* семантика */
  --green:#5C8A67;  --green-soft:#5C8A6718;
  --amber:#BE8E33;  --amber-soft:#BE8E3318;
  --bad:#BF5640;    --bad-soft:#BF564016;
  /* форма */
  --r:16px; --r-lg:22px; --r-pill:999px;
  --shadow-sm:0 1px 0 #ffffffcc inset, 0 6px 16px -12px rgba(70,55,35,.5);
  --shadow:0 1px 0 #ffffffcc inset, 0 16px 38px -22px rgba(70,55,35,.55);
  --shadow-pop:0 1px 0 #ffffffcc inset, 0 30px 60px -28px rgba(70,55,35,.6);
  /* шрифты */
  --font-display:"Shantell Sans","Segoe UI",system-ui,sans-serif;
  --font-body:ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  --font-serif:Georgia,"Times New Roman",serif;
}

*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html{ -webkit-text-size-adjust:100% }
body{
  margin:0; min-height:100dvh; color:var(--ink); line-height:1.55;
  font-family:var(--font-body);
  background:
    radial-gradient(135% 90% at 85% -15%, #FBF7EE 0%, transparent 55%),
    radial-gradient(120% 80% at 0% 0%, #F6F1E6 0%, transparent 45%),
    var(--bg);
}

h1,h2,h3,.display{ font-family:var(--font-display); font-weight:600; letter-spacing:-.01em; line-height:1.12; margin:0 }

/* ----- кнопки ----- */
.g-btn{
  font-family:var(--font-display); font-weight:600; font-size:15px;
  display:inline-flex; align-items:center; justify-content:center; gap:8px;
  cursor:pointer; border:1px solid var(--line-strong); background:var(--surface);
  color:var(--ink); border-radius:var(--r-pill); padding:11px 18px; line-height:1;
  transition:transform .12s, box-shadow .12s, border-color .12s, background .12s;
  box-shadow:var(--shadow-sm); text-decoration:none;
}
.g-btn:hover{ transform:translateY(-1px); border-color:var(--accent) }
.g-btn:active{ transform:translateY(0) }
.g-btn.primary{ background:var(--accent); border-color:var(--accent); color:#fff }
.g-btn.primary:hover{ background:var(--accent-strong); border-color:var(--accent-strong) }
.g-btn.ghost{ background:transparent; box-shadow:none; border-color:var(--line) }
.g-btn.lg{ padding:15px 22px; font-size:17px }
.g-btn.block{ width:100%; }
.g-btn:disabled{ opacity:.55; cursor:default; transform:none }

/* ----- карточки ----- */
.g-card{ background:var(--surface); border:1px solid var(--line); border-radius:var(--r-lg); box-shadow:var(--shadow) }

/* ----- чипы ----- */
.g-chip{
  display:inline-flex; align-items:center; gap:6px; font-size:13px;
  background:var(--surface); border:1px solid var(--line); color:var(--ink-soft);
  border-radius:var(--r-pill); padding:7px 12px; line-height:1;
}
.g-chip b{ color:var(--ink); font-family:var(--font-display); font-weight:700 }

/* ----- поля ввода ----- */
.g-input{
  width:100%; font-family:var(--font-body); font-size:16px; color:var(--ink);
  background:#fff; border:1px solid var(--line-strong); border-radius:14px; padding:13px 14px;
  transition:border-color .12s, box-shadow .12s;
}
.g-input::placeholder{ color:var(--ink-faint) }
.g-input:focus{ outline:none; border-color:var(--accent); box-shadow:0 0 0 4px var(--accent-soft) }

/* ----- прогресс ----- */
.g-bar{ height:8px; background:var(--surface-3); border-radius:var(--r-pill); overflow:hidden }
.g-bar > i{ display:block; height:100%; background:linear-gradient(90deg,var(--accent),#E0875F); border-radius:inherit; transition:width .35s ease }

/* ----- плавающая навигация (нав поверх приложений) ----- */
#gosy-nav{ position:fixed; top:12px; right:12px; z-index:9999; display:flex; gap:7px; font-family:var(--font-display) }
#gosy-nav a,#gosy-nav button{
  appearance:none; cursor:pointer; text-decoration:none; font:600 13px var(--font-display);
  border:1px solid var(--line-strong); background:#fbfaf6e6; color:var(--ink-soft);
  border-radius:var(--r-pill); padding:8px 13px; line-height:1; backdrop-filter:blur(8px);
  box-shadow:var(--shadow-sm); transition:.12s;
}
#gosy-nav a:hover,#gosy-nav button:hover{ border-color:var(--accent); color:var(--accent); transform:translateY(-1px) }
@media(max-width:560px){ #gosy-nav{ top:9px; right:9px } #gosy-nav .lbl{ display:none } }

/* появление */
@keyframes g-rise{ from{ opacity:0; transform:translateY(8px) } to{ opacity:1; transform:none } }
.g-rise{ animation:g-rise .28s ease both }

::selection{ background:var(--accent-soft) }
