:root{
  --bg: var(--tg-theme-bg-color, #fff);
  --fg: var(--tg-theme-text-color, #1c2a31);
  --mute: var(--tg-theme-hint-color, #7d8b94);
  --card: var(--tg-theme-secondary-bg-color, #f3f6f7);
  --accent: var(--tg-theme-button-color, #26756a);
  --on-accent: var(--tg-theme-button-text-color, #fff);
  --line: color-mix(in srgb, var(--mute) 25%, transparent);
  --radius: 14px;
}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
body{margin:0;background:var(--bg);color:var(--fg);
  font:16px/1.45 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;
  padding-bottom:84px}
h1{font-size:21px;margin:18px 16px 4px;font-weight:650}
h2{font-size:17px;margin:22px 16px 8px;font-weight:620}
p.sub{margin:0 16px 14px;color:var(--mute);font-size:14px}
.wrap{max-width:560px;margin:0 auto}
.hidden{display:none!important}

/* карточки */
.card{background:var(--card);border-radius:var(--radius);margin:0 16px 10px;padding:14px 16px}
.card--tap{cursor:pointer;display:flex;align-items:center;gap:12px}
.card--tap:active{opacity:.6}
.card__ico{font-size:22px;line-height:1}
.card__body{flex:1;min-width:0}
.card__t{font-weight:600}
.card__s{color:var(--mute);font-size:13.5px;margin-top:2px}
.card__arrow{color:var(--mute)}

/* сводка */
.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:0 16px 16px}
.stat{background:var(--card);border-radius:var(--radius);padding:12px 10px;text-align:center}
.stat__n{font-size:22px;font-weight:650}
.stat__l{font-size:12px;color:var(--mute);margin-top:2px;line-height:1.25}

/* формы */
label.f{display:block;margin:0 16px 14px}
label.f>span{display:block;font-size:13.5px;color:var(--mute);margin-bottom:6px}
input[type=text],input[type=time],input[type=number],textarea,select{
  width:100%;padding:11px 12px;border:1px solid var(--line);border-radius:12px;
  background:var(--bg);color:var(--fg);font:inherit;font-size:16px}
textarea{resize:vertical;min-height:84px}
input:focus,textarea:focus,select:focus{outline:none;border-color:var(--accent)}

/* чипы-варианты */
.chips{display:flex;flex-wrap:wrap;gap:8px;margin:0 16px 14px}
.chip{border:1px solid var(--line);background:var(--bg);color:var(--fg);
  border-radius:999px;padding:8px 14px;font:inherit;font-size:15px;cursor:pointer}
.chip.on{background:var(--accent);color:var(--on-accent);border-color:var(--accent)}
.chip:active{opacity:.7}

/* шкала 1..10 */
.scale{display:grid;grid-template-columns:repeat(10,1fr);gap:6px;margin:0 16px 14px}
.scale button{aspect-ratio:1;max-height:46px;border:1px solid var(--line);background:var(--bg);color:var(--fg);
  border-radius:10px;font:inherit;font-size:15px;cursor:pointer;padding:0}
.scale button.on{background:var(--accent);color:var(--on-accent);border-color:var(--accent)}

/* кнопки */
.btn{display:block;width:calc(100% - 32px);margin:16px;padding:14px;border:0;border-radius:12px;
  background:var(--accent);color:var(--on-accent);font:inherit;font-size:16px;font-weight:600;cursor:pointer}
.btn:active{opacity:.8}
.btn--ghost{background:transparent;color:var(--accent);border:1px solid var(--line);font-weight:500}
.btn:disabled{opacity:.45}

/* список записей */
.rec{background:var(--card);border-radius:var(--radius);margin:0 16px 10px;padding:13px 16px}
.rec__h{display:flex;justify-content:space-between;gap:10px;align-items:baseline}
.rec__d{font-size:13px;color:var(--mute)}
.rec__t{font-weight:600;margin-top:4px}
.rec__x{color:var(--mute);font-size:14px;margin-top:4px;white-space:pre-wrap}
.tag{display:inline-block;background:color-mix(in srgb,var(--accent) 14%,transparent);
  color:var(--accent);border-radius:8px;padding:2px 8px;font-size:12.5px;margin:6px 6px 0 0}
.draft{color:#b32d2e;font-size:12.5px}

/* таблица сна */
.tbl{margin:0 16px 12px;overflow-x:auto}
table{border-collapse:collapse;width:100%;font-size:14px}
th,td{padding:8px 9px;text-align:left;border-bottom:1px solid var(--line);white-space:nowrap}
th{color:var(--mute);font-weight:500;font-size:12.5px}

/* шаги мастера */
.steps{display:flex;gap:6px;margin:0 16px 16px}
.steps i{flex:1;height:3px;border-radius:2px;background:var(--line)}
.steps i.on{background:var(--accent)}

/* подсказка ИИ */
.ai{margin:0 16px 14px;padding:12px 14px;border-left:3px solid var(--accent);
  background:color-mix(in srgb,var(--accent) 7%,transparent);border-radius:0 12px 12px 0;font-size:15px}
.dist{margin:0 16px 10px;padding:12px 14px;background:var(--card);border-radius:12px}
.dist__n{font-weight:600;font-size:15px}
.dist__e{color:var(--mute);font-size:13.5px;margin-top:3px}
.toast{position:fixed;left:50%;bottom:92px;transform:translateX(-50%);background:var(--fg);
  color:var(--bg);padding:10px 18px;border-radius:999px;font-size:14px;opacity:0;transition:.25s;z-index:9}
.toast.on{opacity:.92}
.empty{margin:28px 16px;color:var(--mute);text-align:center;font-size:15px}
.spin{margin:30px auto;width:22px;height:22px;border:2.5px solid var(--line);
  border-top-color:var(--accent);border-radius:50%;animation:r .8s linear infinite}
@keyframes r{to{transform:rotate(360deg)}}

/* графики и схема приходят картинкой/SVG — вписываем в карточку */
.chart{padding:10px 12px;overflow-x:auto}
.chart svg,.chart img{display:block;width:100%;height:auto;max-width:100%}
td.lvl{color:var(--mute);font-size:13px;white-space:normal}

/* запись: раскрытие, выбранные искажения, опасная кнопка */
.rec--tap{cursor:pointer}
.rec--tap:active{opacity:.6}
.rec__h .card__arrow{font-size:18px;line-height:1}
.dist.on{background:color-mix(in srgb,var(--accent) 16%,transparent);
  box-shadow:inset 0 0 0 1.5px var(--accent)}
.card--mute{color:var(--mute)}
.btn--danger{color:#b32d2e;border-color:color-mix(in srgb,#b32d2e 35%,transparent)}

/* шаг назад внутри мастера */
.back{display:inline-block;margin:0 16px 6px;padding:6px 0;border:0;background:none;
  color:var(--accent);font:inherit;font-size:15px;cursor:pointer}
.back:active{opacity:.6}

/* дневник сна по шагам (ограничение сна) */
.win{border-left:3px solid var(--accent)}
.win__t{font-weight:650;font-size:17px}
.card--ok{color:var(--accent);font-weight:600}
.tag--warn{background:color-mix(in srgb,#c07a1a 15%,transparent);color:#9a5d0c}
.chips--big .chip{padding:11px 16px;font-size:16px;min-width:64px}
.wiz__day{margin-bottom:2px}
h1.wiz__q{font-size:22px;line-height:1.3;margin-top:6px}
.scale--big{gap:10px}
.scale--big button{max-height:none;font-size:19px;font-weight:600}
