/* The rules of the design audit (17.09.2026), loaded last. Five type sizes (12 14 17 22 34), three radii (14 20 28) -
   those two were applied to the sheets themselves; what stays here is what no single rule owned: tap targets, the one
   accent, and contrast. */
:root { --faint:rgba(246,242,230,.62); }                       /* 12 px text at .5 was under 4:1 on the glass */
.like, .row .play, .row .mp3, .icon-btn, .round-nav button, .qrow .x, #player .ctl, #player .x { min-width:44px; min-height:44px; }
.chip, .chips .chip { min-height:38px; }
.seg button { min-height:40px; }
.mp3 { border-radius:20px; }
/* one accent: the saturated cards of Home and the mood tiles of Music become glass with a gold mark */
.foryou .fy, .fy { background:var(--panel) !important; -webkit-backdrop-filter:var(--glass); backdrop-filter:var(--glass); border:1px solid var(--rim) !important; color:var(--ink) !important; }
.fy .k, .fy small, .fy .go { color:var(--gold) !important; }
.moods { display:flex; gap:8px; overflow-x:auto; margin:0 -16px 14px; padding:0 16px; scrollbar-width:none; } .moods::-webkit-scrollbar { display:none; }
.moods .mood { flex:0 0 auto; height:40px; min-height:40px; padding:0 14px; border-radius:20px; display:inline-flex; align-items:center; gap:6px; background:var(--panel) !important; border:1px solid rgba(255,255,255,.12); color:var(--ink); }
.moods .mood svg.i { position:static; width:16px; height:16px; color:var(--gold); } .moods .mood b { font-size:13px; font-weight:600; position:static; }
.moods .mood.on { background:var(--active) !important; color:var(--active-ink, #15161A); border-color:transparent; } .moods .mood.on svg.i { color:inherit; }

/* Explore: one smart bar */
.as-box.one { margin:4px 0 10px; }
.tv-countries:empty { display:none; }
.as-box, .as-box.one { background:var(--panel) !important; background-image:none !important; border:1px solid var(--rim) !important; -webkit-backdrop-filter:var(--glass); backdrop-filter:var(--glass); }
.as-box::before, .as-box::after { display:none !important; }
.as-box button { background:var(--active) !important; color:var(--active-ink, #15161A) !important; }
.as-box input { color:var(--ink) !important; } .as-box input::placeholder { color:var(--dim) !important; }
/* City: the four-section switcher */
.seg.seg4 { display:grid; grid-template-columns:repeat(auto-fit, minmax(0, 1fr)); margin:10px 0 14px; }
/* Music: one target a row */
#view .row:has([data-play]), #view .row:has([data-wlist]), #sheet .row:has([data-wlist]) { min-height:56px; cursor:pointer; }
#view .row .play, #view .row .mp3, #sheet .row .play, #sheet .row .mp3 { display:none; }
#view .row.now .t1 { color:var(--gold); }
#player .play, #player button { min-width:44px; min-height:44px; }
/* Home: the hero and a compact weather card */
.fy.hero { display:block; width:100%; min-height:176px; margin:0 0 12px; padding:16px; border-radius:28px; position:relative; overflow:hidden; text-align:left;
  background:var(--panel) var(--img, none) center/cover no-repeat !important; border:1px solid var(--rim) !important; }
.fy.hero::before { content:""; position:absolute; inset:0; background:linear-gradient(180deg, rgba(6,6,9,.25), rgba(6,6,9,.6) 45%, rgba(6,6,9,.92)); }
.fy.hero > * { position:relative; } .fy.hero .k { letter-spacing:1px; text-transform:uppercase; font-size:12px; font-weight:700; margin-bottom:34px; }
.fy.hero .big { font:250 34px/1 "Segoe UI",sans-serif !important; letter-spacing:-1px; margin-top:8px; } .fy.hero .v { font-size:17px !important; font-weight:600; }
.card.hero .temp { font-size:34px !important; } .card.hero .greet { font-size:22px !important; }
/* Explore: the first destination is the wide one */
.tv-grid .tv-card:first-child { grid-column:1 / -1; min-height:196px; }
/* the destination sheet: inner tabs */
.seg.destv { display:flex; overflow-x:auto; gap:4px; margin:12px 0 4px; scrollbar-width:none; position:sticky; top:0; z-index:3; } .seg.destv::-webkit-scrollbar { display:none; }
.seg.destv button { flex:0 0 auto; padding:0 14px; white-space:nowrap; }
.fy.hero { width:100% !important; max-width:none !important; flex:none !important; box-sizing:border-box; }
/* the iPhone app (app.js): what stays in Telegram is not drawn */
html.app [data-bot], html.app .mp3, html.app #np-queue-mp3, html.app [data-wplmp3], html.app [data-gatebot] { display:none !important; }
html.app [data-applogin][disabled] { opacity:.7; }
/* the iPhone app has no Telegram bar above the page: the top inset is the phone's own (Dynamic Island, status bar) */
html.app { --safe-t: env(safe-area-inset-top, 0px); }
html.app .sheet { max-height: calc(100vh - env(safe-area-inset-top, 0px) - 12px); }
