:root{
  --bg:#F4F7F6; --surface:#FFFFFF; --ink:#16201E; --muted:#5E6B68; --line:#D5DCDA;
  --accent:#1B7A6E; --accent-ink:#FFFFFF; --warn:#C77D00; --ok:#2E8B57;
  --display:"Unbounded","Golos Text",system-ui,sans-serif;
  --body:"Golos Text",system-ui,-apple-system,"Segoe UI",sans-serif;
  color-scheme:light;
}
@media (prefers-color-scheme: dark){:root{
  --bg:#0F1514; --surface:#18201F; --ink:#E6ECEA; --muted:#93A19D; --line:#2A3533;
  --accent:#3FB8AE; --accent-ink:#06201E; --warn:#F0A928; --ok:#4CC27F; color-scheme:dark}
}
*{box-sizing:border-box}
html,body{background:var(--bg)}
body{margin:0;color:var(--ink);font-family:var(--body);font-size:16px;line-height:1.5;
  padding:max(18px,env(safe-area-inset-top,0px)) max(16px,env(safe-area-inset-right,0px)) 40px max(16px,env(safe-area-inset-left,0px))}
.app{max-width:480px;margin:0 auto;display:flex;flex-direction:column;gap:16px}
h1{font-family:var(--display);font-size:22px;letter-spacing:-.01em;margin:4px 0 0}
.sub{color:var(--muted);font-size:14px;margin:0}
.card{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:18px;display:flex;flex-direction:column;gap:12px}
label{font-size:13px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}
input[type="time"],input[type="text"]{font:inherit;font-size:18px;padding:12px 14px;border-radius:12px;border:1px solid var(--line);background:var(--bg);color:var(--ink);width:100%}
.btn{font:700 16px var(--body);border:0;border-radius:999px;padding:14px 18px;cursor:pointer}
.btn-primary{background:var(--accent);color:var(--accent-ink)}
.btn-primary:disabled{opacity:.6}
.btn-secondary{background:var(--bg);color:var(--ink);border:1px solid var(--line)}
.btn-secondary.done{background:var(--ok);color:#fff;border-color:transparent}
.status{font-size:14px;min-height:18px}
.status.ok{color:var(--ok)}
.status.warn{color:var(--warn)}
.week{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;text-align:center}
.day{display:flex;flex-direction:column;align-items:center;gap:4px;padding:8px 2px;border-radius:10px;background:var(--bg)}
.day.today{outline:2px solid var(--accent)}
.day.done{background:var(--ok);color:#fff}
.day.future{opacity:.45}
.dname{font-size:11px;color:var(--muted)}
.day.done .dname{color:#fff}
.dmark{font-size:16px;font-weight:700}
.hint{font-size:13px;color:var(--muted)}
a.home{color:var(--muted);text-decoration:none;font-size:13px}
.sync-code{display:block;font-size:22px;font-weight:700;letter-spacing:.08em;text-align:center;
  background:var(--bg);border:1px dashed var(--line);border-radius:12px;padding:12px;color:var(--accent)}
