:root{
  --bg:#faf7f1; --card:#fff; --ink:#3a342c; --mut:#8a7f70; --line:#e8ddcb;
  --accent:#b85c2a;       /* single brand accent — terracotta */
  --accent2:#1f6f54;      /* now/done green */
  --plum:#8c3d5a;         /* the ONE secondary — kid-quests AND splits */
  --warn:#d3361b;         /* genuinely urgent, distinct from terracotta */
  --now:#1f6f54;
  --shadow:0 1px 6px rgba(60,40,20,.08);
}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
[hidden]{display:none!important}
html,body{margin:0}
body{
  background:var(--bg);color:var(--ink);
  font:15px/1.45 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;
  padding-bottom:env(safe-area-inset-bottom);
}
b{font-weight:700}
a{color:var(--accent);text-decoration:none}

.demo-banner{
  background:var(--plum);color:#fff;text-align:center;font-size:12.5px;
  padding:6px 10px;position:sticky;top:0;z-index:40;line-height:1.3;
}
/* in Telegram the client draws the header + the hero carries date/theme; drop
   the custom terracotta bar entirely (reclaims the glance zone) — Tier 1.2 */
body.is-tg .topbar{display:none}
.topbar{
  display:flex;align-items:center;justify-content:space-between;gap:8px;
  padding:10px 14px calc(10px + env(safe-area-inset-top)) 14px;
  background:var(--accent);color:#fff;position:sticky;top:0;z-index:30;
}
.demo-banner:not([hidden]) + .topbar{top:0}
.tb-left{display:flex;flex-direction:column;min-width:0}
.tb-left b{font-size:17px}
.tb-left .sub{font-size:12px;opacity:.9;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tb-right{display:flex;align-items:center;gap:10px}
.clock{font-variant-numeric:tabular-nums;font-weight:700;font-size:17px}
.gear{background:rgba(255,255,255,.18);border:0;color:#fff;font-size:17px;
  width:34px;height:34px;border-radius:9px;cursor:pointer}
/* in Telegram the native SettingsButton replaces the gear (Tier 1) */
body.is-tg .gear{display:none}

/* big "весь маршрут" exit — the primary way out of the day view to the whole
   trip (Dima: make it a big button on the first Mini App screen). */
.trip-all-big{display:flex;align-items:center;justify-content:center;gap:9px;
  max-width:680px;margin:0 auto;padding:calc(14px + env(safe-area-inset-top)) 16px 14px;
  background:var(--accent);color:#fff;font:800 16px inherit;letter-spacing:.2px}
body.is-tg .trip-all-big{border-radius:0 0 16px 16px}

/* trip-nav: day stepper + "all days" picker. Visible in both Telegram (topbar
   hidden) and PWA. */
.tripnav{display:flex;align-items:center;gap:6px;max-width:680px;margin:0 auto;padding:9px 12px}
.tn-arrow{flex:0 0 auto;width:34px;height:34px;border-radius:9px;border:1px solid var(--line);
  background:#fbf6ee;color:var(--accent);font-size:21px;font-weight:700;line-height:1;cursor:pointer}
.tn-arrow:disabled{opacity:.32;cursor:default}
.tn-day{flex:1;min-width:0;height:34px;border-radius:9px;border:1px solid var(--line);background:var(--card);
  color:var(--ink);font:600 13px inherit;cursor:pointer;padding:0 10px;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.tn-all{flex:0 0 auto;height:34px;display:inline-flex;align-items:center;padding:0 11px;border-radius:9px;
  background:var(--accent);color:#fff;font:600 12.5px inherit}
.all-days{display:flex;flex-direction:column;gap:3px}
.all-days .ad-city{font-size:11.5px;font-weight:800;text-transform:uppercase;letter-spacing:.4px;
  color:var(--mut);margin:12px 2px 4px}
.all-days .ad-day{text-align:left;border:1px solid var(--line);background:var(--card);color:var(--ink);
  border-radius:10px;padding:10px 12px;font:600 13.5px inherit;cursor:pointer}
.all-days .ad-day.cur{border-color:var(--accent);background:#fbf1ea}
.all-days .ad-theme{font-weight:400;color:var(--mut)}

main{max-width:680px;margin:0 auto;padding:12px 12px 30px}
.card{background:var(--card);border:1px solid var(--line);border-radius:14px;
  box-shadow:var(--shadow);padding:14px;margin:10px 0}

/* hero — the emotional anchor, owns the top third (Tier 2) */
.hero{margin:12px 0}
.hero .big-count{background:linear-gradient(135deg,#b85c2a,#d98b4a);color:#fff;
  border-radius:20px;padding:22px 18px;text-align:center;box-shadow:var(--shadow)}
.hero .big-count .n{font-size:46px;font-weight:800;line-height:1;letter-spacing:-1px}
.hero .big-count .lbl{font-size:14px;opacity:.95;margin-top:6px}
/* the now-card fills the first screen: current activity + where you go next,
   no scroll needed (Tier 4 — the one-glance redesign). */
.herocard{position:relative;color:#fff;border-radius:20px;padding:16px 18px 18px;
  min-height:72vh;min-height:72svh;display:flex;flex-direction:column;
  background:linear-gradient(150deg,#b85c2a 0%,#a44a3f 55%,#8c3d5a 100%);
  background-size:cover;background-position:center;
  box-shadow:0 6px 22px rgba(80,40,30,.22);overflow:hidden}
.herocard.next{background:linear-gradient(150deg,#c06a3c 0%,#9a5359 60%,#7d4a63 100%)}
.herocard.done{background:linear-gradient(150deg,#5a4a63 0%,#3f3340 100%);min-height:auto}
.herocard.has-photo{background-color:#3a2230}
.hero-top{display:flex;justify-content:space-between;align-items:center;gap:8px}
.hero-body{margin-top:auto;display:flex;flex-direction:column}
.hero-kicker{font-size:11.5px;font-weight:700;text-transform:uppercase;letter-spacing:.6px;
  color:rgba(255,255,255,.85);text-shadow:0 1px 3px rgba(0,0,0,.3);min-width:0;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.hero-chip{flex:0 0 auto;font-size:11px;font-weight:800;letter-spacing:.5px;
  padding:4px 10px;border-radius:999px;background:rgba(255,255,255,.22);
  backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);border:1px solid rgba(255,255,255,.28)}
.hero-voice{font-size:13.5px;line-height:1.4;font-style:italic;margin:0 0 8px;cursor:pointer;
  color:rgba(255,255,255,.92);text-shadow:0 1px 4px rgba(0,0,0,.28);
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.hero-voice.exp{-webkit-line-clamp:unset;display:block}
.hero-title{margin:2px 0 4px;font-size:28px;font-weight:800;line-height:1.1;
  letter-spacing:-.5px;text-shadow:0 2px 8px rgba(0,0,0,.28)}
.hero-meta{font-size:13px;color:rgba(255,255,255,.82);text-shadow:0 1px 3px rgba(0,0,0,.3)}
.hero-count{margin-top:9px;font-size:14.5px;font-weight:600;color:#fff;
  text-shadow:0 1px 4px rgba(0,0,0,.3)}
.herocard .who{background:rgba(255,255,255,.22);color:#fff}
.hero-acts{display:flex;gap:8px;margin-top:13px;flex-wrap:wrap}

/* "→ ПОТОМ" strip inside the now-card: where you head next + how to get there */
.hero-next{margin-top:13px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.22);
  border-radius:14px;padding:11px 13px;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.hero-next.overdue{background:rgba(211,54,27,.32);border-color:rgba(255,210,200,.5)}
.hero-next .hn-top{display:flex;justify-content:space-between;align-items:baseline;gap:8px}
.hero-next .hn-lbl{font-size:10.5px;font-weight:800;letter-spacing:.6px;color:rgba(255,255,255,.8)}
.hero-next .hn-when{font-size:12px;font-weight:600;color:rgba(255,255,255,.9)}
.hero-next .hn-main{display:flex;align-items:center;gap:8px;margin-top:3px}
.hero-next .hn-name{flex:1;min-width:0;font-size:17px;font-weight:700;line-height:1.2}
.hero-next .hn-nav{flex:0 0 auto;background:#fff;color:var(--accent);font-weight:700;font-size:13px;
  padding:7px 12px;border-radius:9px}
.hero-next .hn-nav.go{background:var(--warn);color:#fff;animation:warnpulse 1.6s ease-in-out infinite}
.hero-next .hn-walk{font-size:12.5px;margin-top:4px;color:rgba(255,255,255,.85)}
.hero-next .hn-warm{font-size:12.5px;line-height:1.4;margin-top:5px;color:rgba(255,255,255,.92)}

/* in-card detail: the full text for the current block, on a readable light panel
   inside the brown card (booking + description + Irina + kid quest). */
.hero-detail{background:var(--card);color:var(--ink);border-radius:14px;
  padding:12px 14px;margin-top:12px;box-shadow:0 2px 12px rgba(0,0,0,.16);text-align:left}
.hero-detail .book{font-size:12.5px;margin-bottom:7px;font-weight:600}
.hero-detail .book .ok{color:var(--now)} .hero-detail .book .need{color:var(--warn)}
.hero-detail .blurb{font-size:14px;line-height:1.5;color:var(--ink)}
.hero-detail .irina{font-size:12.5px;line-height:1.45;color:var(--ink);background:#f4eef1;
  border:1px solid #ecdfe6;border-radius:10px;padding:8px 11px;margin-top:8px}
.hero-detail .blurb + .irina,.hero-detail .blurb + .quest,
.hero-detail .book + .blurb{margin-top:8px}
.hero-detail .quest{margin-top:8px}

/* timeline — vertical spine with a dot per stop (Tier 2) */
.timeline{margin-top:8px;position:relative}
.tl-day{font-weight:700;color:var(--mut);font-size:13px;margin:4px 2px 10px;
  text-transform:uppercase;letter-spacing:.4px;position:relative;background:var(--bg);z-index:2}
.stop{display:flex;gap:0;padding:0;margin:0;position:relative;z-index:1}
.conn{display:flex;align-items:stretch;gap:0;padding:0;margin:0;position:relative;z-index:1;min-height:32px}
.stop .tcol,.conn .tcol{flex:0 0 44px;text-align:right;padding-top:15px}
.conn .tcol{padding-top:0}
.stop .time{font-weight:700;font-variant-numeric:tabular-nums;font-size:13.5px}
.stop .endt{font-size:11px;color:var(--mut)}
/* spine + dot column — self-aligning; ::before bridges the inter-card gap */
.tl-dot{flex:0 0 22px;align-self:stretch;position:relative}
.tl-dot::before{content:'';position:absolute;left:10px;top:0;bottom:0;width:2px;background:var(--line)}
.tl-dot::after{content:'';position:absolute;left:5px;top:15px;width:12px;height:12px;
  border-radius:50%;background:var(--line);border:2px solid var(--bg);box-sizing:border-box}
.tl-dot.small::after{top:50%;transform:translateY(-50%);width:8px;height:8px;left:7px}
.stop.past .tl-dot::after{background:var(--line)}
.stop.now .tl-dot::after{background:var(--now);border-color:#fff;animation:dotpulse 2s ease-in-out infinite}
.stop.next .tl-dot::after{background:var(--bg);border-color:var(--accent);border-width:3px}
.stop.split .tl-dot::after{background:var(--plum);border-color:var(--bg)}
@keyframes dotpulse{0%,100%{box-shadow:0 0 0 3px rgba(31,111,84,.20)}50%{box-shadow:0 0 0 8px rgba(31,111,84,.04)}}
/* card body */
.stop .body{flex:1;min-width:0;background:var(--card);border:1px solid var(--line);
  border-radius:14px;box-shadow:var(--shadow);padding:14px 16px;margin:0 0 12px;
  position:relative;transition:border-color .2s}
.stop.now .body{border-color:var(--now);border-width:2px;box-shadow:0 2px 14px rgba(31,111,84,.16)}
.stop.next .body{border-color:var(--accent)}
.stop.past{opacity:.6}
.stop.split .body{background:#f4eef3;border-style:dashed;border-color:#d8c2cf}
.stop .nm{font-weight:700;font-size:17px;line-height:1.25;letter-spacing:-.3px}
.stop .who{display:inline-block;font-size:11px;color:#fff;background:var(--plum);font-weight:600;
  border-radius:6px;padding:1px 7px;margin-left:6px;vertical-align:middle}
.stop .book{font-size:12.5px;margin-top:4px}
.stop .book .ok{color:var(--now)} .stop .book .need{color:var(--warn)}
.stop .blurb{font-size:14px;color:var(--ink);margin-top:6px;line-height:1.5}
/* clamp long blurbs to 3 lines; only truncated ones (.is-cut) get the tap-to-open
   affordance and fade — tapping toggles .exp to reveal the full text (Tier 4). */
.stop .blurb.clamp{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;position:relative}
.stop .blurb.is-cut{cursor:pointer}
.stop .blurb.is-cut::after{content:"…ещё";position:absolute;right:0;bottom:0;padding:0 2px 0 18px;
  color:var(--accent);font-weight:600;background:linear-gradient(90deg,transparent,var(--card) 36%)}
.stop .blurb.exp{display:block;-webkit-line-clamp:unset;cursor:pointer}
.stop .blurb.exp::after{content:"свернуть";position:static;padding:0;margin-left:6px;background:none}
.stop .links{display:flex;gap:7px;margin-top:10px;flex-wrap:wrap}
.badge-now{position:absolute;right:12px;top:12px;background:var(--now);color:#fff;
  font-size:10px;font-weight:700;padding:2px 7px;border-radius:7px;text-transform:uppercase;letter-spacing:.3px}

/* connector — thin walk row on the spine (Tier 0.2 / 2.2) */
.conn .conn-txt{flex:1;display:flex;align-items:center;font-size:12.5px;color:var(--mut);letter-spacing:.1px}
.conn.now .conn-txt,.conn.next .conn-txt{color:var(--accent);font-weight:600}
.conn.past{opacity:.5}

.ml{display:inline-flex;align-items:center;gap:4px;font-size:12.5px;font-weight:600;
  padding:6px 10px;border-radius:9px;border:1px solid var(--line);background:#fbf6ee;color:var(--accent)}
.ml.nav{background:var(--accent);color:#fff;border-color:var(--accent)}

/* map */
.map-card{padding:8px}
.route-map{width:100%;height:230px;display:block;border-radius:10px;background:#eef1ea}
.map-legend{font-size:11px;color:var(--mut);margin-top:6px;display:flex;gap:12px;flex-wrap:wrap;padding:0 4px}

/* split banner + proximity (Phase 2) — plum secondary */
.split-banner{background:#f6eef2;border:1px solid #e3cdd8;border-left:4px solid var(--plum);
  border-radius:12px;padding:11px 14px;margin:10px 0;font-size:13.5px;box-shadow:var(--shadow)}
.split-banner b{color:var(--plum)}
.split-banner .branch{margin-top:6px;font-size:13px}
.split-banner .branch.mine{font-weight:600}
.split-banner .branch.other{opacity:.6}
.proximity{display:flex;align-items:center;gap:10px;background:#eaf3ee;border:1px solid #cfe5d8;
  border-radius:12px;padding:10px 14px;margin:10px 0;font-size:13.5px;box-shadow:var(--shadow)}
.proximity .arrow{font-size:20px;display:inline-block;transition:transform .3s}
.proximity .leaveby{margin-left:auto;font-weight:600;color:var(--accent2)}
.proximity.overdue{background:#fbe4dd;border-color:#eebcad;animation:warnpulse 1.6s ease-in-out infinite}
.proximity.overdue .leaveby{color:var(--warn)}
@keyframes warnpulse{0%,100%{box-shadow:var(--shadow)}50%{box-shadow:0 0 0 3px rgba(211,54,27,.14)}}
.stop.dim{opacity:.4}
.stop.mybranch .body{border-left:4px solid var(--plum)}

/* kid quests (Phase 3) — plum secondary */
.quest{background:#fbf1f5;border:1px solid #ecd2dd;border-radius:11px;padding:9px 11px;margin-top:8px;font-size:13px;line-height:1.45}
.quest.done{background:#eaf3ee;border-color:#9ccdb1}
.quest b{color:var(--plum)}
.qact{margin-top:7px}
.qbtn{font:600 12.5px inherit;border:1px solid var(--line);background:#fff;color:var(--mut);padding:7px 12px;border-radius:9px;cursor:not-allowed}
.qbtn.ready{background:var(--plum);color:#fff;border-color:var(--plum);cursor:pointer}
.qdone{color:var(--now);font-weight:600;font-size:12.5px;line-height:1.45;margin-top:7px}

/* Irina (67) pacing/shade cue — gentle, never a warning (Tier 3.3) */
.stop .irina{font-size:12.5px;line-height:1.45;color:var(--ink);background:#f4eef1;
  border:1px solid #ecdfe6;border-radius:10px;padding:8px 11px;margin-top:7px}

/* warm leave-by line under the hero countdown (Tier 3.2) */
.hero-leaveby{margin-top:6px;font-size:13px;line-height:1.4;font-weight:500;
  color:rgba(255,255,255,.92);text-shadow:0 1px 4px rgba(0,0,0,.28)}

/* weather */
.weather{display:flex;align-items:center;gap:10px;background:#fff;border:1px solid var(--line);
  border-radius:12px;padding:10px 14px;margin:10px 0;box-shadow:var(--shadow);font-size:13.5px}
.weather .gh{color:var(--accent);font-weight:600}

/* extras (SOS, ideas) */
details{background:var(--card);border:1px solid var(--line);border-radius:12px;
  margin:10px 0;box-shadow:var(--shadow);overflow:hidden}
details>summary{padding:12px 14px;font-weight:600;cursor:pointer;list-style:none}
details>summary::-webkit-details-marker{display:none}
details>summary::after{content:"▾";float:right;color:var(--mut)}
details[open]>summary::after{content:"▴"}
.det-body{padding:0 14px 14px}
.sos-row{padding:7px 0;border-top:1px solid var(--line);font-size:13.5px}
.sos-row a{font-weight:600}
.sos-big{display:flex;gap:8px;margin:4px 0 10px}
.sos-big a{flex:1;text-align:center;background:#c0392b;color:#fff;font-weight:700;
  padding:11px;border-radius:11px;font-size:15px}

/* buttons */
.btn{display:inline-block;border:1px solid var(--line);background:#fff;color:var(--ink);
  font:600 14px/1 inherit;padding:11px 14px;border-radius:11px;cursor:pointer;width:100%}
.btn.primary{background:var(--accent);color:#fff;border-color:var(--accent)}
.hero-acts .ml{padding:9px 13px;font-size:13.5px}

/* drawer */
.scrim{position:fixed;inset:0;background:rgba(20,12,4,.4);z-index:50}
.drawer{position:fixed;right:0;top:0;bottom:0;width:min(360px,90vw);background:var(--bg);
  z-index:51;box-shadow:-4px 0 20px rgba(0,0,0,.2);padding:14px;overflow:auto;
  padding-top:calc(14px + env(safe-area-inset-top))}
.drawer-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}
.drawer-head b{font-size:17px}
.x{background:none;border:0;font-size:18px;cursor:pointer;color:var(--mut)}
.drawer .row{display:flex;justify-content:space-between;align-items:center;gap:10px;
  padding:11px 0;border-bottom:1px solid var(--line);font-size:14px}
.drawer .row.toggle{font-weight:600}
.drawer select,.drawer input[type=time]{font:14px inherit;padding:7px 9px;border:1px solid var(--line);
  border-radius:9px;background:#fff;color:var(--ink);max-width:60%}
.demo-controls{margin-top:6px}
.play-row{flex-wrap:wrap}
.play-row .speed{font-size:12px;color:var(--mut);display:flex;align-items:center;gap:6px}
.play-row .btn{width:auto;flex:1}
.demo-controls .btn{margin-top:12px}
.hint{font-size:12px;color:var(--mut);margin:8px 2px 0;line-height:1.4}

.foot{max-width:680px;margin:0 auto;padding:14px;color:var(--mut);font-size:11.5px;text-align:center}

/* Wow #1 — cinematic "Прожить день" trailer (full-screen story player) */
.trailer{position:fixed;inset:0;z-index:100;color:#fff;display:flex;flex-direction:column;
  background:linear-gradient(160deg,#b85c2a,#8c3d5a);transition:background .5s ease;
  padding:env(safe-area-inset-top) 0 env(safe-area-inset-bottom)}
body.trailer-open{overflow:hidden}
.tr-bar{position:absolute;top:calc(8px + env(safe-area-inset-top));left:12px;right:12px;z-index:3;display:flex;gap:4px}
.tr-bar .seg{flex:1;height:3px;border-radius:2px;background:rgba(255,255,255,.3);transition:background .3s}
.tr-bar .seg.done{background:rgba(255,255,255,.85)}
.tr-bar .seg.on{background:#fff}
.tr-x{position:absolute;top:calc(20px + env(safe-area-inset-top));right:14px;z-index:4;
  background:rgba(0,0,0,.25);border:0;color:#fff;font-size:18px;width:34px;height:34px;border-radius:50%;cursor:pointer}
.tr-map{flex:1;width:100%;min-height:0;display:block}
.tr-card{flex:0 0 auto;padding:18px 22px 30px;z-index:3;pointer-events:none}
.tr-time{font-size:13px;font-weight:700;letter-spacing:.5px;opacity:.85;text-shadow:0 1px 4px rgba(0,0,0,.3)}
.tr-title{margin:4px 0 8px;font-size:30px;font-weight:800;line-height:1.08;letter-spacing:-.6px;text-shadow:0 2px 10px rgba(0,0,0,.32)}
.tr-cap{font-size:15px;line-height:1.45;color:rgba(255,255,255,.94);text-shadow:0 1px 6px rgba(0,0,0,.3)}
.tr-tap{position:absolute;top:60px;bottom:130px;width:38%;z-index:2;cursor:pointer}
.tr-tap.prev{left:0}.tr-tap.next{right:0}
.tr-card.share{flex:1;display:flex;flex-direction:column;justify-content:center;align-items:center;
  text-align:center;pointer-events:auto;gap:4px}
.tr-card.share .tr-fox{font-size:60px;margin-bottom:6px;animation:foxpop .6s ease}
@keyframes foxpop{0%{transform:scale(.4);opacity:0}100%{transform:scale(1);opacity:1}}
.tr-share-acts{display:flex;flex-direction:column;gap:10px;width:min(320px,80%);margin-top:18px}
.tr-card.share .btn{pointer-events:auto}
.tr-card.share .btn.primary{background:#fff;color:#b85c2a;border-color:#fff}
.tr-card.share .btn:not(.primary){background:rgba(255,255,255,.16);color:#fff;border-color:rgba(255,255,255,.4)}
.ml.film{background:rgba(184,92,42,.12);border-color:var(--accent);color:var(--accent);font-weight:700}

/* bottom sheet (in-app, e.g. "Мы отстаём") */
.sheet-scrim{position:fixed;inset:0;background:rgba(20,12,4,.45);z-index:90}
.sheet{position:fixed;left:0;right:0;bottom:0;z-index:91;background:var(--card);color:var(--ink);
  border-radius:18px 18px 0 0;padding:8px 18px calc(20px + env(safe-area-inset-bottom));
  box-shadow:0 -6px 24px rgba(0,0,0,.22);transform:translateY(100%);transition:transform .22s ease;
  max-width:680px;margin:0 auto;max-height:80vh;overflow:auto}
.sheet.up{transform:translateY(0)}
.sheet-grip{width:38px;height:4px;border-radius:3px;background:var(--line);margin:6px auto 10px}
.sheet-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}
.sheet-head b{font-size:17px}
.sheet-lead{font-size:14px;line-height:1.5;color:var(--ink);margin:4px 0 14px}
.sheet-chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}
.sheet-chips .chip{font:600 13px inherit;border:1px solid var(--line);background:#fbf6ee;color:var(--accent);
  padding:9px 13px;border-radius:999px;cursor:pointer}
.sheet-note{font-size:12.5px;color:var(--mut);margin:10px 2px 0;line-height:1.4;min-height:1em}

@media (prefers-color-scheme:dark){
  :root{--bg:#1c1916;--card:#262019;--ink:#ece3d6;--mut:#a99e8d;--line:#3a3127}
  .route-map{background:#222}
  .stop.split .body{background:#33272f;border-color:#473540}
  .split-banner{background:#2c2128;border-color:#473540}
  .quest{background:#2c2128;border-color:#473540}
  .stop .irina{background:#2c2128;border-color:#473540}
  .weather,.ml{background:var(--card)}
  .sheet-chips .chip{background:#2c2128;border-color:#473540}
  .hero-detail .irina{background:#2c2128;border-color:#473540}
}
