@font-face { font-family:"Overused Grotesk"; src:url("fonts/overused-grotesk.woff2") format("woff2"); font-style:normal; font-weight:100 900; font-display:swap; }
:root { --editor-accent: #ffe066; --skydiver: #005f86; }
/* Only the dashboard header follows panel appearance. Subpage navigation and
   the minimalist theme retain the shared, flat header. */
body:not(.theme-pollar) .site-topbar {
  margin:.5rem 1rem 0;
  border:1px solid var(--border);
  border-radius:1rem;
  background:var(--panel) !important;
  box-shadow:0 16px 40px rgb(0 0 0 / 22%);
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
}
body:not(.theme-pollar).panels-background-glass .site-topbar {
  border-color:rgb(255 255 255 / 36%);
  background:linear-gradient(135deg,rgb(255 255 255 / 20%),rgb(255 255 255 / 7%) 48%,rgb(0 0 0 / 8%)) !important;
  box-shadow:inset 0 1px 0 rgb(255 255 255 / 32%),inset 0 -1px 0 rgb(255 255 255 / 10%),0 18px 45px rgb(0 0 0 / 16%);
  backdrop-filter:blur(24px) saturate(165%);
  -webkit-backdrop-filter:blur(24px) saturate(165%);
}
body:not(.theme-pollar).panels-background-off .site-topbar {
  border-color:transparent;
  background:transparent !important;
  box-shadow:none;
  backdrop-filter:none;
  -webkit-backdrop-filter:none;
}
body:not(.theme-pollar) .site-topbar :is(nav a,.site-brand) {
  border-radius:.8rem;
  transition:background-color .2s ease;
}
body:not(.theme-pollar) .site-topbar .site-brand {
  align-self:stretch;
  padding-inline:.8rem;
}
body:not(.theme-pollar) .site-topbar :is(nav a,.site-brand):is(:hover,:focus-visible) {
  background:rgb(255 255 255 / 12%);
  transform:none;
}
body:not(.theme-pollar) .site-topbar #settings-button.site-settings-trigger {
  transition:background-color .2s ease,color .2s ease;
}
body:not(.theme-pollar) .site-topbar #settings-button.site-settings-trigger:is(:hover,:focus-visible) {
  background:rgb(255 255 255 / 12%) !important;
  border-color:transparent !important;
  color:#f4f4f4 !important;
}
.dashboard-editor-bar { position: fixed; z-index: 40; left: 50%; bottom: max(1.15rem, env(safe-area-inset-bottom)); transform: translateX(-50%); display:flex; gap:.55rem; padding:.45rem; border:1px solid rgb(255 255 255 / 25%); border-radius:1rem; background:rgb(8 18 32 / 72%); backdrop-filter:blur(18px); box-shadow:0 .7rem 2rem rgb(0 0 0 / 22%); }
.dashboard-editor-bar button,.widget-action,.widget-picker button,.dashboard-data-actions button { min-height:2.7rem; padding:.55rem .85rem; border:1px solid rgb(255 255 255 / 24%); border-radius:.75rem; background:rgb(8 18 32 / 46%); color:inherit; font:inherit; font-weight:650; cursor:pointer; }
.dashboard-editor-bar button:hover,.widget-action:hover,.widget-picker button:hover,.dashboard-data-actions button:hover { background:rgb(255 255 255 / 14%); }
.dashboard-editor-bar .editor-done { background:var(--editor-accent); color:#101827; border-color:transparent; }
body.dashboard-editing .settings-button { bottom:max(8.8rem, calc(env(safe-area-inset-bottom) + 7.8rem)); }
body:not(.dashboard-editing) .dashboard-editor-bar { display:none; }
body.dashboard-editing .dashboard .panel { outline:1px dashed rgb(255 224 102 / 75%); outline-offset:-3px; position:relative; }
body.dashboard-editing .panel-drag-handle { opacity:1 !important; background:rgb(8 18 32 / 42%); }
body:not(.dashboard-editing) .panel-drag-handle { display:none !important; pointer-events:none; }
/* Keep the six-dot handle geometrically centred: the base page styles use a
   translate transform, which was being replaced on hover by a competing rule. */
body.dashboard-editing .panel-drag-handle { left:calc(50% - 1.5rem) !important; transform:none !important; pointer-events:auto; touch-action:none; transition:opacity .2s ease,background-color .2s ease; }
.dashboard-layout-controls { display:flex; align-items:center; gap:.25rem; }
.dashboard-layout-choice { display:inline-grid; width:2.35rem; min-width:2.35rem; height:2.7rem; min-height:2.7rem; padding:.35rem !important; place-items:center; }
.dashboard-layout-choice[aria-pressed="true"] { border-color:var(--editor-accent); background:rgb(255 224 102 / 20%); }
.dashboard-layout-preview { display:grid; width:1.35rem; height:1.1rem; gap:2px; }
.dashboard-layout-preview i { display:block; border:1px solid currentColor; border-radius:2px; opacity:.92; }
.dashboard-layout-preview[data-layout="left"] { grid-template-columns:1fr 2fr; }
.dashboard-layout-preview[data-layout="equal"] { grid-template-columns:1fr 1fr; }
.dashboard-layout-preview[data-layout="right"] { grid-template-columns:2fr 1fr; }
@media (orientation:landscape) and (min-width:600px) {
  .dashboard-columns { --dashboard-left:50%; position:relative; grid-template-columns:minmax(0,var(--dashboard-left)) minmax(0,calc(100% - var(--dashboard-left) - .75rem)) !important; }

  /* A news widget in a one-third column keeps every source in one line.
     Tiles shrink together rather than creating either horizontal or vertical
     scrolling. */
  #dashboard-columns[data-column-layout="left-narrow"] #dashboard-column-left > .news-panel .news-source-menu,
  #dashboard-columns[data-column-layout="right-narrow"] #dashboard-column-right > .news-panel .news-source-menu {
    display:grid;
    grid-auto-flow:column;
    grid-auto-columns:minmax(0,1fr);
    align-items:start;
    block-size:auto;
    min-block-size:0;
    max-block-size:none;
    padding:0;
    overflow:hidden;
    overflow-y:hidden;
    overscroll-behavior-x:contain;
    overscroll-behavior-y:none;
    -webkit-overflow-scrolling:touch;
  }
  #dashboard-columns[data-column-layout="left-narrow"] #dashboard-column-left > .news-panel .news-source-option,
  #dashboard-columns[data-column-layout="right-narrow"] #dashboard-column-right > .news-panel .news-source-option {
    flex:none;
    inline-size:100%;
    min-inline-size:0;
    max-inline-size:none;
    block-size:auto;
    min-block-size:0;
    max-block-size:none;
    aspect-ratio:1;
  }
  #dashboard-columns[data-column-layout="left-narrow"] #dashboard-column-left > .news-panel .news-list,
  #dashboard-columns[data-column-layout="right-narrow"] #dashboard-column-right > .news-panel .news-list {
    grid-template-columns:minmax(0,1fr);
  }
}
@media (max-width:599px), (orientation:portrait) { .dashboard-layout-controls { display:none; } }
.widget-editor-controls { display:none; position:absolute; z-index:7; right:.55rem; top:.55rem; gap:.3rem; }
body.dashboard-editing .widget-editor-controls { display:flex; }
.widget-editor-controls button { width:2rem; height:2rem; padding:0; border:1px solid rgb(255 255 255 / 24%); border-radius:.55rem; background:rgb(8 18 32 / 68%); color:white; cursor:pointer; }
.widget-panel { min-width:0; }
.widget-panel h2 { margin:0 0 .8rem; font-size:clamp(1.1rem,2vw,1.5rem); }
.widget-kpis { display:grid; grid-template-columns:repeat(auto-fit,minmax(7rem,1fr)); gap:.55rem; }
.widget-kpi { padding:.7rem; border:1px solid rgb(255 255 255 / 18%); border-radius:.8rem; background:rgb(8 18 32 / 16%); }
.widget-kpi strong,.widget-kpi span { display:block; }
.widget-kpi strong { font-size:1.1rem; }
.widget-kpi span { color:var(--muted); font-size:.82rem; margin-top:.2rem; }
.hourly-chart { width:100%; overflow:hidden; margin-top:.25rem; }
.hourly-chart svg { display:block; width:100%; height:auto; min-height:12rem; overflow:visible; }
.hourly-chart .chart-grid { stroke:rgb(255 255 255 / 12%); stroke-width:1; }
.hourly-chart .chart-area { fill:url(#hourly-area); opacity:.38; }
.hourly-chart .chart-line { fill:none; stroke:#ffe066; stroke-width:3; stroke-linecap:round; stroke-linejoin:round; }
.hourly-chart .chart-line-low { stroke:var(--muted); stroke-width:2; opacity:.78; }
.hourly-chart .chart-dot { fill:#ffe066; stroke:rgb(8 18 32 / 70%); stroke-width:2; }
.hourly-chart .chart-dot-low { fill:var(--muted); }
.hourly-chart .chart-rain { fill:var(--skydiver); opacity:.82; }
.hourly-chart text { fill:currentColor; font:600 13px "Overused Grotesk",sans-serif; text-anchor:middle; }
.hourly-chart .chart-muted { fill:var(--muted); font-weight:400; }
.hourly-chart .chart-icon { font-size:19px; }
.hourly-chart .chart-precip { fill:var(--skydiver); font-weight:750; }
.hourly-chart .chart-low-label { fill:var(--muted); font-weight:500; }
.weather-chart-title { margin:.7rem 0 .2rem; color:var(--muted); font-size:.8rem; font-weight:700; letter-spacing:.075em; }
.hourly-chart:not(.daily-chart) .chart-area { display:none; }
.forecast.forecast-chart-mode { display:block; overflow:hidden; width:100%; scroll-snap-type:none; cursor:default; }
.forecast-chart-mode .main-daily-chart { width:100%; min-width:0; }
.forecast-chart-mode + .forecast-arrow,
.forecast-carousel:has(.forecast-chart-mode) .forecast-arrow { display:none !important; }
#news-status { font-size:.72rem; font-weight:650; letter-spacing:.075em; text-transform:uppercase; }
.calendar-sheet { display:grid; grid-template-columns:auto 1fr; gap:1rem; align-items:start; }
.calendar-day { width:5rem; overflow:hidden; border-radius:.9rem; text-align:center; background:white; color:#162236; box-shadow:0 .5rem 1.4rem rgb(0 0 0 / 16%); }
.calendar-day b { display:block; padding:.25rem; background:#e84545; color:white; font-size:.75rem; text-transform:uppercase; }
.calendar-day strong { display:block; font-size:2.4rem; line-height:1; padding:.6rem .25rem; }
.calendar-copy h2 { margin:0; }
.calendar-copy p { margin:.25rem 0 0; color:var(--muted); }
.calendar-copy > p:first-of-type { font-size:.78rem; font-weight:650; letter-spacing:.065em; text-transform:uppercase; }
.commute-routes { display:grid; gap:.55rem; }
.commute-editor { position:relative; display:grid; grid-template-columns:minmax(0,1fr) auto; gap:.45rem; width:100%; }
.commute-editor input { width:100%; min-width:0; padding:.7rem .8rem; border:1px solid rgb(255 255 255 / 20%); border-radius:.75rem; background:rgb(8 18 32 / 28%); color:inherit; font:inherit; }
.commute-suggestions { position:absolute; z-index:15; left:0; right:0; top:calc(100% + .3rem); display:grid; overflow:hidden; border:1px solid rgb(255 255 255 / 24%); border-radius:.75rem; background:rgb(15 29 44 / 96%); box-shadow:0 .8rem 1.8rem rgb(0 0 0 / 28%); }
.commute-suggestions:empty { display:none; }
.commute-suggestions button { min-height:2.6rem; padding:.55rem .7rem; border:0; border-bottom:1px solid rgb(255 255 255 / 10%); border-radius:0; background:transparent; color:inherit; text-align:left; font:inherit; cursor:pointer; }
.commute-suggestions button:hover { background:rgb(255 255 255 / 12%); }
.commute-route { display:flex; align-items:center; justify-content:space-between; gap:.8rem; padding:.75rem; border:1px solid rgb(255 255 255 / 18%); border-radius:.8rem; }
.commute-route.is-editing { display:block; }
.commute-change { flex:0 0 auto; }
.commute-route small { color:var(--muted); }
.f1-heading { --f1-logo-height:1.15rem; --f1-flag-height:calc(var(--f1-logo-height) * 1.5); display:flex; align-items:center; justify-content:space-between; gap:.85rem; font-size:clamp(1rem,1.65vw,1.28rem) !important; }
.f1-heading-main { display:flex; align-items:center; gap:.7rem; min-width:0; }
.f1-heading-copy { display:grid; gap:.12rem; min-width:0; }
.f1-track { color:var(--muted); font-size:.7em; font-weight:650; letter-spacing:.075em; text-transform:uppercase; }
.f1-grand-prix { font-weight:700; line-height:1.15; }
.f1-logo { display:block; width:4.6rem; height:var(--f1-logo-height); object-fit:contain; object-position:left center; }
#f1-widget .f1-logo-jump { display:grid; place-items:center; flex:0 0 4.6rem; width:4.6rem; height:2.8rem; padding:0!important; border:0!important; border-radius:0!important; background:transparent!important; box-shadow:none!important; cursor:pointer; }
.f1-flag { display:grid; place-items:center; flex:0 0 auto; width:auto; height:var(--f1-flag-height); aspect-ratio:4 / 3; overflow:hidden; border-radius:.35rem; }
.f1-flag img { display:block; width:100%; height:100%; object-fit:cover; object-position:50% 50% !important; }
.f1-round { margin:.6rem 0 .45rem; color:var(--muted); font-size:.72rem; font-weight:700; letter-spacing:.075em; text-transform:uppercase; }
.f1-sessions,.f1-standings { display:grid; gap:.35rem; }
.f1-session { display:grid; gap:.25rem; }
.f1-session-toggle { display:inline-flex!important; align-items:center; gap:.5rem; min-height:0!important; padding:0!important; border:0!important; background:transparent!important; color:inherit!important; box-shadow:none!important; text-align:left; }
.f1-session-toggle::after { content:""; width:.42rem; height:.42rem; border-right:1.5px solid currentColor; border-bottom:1.5px solid currentColor; transform:translateY(-.12rem) rotate(45deg); transition:transform .18s ease; }
.f1-session-toggle[aria-expanded="true"]::after { transform:translateY(.12rem) rotate(225deg); }
.f1-session-toggle:disabled::after { display:none; }
.f1-session-results { margin:.1rem 0 .45rem; padding:.5rem .65rem; border-left:2px solid rgb(255 255 255 / 16%); }
.f1-session-results .f1-row { display:grid; grid-template-columns:minmax(0,1fr) max-content; align-items:center; padding:.12rem 0; }
.f1-result-status { margin:0; color:var(--muted); font-size:.78rem; }
.f1-row { display:flex; justify-content:space-between; gap:.8rem; color:var(--muted); font-size:.88rem; }
.f1-row > span { display:flex; align-items:center; gap:.38rem; min-width:0; }
.f1-row > .f1-entry { flex:1 1 0; width:auto; }
.f1-entry { display:grid!important; grid-template-columns:2.1rem 1.7rem minmax(0,1fr); grid-template-rows:1.6rem; align-items:center; column-gap:.5rem; min-width:0; height:1.6rem; line-height:1.6rem; }
.f1-position { align-self:center; width:2.1rem; height:1.6rem; text-align:right; font-variant-numeric:tabular-nums; line-height:1.6rem; }
.f1-entry-name { align-self:center; min-width:0; height:1.6rem; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:1rem; font-weight:650; letter-spacing:.065em; line-height:1.6rem; text-transform:uppercase; }
.f1-team-mark { display:flex; align-items:center; justify-content:center; align-self:center; width:1.7rem; height:1.6rem; overflow:visible; line-height:0; }
.f1-team-mark img { display:block; width:1.7rem; height:.92rem; max-width:100%; object-fit:contain; object-position:center; }
.f1-team-mark-fallback { border-radius:.28rem; background:#3d3d3d; color:#fff; font-size:.5rem; font-weight:800; line-height:1; }
.f1-row strong { color:inherit; white-space:nowrap; }
.f1-session-toggle > span { font-size:.78rem; font-weight:650; letter-spacing:.065em; line-height:1.35rem; text-transform:uppercase; }
.f1-sessions .f1-row strong { font-size:.82rem; font-weight:400; text-align:right; }
.f1-session.is-started .f1-session-toggle { color:var(--muted)!important; }
.f1-session.is-upcoming .f1-row strong { color:#fff!important; opacity:1!important; }
body.theme-pollar .f1-session.is-upcoming .f1-row strong { color:#f4f4f4!important; }
.f1-tables { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; margin-top:.8rem; }
.f1-table h3 { margin:.25rem 0 .5rem; }
.f1-table h3 { font-size:.9rem; }
.f1-standings { gap:.22rem; }
.f1-standings .f1-row,
.f1-session-results .f1-row { font-size:1rem; line-height:1.4; }
.f1-expand { display:flex; align-items:center; justify-content:center; gap:.55rem; width:100%; margin-top:.55rem; background:transparent!important; border:0!important; }
.f1-expand { font-size:.72rem; font-weight:650; letter-spacing:.075em; text-transform:uppercase; }
.f1-expand::after { content:""; width:.52rem; height:.52rem; border-right:2px solid currentColor; border-bottom:2px solid currentColor; transform:translateY(-.12rem) rotate(45deg); transform-origin:center; }
.f1-expand[aria-expanded="true"]::after { transform:translateY(.15rem) rotate(225deg); }
.f1-weekend-nav { display:grid; grid-template-columns:2.4rem minmax(0,1fr) 2.4rem; align-items:center; gap:.35rem; }
.f1-weekend-nav .f1-heading { margin:0; }
.f1-nav { width:2.35rem; height:2.35rem; min-height:0!important; padding:0!important; border-radius:50%!important; font-size:1.7rem!important; line-height:1; }
.f1-nav:disabled { opacity:.25; cursor:default; }
.f1-results { display:grid; grid-template-columns:repeat(auto-fit,minmax(15rem,1fr)); gap:1rem; margin-top:.85rem; padding-top:.7rem; border-top:1px solid rgb(255 255 255 / 14%); }
.f1-results h3 { margin:.15rem 0 .5rem; font-size:.88rem; text-transform:uppercase; letter-spacing:.065em; }
@media(max-width:680px){.f1-tables{grid-template-columns:1fr}.commute-editor{grid-template-columns:1fr}.commute-editor>button{width:100%}}
.widget-picker { width:min(92vw,34rem); padding:1rem; border:1px solid rgb(255 255 255 / 25%); border-radius:1.2rem; background:rgb(18 30 45 / 92%); color:white; backdrop-filter:blur(22px); }
.widget-picker::backdrop { background:rgb(0 0 0 / 60%); backdrop-filter:blur(4px); }
.widget-picker header { display:flex; justify-content:space-between; align-items:center; gap:1rem; }
.widget-picker-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.65rem; margin-top:1rem; }
.widget-picker-list button { text-align:left; min-height:5rem; }
.widget-picker-list button strong,.widget-picker-list button span { display:block; }
.widget-picker-list button span { margin-top:.25rem; color:var(--muted); font-size:.82rem; }
.dashboard-widget-drawer { position:fixed; z-index:45; right:1rem; bottom:6rem; margin:0; max-height:65dvh; overflow:auto; box-shadow:0 1rem 3rem #0009; }
.dashboard-widget-drawer[hidden] { display:none !important; }
body.dashboard-editing .dashboard { padding-bottom:7rem; }
@media(max-width:700px) { .dashboard-editor-bar { flex-wrap:wrap; justify-content:center; } .dashboard-widget-drawer { left:.5rem; right:.5rem; width:auto; bottom:9rem; } }
.dashboard-data-actions { display:flex; flex-wrap:wrap; gap:.5rem; margin-top:.8rem; }
.widget-toast { position:fixed; z-index:80; left:50%; bottom:6rem; transform:translate(-50%,1rem); opacity:0; pointer-events:none; padding:.65rem .9rem; border-radius:.8rem; background:#111c2a; color:white; transition:.2s; }
.widget-toast.show { opacity:1; transform:translate(-50%,0); }
@media (max-width:700px) { .dashboard-editor-bar { width:max-content; max-width:calc(100% - 1rem); } .dashboard-editor-bar button { padding:.5rem .65rem; font-size:.82rem; } .widget-picker-list { grid-template-columns:1fr; } }
@media (max-width:600px) {
  .f1-session-results { padding-inline:.35rem; }
  .f1-session-results .f1-row { display:grid; grid-template-columns:minmax(0,1fr) max-content; align-items:center; }
  .f1-session-results .f1-row,
  .f1-standings .f1-row { gap:.45rem; font-size:.84rem; }
  .f1-entry { grid-template-columns:1.35rem 1.2rem minmax(0,1fr); grid-template-rows:1.35rem; width:100%!important; height:1.35rem; column-gap:.25rem; line-height:1.35rem; }
  .f1-position { width:1.35rem; height:1.35rem; line-height:1.35rem; }
  .f1-entry-name { height:1.35rem; font-size:.72rem; letter-spacing:.012em; line-height:1.35rem; }
  .f1-team-mark { width:1.2rem; height:1.35rem; }
  .f1-team-mark img { width:1.2rem; height:.7rem; }
  .f1-session-results .f1-row strong { flex:0 0 auto; font-size:.7rem; }
  .widget-kpis { grid-template-columns:repeat(2,minmax(0,1fr)); width:100%; }
  .widget-kpi { min-width:0; width:100%; }
  .hourly-chart { overflow-x:auto; overscroll-behavior-inline:contain; -webkit-overflow-scrolling:touch; }
  .hourly-chart svg { width:44rem; max-width:none; min-height:15.5rem; }
  .daily-chart svg { width:44rem; }
  .hourly-chart text { font-size:16px; }
  .hourly-chart .chart-icon { font-size:23px; }
  .hourly-chart .chart-precip { font-size:17px; }
  .f1-weekend-nav { grid-template-columns:2rem minmax(0,1fr) 2rem; }
  .f1-nav { width:2rem; height:2rem; font-size:1.4rem!important; }
  .f1-row { font-size:.8rem; }
  .f1-session > .f1-row { display:grid; grid-template-columns:minmax(6.5rem,.7fr) minmax(0,1.3fr); align-items:start; }
  .f1-session > .f1-row strong { font-size:.76rem; line-height:1.3; }
}
@media (prefers-reduced-motion:reduce) { .widget-toast { transition:none; } }

.f1-standings-hidden #f1-widget .f1-tables,
.f1-standings-hidden #f1-widget .f1-expand { display:none !important; }

.dashboard-f1-settings { grid-column:auto; }
.dashboard-tv-settings { grid-column:auto; }
.dashboard-account-actions { grid-column:1 / -1; order:99; width:100%; padding:1rem !important; border:2px solid var(--border) !important; background:color-mix(in srgb,var(--panel) 88%,#000) !important; box-shadow:0 0 0 1px rgb(255 255 255 / 6%); }
.dashboard-account-actions legend { font-size:1.05rem !important; }
.dashboard-edit-setting { grid-column:1 / -1; width:100%; justify-self:stretch !important; }

/* Minimalistyczny wariant inspirowany rytmem i typografią pollar.news. */
body.theme-pollar {
  --page-background:#070707;
  --panel:#0d0d0d;
  --border:#282828;
  --muted:#a2a2a2;
  color:#f4f4f4;
  background:#070707 !important;
  font-family:"Overused Grotesk",Arial,sans-serif !important;
}
/* Typography is part of the theme, not of individual widgets. */
body.theme-pollar :is(button, input, select, textarea, option) {
  font-family:"Overused Grotesk",Arial,sans-serif !important;
}
body.theme-pollar .background { opacity:1 !important; background:#070707 !important; transition:none !important; }
body.theme-pollar .background::after { display:none !important; }
body.theme-pollar .weather-background { display:none !important; }
body.theme-pollar .dashboard .panel,
body.theme-pollar .settings-modal,
body.theme-pollar .widget-picker {
  border:1px solid #282828 !important;
  border-radius:1rem !important;
  background:#0d0d0d !important;
  box-shadow:none !important;
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
}
body.theme-pollar #clock-panel {
  border-color:#282828 !important;
  background:transparent !important;
  box-shadow:none !important;
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
}
body.theme-pollar .clock {
  display:block;
  inline-size:100%;
  max-inline-size:100%;
  margin-inline:auto;
  padding:0 !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  font-family:inherit !important;
  font-variant-numeric:tabular-nums lining-nums;
  font-feature-settings:"tnum" 1,"lnum" 1;
  letter-spacing:-.055em;
  white-space:nowrap;
  text-align:center;
}
body.theme-pollar .clock time { display:inline-flex; align-items:baseline; justify-content:center; }
body.theme-pollar .clock-digit { display:inline-block; inline-size:.61em; text-align:center; }
body.theme-pollar .clock-separator { display:inline-block; inline-size:.28em; text-align:center; }
body.theme-pollar #clock-panel .date {
  margin-top:.72rem;
  color:var(--muted);
  font-family:"Overused Grotesk",Arial,sans-serif !important;
  font-size:clamp(.78rem, 1.15vw, .95rem);
  font-weight:650;
  letter-spacing:.075em;
  line-height:1.2;
  text-shadow:none;
  text-transform:uppercase;
}
body.theme-pollar .forecast-day,
body.theme-pollar .news-item,
body.theme-pollar .widget-kpi,
body.theme-pollar .commute-route,
body.theme-pollar .settings-group {
  border-color:#292929 !important;
  background:#141414 !important;
  box-shadow:none !important;
}
body.theme-pollar button,
body.theme-pollar input,
body.theme-pollar select,
body.theme-pollar .favorite-item,
body.theme-pollar .commute-suggestions {
  border-color:#303030 !important;
  background:#111 !important;
  color:#f4f4f4 !important;
  box-shadow:none !important;
}
body.theme-pollar button:hover,
body.theme-pollar .forecast-day:hover,
body.theme-pollar .news-item:hover { background:#1a1a1a !important; transform:none !important; }
body.theme-pollar .city-clear-button:hover,
body.theme-pollar .city-clear-button:focus-visible,
body.theme-pollar .location-icon-button:hover,
body.theme-pollar .location-icon-button:focus-visible { transform:translateY(-50%) !important; }
body.theme-pollar .weather-icon,
body.theme-pollar .current-weather-icon,
body.theme-pollar .current-icon,
body.theme-pollar .condition-icon,
body.theme-pollar .forecast-icon,
body.theme-pollar .hour-icon,
body.theme-pollar .favorite-weather,
body.theme-pollar .favorite-toggle { filter:none !important; }
body.theme-pollar .calendar-day { box-shadow:none; }
body:has(#calendar-widget:not(.hidden)) #clock-panel .date { display:none; }
body.theme-pollar .hourly-chart .chart-grid { stroke:#292929; }
body.theme-pollar .hourly-chart .chart-line { stroke:#ffe066; }
body.theme-pollar .hourly-chart .chart-line-low { stroke:var(--muted); }
body.theme-pollar .hourly-chart .chart-dot { fill:#ffe066; stroke:#070707; }
body.theme-pollar .hourly-chart .chart-dot-low { fill:var(--muted); }
body.theme-pollar .hourly-chart .chart-rain,
body.theme-pollar .hourly-chart .chart-precip { fill:var(--skydiver); }
body.theme-pollar .hourly-chart .chart-icon { filter:none !important; }
body.theme-pollar .weather-chart-title { text-transform:uppercase; }
body.theme-pollar .panel-drag-handle,
body.theme-pollar .settings-button { background:#111 !important; }
body.theme-pollar .theme-locked-setting { display:none !important; }
body.theme-pollar .artwork-modal-background { filter:blur(32px); }
body.theme-pollar .panel > h2,
body.theme-pollar .widget-content > h2,
body.theme-pollar .f1-table h3,
body.theme-pollar .widget-kpi span,
body.theme-pollar .news-item-meta,
body.theme-pollar .settings-group legend,
body.theme-pollar .calendar-day b {
  text-transform:uppercase;
  letter-spacing:.065em;
}
body.theme-pollar .widget-kpi span,
body.theme-pollar .news-item-meta { font-size:.72rem; }
body.theme-pollar .f1-standings .f1-row strong { font-variant-caps:all-small-caps; text-transform:uppercase; letter-spacing:.045em; }
body.theme-pollar .f1-standings .f1-entry-name,
body.theme-pollar .f1-session-results .f1-entry-name { font-variant-caps:normal; text-transform:uppercase; letter-spacing:.065em; font-weight:650; }

/* The page's old background and panel-background selects are superseded by
   the one, named theme selector injected into Appearance. */
.settings-field:has(#settings-dark-mode),
.settings-field:has(#settings-panel-background) { display:none !important; }

/* Minimalist deliberately keeps its bespoke typography. Every other theme
   has one typeface across page, widgets, controls and dialogs. */
body:not(.theme-pollar),
body:not(.theme-pollar) :is(button, input, select, textarea, option, .app, .app *, .settings-modal, .settings-modal *, .widget-picker, .widget-picker *, .dashboard-editor-bar, .dashboard-editor-bar *) {
  font-family:"Overused Grotesk", sans-serif !important;
}

/* TV deliberately mirrors the radio widget’s proportions and controls. */
#tv-widget .widget-content {
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  gap:1rem;
  align-items:center;
}
#tv-widget .station-artwork-button,
#tv-widget .station-artwork-button::after { background:#171717 !important; }
#tv-widget .station-artwork-button::after { display:none !important; }
#tv-widget .station-logo { width:90% !important; height:90% !important; margin:5%; background:transparent !important; filter:none; mix-blend-mode:normal; object-fit:contain !important; }
#tv-widget .now-playing { display:none; }
#tv-widget .now-playing.tv-epg {
  display:grid;
  gap:.22rem;
  margin:.3rem 0 0;
  color:var(--muted);
  overflow-wrap:anywhere;
}
#tv-widget .tv-epg-row {
  display:grid;
  grid-template-columns:5.7rem minmax(0,1fr);
  gap:.35rem;
  align-items:baseline;
  line-height:1.3;
}
#tv-widget .tv-epg-label { color:var(--text); font-weight:700; }
#tv-widget .tv-epg-value { min-width:0; }
#tv-widget .tv-epg-row.is-next { font-size:.82em; opacity:.8; }
.tv-playlist-setting { display:grid; gap:.55rem; margin-top:.8rem; }
.tv-playlist-setting label { display:grid; gap:.35rem; }
.tv-playlist-setting input { width:100%; min-width:0; }
.tv-playlist-setting small,
.tv-playlist-status { margin:0; color:var(--muted); }
.tv-playlist-setting > div { display:flex; flex-wrap:wrap; gap:.5rem; }
#tv-widget .tv-selector-grid { grid-column:1 / -1; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.75rem; min-width:0; }
#tv-widget .tv-category-picker,
#tv-widget .tv-channel-picker { display:grid; gap:.35rem; min-width:0; }
#tv-widget .tv-selector-grid select { width:100%; }
#tv-widget .tv-selector-grid > label > span { color:var(--muted); font-size:.7em; font-weight:650; letter-spacing:.075em; text-transform:uppercase; }
@media (max-width:560px) { #tv-widget .tv-selector-grid { grid-template-columns:1fr; } }
#tv-widget .station-info { position:relative; padding-right:2.5rem; }
#tv-widget .tv-favorite-toggle { position:absolute; right:0; top:0; min-width:2rem; min-height:2rem; padding:.15rem; border:0; background:transparent; color:var(--muted); font-size:1.8rem; line-height:1; }
#tv-widget .tv-favorite-toggle.is-favorite { color:#ffd24a; }
.tv-favorites-setting { display:grid; gap:.45rem; margin-top:.8rem; }
.tv-favorites-setting > small { color:var(--muted); }
.tv-favorite-row { display:grid; grid-template-columns:minmax(0,1fr) auto auto; align-items:center; gap:.45rem; }
.tv-favorite-row > span { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.tv-favorite-row button { min-width:2.3rem; padding:.25rem .45rem; }
.tv-favorites-launch { justify-self:start; margin-top:.25rem; }
.tv-favorites-dialog { width:min(34rem,calc(100vw - 2rem)); }
#tv-widget .tv-video-wrap { grid-column:1 / -1; min-width:0; }
#tv-widget .tv-video-wrap { position:relative; overflow:hidden; border:1px solid var(--border); border-radius:.9rem; background:#000; aspect-ratio:16 / 9; }
#tv-widget .tv-video-wrap:fullscreen,
#tv-widget .tv-video-wrap:-webkit-full-screen { border:0 !important; border-radius:0 !important; }
#tv-widget .tv-video {
  display:block;
  width:100%;
  height:100%;
  border:0;
  background:#000;
  object-fit:contain;
}
#tv-widget .tv-idle-art { display:none; position:absolute; z-index:1; inset:0; width:100%; height:100%; padding:8%; object-fit:contain; background:#171717; }
#tv-widget .tv-video-wrap.is-idle .tv-idle-art { display:block; }
#tv-widget .tv-video-wrap.is-idle .tv-video { opacity:0; }
#tv-widget .tv-controls { position:absolute; z-index:2; right:.55rem; bottom:.55rem; left:.55rem; display:flex; align-items:center; gap:.45rem; padding:.45rem; border-radius:.65rem; background:rgb(0 0 0 / 64%); opacity:0; pointer-events:none; transition:opacity .12s ease; }
#tv-widget .tv-video-wrap.controls-visible .tv-controls { opacity:1; pointer-events:auto; }
#tv-widget .tv-fullscreen-info { display:none; }
#tv-widget .tv-video-wrap:fullscreen .tv-fullscreen-info,
#tv-widget .tv-video-wrap:-webkit-full-screen .tv-fullscreen-info { position:absolute; z-index:3; top:.55rem; right:.55rem; left:.55rem; display:grid; grid-template-columns:6.2rem minmax(0,1fr); gap:1rem; align-items:center; padding:1rem; border-radius:.8rem; background:rgb(0 0 0 / 64%); color:#fff; pointer-events:none; opacity:0; transition:opacity .12s ease; }
#tv-widget .tv-video-wrap.controls-visible .tv-fullscreen-info { opacity:1; }
#tv-widget .tv-fullscreen-info img { width:6.2rem; height:6.2rem; object-fit:contain; border-radius:.45rem; background:#171717; }
#tv-widget .tv-fullscreen-info > div > strong { display:block; margin-bottom:.35rem; font-size:1.65rem; line-height:1.12; }
#tv-widget .tv-fullscreen-info .tv-overlay-epg { display:grid; gap:.22rem; margin:0; color:#ddd; font-size:1.15rem; }
#tv-widget .tv-fullscreen-info .tv-epg-row { grid-template-columns:7rem minmax(0,1fr); gap:.45rem; }
#tv-widget .tv-fullscreen-info .tv-epg-label { display:block; margin:0; font-size:inherit; line-height:inherit; }
#tv-widget .tv-fullscreen-clock { display:none; }
#tv-widget .tv-video-wrap:fullscreen .tv-fullscreen-clock,
#tv-widget .tv-video-wrap:-webkit-full-screen .tv-fullscreen-clock { position:absolute; z-index:4; top:1.25rem; right:1.35rem; display:block; color:#fff; font:inherit; font-size:2.1rem; font-weight:700; font-variant-numeric:tabular-nums; letter-spacing:.02em; white-space:nowrap; opacity:0; transition:opacity .12s ease; }
#tv-widget .tv-video-wrap.controls-visible .tv-fullscreen-clock,
#tv-widget .tv-video-wrap.tv-clock-always-visible .tv-fullscreen-clock { opacity:1; }
#tv-widget .tv-controls button { display:grid; place-items:center; flex:0 0 auto; width:2.25rem; height:2.25rem; min-height:0; padding:0; border:0; border-radius:50%; color:#fff; background:rgb(0 0 0 / 62%); box-shadow:none; }
#tv-widget .tv-controls .tv-toggle { font-size:.9rem; font-weight:700; }
#tv-widget .tv-controls .tv-mute svg { display:block; width:1.25rem; height:1.25rem; }
#tv-widget .tv-controls .tv-mute.is-muted { opacity:.55; }
#tv-widget .tv-live { margin-right:auto; color:#fff; font-size:.72rem; font-weight:700; letter-spacing:.08em; }
/* Keep the control positions fixed when a live stream is unavailable. */
#tv-widget .tv-live[hidden] { display:inline !important; visibility:hidden; }
.account-form { display:grid; gap:.8rem; }
.account-form label { display:grid; gap:.35rem; }
.account-form > div { display:flex; flex-wrap:wrap; gap:.6rem; }
.account-status { min-height:1.3em; color:#ff9797; }
.account-action-buttons { display:flex; flex-wrap:wrap; gap:.55rem; }
.account-select-legacy { display:none !important; }
.dashboard-account-details { grid-column:1 / -1; }
.account-current { margin:.1rem 0 .45rem; color:var(--muted); overflow-wrap:anywhere; }
.account-change { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto; gap:.45rem; align-items:end; }
.account-change label { display:grid; gap:.25rem; min-width:0; }
.account-change-status { min-height:1.15rem; margin:0; color:var(--muted); }
@media (max-width:44rem) { .account-change { grid-template-columns:1fr; } }

/* Reserve space for controls without clipping the page into an inset viewport. */
html.ios-pwa {
  --pwa-content-top:calc(max(24px, env(safe-area-inset-top, 0px)) + 12px);
  --pwa-content-bottom:env(safe-area-inset-bottom, 0px);
}
html.ios-pwa .app:not(.clock-only) {
  /* Pasek nawigacji ma już własny odstęp dla wycięcia ekranu. */
  padding-top:1rem;
  padding-bottom:calc(var(--pwa-content-bottom) + 1rem);
  padding-left:max(1rem, env(safe-area-inset-left, 0px));
  padding-right:max(1rem, env(safe-area-inset-right, 0px));
}
html.ios-pwa .settings-modal,
html.ios-pwa .widget-picker {
  position:fixed;
  top:var(--pwa-content-top);
  bottom:0;
  margin-block:auto;
  max-height:calc(100dvh - var(--pwa-content-top));
  padding-bottom:max(1rem, var(--pwa-content-bottom));
  overflow-y:auto;
  overscroll-behavior:contain;
  scroll-padding-block:1rem;
}
html.ios-pwa .artwork-modal {
  height:100dvh;
  min-height:100%;
}
html.ios-pwa .artwork-modal-close { top:var(--pwa-content-top); }

/* These controls must stay transparent through all interaction states. */
body #clock,
body #clock:hover,
body #clock:active,
body #clock:focus {
  background:transparent !important;
  box-shadow:none !important;
  -webkit-tap-highlight-color:transparent;
}

/* Jeden krój pisma w całym minimalistycznym panelu. */
body, body * {
  font-family: "Overused Grotesk", sans-serif !important;
}
body.clock-only .dashboard #clock-panel {
  border:0 !important;
  border-radius:0 !important;
  outline:none !important;
  background:transparent !important;
  box-shadow:none !important;
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
}
body.clock-only #clock { outline:none !important; }
body.theme-pollar #f1-widget { background:#000 !important; }
body.theme-pollar .f1-session-toggle,
body.theme-pollar .f1-session-toggle:hover,
body.theme-pollar .f1-session-toggle:active,
body.theme-pollar .f1-session-toggle:focus,
body.theme-pollar .f1-expand,
body.theme-pollar .f1-expand:hover,
body.theme-pollar .f1-expand:active {
  background:transparent !important;
  box-shadow:none !important;
  -webkit-tap-highlight-color:transparent;
}
