/* Одна колонка шириной с телефон; белый фон, крупный заголовок и контурное слово за ним (по прототипу design/prototype-v1.html) */
:root{
  --bg:#ffffff;--fg:#0c0d12;--muted:#737885;--line:#eceef3;--card:#f4f5f9;
  --accent:#2f4bff;--accent-soft:#ebefff;--ghost:#c9d2ff;
  --pred:#2f4bff;--aud:#c44d00;--lab:#7a2cf0;--rac:#0b7a48;--on-pill:#ffffff;
  --f-display:"Unbounded","Manrope",system-ui,sans-serif;
  --f-body:"Manrope",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  color-scheme:light;
}
@media (prefers-color-scheme: dark){:root:not([data-app-theme="light"]){
  --bg:#0d0e13;--fg:#f2f3f7;--muted:#959aa7;--line:#23252e;--card:#17191f;
  --accent:#8193ff;--accent-soft:#1b2040;--ghost:#2c3468;
  --pred:#4a62ff;--aud:#c75408;--lab:#8545f2;--rac:#0d8350;color-scheme:dark}}
:root[data-app-theme="dark"]{
  --bg:#0d0e13;--fg:#f2f3f7;--muted:#959aa7;--line:#23252e;--card:#17191f;
  --accent:#8193ff;--accent-soft:#1b2040;--ghost:#2c3468;
  --pred:#4a62ff;--aud:#c75408;--lab:#8545f2;--rac:#0d8350;color-scheme:dark}
*{box-sizing:border-box}
html,body{margin:0;background:var(--bg);color:var(--fg)}
body{font-family:var(--f-body);font-size:15px;line-height:1.45;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent}
[hidden]{display:none!important}
.app{max-width:430px;margin-inline:auto;padding-inline:20px;padding-top:calc(6px + env(safe-area-inset-top,0px));padding-bottom:calc(48px + env(safe-area-inset-bottom,0px))}
.topbar{display:flex;justify-content:space-between;align-items:center;padding-block:14px 0}
.chip{border:0;background:var(--card);color:var(--fg);font:700 13px/1 var(--f-body);padding:10px 13px;border-radius:999px;cursor:pointer}
.avatar{width:40px;height:40px;border-radius:50%;border:0;background:var(--accent-soft);color:var(--accent);font:700 16px/1 var(--f-display);display:grid;place-items:center;cursor:pointer}
.avatar svg{width:20px;height:20px}
.hero{position:relative;overflow:hidden;padding-block:22px 4px}
.ghost{position:absolute;left:-3px;top:8px;font:800 50px/1 var(--f-display);color:transparent;-webkit-text-stroke:1.2px var(--ghost);letter-spacing:.01em;white-space:nowrap;pointer-events:none;user-select:none}
.title{position:relative;margin:0;padding-top:16px;font:700 32px/1.1 var(--f-display);letter-spacing:-.01em}
.days{display:grid;grid-template-columns:repeat(var(--n,5),minmax(0,1fr));gap:8px;margin-block:18px 22px}
.day{border:0;background:var(--card);color:var(--fg);border-radius:16px;padding:9px 0 8px;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:4px;font-family:var(--f-body)}
.day small{font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);font-weight:800}
.day b{font:700 18px/1 var(--f-display);font-variant-numeric:tabular-nums}
.day i{width:5px;height:5px;border-radius:50%;background:transparent}
.day.today i{background:var(--accent)}
.day[aria-pressed="true"]{background:var(--fg);color:var(--bg)}
.day[aria-pressed="true"] small{color:var(--bg)}
.day[aria-pressed="true"].today i{background:var(--bg)}
.dayhead h2{margin:0;font:700 22px/1.2 var(--f-display);color:var(--accent)}
.dayhead p{margin:4px 0 0;color:var(--muted);font-size:14px}
.list{display:flex;flex-direction:column;gap:20px;margin-top:20px}
.item{display:grid;grid-template-columns:52px minmax(0,1fr);gap:12px}
.time b{display:block;font-size:17px;font-weight:800;font-variant-numeric:tabular-nums}
.time span{display:block;font-size:13px;color:var(--muted);font-variant-numeric:tabular-nums}
.pill{display:inline-block;font-size:11.5px;font-weight:700;color:var(--on-pill);padding:3px 9px;border-radius:999px}
.subj{margin:6px 0 4px;font-size:16.5px;font-weight:800;line-height:1.25;text-wrap:balance}
.meta{display:flex;align-items:flex-start;gap:6px;color:var(--muted);font-size:13.5px;margin-top:2px}
.meta svg{flex:none;width:14px;height:14px;margin-top:2px}
.note{font-size:12.5px}
.item.now{background:var(--accent-soft);border-radius:18px;padding:12px;margin-inline:-12px}
.nowtag{font-size:11px;font-weight:800;color:var(--accent);margin-left:8px;letter-spacing:.08em;text-transform:uppercase}
.bar{height:4px;border-radius:2px;background:var(--ghost);margin-top:10px;overflow:hidden}
.bar span{display:block;height:100%;background:var(--accent)}
.left{font-size:12.5px;color:var(--accent);font-weight:700;margin-top:5px}
.item.past .subj,.item.past .time b{color:var(--muted)}
.item.past .pill{background:var(--line)!important;color:var(--muted)}
.break{margin-left:64px;color:var(--muted);font-size:13px;font-style:italic}
.empty{background:var(--card);border-radius:18px;padding:22px;color:var(--muted);text-align:center}
.empty button{margin-top:12px;border:0;border-radius:12px;background:var(--fg);color:var(--bg);font:700 14px var(--f-body);padding:10px 16px;cursor:pointer}
.src{margin-top:28px;padding-top:14px;border-top:1px solid var(--line);font-size:12px;color:var(--muted)}
.src a{color:var(--accent)}
.back{border:0;background:none;color:var(--accent);font:700 14px var(--f-body);padding:16px 0 0;cursor:pointer}
.field{margin-top:20px}
.field label,.field .lbl{display:block;font-size:11.5px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:8px}
.field input{width:100%;height:50px;border:0;border-radius:14px;background:var(--card);color:var(--fg);padding-inline:14px;font:600 16px var(--f-body)}
.static{background:var(--card);border-radius:14px;padding:13px 14px;font-weight:800}
.static span{display:block;font-weight:500;color:var(--muted);font-size:13px;margin-top:2px}
.seg{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;background:var(--card);padding:4px;border-radius:14px}
.seg button{border:0;background:none;color:var(--fg);height:42px;border-radius:10px;font:700 15px var(--f-body);cursor:pointer}
.seg button[aria-pressed="true"]{background:var(--fg);color:var(--bg)}
button:focus-visible,input:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
@media (prefers-reduced-motion: no-preference){.screen{animation:rise .22s ease-out}@keyframes rise{from{transform:translateY(6px)}to{transform:none}}}
