/* eWIL 1.3 – układ „Siatka” (C2). Plik generowany z src/ewil.src.css (tools: build_css.py).
   Opcje wyglądu przychodzą jako atrybuty data-* i zmienne CSS na <html> (z data.json → layout).
   Wybór odwiedzającego (kolor, motyw, wielkość tekstu, odstępy) nadpisuje je w JS i zostaje w przeglądarce.
   Wszystkie wymiary w rem: wielkość tekstu skaluje całą stronę, a linie 1 px nie znikają. */

/* ------------------------------------------------------------------ tokeny */
:root{
  --page:#E9E8E2; --paper:#F4F3EF; --paper2:#FBFAF7; --white:#FFFFFF; --ink:#15171C; --ink2:#3B3D44; --ink3:#44464D; --mute:#5E6068; --mute2:#6B6960; --faint:#8A887F;
  --line:#D3D1C8; --line2:#C9C7BE; --line3:#E2E0D8; --warn-bg:#FBEADF; --warn:#8A3B12; --warn-dot:#D2691E; --ok:#1F5A3D; --ok-dot:#2F8A5E;
  --shadow:rgba(21,23,28,.07); --nw-bg:rgba(255,255,255,.93); --nw-sep:rgba(255,255,255,.35); --tip-bg:rgba(21,23,28,.92); --tip-fg:#FFFFFF;
  --head-dark:#E9E8E2; --head-light:#EFEEE9; --head-white:#FFFFFF; --grid-ink:rgba(21,23,28,.07);
  --rule1:#A9A79E; --rule2:#C2C0B7; --rule3:#D3D1C8; --rule-base:#CFCDC4;
  --hover-grad:linear-gradient(to bottom,#FEFDFB,#F4F3EF); --star:#D97706; --star-bg:#FBEADF;
  --glass-edge:rgba(255,255,255,.34); --glass-ring:rgba(255,255,255,.85);
  --blob1:#DCEAE2; --blob2:#E1E8F1; --blob3:#ECE5F2; --page-grad:linear-gradient(180deg,#EEECE6,#E4E2DA);
  --sans:"Inter",system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  --mono:"IBM Plex Mono",ui-monospace,"SFMono-Regular",Menlo,Consolas,"Liberation Mono",monospace;
  --k:1; --gap0:32px; --gap:calc(var(--gap0) * var(--k)); --pad-x:calc(var(--gap) * .85); --tile-pad:18px; --gw:1px;
  --tex:linear-gradient(rgba(255,255,255,.06) 1px,transparent 1px) 0 0/14px 14px,linear-gradient(90deg,rgba(255,255,255,.06) 1px,transparent 1px) 0 0/14px 14px;
  color-scheme:light;
}
html[data-accent=zielen]{--acc:#145A3C; --acc-mid:#4E9A76; --acc-soft:#DCEAE2; --acc-link:#135436; --sw:linear-gradient(135deg,#6FB394,#145A3C); --blob1:#D6E8DD;
  --grad:radial-gradient(120% 90% at 100% 0%,#6FB394 0%,rgba(111,179,148,0) 55%),radial-gradient(100% 100% at 0% 100%,#0B3D27 0%,rgba(11,61,39,0) 60%),linear-gradient(160deg,#2B7A55 0%,#18603F 55%,#0F4A30 100%)}
html[data-accent=kobalt]{--acc:#2B4BD8; --acc-mid:#8EA2F5; --acc-soft:#E3E8FD; --acc-link:#2B4BD8; --sw:linear-gradient(135deg,#A9BAFF,#2B4BD8); --blob1:#E0E6FB;
  --grad:radial-gradient(120% 90% at 100% 0%,#B3C2FF 0%,rgba(179,194,255,0) 55%),radial-gradient(100% 100% at 0% 100%,#1A2E8F 0%,rgba(26,46,143,0) 60%),linear-gradient(160deg,#5571EE 0%,#3150D9 55%,#2540B8 100%)}
html[data-accent=glina]{--acc:#A4502A; --acc-mid:#DE9A70; --acc-soft:#F6E5D9; --acc-link:#94451F; --sw:linear-gradient(135deg,#F2C9A8,#A4502A); --blob1:#F3E2D6;
  --grad:radial-gradient(120% 90% at 100% 0%,#F4C7A3 0%,rgba(244,199,163,0) 55%),radial-gradient(100% 100% at 0% 100%,#7A3517 0%,rgba(122,53,23,0) 60%),linear-gradient(160deg,#C8774B 0%,#A9572F 55%,#8E4423 100%)}
html[data-mode=dark]{
  --page:#121316; --paper:#1A1C20; --paper2:#202328; --white:#24272D; --ink:#ECEAE4; --ink2:#C9C7C0; --ink3:#BDBBB4; --mute:#A3A199; --mute2:#98968E; --faint:#8C8A82;
  --line:#2E3036; --line2:#3A3C42; --line3:#2A2C31; --warn-bg:#3A2418; --warn:#F0B48A; --warn-dot:#E08A4A; --ok:#8FD3AE; --ok-dot:#3FA877;
  --shadow:rgba(0,0,0,.45); --nw-bg:rgba(26,28,32,.93); --nw-sep:rgba(255,255,255,.12); --tip-bg:rgba(236,234,228,.95); --tip-fg:#15171C;
  --head-dark:#121316; --head-light:#1F2125; --head-white:#24272D; --grid-ink:rgba(255,255,255,.05);
  --rule1:#55575D; --rule2:#45474D; --rule3:#36383E; --rule-base:#33353A;
  --hover-grad:linear-gradient(to bottom,#25282E,#1A1C20); --star:#F59E0B; --star-bg:#3A2A18;
  --glass-edge:rgba(255,255,255,.07); --glass-ring:rgba(255,255,255,.12);
  --blob1:#1C2A23; --blob2:#1B2230; --blob3:#251E2C; --page-grad:linear-gradient(180deg,#141518,#101113);
  --nbtn-bg:#1A1C20; --nbtn-bd:rgba(255,255,255,.18);
  color-scheme:dark;
}
html[data-mode=dark][data-accent=zielen]{--acc:#2B7A55; --acc-soft:#1E3A2D; --acc-link:#6CC79A; --blob1:#1C2A23}
html[data-mode=dark][data-accent=kobalt]{--acc-soft:#1F2747; --acc-link:#8EA2F5; --blob1:#1C2236}
html[data-mode=dark][data-accent=glina]{--acc-soft:#3A2A20; --acc-link:#E3A27C; --blob1:#2C211B}
html[data-mode=dark] [data-tone=c]{--tone-link:color-mix(in srgb,var(--tone) 55%,#FFFFFF)}

@media (prefers-color-scheme: dark){
  html[data-mode=auto]{
  --page:#121316; --paper:#1A1C20; --paper2:#202328; --white:#24272D; --ink:#ECEAE4; --ink2:#C9C7C0; --ink3:#BDBBB4; --mute:#A3A199; --mute2:#98968E; --faint:#8C8A82;
  --line:#2E3036; --line2:#3A3C42; --line3:#2A2C31; --warn-bg:#3A2418; --warn:#F0B48A; --warn-dot:#E08A4A; --ok:#8FD3AE; --ok-dot:#3FA877;
  --shadow:rgba(0,0,0,.45); --nw-bg:rgba(26,28,32,.93); --nw-sep:rgba(255,255,255,.12); --tip-bg:rgba(236,234,228,.95); --tip-fg:#15171C;
  --head-dark:#121316; --head-light:#1F2125; --head-white:#24272D; --grid-ink:rgba(255,255,255,.05);
  --rule1:#55575D; --rule2:#45474D; --rule3:#36383E; --rule-base:#33353A;
  --hover-grad:linear-gradient(to bottom,#25282E,#1A1C20); --star:#F59E0B; --star-bg:#3A2A18;
  --glass-edge:rgba(255,255,255,.07); --glass-ring:rgba(255,255,255,.12);
  --blob1:#1C2A23; --blob2:#1B2230; --blob3:#251E2C; --page-grad:linear-gradient(180deg,#141518,#101113);
  --nbtn-bg:#1A1C20; --nbtn-bd:rgba(255,255,255,.18);
  color-scheme:dark;
}
  html[data-mode=auto][data-accent=zielen]{--acc:#2B7A55; --acc-soft:#1E3A2D; --acc-link:#6CC79A; --blob1:#1C2A23}
  html[data-mode=auto][data-accent=kobalt]{--acc-soft:#1F2747; --acc-link:#8EA2F5; --blob1:#1C2236}
  html[data-mode=auto][data-accent=glina]{--acc-soft:#3A2A20; --acc-link:#E3A27C; --blob1:#2C211B}
  html[data-mode=auto] [data-tone=c]{--tone-link:color-mix(in srgb,var(--tone) 55%,#FFFFFF)}

}
html[data-density=s]{--k:.72} html[data-density=m]{--k:1} html[data-density=l]{--k:1.25}
html[data-gridw="2"]{--gw:2px}
/* kolor sekcji: „main” = kolor akcentu, „c” = własny kolor sekcji (style="--tone:#…") */
[data-tone=main]{--tone:var(--acc); --tone-soft:var(--acc-soft); --tone-link:var(--acc-link)}
[data-tone=c]{--tone-soft:color-mix(in srgb,var(--tone) 14%,var(--paper)); --tone-link:var(--tone)}
.sec,.ov,.tabs a,.rail a{--grid-c:color-mix(in srgb,var(--tone,var(--acc)) 32%,var(--line))}
html[data-gridin=grey] .sec{--grid-c:var(--line)}
.grid{--grid-bg:radial-gradient(ellipse 60% 75% at 50% 50%,color-mix(in srgb,var(--tone) 55%,var(--line)) 0%,var(--grid-c) 45%,var(--grid-out) 100%); --grid-out:var(--line)}
html[data-gridout=bg] .grid{--grid-out:var(--paper)} html[data-gridout=accent] .grid{--grid-out:var(--grid-c)}
html[data-gridout=none] .grid{--grid-out:var(--paper); border-width:0}
html:not([data-gridin=fade]) .grid{--grid-bg:var(--grid-c)}
html[data-gridout=accent][data-gridin=fade] .grid{--grid-bg:radial-gradient(ellipse 60% 75% at 50% 50%,color-mix(in srgb,var(--tone) 55%,var(--line)) 0%,var(--grid-c) 60%)}

/* ------------------------------------------------------------------ podstawy */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%; text-size-adjust:100%}
body{margin:0; font-family:var(--sans); font-size:1rem; line-height:1.45; color:var(--ink); background:var(--page)}
html[data-pagebg=gradient] body{background:radial-gradient(55% 45% at 8% 0%,var(--blob1) 0%,transparent 100%),radial-gradient(45% 55% at 100% 30%,var(--blob2) 0%,transparent 100%),radial-gradient(50% 50% at 30% 100%,var(--blob3) 0%,transparent 100%),var(--page-grad); background-attachment:fixed}
a{color:inherit; text-decoration:none}
a:hover{text-decoration:underline; text-underline-offset:3px}
button,input,select{font:inherit; color:inherit}
:focus-visible{outline:2px solid var(--acc); outline-offset:2px}
.ic{width:1.25em; height:1.25em; flex:none; vertical-align:middle}
.sr{position:absolute!important; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap}
.skip{position:absolute; left:8px; top:-60px; z-index:100; background:var(--ink); color:var(--paper); padding:10px 14px; border-radius:8px}
.skip:focus{top:8px}
html:not(.js) .js-only{display:none!important}
[hidden]{display:none!important}
.fine{font-size:.8125rem; color:var(--mute2); margin:0}
@media (prefers-reduced-motion: reduce){*{animation:none!important; transition:none!important; scroll-behavior:auto!important}}
html{scroll-behavior:smooth; scroll-padding-top:12px}
/* znaczniki numerów sekcji 00–03 */
.no{display:inline-grid; place-items:center; min-width:1.75rem; height:1.375rem; padding:0 .3rem; border-radius:.3125rem; background:var(--tone,var(--acc)); color:#FFF; font:600 .6875rem var(--mono); flex:none}
.no-all{background:var(--faint)}
/* podpowiedzi (dymki) – bez JS, na najechanie i fokus */
[data-tip]{position:relative}
[data-tip]::after{content:attr(data-tip); position:absolute; bottom:calc(100% + 6px); left:50%; transform:translate(-50%,3px); background:var(--tip-bg); color:var(--tip-fg); font:500 .75rem/1.3 var(--sans); padding:5px 8px; border-radius:6px; white-space:nowrap; opacity:0; pointer-events:none; transition:opacity .12s ease .25s,transform .12s ease .25s; z-index:30; max-width:320px}
[data-tip]:hover::after,[data-tip]:focus-visible::after{opacity:1; transform:translate(-50%,0)}
.find-hint[data-tip]::after{white-space:normal; width:300px; left:auto; right:0; transform:translateY(3px); top:calc(100% + 8px); bottom:auto}
.find-hint[data-tip]:hover::after{transform:none}

/* ------------------------------------------------------------------ strona i ramka */
.page{min-height:100vh; padding:0 64px 0 16px}
.sheet{max-width:1360px; margin:0 auto; min-height:100vh; background:var(--paper); border-left:1px solid var(--line); border-right:1px solid var(--line); display:flex; flex-direction:column}
/* „szkło”: gruba, półprzezroczysta ramka z rozmyciem – środek strony pozostaje pełny */
html[data-glass="1"] .page{padding:24px 72px 24px 24px}
html[data-glass="1"] .sheet{min-height:calc(100vh - 48px); border:14px solid var(--glass-edge); background-clip:padding-box; border-radius:30px; overflow:clip;
  box-shadow:0 0 0 1px var(--glass-ring),0 28px 70px rgba(21,23,28,.14),inset 0 0 0 1px rgba(21,23,28,.08); -webkit-backdrop-filter:blur(18px) saturate(1.5); backdrop-filter:blur(18px) saturate(1.5)}

/* ------------------------------------------------------------------ górny pasek */
.top{display:flex; flex-wrap:wrap; align-items:center; gap:10px 18px; padding:.875rem 1.125rem .875rem 1.5rem; position:relative; z-index:20; border-bottom:1px solid var(--line3)}
html[data-headline="0"] .top{border-bottom:0}
html[data-head=gradient] .top{background:var(--tex),var(--grad); color:#FFF; border-bottom:0}
html[data-head=gradient-plain] .top{background:var(--grad); color:#FFF; border-bottom:0}
html[data-head=grid] .top{background:linear-gradient(var(--grid-ink) 1px,transparent 1px) 0 0/22px 22px,linear-gradient(90deg,var(--grid-ink) 1px,transparent 1px) 0 0/22px 22px,var(--head-bg); border-bottom:0}
html[data-head=plain] .top{background:var(--head-bg); border-bottom:0}
html[data-headtone=dark]{--head-bg:var(--head-dark)} html[data-headtone=light]{--head-bg:var(--head-light)} html[data-headtone=white]{--head-bg:var(--head-white)}
.brand{display:flex; align-items:center; gap:.75rem; color:inherit}
.brand:hover{text-decoration:none}
.brand-mark{display:grid; grid-template-columns:repeat(2,.8125rem); gap:3px}
.brand-mark i{width:.8125rem; height:.8125rem; border-radius:2px; background:var(--acc)} .brand-mark i:nth-child(3){background:#3D5A80} .brand-mark i:nth-child(4){background:var(--acc-mid)}
html[data-head^=gradient] .brand-mark i{background:#FFF} html[data-head^=gradient] .brand-mark i:nth-child(3){background:rgba(255,255,255,.55)} html[data-head^=gradient] .brand-mark i:nth-child(4){background:rgba(255,255,255,.8)}
.brand-tx{font-size:1.5rem; font-weight:700; letter-spacing:-.03em; line-height:1}

.find{display:flex; align-items:center; gap:10px; background:var(--white); border:1px solid var(--line2); border-radius:12px; padding:0 6px 0 14px; height:2.75rem; color:var(--ink)}
.top .find{flex:1 1 320px; max-width:500px; margin:0 auto}
.find .ic{color:var(--mute)}
.find input{flex:1; min-width:0; border:0; outline:none; background:transparent; font-size:.9375rem; height:100%}
.find input::-webkit-search-cancel-button{cursor:pointer}
.find:focus-within{border-color:var(--acc); box-shadow:0 0 0 3px var(--acc-soft)}
.find-hint{font:500 .75rem var(--mono); background:var(--acc-soft); border-radius:7px; padding:6px 9px; white-space:nowrap; max-width:46%; text-overflow:ellipsis; cursor:help}
.find-row{padding:18px var(--pad-x)}
.find-row .find{height:3.5rem} .find-row .find input{font-size:1.0625rem}

.tools{display:flex; gap:8px; align-items:center; margin-left:auto}
.tool{height:2.625rem; padding:0 .75rem; border:1px solid var(--line2); border-radius:10px; background:var(--white); color:var(--ink); display:inline-flex; align-items:center; gap:7px; font:500 .8125rem var(--sans); cursor:pointer; white-space:nowrap}
.tool:hover{text-decoration:none; border-color:var(--mute)}
.tool .ic{width:16px; height:16px}
.tool-lang{font:600 .8125rem var(--mono)}
.swatch{width:1.25rem; height:1.25rem; border-radius:50%; background:var(--sw); flex:none}
.sw-zielen{background:linear-gradient(135deg,#6FB394,#145A3C)} .sw-kobalt{background:linear-gradient(135deg,#A9BAFF,#2B4BD8)} .sw-glina{background:linear-gradient(135deg,#F2C9A8,#A4502A)}
.tool-appear .chev{display:inline-flex; transition:transform .16s ease} .tool-appear[aria-expanded=true] .chev{transform:rotate(180deg)}
.appear{position:relative}
/* menu „Wygląd” */
.appear-pop{position:absolute; right:0; top:calc(100% + 8px); width:21rem; max-width:calc(100vw - 24px); background:var(--white); color:var(--ink); border:1px solid var(--line); border-radius:14px; box-shadow:0 16px 40px rgba(21,23,28,.14); z-index:30; padding:14px; display:flex; flex-direction:column; gap:14px}
.ap-blk{display:flex; flex-direction:column; gap:7px; min-width:0}
.ap-l{display:flex; font-size:.8125rem; font-weight:600; color:var(--ink3)}
.fs-cur{margin-left:auto; font:500 .75rem var(--mono); color:var(--mute2)}
.ap-acc{display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:5px}   /* 1.5.5: 4 w rzędzie */
.ap-acc button{height:3.25rem; min-width:0; padding:0 3px; border:1px solid var(--line3); border-radius:9px; background:var(--white); display:flex; flex-direction:column; align-items:center; justify-content:center; gap:4px; font-size:.75rem; font-weight:500; cursor:pointer; overflow:hidden; text-overflow:ellipsis; white-space:nowrap}
.ap-acc button .swatch{width:1.25rem; height:1.25rem; flex:none}
.ap-acc button[aria-pressed=true]{background:var(--acc-soft); border-color:var(--acc)}
.ap-acc button[aria-pressed=true] .swatch{box-shadow:0 0 0 2px var(--white),0 0 0 4px var(--acc)}
.ap-fs{display:flex; align-items:center; gap:10px; height:2.5rem; border:1px solid var(--line3); border-radius:10px; padding:0 4px}
.ap-fs>button{width:2.125rem; height:2rem; border:0; border-radius:7px; background:transparent; font-weight:600; font-size:.8125rem; cursor:pointer}
.ap-fs>button.ap-big{font-size:1rem}
.ap-fs>button:hover{background:var(--acc-soft)}
.ap-dots{flex:1; display:flex; align-items:center; justify-content:space-between; position:relative}
.ap-dots::before{content:""; position:absolute; left:4px; right:4px; top:50%; height:2px; margin-top:-1px; background:var(--line3)}
.ap-dots button{position:relative; width:10px; height:10px; padding:0; border:2px solid var(--line2); border-radius:50%; background:var(--white); cursor:pointer}
.ap-dots button.lt{border-color:var(--acc); background:var(--acc-mid)}
.ap-dots button.cur{width:14px; height:14px; border-color:var(--acc); background:var(--acc)}
.ap-two{display:grid; grid-template-columns:1fr 1fr; gap:12px}
.ap-ics{display:flex; gap:4px}
.ap-ics button{flex:1; height:2.5rem; border:1px solid var(--line3); border-radius:9px; background:var(--white); color:var(--ink3); display:flex; flex-direction:column; align-items:center; justify-content:center; cursor:pointer}
.ap-ics button .ic{width:16px; height:16px}
.ap-ics button i{display:block; width:16px; height:2px; border-radius:1px; background:currentColor}
.ap-ics .dens-s{gap:2px} .ap-ics .dens-m{gap:4px} .ap-ics .dens-l{gap:6px}
.ap-ics button[aria-pressed=true]{background:var(--acc-soft); border-color:var(--acc); color:var(--acc-link)}
.ap-acc button:hover,.ap-ics button:hover{border-color:var(--acc)}
.ap-foot{display:flex; align-items:center; gap:8px; padding-top:10px; border-top:1px solid var(--line3); font-size:.75rem; color:var(--faint)}
.ap-foot span{flex:1; min-width:0}
.ap-foot button{margin-left:auto; white-space:nowrap; flex:none; height:1.75rem; padding:0 10px; border:1px solid var(--line3); border-radius:7px; background:var(--white); font-size:.75rem; font-weight:500; color:var(--ink3); cursor:pointer}
/* wariant „pasek”: tylko kolory, od razu w nagłówku */
html[data-settings=bar] .tool-appear{display:none}
html[data-settings=bar] .appear-pop{position:static; display:flex!important; width:auto; padding:0; border:0; box-shadow:none; background:transparent}
html[data-settings=bar] .ap-blk:not(:first-child),html[data-settings=bar] .ap-two,html[data-settings=bar] .ap-foot,html[data-settings=bar] .ap-l{display:none}
html[data-settings=bar] .ap-acc button{height:2.625rem; width:2.625rem; font-size:0; gap:0}

.searchinfo{margin:0; padding:12px var(--pad-x); font-size:.875rem; border-bottom:1px solid var(--line)}
.searchinfo a{color:var(--acc-link); text-decoration:underline}

/* ------------------------------------------------------------------ skróty i komunikaty */
.hero{display:flex; flex-wrap:wrap; align-items:flex-start; position:relative; padding-top:calc(var(--gap) * .8)}
.favs .fav-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,8.75rem),1fr))}
.favs{min-width:0; padding:0 var(--pad-x) calc(var(--gap) * .8); display:flex; flex-direction:column; gap:10px}
.news{min-width:0; padding:0 var(--pad-x) calc(var(--gap) * .8); display:flex}
html[data-favpos=auto] .hero{flex-direction:row-reverse}
html[data-favpos=auto] .favs{flex:1 1 300px; padding-left:0}
html[data-favpos=auto] .news{flex:999 1 520px}
html[data-favpos=top] .favs,html[data-favpos=top] .news{flex:1 1 100%}
html[data-favpos=side] .favs{flex:1 1 480px} html[data-favpos=side] .news{flex:1 1 440px}
html[data-favpos=side][data-order=news-first] .hero{flex-direction:row-reverse}
.favs-h{display:flex; align-items:center; gap:10px}
.favs-h h2{margin:0; font-size:1rem; font-weight:600; display:flex; align-items:center; gap:8px; min-width:0; white-space:nowrap}
.favs-star{width:1.625rem; height:1.625rem; border-radius:7px; background:var(--star-bg); color:#B45309; display:grid; place-items:center; font-size:.875rem}
.favs-tools{display:flex; align-items:center; gap:2px; margin-left:auto}
.favs-edit{height:1.875rem; padding:0 8px; gap:5px; border-radius:7px; color:var(--mute); font-weight:500; font-size:.78rem; display:inline-flex; align-items:center}
.favs-edit:hover,.favs-hide:hover{text-decoration:none; background:var(--acc-soft); color:var(--acc-link)}
.favs-edit .ic{width:14px; height:14px}
.favs-hide{width:1.875rem; height:1.875rem; border:0; border-radius:7px; background:transparent; color:var(--mute); display:grid; place-items:center; cursor:pointer}
.favs-hide .ic{width:15px; height:15px}
html[data-favtools=bottom] .favs-h{display:contents}
html[data-favtools=bottom] .favs-h h2{order:1} html[data-favtools=bottom] .fav-wrap{order:2} html[data-favtools=bottom] .favs-tools{order:3; margin:0 0 0 auto}
html.favs-off #skroty{display:none!important}
html[data-favsout="0"] .fav-wrap{border:0}
html.favs-off[data-favpos=auto] .news{flex-basis:100%}
.foot-favs{border:0; background:transparent; padding:0; font:inherit; color:var(--acc-link); cursor:pointer; text-decoration:underline; text-underline-offset:3px}
.ov-switch{display:flex; align-items:center; gap:8px; margin:0 22px 8px; padding:10px 12px; border:1px solid var(--line); border-radius:10px; background:var(--white); font-size:.875rem; cursor:pointer}
.ov-switch input,.ap-sw input{width:1.0625rem; height:1.0625rem; accent-color:var(--acc); margin:0}
.ap-sw{display:flex; align-items:center; gap:8px; font-size:.8125rem; font-weight:500; color:var(--ink3); cursor:pointer}
.fav-wrap{display:flex; align-items:stretch; border:1px solid var(--line); border-radius:12px; overflow:hidden; background:var(--line)}
.fav-grid{flex:1; min-width:0; list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,10.5rem),1fr)); gap:1px}
.fav-grid li{background:var(--paper2); display:flex; min-width:0}
.fav-grid a{flex:1; min-width:0; height:2.5rem; padding:0 10px; display:flex; align-items:center; gap:8px; font-weight:600; font-size:.875rem; transition:background .14s ease,color .14s ease}
.fav-grid a:hover,.fav-grid a:focus-visible{text-decoration:none; background:var(--tone-soft,var(--acc-soft)); color:var(--tone-link,var(--acc-link))}
.fav-grid .ic,.mi{width:1rem; height:1rem; color:var(--tone,var(--acc))}
.fav-t{flex:1; min-width:0; white-space:nowrap; overflow:hidden; text-overflow:ellipsis}
.fav-k{font:500 .6875rem var(--mono); color:var(--faint); border:1px solid var(--line3); border-radius:4px; padding:1px 5px}
.fav-more{display:none; width:2.875rem; border:0; border-left:1px solid var(--line); background:var(--white); color:var(--acc-link); cursor:pointer}
.fav-more .ic{transition:transform .16s ease} .fav-more[aria-expanded=true] .ic{transform:rotate(180deg)}
/* ikona z zestawu Ionicons jako maska (kolor = currentColor) – dla własnych skrótów */
.mi{display:inline-block; flex:none; background:currentColor; -webkit-mask:var(--i) center/contain no-repeat; mask:var(--i) center/contain no-repeat}

.news-panel{flex:1; border-radius:16px; background:var(--tex),var(--grad); padding:16px; display:flex; flex-direction:column; gap:12px; min-width:0}
.news-h{display:flex; justify-content:space-between; align-items:center; gap:12px; color:#FFF}
.news-h h2{margin:0; display:flex; align-items:center; gap:10px; font-size:1rem; font-weight:600}
.news-h .no{background:rgba(255,255,255,.22)}
.news-all{height:2.125rem; padding:0 12px; border-radius:9px; background:rgba(255,255,255,.14); border:1px solid rgba(255,255,255,.32); color:#FFF; font-weight:500; font-size:.84rem; display:inline-flex; align-items:center; gap:8px; white-space:nowrap; transition:background .14s ease}
.news-all:hover{text-decoration:none; background:rgba(255,255,255,.26)}
.news-n{font:600 .6875rem var(--mono); background:rgba(255,255,255,.22); border-radius:5px; padding:1px 6px}
.news-list{display:flex; flex-direction:column; gap:1px; border-radius:12px; overflow:hidden; background:var(--nw-sep)}
.news-list .nw{background:var(--nw-bg); padding:12px 16px; transition:background .14s ease,box-shadow .14s ease}
.news-list .nw.can-open{cursor:pointer}
.news-list .nw.can-open:hover{background:var(--white); box-shadow:inset 4px 0 0 var(--acc)}
.nw{display:flex; flex-direction:column; gap:4px}
.nw-meta{display:flex; flex-wrap:wrap; align-items:center; gap:4px 8px; font-size:.875rem}
.nw .dot{width:9px; height:9px; border-radius:50%; background:var(--faint); flex:none}
.nw-warn .dot{background:var(--warn-dot)} .nw-ok .dot{background:var(--ok-dot)} .nw-info .dot{background:#3D5A80}
.nw-svc{font-weight:600} .nw-svc a:hover{color:var(--acc-link)}
.nw-new{font-size:.75rem; font-weight:600; color:var(--warn); background:var(--warn-bg); border-radius:4px; padding:1px 6px}
.nw time{font:500 .75rem var(--mono); color:var(--mute); margin-left:auto}
.nw-title{margin:0; font-size:.9375rem}
.nw-body{font-size:.875rem; line-height:1.5; color:var(--ink2)}
.nw-body p{margin:0 0 .4em} .nw-body p:last-child{margin:0}
.nw-body a{color:var(--acc-link); text-decoration:underline}
.nw-note{margin:0; font-size:.75rem; color:var(--mute2)}
html.js .nw-clamp:not(.open) .nw-body{display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:var(--news-l,1); overflow:hidden}
html.js .nw-clamp:not(.open) .nw-body p{display:inline}
.nw-chev{display:none; color:var(--mute); transition:transform .16s ease,color .14s ease}
.nw-chev .ic{width:16px; height:16px}
.can-open .nw-chev{display:inline-flex}
.nw.open .nw-chev{transform:rotate(180deg)}
.can-open:hover .nw-chev{color:var(--acc)}
.nw-more{display:none}

/* ------------------------------------------------------------------ separatory: linijka / cień */
.divider.shadow{height:18px; flex:none}
.shadow-top{background:linear-gradient(to bottom,var(--shadow),transparent)}
.shadow-bottom{background:linear-gradient(to top,var(--shadow),transparent)}
.divider.ruler{position:relative; height:var(--rh,16px); flex:none; overflow:hidden; border-bottom:1px solid var(--rule-base);
  /* jak prawdziwa linijka: co 60 px długa kreska, co 30 px średnia, co 6 px krótka – cienkie i jasne */
  background:linear-gradient(90deg,var(--rule1) 1px,transparent 1px) 0 100%/60px var(--rt,7px) repeat-x,
             linear-gradient(90deg,var(--rule2) 1px,transparent 1px) 30px 100%/60px calc(var(--rt,7px) * .7) repeat-x,
             linear-gradient(90deg,var(--rule3) 1px,transparent 1px) 0 100%/6px calc(var(--rt,7px) * .42) repeat-x}
html[data-rulerfade=up] .divider.ruler{-webkit-mask:linear-gradient(to top,#000 0%,#000 25%,transparent 100%); mask:linear-gradient(to top,#000 0%,#000 25%,transparent 100%)}
html[data-rulerfade=sides] .divider.ruler{-webkit-mask:linear-gradient(90deg,transparent,#000 18%,#000 82%,transparent); mask:linear-gradient(90deg,transparent,#000 18%,#000 82%,transparent)}
html[data-rulerfade=both] .divider.ruler{-webkit-mask:linear-gradient(to top,#000 25%,transparent),linear-gradient(90deg,transparent,#000 18%,#000 82%,transparent); -webkit-mask-composite:source-in; mask:linear-gradient(to top,#000 25%,transparent),linear-gradient(90deg,transparent,#000 18%,#000 82%,transparent); mask-composite:intersect}
.ruler-n{display:flex; white-space:nowrap; padding-top:2px}
.ruler-n span{flex:0 0 120px; padding-left:3px; font:400 .625rem var(--mono); color:var(--faint)}

/* ------------------------------------------------------------------ zakładki sekcji */
.tabs{display:grid; grid-template-columns:repeat(auto-fit,minmax(150px,1fr)); border-top:1px solid var(--line); border-bottom:1px solid var(--line)}
.tabs a{position:relative; height:3.5rem; display:flex; align-items:center; justify-content:flex-start; gap:9px; padding:0 1rem; font-weight:600; font-size:.9375rem; color:var(--tone-link,var(--ink)); border-left:1px solid var(--line); border-bottom:3px solid transparent; margin-bottom:-1px; overflow:hidden; transition:background .14s ease}
.tabs a:first-child{border-left:0}
.tabs a:hover{text-decoration:none; background:var(--tone-soft,var(--line3))}
.tabs a[aria-current=true]{background:var(--white); border-bottom-color:var(--tone,var(--ink))}
.tab-c{margin-left:auto; min-width:1.375rem; padding:1px 5px; border:1px solid color-mix(in srgb,var(--tone,var(--ink)) 30%,var(--line)); border-radius:4px; font:500 .65rem/1.2 var(--mono); color:var(--tone-link,var(--mute)); text-align:center; background:var(--paper)}
.tabs a.flash::before{content:""; position:absolute; inset:0; background:var(--tone-soft,var(--line3)); opacity:0; animation:ewilFlash .7s ease-out 2}
.tabs a.flash .no{animation:ewilBlink .5s ease-in-out 3}
.tabs a>*{position:relative}
html[data-tabc=corner] .tab-c{position:absolute!important; right:6px; bottom:6px}
html[data-tabalign=center] .tabs a{justify-content:center} html[data-tabalign=right] .tabs a{justify-content:flex-end}
html[data-tabalign=center][data-tabc=right] .tab-c,html[data-tabalign=right][data-tabc=right] .tab-c{position:absolute!important; left:10px; margin:0}
html[data-tabalign=right][data-tabc=right] .tab-c{left:10px}
html[data-tabalign=center][data-tabc=right] .tab-c{left:auto; right:10px}
html:not([data-tabc=right]):not([data-tabc=corner]) .tab-c{display:none}
.cnt-after{display:none; font:500 .75em var(--mono); color:var(--faint); letter-spacing:0; white-space:nowrap}
html[data-tabc=after] .tabs .cnt-after,html[data-secc=after] .sec-sub .cnt-after{display:inline}
@keyframes ewilFlash{0%{opacity:0}20%{opacity:1}100%{opacity:0}}
@keyframes ewilBlink{0%,100%{opacity:1}50%{opacity:.25}}
/* 1.5.3: nowy skrót (albo cały panel po kliknięciu ★) mignie po przewinięciu */
.fav-grid li.fav-new{animation:favNew 1.6s ease-out}
#skroty.fav-new{animation:favNewBox 1.6s ease-out}
@keyframes favNew{0%,100%{box-shadow:inset 0 0 0 0 transparent}15%,55%{box-shadow:inset 0 0 0 2px var(--tone,var(--acc)); background:var(--tone-soft,var(--acc-soft))}}
@keyframes favNewBox{0%,100%{box-shadow:0 0 0 0 transparent}15%,55%{box-shadow:0 0 0 3px var(--acc)}}
@media (prefers-reduced-motion: reduce){.fav-grid li.fav-new,#skroty.fav-new{animation:none; outline:2px solid var(--acc); outline-offset:-2px}}

/* ------------------------------------------------------------------ usługi */
.svc-area{padding:calc(var(--gap) * 1.4 + var(--sec-gap,0px) * .5) var(--pad-x) var(--gap); display:flex; flex-direction:column; gap:calc(var(--gap) * 1.6 + var(--sec-gap,0px)); flex:1}
.sec-h{margin-bottom:calc(var(--sec-gap,0px) * .35)}
.sec{display:flex; flex-direction:column; gap:calc(var(--gap) * .6)}
.svc-area.mixed .sec+.sec{padding-top:calc(var(--gap) * 1.2 + var(--sec-gap,0px) * .5); border-top:1px dashed var(--line2)}
.sec-h{display:flex; align-items:center; gap:14px}
.sec-tx{display:flex; flex-direction:column; gap:2px; min-width:0}
.sec-h h2{margin:0; font-size:1.4375rem; font-weight:650; letter-spacing:-.02em; line-height:1.2; color:var(--tone-link)}
.sec-badge{display:flex; flex-direction:column; align-items:stretch; flex:none}
.sec-badge .no{height:1.5rem; min-width:2.25rem; font-size:.75rem; border-radius:.3125rem .3125rem 0 0}
.sec-badge .sec-c{text-align:center; border-radius:0 0 .3125rem .3125rem; border-top:0; background:transparent; padding:2px 5px}
html:not([data-secc=badge]) .sec-badge .sec-c{display:none!important} html:not([data-secc=badge]) .sec-badge .no{border-radius:.3125rem!important}
/* wszystko w jednej linii */
html[data-secline="1"] .sec-tx{flex-direction:row; flex-wrap:wrap; align-items:baseline; gap:2px 14px}
html[data-secline="1"] .sec-badge{flex-direction:row}
html[data-secline="1"] .sec-badge .no{border-radius:.3125rem 0 0 .3125rem}
html[data-secline="1"] .sec-badge .sec-c{border-radius:0 .3125rem .3125rem 0; border-top:1px solid color-mix(in srgb,var(--tone,var(--ink)) 30%,var(--line)); border-left:0; display:grid; place-items:center}
html[data-secline="1"]:not([data-secc=badge]) .sec-badge .no{border-radius:.3125rem}
.sec-c{font:500 .6875rem/1.2 var(--mono); color:var(--tone-link,var(--faint)); border:1px solid color-mix(in srgb,var(--tone,var(--ink)) 30%,var(--line)); border-radius:4px; padding:1px 5px; letter-spacing:0}
.sec-sub{margin:0; font-size:.875rem; color:var(--mute)}
.sec-sub:empty{display:none}
.grid{list-style:none; margin:0; padding:0; display:grid; gap:var(--gw); background:var(--grid-bg); border:var(--gw) solid var(--grid-out); border-radius:16px; overflow:hidden}
.tiles{grid-template-columns:repeat(auto-fill,minmax(min(100%,18.75rem),1fr))}
.grid>.fill{background:var(--paper); list-style:none}
.tile{background:var(--paper); min-height:var(--tile-min,200px); display:flex; flex-direction:column; position:relative; transition:background .14s ease}
.tile[hidden],.row[hidden]{display:none}
.tile-main{flex:1; min-height:0; padding:var(--tile-pad) calc(var(--tile-pad) + 2px) .5rem; display:flex; flex-direction:column; gap:.5rem; overflow:hidden}
.tile-main:hover{text-decoration:none}
.tile-head{display:flex; align-items:center; gap:.75rem}
.tile-ic{position:relative; display:grid; flex:none; color:var(--tone-link)}
.tile-ic>.ic{width:1.875rem; height:1.875rem}
.tile-name{margin:0; min-width:0; font-size:1.3125rem; font-weight:700; letter-spacing:-.01em; transition:color .14s ease}
.tile-head .fdot{margin-right:auto}
.tile{container-type:inline-size}
@container (max-width: 21rem){ .act-info>span:not(.sr){display:none} .act-info{padding:0 .75rem} }
.tile-main>.flag{align-self:flex-start}
.tile-desc{font-size:.875rem; line-height:1.5; color:var(--ink3)}
/* uwaga przy usłudze: kropka przy nazwie, tekst w stałym miejscu (podpis nad paskiem) */
.fdot{width:.5625rem; height:.5625rem; border-radius:50%; background:var(--warn-dot); flex:none; box-shadow:0 0 0 3px color-mix(in srgb,var(--warn-dot) 22%,transparent)}
.fdot.ok{background:var(--ok-dot); box-shadow:0 0 0 3px color-mix(in srgb,var(--ok-dot) 22%,transparent)}
.cap{margin:0; height:1.375rem; flex:none; padding:0 calc(var(--tile-pad) + 2px); display:flex; align-items:center; font-size:.78rem; line-height:1.2; color:var(--mute); white-space:nowrap; overflow:hidden; text-overflow:ellipsis}
.cap>span{overflow:hidden; text-overflow:ellipsis}
.cap-flag{display:none; color:var(--warn); font-weight:500} .cap-flag.ok{color:var(--ok)}
.cap-tip{display:none; color:var(--tone-link); font-weight:500}
.tile:hover .cap-flag,.tile:focus-within .cap-flag,.row:hover .cap-flag,.row:focus-within .cap-flag{display:inline}
.cap.tipping .cap-flag{display:none!important} .cap.tipping .cap-tip{display:inline}
html.js .tile [data-tip]::after,html.js .row [data-tip]::after{display:none}
.flag{display:inline-flex; align-items:center; gap:5px; font-size:.8125rem; font-weight:500; color:var(--warn); background:var(--warn-bg); border-radius:5px; padding:3px 8px; line-height:1.2}
.flag .dot{width:6px; height:6px; border-radius:50%; background:var(--warn-dot)}
.flag.ok{color:var(--ok); background:color-mix(in srgb,var(--ok-dot) 14%,var(--paper))} .flag.ok .dot{background:var(--ok-dot)}
.aud{display:inline-block; font-size:.75rem; color:var(--mute2); border:1px solid var(--line3); border-radius:4px; padding:0 5px; margin-left:2px}
/* pasek kafelka: w spoczynku adres, po najechaniu akcje */
.tile-bar{height:2.875rem; display:flex; align-items:stretch; flex:none}
.bar-host{flex:1; min-width:0; display:flex; align-items:center; gap:8px; padding:0 calc(var(--tile-pad) + 2px); font:500 .78rem var(--mono); color:#7A786F; white-space:nowrap; overflow:hidden; text-overflow:ellipsis}
.bar-act{display:none; flex:1; min-width:0; align-items:stretch}
.act-gap{flex:1}
.act{position:relative; min-width:2.625rem; padding:0 .625rem; border:0; background:transparent; color:var(--ink2); display:inline-flex; align-items:center; justify-content:center; gap:6px; font-size:.84rem; font-weight:500; cursor:pointer; text-decoration:none; transition:background .14s ease,color .14s ease; white-space:nowrap}
.act .ic{width:1.0625rem; height:1.0625rem}
.act-info{padding:0 .875rem 0 calc(var(--tile-pad) + 2px)}
.act-q{font:600 .75rem var(--mono)}
.act-q .ic{width:.9375rem; height:.9375rem}
.act:hover,.act:focus-visible,.act[aria-expanded=true]{background:var(--tone,var(--acc)); color:#FFF; text-decoration:none}
.act:hover .ic,.act:focus-visible .ic{color:#FFF}
/* cienkie pionowe kreski między przyciskami, zanikające ku górze */
html[data-actsep="1"] .act+.act::before,html[data-actsep="1"] .act-gap+.act::before{content:""; position:absolute; left:0; top:0; bottom:0; width:1px; background:linear-gradient(to top,color-mix(in srgb,var(--tone,var(--acc)) 45%,transparent),transparent)}
html[data-actsep="1"] .tile:hover .bar-act+.act-open::before,html[data-actsep="1"] .tile:focus-within .bar-act+.act-open::before,html[data-actsep="1"] .row:hover .row-act+.act-open::before,html[data-actsep="1"] .row:focus-within .row-act+.act-open::before{content:""; position:absolute; left:0; top:0; bottom:0; width:1px; background:linear-gradient(to top,color-mix(in srgb,var(--tone,var(--acc)) 45%,transparent),transparent)}
html[data-actsep="1"] .act-gap+.act::before,html[data-actsep="1"] .row-act>.act:first-child::before{content:""; position:absolute; left:0; top:0; bottom:0; width:1px; background:linear-gradient(to top,color-mix(in srgb,var(--tone,var(--acc)) 45%,transparent),transparent)}
html[data-actsep="1"] .act:hover::before,html[data-actsep="1"] .act:hover+.act::before{opacity:0}
.act-open{width:3.375rem; flex:none; color:var(--tone-link); font-size:1.25rem; font-weight:600}
.tile:hover .act-open,.tile:focus-within .act-open,.row:hover .act-open{background:var(--tone); color:#FFF}
.star .s-on{display:none; color:var(--star)} .star[aria-pressed=true] .s-on{display:block} .star[aria-pressed=true] .s-off{display:none}
.act.star:hover .s-on{color:#FFF}
.b-ok{position:absolute; bottom:calc(100% + 6px); right:0; background:var(--ink); color:var(--paper); font-size:.75rem; padding:3px 8px; border-radius:6px; white-space:nowrap; pointer-events:none; z-index:31}
.b-ok:empty{display:none}
.tile:hover,.tile:focus-within{box-shadow:inset 0 3px 0 var(--tone); background:var(--hover-grad)}
.tile:hover .tile-name,.tile:focus-within .tile-name{color:var(--tone-link)}
.tile:hover .bar-host,.tile:focus-within .bar-host{display:none}
.tile:hover .bar-act,.tile:focus-within .bar-act{display:flex}
html[data-hover=gradient-sec] .tile:hover,html[data-hover=gradient-sec] .row:hover{background:linear-gradient(to bottom,color-mix(in srgb,var(--tone-soft) 55%,var(--paper2)),var(--paper))}
html[data-hover=subtle] .tile:hover,html[data-hover=subtle] .row:hover{background:var(--paper2)}
html[data-hover=tint] .tile:hover,html[data-hover=tint] .row:hover{background:color-mix(in srgb,var(--tone-soft) 45%,var(--paper))}
html[data-hover=white] .tile:hover,html[data-hover=white] .row:hover{background:var(--white)}
html[data-hover=none] .tile:hover,html[data-hover=none] .row:hover{background:var(--paper)}
/* szybki dostęp: nakładka na kafelek, nie rozpycha siatki */
.tile-quick{position:absolute; inset:0; z-index:3; background:var(--white); box-shadow:inset 0 3px 0 var(--tone); display:flex; flex-direction:column}
.tile-quick-h{margin:0; height:2.375rem; flex:none; display:flex; align-items:center; gap:8px; padding:3px 4px 0 14px; font:600 .75rem var(--mono); color:var(--tone-link)}
.tile-quick-h>span{flex:1; min-width:0; white-space:nowrap; overflow:hidden; text-overflow:ellipsis}
.tile-quick-h .ic{width:15px; height:15px}
.q-x{min-width:2.125rem; height:1.875rem; border-radius:6px; font-size:1.25rem; font-weight:400}
.tile-quick ul{list-style:none; margin:0; padding:0 10px 10px; flex:1; min-height:0; overflow-y:auto; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); grid-auto-rows:2.0625rem; gap:2px 4px}
.tile-quick a{height:100%; padding:0 8px; border-radius:6px; display:flex; align-items:center; gap:7px; font-size:.8125rem; font-weight:500; white-space:nowrap; overflow:hidden}
.tile-quick a span{overflow:hidden; text-overflow:ellipsis}
.tile-quick a:hover,.tile-quick a:focus-visible{background:var(--tone); color:#FFF; text-decoration:none}
/* znacznik UE */
.eu{text-decoration:none; font:500 .5625rem/1 var(--mono); letter-spacing:.04em; color:var(--mute); border:1px solid var(--line); border-radius:3px; padding:2px 3px; background:var(--paper2); cursor:help; white-space:nowrap}
.eu-at-icon{position:absolute; right:-14px; bottom:-6px}
.eu-at-desc{margin-right:6px; vertical-align:1px}
html:not([data-eu=icon]) .eu-at-icon,html:not([data-eu=desc]) .eu-at-desc,html:not([data-eu=host]) .eu-at-host{display:none}
html[data-eu=icon] .tile-ic.has-eu{margin-right:10px}
html[data-eu=none] .row .eu{display:none}

.also{display:flex; flex-direction:column; gap:14px; margin-top:calc(var(--gap) * .4 + var(--sub-gap,0px))}
html[data-subcolor=ink] .also-h{color:var(--ink)!important} html[data-subcolor=ink] .also-h i{background:var(--faint)}
html[data-subcolor=ink][data-substyle=rule] .also-h::after{background:linear-gradient(90deg,var(--line),transparent)}
.also-h{margin:0; display:flex; align-items:center; gap:10px; font-size:1.0625rem; font-weight:600}
.also-h i{width:4px; height:1.25rem; border-radius:2px; background:var(--tone)}
html[data-substyle=plain] .also-h i{display:none}
html[data-substyle=rule] .also-h i{display:none} html[data-substyle=rule] .also-h{color:var(--tone-link)}
html[data-substyle=rule] .also-h::after{content:""; flex:1; height:1px; background:linear-gradient(90deg,color-mix(in srgb,var(--tone) 50%,transparent),transparent)}
html[data-substyle=label] .also-h i{display:none}
html[data-substyle=label] .also-h{font:600 .75rem var(--mono); letter-spacing:.08em; text-transform:uppercase; color:var(--mute)}
html[data-substyle=label] .also-h::after{content:""; flex:1; height:1px; background:var(--line)}
html[data-substyle=none] .also-h{position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0)}
.rows{grid-template-columns:repeat(auto-fill,minmax(min(100%,25rem),1fr)); border-radius:14px}
.row{background:var(--paper); display:flex; align-items:stretch; min-height:var(--row-min,58px); transition:background .14s ease}
.row:hover,.row:focus-within{box-shadow:inset 3px 0 0 var(--tone); background:var(--hover-grad)}
.row-main{flex:1; min-width:0; display:flex; align-items:center; gap:14px; padding:8px 6px 8px 20px}
.row-main:hover{text-decoration:none}
.row-main>.ic{width:1.25rem; height:1.25rem; color:var(--tone-link)}
.row-name{flex:0 0 auto; display:flex; align-items:center; gap:6px; font-weight:600; font-size:.9375rem; transition:color .14s ease}
.row:hover .row-name,.row:focus-within .row-name{color:var(--tone-link)}
.row-desc{flex:1; min-width:0; font-size:.84rem; color:var(--mute); white-space:nowrap; overflow:hidden; display:flex}
.row-d{overflow:hidden; text-overflow:ellipsis}
.row-desc .cap{display:none; height:auto; padding:0; font-size:.84rem}
.row:hover.has-flag .row-d,.row:focus-within.has-flag .row-d,.row .row-desc:has(.cap.tipping) .row-d{display:none}
.row:hover.has-flag .row-desc .cap,.row:focus-within.has-flag .row-desc .cap,.row .row-desc .cap.tipping{display:flex}
.row-name .fdot{margin-left:2px}
.row-act{display:flex; opacity:0; transition:opacity .14s ease}
.row:hover .row-act,.row:focus-within .row-act{opacity:1}
.row .act-open{width:3rem; font-size:1.125rem}
.empty{margin:0; padding:24px; text-align:center; color:var(--mute)}
.empty a{color:var(--acc-link); text-decoration:underline}

/* ------------------------------------------------------------------ dodatkowy blok i stopka */
.callout{margin:0 var(--pad-x) var(--gap); border:1px solid var(--acc); border-radius:14px; background:var(--acc-soft); display:flex; flex-wrap:wrap; align-items:center; gap:16px 24px; padding:20px 22px}
.callout>.ic{width:32px; height:32px; color:var(--acc)}
.callout div{flex:1 1 420px} .callout h2{margin:0 0 4px; font-size:1.25rem; font-weight:500} .callout p{margin:0; font-size:.875rem; color:var(--ink2)}
.callout-btn{height:48px; padding:0 18px; border-radius:10px; background:var(--acc); color:#FFF; display:flex; align-items:center; font-weight:600}
.foot{margin-top:calc(var(--gap) * 1.2)}
html[data-divbot="0"] .foot,html[data-divider=none] .foot{border-top:1px solid var(--line)}
.foot>.divider{border-bottom:0}
.foot-grid{display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,var(--fc-min,220px)),1fr)); border-top:1px solid var(--line)}
.fav-grid>.fill{background:var(--paper2)}
.fc{padding:1.25rem 1.5rem; display:flex; flex-direction:column; justify-content:center; gap:4px; border-left:1px solid var(--line); font-size:.9375rem; min-width:0}
.fc:first-child{border-left:0}
.fc-unit{flex-direction:row; align-items:center; justify-content:flex-start; gap:16px}
.fc-unit>span{display:flex; flex-direction:column; gap:3px; min-width:0}
.fc-logo{width:auto; height:3.5rem; max-width:9rem; object-fit:contain; flex:none}
.fc b{font-size:1rem; font-weight:600} .fc-note{font-size:.84rem; color:var(--mute)}
.fc-l{font:500 .75rem var(--mono); color:var(--mute2)}
a.fc:hover{text-decoration:none}
.fc-mail{padding:0; gap:0; justify-content:flex-start; transition:background .16s ease}
html[data-foot=grid] .fc-mail{grid-column:span 2}
/* stopka „zwarta”: mniejsze pola, e-mail z małą etykietą, historia zmian jako pole siatki */
html[data-foot=compact] .fc{padding:.75rem 1rem; font-size:.84rem}
html[data-foot=compact] .fc-mail{padding:.75rem 1rem; gap:4px; justify-content:center}
html[data-foot=compact] .fc-pref{align-self:flex-start; padding:2px 7px; border-radius:5px; font-size:.625rem}
html[data-foot=compact] .fc-in{padding:0; gap:2px}
html[data-foot=compact] .fc-in .fc-l{display:none}
html[data-foot=compact] .fc-v{font-size:.9375rem}
html[data-foot=compact] .fc-unit .fc-logo{height:2.5rem}
html[data-foot=compact] .fc-unit b{font-size:.9rem}
.fc-meta{gap:6px; font:500 .75rem var(--mono); color:var(--mute2); align-items:flex-start}
.fc-meta a:hover{color:var(--acc-link)}
.fc-pref{background:var(--acc); color:#FFF; font:600 .75rem var(--mono); letter-spacing:.04em; padding:6px 1.5rem}
.fc-in{padding:.75rem 1.5rem 1rem; display:flex; flex-direction:column; gap:4px}
.fc-v{font-size:1.0625rem; font-weight:600; color:var(--acc-link); overflow-wrap:anywhere}
.fc-mail:hover,.fc-mail:focus-visible{background:color-mix(in srgb,var(--acc-soft) 35%,var(--paper))}
.foot-row{display:flex; flex-wrap:wrap; align-items:center; gap:10px 22px; padding:.875rem 1.5rem; border-top:1px solid var(--line); font-size:.875rem}
.fr-unit{display:flex; align-items:center; gap:12px; min-width:0}
.fr-unit>span{display:flex; flex-direction:column}
.fr-unit b{font-weight:600}
.fr-unit .fc-logo{height:2.5rem}
.fr-mail{display:inline-flex; align-items:baseline; gap:8px}
.fr-mail:hover{text-decoration:none} .fr-mail:hover .fc-v{text-decoration:underline; text-underline-offset:3px}
.fr-pref{font:500 .6875rem var(--mono); color:var(--mute2)}
.fr-pref::before{content:""; display:inline-block; width:6px; height:6px; border-radius:50%; background:var(--acc); margin-right:5px; vertical-align:1px}
.fr-mail .fc-v{font-size:.9375rem}
.fr-tel{color:var(--mute)}
.fr-gap{flex:1}
.fr-log,.fr-brand,.foot-row .foot-favs{font:500 .75rem var(--mono); color:var(--mute2)}
.foot-row .foot-favs{color:var(--acc-link)}
.foot-line{margin:0; padding:12px 24px; border-top:1px solid var(--line); display:flex; flex-wrap:wrap; gap:8px 24px; font:500 .75rem var(--mono); color:var(--mute2)}
.foot-push{margin-left:auto}

/* ------------------------------------------------------------------ nawigacja przy krawędzi */
.rail{position:fixed; right:0; top:50%; transform:translateY(-50%); z-index:40; background:color-mix(in srgb,var(--paper2) 96%,transparent); border:1px solid var(--line); border-right:0; border-radius:12px 0 0 12px; display:flex; flex-direction:column; overflow:hidden; transition:box-shadow .16s ease}
.rail a{display:flex; align-items:center; height:2.875rem; padding:0 .625rem; white-space:nowrap}
.rail a+a{border-top:1px solid var(--line3)}
.rail a:hover{text-decoration:none; background:var(--paper)}
.rail .no{min-width:1.625rem; height:1.25rem; font-size:.65rem}
.rail .no-plain{background:transparent; color:var(--ink); font-size:.875rem}
.rail .no-star{background:var(--star-bg); color:#B45309; font-size:.75rem}
.rail .no-news{background:var(--line3); color:var(--ink)}
.rail em{font-style:normal; font-size:.875rem; font-weight:500; max-width:0; overflow:hidden; transition:max-width .2s ease,padding .2s ease}
.rail:hover,.rail:focus-within{box-shadow:-12px 0 30px rgba(21,23,28,.10)}
.rail:hover em,.rail:focus-within em{max-width:160px; padding-left:10px}
.rail a.on .no{box-shadow:0 0 0 2px var(--paper2),0 0 0 3px var(--tone,var(--ink))}

/* ------------------------------------------------------------------ okna (bez JS: :target) */
.ov{display:none; position:fixed; inset:0; z-index:60}
.ov:target,.ov.open{display:block}
html.js .ov:target:not(.open){display:none}
.ov-card>*{flex-shrink:0}
.ov-bg{position:fixed; inset:0; background:rgba(21,23,28,.28)}
.ov-card{position:fixed; top:0; right:0; bottom:0; width:min(30rem,100%); background:var(--paper2); border-left:1px solid var(--line2); box-shadow:-24px 0 60px rgba(21,23,28,.12); overflow-y:auto; display:flex; flex-direction:column; animation:ovIn .2s ease-out}
.ov-wide .ov-card{width:min(44rem,100%)}
@keyframes ovIn{from{transform:translateX(24px); opacity:.4}to{transform:none; opacity:1}}
.ov-top{display:flex; align-items:center; justify-content:space-between; min-height:3.5rem; padding:0 8px 0 22px; border-bottom:1px solid var(--line); flex:none; position:sticky; top:0; background:var(--paper2); z-index:4}
.ov-title{margin:0; font-size:1.25rem; font-weight:600}
.ov-sec{display:flex; align-items:center; gap:8px; font:600 .84rem var(--mono); color:var(--tone-link)}
.ov-sec i{width:9px; height:9px; border-radius:2px; background:var(--tone); display:inline-block}
.ov-x{width:44px; height:44px; display:grid; place-items:center}
.ov-x .ic{width:24px; height:24px}
.ov-note{margin:0; padding:16px 22px 8px; font-size:.875rem; line-height:1.5; color:var(--mute)}
.ov-head{padding:18px 22px; display:flex; align-items:center; gap:12px}
.ov-head .ov-ic{width:2.25rem; height:2.25rem; color:var(--tone-link)}
.ov-head h2{margin:0; font-size:1.5rem; font-weight:700; letter-spacing:-.015em}
.ov-host{font:500 .75rem var(--mono); color:var(--mute2); overflow-wrap:anywhere}
.ov-bar{margin:0 22px; display:flex; min-height:2.75rem; border:1px solid var(--line); border-radius:10px; overflow:hidden; flex:none; background:var(--white)}
.b-open{flex:1; min-width:0; display:flex; align-items:center; justify-content:space-between; gap:8px; padding:0 16px; background:var(--tone,var(--acc)); color:#FFF; font-weight:600; font-size:.9rem; white-space:nowrap}
.b-open:hover{text-decoration:none; filter:brightness(1.08)}
.ov-bar .act{min-width:2.75rem}
.act-pin .pin-l{font-size:.8125rem}
.facts{margin:18px 0 0}
.facts>div{display:grid; grid-template-columns:110px 1fr; gap:12px; padding:11px 22px; border-bottom:1px dashed var(--line)}
.facts>div:last-child{border-bottom:0}
.facts dt{font:500 .75rem/1.6 var(--mono); color:var(--mute2)}
.facts dd{margin:0; font-size:.875rem; line-height:1.5}
.facts .f-warn dd{color:var(--warn)}
.mail{display:inline-flex; align-items:center; gap:4px}
.mail a{color:var(--acc-link); text-decoration:underline}
.mail .b-ic{width:34px; height:34px; border:0; background:transparent; display:grid; place-items:center; cursor:pointer; position:relative}
.ov-sec-b{padding:18px 22px 4px}
.ov-sec-b h3{margin:0 0 8px; font:600 .75rem var(--mono); color:var(--mute2)}
.ov-quick{list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1px; background:var(--line); border:1px solid var(--line); border-radius:11px; overflow:hidden}
.ov-quick li{background:var(--white); display:flex; align-items:stretch; min-height:2.5rem; min-width:0}
.ov-quick li:last-child:nth-child(odd){grid-column:span 2}
.ov-quick a{flex:1; min-width:0; display:flex; align-items:center; gap:8px; padding:4px 6px 4px 12px; font-size:.84rem; font-weight:500; line-height:1.25; transition:background .14s ease,color .14s ease}
.ov-quick a span:not(.arr){flex:1}
.ov-quick .arr{color:var(--tone)}
.ov-quick a:hover{background:var(--tone); color:#FFF; text-decoration:none}
.ov-quick a:hover .arr{color:#FFF}
.ov-quick .act{min-width:2.375rem; padding:0}
.ov-news .nw{padding:10px 0; border-bottom:1px solid var(--line3)}
.ov-report{margin-top:auto; display:flex; align-items:center; gap:10px; padding:16px 22px; border-top:1px solid var(--line); font-size:.875rem}
.ov-report:hover{text-decoration:none; background:var(--white)}
.ov-report span:nth-child(2){flex:1}
.ov-report .ic{width:17px; height:17px}
/* archiwum komunikatów */
.arch-tools{position:sticky; top:3.5rem; z-index:3; background:var(--paper2); padding:12px 22px; border-bottom:1px solid var(--line3); display:flex; flex-direction:column; gap:10px}
.arch-row{display:flex; flex-wrap:wrap; gap:8px; align-items:center}
.arch-tools input,.arch-tools select{height:2.5rem; border:1px solid var(--line2); border-radius:9px; padding:0 10px; background:var(--white); font-size:.875rem}
.arch-tools input{flex:1 1 220px}
.seg{display:inline-flex; border:1px solid var(--line2); border-radius:10px; overflow:hidden; background:var(--white)}
.seg button{height:2.25rem; padding:0 14px; border:0; border-left:1px solid var(--line2); background:transparent; font-size:.8125rem; font-weight:600; cursor:pointer}
.seg button:first-child{border-left:0}
.seg button:hover{background:var(--acc-soft)}
.seg button[aria-pressed=true]{background:var(--acc); color:#FFF}
.arch-count{font:500 .75rem var(--mono); color:var(--mute); margin-left:auto}
.ov-wide .ov-card{background:var(--paper)}
.ov-wide .arch-tools{background:var(--paper); border-bottom:1px solid var(--line)}
.arch{padding:6px 16px 28px; display:flex; flex-direction:column; gap:18px}
.arch-m{display:flex; flex-direction:column; gap:6px}
.arch-mh{position:sticky; top:var(--arch-top,9.5rem); z-index:2; margin:0 -16px; display:flex; align-items:center; gap:10px; padding:10px 16px 8px; background:color-mix(in srgb,var(--paper) 92%,transparent); -webkit-backdrop-filter:blur(6px); backdrop-filter:blur(6px); color:var(--acc-link); font:600 .8125rem var(--mono); letter-spacing:.04em; text-transform:uppercase; border-bottom:2px solid var(--acc)}
.arch-mn{margin-left:auto; font-weight:500; color:var(--mute); background:var(--acc-soft); border-radius:5px; padding:1px 7px}
.arch .nw{padding:14px 16px; background:var(--white); border:1px solid var(--line3); border-radius:12px; gap:6px; box-shadow:0 1px 2px rgba(21,23,28,.03)}
.arch .nw-title{font-size:1rem}
.arch .nw-body{font-size:.9rem; line-height:1.6}
.arch .nw[hidden],.arch-m[hidden]{display:none}
/* Moje skróty – zarządzanie */
.fav-mgr{list-style:none; margin:8px 22px 0; padding:0; border:1px solid var(--line); border-radius:12px; overflow:hidden; background:var(--white)}
.fav-mgr:empty{display:none}
.fav-mgr li{display:flex; align-items:center; gap:10px; min-height:3.5rem; padding:0 6px 0 12px; border-top:1px solid var(--line3)}
.fav-mgr li:first-child{border-top:0}
.fm-k{font:500 .75rem var(--mono); color:var(--faint); width:1rem}
.fav-mgr .ic,.fav-mgr .mi{width:1.25rem; height:1.25rem; color:var(--tone,var(--acc))}
.fm-t{flex:1; min-width:0; display:flex; flex-direction:column}
.fm-t b{font-size:.9375rem; white-space:nowrap; overflow:hidden; text-overflow:ellipsis}
.fm-t small{font-size:.78rem; color:var(--mute2); white-space:nowrap; overflow:hidden; text-overflow:ellipsis}
.fm-btns{display:flex; border:1px solid var(--line3); border-radius:8px; overflow:hidden}
.fm-btns button{width:2.25rem; height:2.25rem; border:0; border-left:1px solid var(--line3); background:var(--white); cursor:pointer; font-size:.875rem}
.fm-btns button:first-child{border-left:0}
.fm-btns button:hover:not(:disabled){background:var(--acc); color:#FFF}
.fm-btns button:disabled{opacity:.35; cursor:default}
.fm-btns .fm-del{color:var(--warn); font-size:1.0625rem}
.fav-form{margin:18px 22px 24px; padding:16px; border:1px solid var(--acc); border-radius:12px; background:var(--white); display:flex; flex-direction:column; gap:12px}
.ff-h{margin:0; font-size:1rem; font-weight:600}
.fav-form label,.ff-ic{display:flex; flex-direction:column; gap:4px; font:500 .78rem var(--mono); color:var(--mute2)}
.fav-form input{height:2.625rem; border:1px solid var(--line2); border-radius:9px; padding:0 12px; font:400 .9375rem var(--sans); color:var(--ink); background:var(--white)}
.fav-form input.ff-isearch{height:2.375rem; font-size:.875rem}
.ff-igrid{display:grid; grid-template-columns:repeat(auto-fill,minmax(2.5rem,1fr)); gap:4px; max-height:13rem; overflow-y:auto; padding:2px}
.ff-igrid button{height:2.5rem; border:1px solid var(--line3); border-radius:8px; background:var(--white); color:var(--ink2); display:grid; place-items:center; cursor:pointer}
.ff-igrid button .mi{width:1.125rem; height:1.125rem; color:inherit}
.ff-igrid button:hover{border-color:var(--acc)}
.ff-igrid button[aria-checked=true]{background:var(--acc-soft); border-color:var(--acc); color:var(--acc-link)}
.ff-igrid p{grid-column:1 / -1; margin:0; font:400 .8125rem var(--sans); color:var(--mute)}
.ff-btns{display:flex; align-self:flex-start; border:1px solid var(--line2); border-radius:9px; overflow:hidden}
.ff-btns button{height:2.625rem; padding:0 16px; border:0; background:var(--white); cursor:pointer; font-size:.875rem}
.ff-btns .ff-ok{background:var(--acc); color:#FFF; font-weight:600}
.ff-btns .ff-cancel{border-left:1px solid var(--line2)}
.ff-err{margin:0; color:var(--warn); font-size:.8125rem}
/* zgłoszenie problemu */
.rep{padding:4px 22px 24px; display:flex; flex-direction:column; gap:12px}
.rep-f{display:flex; flex-direction:column; gap:5px}
.rep-l{font:500 .75rem var(--mono); color:var(--mute2)}
.rep-box{display:flex; align-items:stretch; border:1px solid var(--line2); border-radius:9px; overflow:hidden; background:var(--white)}
.rep-v{flex:1; min-width:0; padding:10px 12px; font-size:.875rem; line-height:1.5; white-space:pre-wrap; overflow-wrap:anywhere}
.rep-body{min-height:7.5rem}
.rep-box .act{border-left:1px solid var(--line3); min-width:2.75rem}
.rep-btns{display:flex; border:1px solid var(--line); border-radius:10px; overflow:hidden; min-height:2.75rem}
.rep-btns .act{padding:0 14px; background:var(--white)}
.log{list-style:none; margin:0; padding:0 0 24px}
.log li{display:grid; grid-template-columns:96px 1fr; gap:12px; padding:10px 22px; border-bottom:1px solid var(--line3); font-size:.875rem}
.log time{font:500 .75rem/1.6 var(--mono); color:var(--mute2)}
html.ov-lock{overflow:hidden}

/* ------------------------------------------------------------------ telefon i tablet */
@media (max-width: 760px){
  .page,html[data-glass="1"] .page{padding:0 0 64px}
  .sheet,html[data-glass="1"] .sheet{border:0; border-radius:0; box-shadow:none; min-height:100vh; -webkit-backdrop-filter:none; backdrop-filter:none}
  .top{padding:10px 12px 10px 14px}
  .top .find{order:3; flex:1 1 100%; max-width:none; height:3rem}
  .tool-back{padding:0 .625rem; font-size:.8125rem; white-space:nowrap} .tool-appear .tool-tx{display:none}
  .appear-pop{position:fixed; left:12px; right:12px; top:62px; width:auto; max-height:calc(100vh - 140px); overflow-y:auto}
  .cap{display:none} .tile.has-flag .cap{display:flex} .tile .cap-flag{display:inline}
  :root{--pad-x:12px} html[data-density]{--pad-x:12px}
  .hero{padding-top:12px}
  .favs,html[data-favpos] .favs{padding:0 12px 12px; gap:8px}
  .fav-wrap .fav-grid{display:flex; overflow-x:auto}
  .fav-wrap .fav-grid li{flex:none}
  .fav-wrap.open .fav-grid{display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); overflow:visible}
  .fav-grid a{white-space:nowrap; padding:0 14px}
  .fav-more{display:none} .fav-wrap.many .fav-more{display:block}   /* 1.5.3: tylko gdy skróty się nie mieszczą (ewil.js → fitFavs) */
  .fav-k{display:none}
  /* etykiety („pigułki”): zawijają się w rzędy; powyżej 4 rzędów reszta pod przyciskiem */
  html[data-favstyle=chips] .fav-wrap{flex-direction:column; align-items:flex-start; gap:6px}
  html[data-favstyle=chips] .fav-wrap .fav-grid{flex-wrap:wrap; overflow:visible; width:100%}
  html[data-favstyle=chips] .fav-wrap.many:not(.open) .fav-grid{max-height:calc(4 * 2.125rem + 3 * 6px); overflow:hidden}
  html[data-favstyle=chips] .fav-wrap .fav-grid li{flex:0 1 auto; min-width:0}
  html[data-favstyle=chips] .fav-grid a{max-width:100%} html[data-favstyle=chips] .fav-t{overflow:hidden; text-overflow:ellipsis}
  html[data-favstyle=chips] .fav-more{width:auto; height:2rem; padding:0 14px; border:1px solid var(--line); border-radius:999px; background:var(--paper2)}
  html[data-favstyle=chips] .fav-more{display:none; align-items:center; gap:4px; font:600 .75rem var(--mono)} html[data-favstyle=chips] .fav-wrap.many .fav-more{display:inline-flex}
  html[data-favstyle=chips] .fav-more[data-n]:not([data-n=""])[aria-expanded=false]::before{content:"+" attr(data-n)}
  .fav-wrap:not(.many) .fav-grid li{flex:1 0 auto}                     /* mało skrótów – wypełniają pasek zamiast szarej dziury */
  /* stopka (siatka i zwarta): wizytówka, e-mail i historia zmian na całą szerokość, telefon i pokój obok siebie;
     linie jako szczeliny siatki – działają przy dowolnej liczbie kolumn */
  .foot-grid{gap:1px; background:var(--line)}
  .foot-grid>.fc{border-left:0; background:var(--paper)}
  .foot-grid>:is(.fc-unit,.fc-mail,.fc-meta){grid-column:1/-1}
  html[data-foot] .foot-grid>.fc-mail{grid-column:1/-1}
  .fc-v{overflow-wrap:break-word}
  .fc-unit .fc-logo{height:2.75rem}
  html[data-foot=compact] .fc-meta{flex-direction:row; flex-wrap:wrap; align-items:center; gap:4px 16px}
  .news{padding:0 12px 16px}
  .news-h{flex-wrap:wrap}
  .tabs{display:flex; overflow-x:auto}
  .tabs a{flex:none; padding:0 14px; height:3rem; white-space:nowrap}
  html[data-tabc][data-tabalign] .tabs .tab-c{position:static!important; margin-left:6px}
  .svc-area{padding:16px 12px; gap:28px}
  .tile{height:auto; min-height:var(--tile-min,150px)}
  .tile-desc{display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:2; overflow:hidden}
  .tile .bar-host{display:none}
  .tile .bar-act{display:flex}
  .act-info span{display:none}
  .row-desc{display:none}
  .row-act{opacity:1}
  .fc{padding:12px 16px} .fc-pref{padding:5px 16px} .fc-in{padding:10px 16px 14px}
  .rail{top:auto; bottom:0; left:0; right:0; transform:none; flex-direction:row; border-right:1px solid var(--line); border-radius:16px 16px 0 0; box-shadow:0 -4px 14px rgba(21,23,28,.06)}
  .rail a{flex:1; justify-content:center; height:3.25rem; padding:0}
  .rail a+a{border-top:0; border-left:1px solid var(--line3)}
  .rail em,.rail:hover em{display:none}
  .ov-card,.ov-wide .ov-card{top:56px; left:0; width:100%; border-left:0; border-radius:18px 18px 0 0; box-shadow:0 -12px 40px rgba(21,23,28,.18); animation-name:ovUp}
  @keyframes ovUp{from{transform:translateY(32px); opacity:.4}to{transform:none; opacity:1}}
  .ov-top{border-radius:18px 18px 0 0}
  .facts>div{grid-template-columns:96px 1fr; padding:11px 16px}
  .ov-head,.ov-sec-b,.ov-note,.rep{padding-left:16px; padding-right:16px} .ov-bar,.fav-mgr,.fav-form{margin-left:16px; margin-right:16px}
  [data-tip]::after{display:none}
}
@media print{.rail,.tools,.tile-bar,.star,.find,.divider,.row-act{display:none!important} .page{padding:0} .sheet{border:0}}
/* liczba w „pozostałych usługach” zgodnie z ustawieniem liczby przy sekcji */
html[data-secc=after] .also-h .sec-c{border:0; background:none; padding:0; color:var(--faint)}
html[data-secc=after] .also-h .sec-c::before{content:"– "}
html[data-secc=none] .also-h .sec-c{display:none}

/* style nagłówków sekcji (ustawienie we wtyczce) */
html[data-secstyle=light] .sec-h h2{font-size:1.1875rem; font-weight:600}
html[data-secstyle=light] .sec-badge .no{height:1.3125rem; min-width:2rem; font-size:.6875rem}
html[data-secstyle=light] .sec-badge .sec-c{font-size:.625rem; padding:1px 4px}
html[data-secstyle=rule] .sec-h::after{content:""; flex:1; align-self:center; height:1px; min-width:2rem; background:linear-gradient(90deg,color-mix(in srgb,var(--tone) 55%,transparent),transparent)}
html[data-secstyle=rule] .sec-h h2{font-size:1.3125rem}
html[data-secstyle=label] .sec-h{gap:10px}
html[data-secstyle=label] .sec-badge{display:none}
html[data-secstyle=label] .sec-tx{flex-direction:row; flex-wrap:wrap; align-items:baseline; gap:4px 12px}
html[data-secstyle=label] .sec-h h2{font:600 .8125rem var(--mono); letter-spacing:.08em; text-transform:uppercase}
html[data-secstyle=label] .sec-h h2::before{content:attr(data-no) "  "; color:var(--faint)}
html[data-secstyle=label] .sec-h::after{content:""; flex:1; align-self:center; height:1px; background:var(--line)}
/* „Moje skróty”: zwarte i „etykiety” */
html[data-favstyle=compact] .fav-grid a{height:2.25rem; font-size:.84rem; padding:0 9px; gap:7px}
html[data-favstyle=compact] .fav-k{display:none}
html[data-favstyle=compact] .favs .fav-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,8.25rem),1fr))}
html[data-favstyle=chips] .fav-wrap{border:0; background:transparent; border-radius:0}
html[data-favstyle=chips] .fav-grid,html[data-favstyle=chips] .favs .fav-grid{display:flex; flex-wrap:wrap; gap:6px; background:transparent}
html[data-favstyle=chips] .fav-grid li{background:transparent}
html[data-favstyle=chips] .fav-grid a{height:2.125rem; padding:0 12px 0 10px; border:1px solid var(--line); border-radius:999px; background:var(--paper2); font-size:.8125rem}
html[data-favstyle=chips] .fav-k{display:none}

/* ================= układ strony: jeden znacznik HTML (.sheet-l: l-news, l-side, l-main) i dwa wyglądy
   data-frame="one"   – klasyczny: nagłówek na całą szerokość, komunikaty i Moje skróty obok siebie, niżej usługi;
   data-frame="split" – „bryła L”: komunikaty to osobny blok na tle strony, a reszta jedną kartą w kształcie odwróconego L.
   Odwiedzający może przełączać układ (menu Wygląd), więc oba wyglądy działają na tym samym HTML. */
html{--page-bg:var(--page)}
html[data-pagebg=gradient]{--page-bg:radial-gradient(55% 45% at 8% 0%,var(--blob1) 0%,transparent 100%),radial-gradient(45% 55% at 100% 30%,var(--blob2) 0%,transparent 100%),radial-gradient(50% 50% at 30% 100%,var(--blob3) 0%,transparent 100%),var(--page-grad)}
.sheet-l{display:grid}
.l-news,.l-side,.l-main{min-width:0}
.l-main{grid-area:main; display:flex; flex-direction:column}
.l-news .news,html[data-favpos] .l-news .news{padding:0; flex:1 1 auto}
.l-news .news-panel{flex:1}
.tabs-side{display:none}

/* ---- klasyczny („one”) ---- */
html[data-frame=one] .sheet-l{grid-template-columns:minmax(0,1fr) minmax(16rem,22rem); grid-template-areas:"head head" "news favs" "main main"}
html[data-frame=one][data-favpos=side][data-order=favs-first] .sheet-l{grid-template-columns:minmax(16rem,26rem) minmax(0,1fr); grid-template-areas:"head head" "favs news" "main main"}
html[data-frame=one][data-favpos=top] .sheet-l{grid-template-columns:minmax(0,1fr); grid-template-areas:"head" "favs" "news" "main"}
html[data-frame=one] .l-side{display:contents}
html[data-frame=one] .l-side>.top{grid-area:head}
html[data-frame=one] .l-side>.favs{grid-area:favs; padding:calc(var(--gap) * .8) var(--pad-x) calc(var(--gap) * .8) 0}
html[data-frame=one][data-favpos=side][data-order=favs-first] .l-side>.favs{padding:calc(var(--gap) * .8) 0 calc(var(--gap) * .8) var(--pad-x)}
html[data-frame=one][data-favpos=top] .l-side>.favs{padding:calc(var(--gap) * .8) var(--pad-x) 0}
html[data-frame=one] .l-news{grid-area:news; display:flex; padding:calc(var(--gap) * .8) var(--pad-x)}
html[data-frame=one] .l-news:empty{display:none}
html[data-frame=one] .sheet-l:has(#skroty[hidden]),html.favs-off[data-frame=one] .sheet-l{grid-template-columns:minmax(0,1fr); grid-template-areas:"head" "news" "main"}
@media (max-width: 1100px){
  html[data-frame=one][data-favpos=auto] .sheet-l,html[data-frame=one][data-favpos=side] .sheet-l{grid-template-columns:minmax(0,1fr); grid-template-areas:"head" "favs" "news" "main"}
  html[data-frame=one] .l-side>.favs{padding:calc(var(--gap) * .8) var(--pad-x) 0!important}
}

/* ---- bryła L („split”) ---- */
html[data-frame=split] .div-top{display:none}
html[data-frame=split] .sheet-l{--cut:1px; --cut-c:var(--line); --R:22px; grid-template-columns:minmax(0,1fr) minmax(18rem,var(--side-w,26rem)); grid-template-areas:"news side" "main main";
  border:1px solid var(--line); border-radius:var(--R); overflow:visible}
html[data-frame=split][data-side=left] .sheet-l{grid-template-columns:minmax(18rem,var(--side-w,26rem)) minmax(0,1fr); grid-template-areas:"side news" "main main"}
html[data-frame=split][data-glass="1"] .sheet-l{--cut:14px; --cut-c:var(--glass-edge); --R:30px; box-shadow:none; border:14px solid var(--glass-edge); border-radius:var(--R)}
html[data-frame=split] .l-news{--l-gap:calc(var(--gap) * .8); grid-area:news; position:relative; display:flex; flex-direction:column; gap:14px;
  padding:0 var(--l-gap) var(--l-gap) 0; margin:calc(var(--cut) * -1) 0 0 calc(var(--cut) * -1);
  background:var(--page-bg); background-attachment:fixed; background-clip:padding-box;
  border-right:var(--cut) solid var(--cut-c); border-bottom:var(--cut) solid var(--cut-c); border-bottom-right-radius:calc(16px + var(--l-gap))}
html[data-frame=split][data-side=left] .l-news{margin:calc(var(--cut) * -1) calc(var(--cut) * -1) 0 0; padding:0 0 var(--l-gap) var(--l-gap); border-right:0; border-left:var(--cut) solid var(--cut-c); border-bottom-right-radius:0; border-bottom-left-radius:calc(16px + var(--l-gap))}
/* zaokrąglone wypukłe rogi bryły przy wycięciu: kawałek tła strony z łukiem obrzeża (pseudo-elementy wycięcia) */
html[data-frame=split] .l-news::before,html[data-frame=split] .l-news::after{content:""; position:absolute; width:var(--R); height:var(--R); pointer-events:none;
  background:radial-gradient(circle at 100% 100%,var(--paper) 0 calc(var(--R) - var(--cut)),var(--cut-c) calc(var(--R) - var(--cut)) var(--R),transparent calc(var(--R) + .5px)),var(--page-bg);
  background-attachment:scroll,fixed}
html[data-frame=split] .l-news::before{left:100%; top:0}
html[data-frame=split] .l-news::after{left:0; top:100%}
html[data-frame=split][data-side=left] .l-news::before{left:auto; right:100%; transform:scaleX(-1)}
html[data-frame=split][data-side=left] .l-news::after{left:auto; right:0; transform:scaleX(-1)}
html[data-frame=split] .l-side{grid-area:side; position:relative; z-index:1; display:flex; flex-direction:column; padding-bottom:calc(var(--gap) * .5)}
html[data-frame=split] .l-side .top{display:grid; grid-template-columns:minmax(0,1fr) auto auto; grid-template-areas:"brand lang appear" "back back back" "find find find"; align-items:center; gap:10px 8px; padding:16px 14px 14px; border-bottom:1px solid var(--line3)}
html[data-frame=split] .l-side .tools{display:contents}
html[data-frame=split] .l-side .brand{grid-area:brand}
html[data-frame=split] .l-side .tool-lang{grid-area:lang}
html[data-frame=split] .l-side .appear{grid-area:appear}
html[data-frame=split] .l-side .tool-back{grid-area:back; justify-self:start}
html[data-frame=split] .l-side .top .find{grid-area:find; max-width:none; margin:0}
html[data-frame=split] .l-side .favs,html[data-frame=split][data-favpos] .l-side .favs{padding:14px 14px 4px; flex:none}
html[data-frame=split] .l-side .fav-grid,html[data-frame=split] .l-side .favs .fav-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,9rem),1fr))}
/* menu sekcji w karcie bocznej (siatka 2×2), gdy tak ustawiono */
html[data-frame=split][data-tabsnow=side] .tabs-side{display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); margin:12px 14px 0; border:1px solid var(--line); border-radius:12px; overflow:hidden; gap:1px; background:var(--line)}
html[data-frame=split][data-tabsnow=side] .tabs-side a{height:2.75rem; border:0; margin:0; background:var(--paper); padding:0 .75rem; border-bottom:2px solid transparent}
html[data-frame=split][data-tabsnow=side] .tabs-side a[aria-current=true]{background:var(--white); border-bottom-color:var(--tone,var(--ink))}
html[data-frame=split][data-tabsnow=side] .tabs-main{display:none}
html[data-frame=split] .l-main>.tabs{border-top:1px solid var(--line); margin-top:calc(var(--gap) * .3)}
html[data-frame=split][data-tabsnow=side] .svc-area{border-top:1px solid var(--line3)}
@media (max-width: 1100px){
  html[data-frame=split] .sheet-l,html[data-frame=split][data-side=left] .sheet-l{grid-template-columns:minmax(0,1fr); grid-template-areas:"side" "news" "main"}
  html[data-frame=split] .l-news,html[data-frame=split][data-side=left] .l-news{margin:0; border:0; border-radius:0; background:transparent; padding:calc(var(--gap) * .6) var(--pad-x)}
  html[data-frame=split] .l-news::before,html[data-frame=split] .l-news::after{display:none}
  html[data-frame=split][data-tabsnow=side] .tabs-side{display:none} html[data-frame=split][data-tabsnow=side] .tabs-main{display:grid}
}
@media (max-width: 760px){
  html[data-frame=split] .sheet-l,html[data-frame=split][data-glass="1"] .sheet-l{border:0; border-radius:0}
  html[data-frame=split][data-tabsnow=side] .tabs-main{display:flex}
}
/* przycisk „Wygląd”: sama kropka koloru (ustawienie we wtyczce) */
html[data-aplabel="0"] .tool-appear .tool-tx,html[data-aplabel="0"] .tool-appear .chev{display:none}
html[data-aplabel="0"] .tool-appear{padding:0 .625rem}
/* bryła L: zawartość nad pseudo-rogami, a narożniki przy wycięciu przycięte łukiem (zakładki, tło nagłówka) */
html[data-frame=split] .l-main{position:relative; z-index:1; border-top-left-radius:calc(var(--R) - var(--cut)); overflow:clip}
html[data-frame=split][data-side=left] .l-main{border-top-left-radius:0; border-top-right-radius:calc(var(--R) - var(--cut))}
html[data-frame=split] .l-side>.top{border-top-left-radius:calc(var(--R) - var(--cut))}
html[data-frame=split][data-side=left] .l-side>.top{border-top-left-radius:0; border-top-right-radius:calc(var(--R) - var(--cut))}
@media (max-width: 1100px){ html[data-frame=split] .l-main,html[data-frame=split] .l-side>.top{border-radius:0; overflow:visible} }
.ap-frame button{flex-direction:row; gap:5px; font-size:.75rem; font-weight:500; padding:0 4px}
.ap-frame button .ic{width:18px; height:18px; flex:none}
.ap-frame button span{white-space:nowrap; overflow:hidden; text-overflow:ellipsis}
.news-list .nw-extra{display:none}
html[data-frame=split] .news-list .nw-extra:not([hidden]){display:flex}
html[data-frame=split][data-tabsnow=side] .tabs-side .tab-c,html[data-frame=split][data-tabsnow=side] .tabs-side .cnt-after{display:none!important}
html[data-frame=split][data-tabsnow=side] .tabs-side a{font-size:.84rem; gap:7px; padding:0 .625rem}
html[data-frame=split][data-tabsnow=side] .tabs-side .tab-t{white-space:nowrap; overflow:hidden; text-overflow:ellipsis}
@media (max-width: 1100px){ .ap-frame-blk{display:none} }

/* ================= 1.3.6 */
/* menu „Wygląd” nad całą resztą (karta boczna nad kartą główną) */
html[data-frame=split] .l-side{z-index:5}
/* bryła L: menu sekcji na całą szerokość karty, bez obramowania */
html[data-frame=split][data-tabsnow=side] .tabs-side{margin:12px 0 0; border:0; border-top:1px solid var(--line); border-radius:0; gap:1px}
html[data-frame=split][data-tabsnow=side] .tabs-side a{height:3rem; padding:0 1rem}
html[data-frame=split][data-tabsnow=side] .tabs-side a:nth-child(odd):last-child{grid-column:span 2}
html[data-frame=split] .l-side{padding-bottom:0}
/* „← Strona WIL” po prawej */
html[data-frame=split] .l-side .tool-back{justify-self:end}
/* odwiedzający nie zmienia układu (opcja we wtyczce) */
html[data-frameswitch="0"] .ap-frame-blk{display:none}

/* przycisk „Wszystkie komunikaty”: wyrazisty / delikatny / link */
/* 1.5.3: w trybie ciemnym „wyrazisty” = ciemna karta (biały przycisk raził i miał słaby kontrast jasnego akcentu) */
html[data-newsbtn=solid] .news-all{background:var(--nbtn-bg,#FFF); border-color:var(--nbtn-bd,#FFF); color:var(--acc-link); font-weight:600; height:2.375rem; padding:0 14px}
html[data-newsbtn=solid] .news-all:hover{background:var(--nbtn-bg,#FFF); box-shadow:0 6px 16px rgba(0,0,0,.18)}
html[data-newsbtn=solid] .news-n{background:var(--acc-soft); color:var(--acc-link)}
html[data-newsbtn=link] .news-all{background:none; border:0; padding:0; height:auto; text-decoration:underline; text-underline-offset:3px; text-decoration-color:rgba(255,255,255,.5)}
html[data-newsbtn=link] .news-all:hover{background:none; text-decoration-color:#FFF}
html[data-newsbtn=link] .news-n{background:none; padding:0}

/* „preferowany kontakt” w stopce: pasek / pigułka / dopisek / bez */
html[data-footpref=text] .fc-pref,html[data-footpref=text][data-foot=compact] .fc-pref{background:none; color:var(--mute2); padding:0; font:500 .6875rem var(--mono); letter-spacing:0; border-radius:0}
html[data-footpref=text] .fc-mail .fc-pref{padding:1rem 1.5rem 0}
html[data-footpref=text][data-foot=compact] .fc-mail .fc-pref{padding:0}
html[data-footpref=text] .fc-pref::before{content:""; display:inline-block; width:6px; height:6px; border-radius:50%; background:var(--acc); margin-right:6px; vertical-align:1px}
html[data-footpref=pill] .fc-pref{align-self:flex-start; margin:1rem 1.5rem 0; padding:2px 8px; border-radius:6px; font-size:.625rem}
html[data-footpref=pill][data-foot=compact] .fc-pref{margin:0}
html[data-footpref=none] .fc-pref,html[data-footpref=none] .fr-pref{display:none}
html[data-footpref=bar][data-foot=compact] .fc-pref{align-self:stretch; border-radius:0; margin:-.75rem -1rem 4px; padding:4px 1rem}

/* okna z prawej: nagłówek i układ bloków (spójnie we wszystkich oknach) */
html[data-ovhead=tint] .ov-top{background:var(--acc-soft)}
html[data-ovhead=accent] .ov-top{background:var(--acc); color:#FFF; border-bottom:0}
html[data-ovhead=accent] .ov-top .ov-x,html[data-ovhead=accent] .ov-top .ov-sec{color:#FFF}
html[data-ovhead=accent] .ov-top .ov-sec i{background:#FFF}
html[data-ovhead=accent] .ov-top .ov-x:focus-visible{outline-color:#FFF}
html[data-ovlines=solid] .facts>div{border-bottom-style:solid; border-bottom-color:var(--line3)}
html[data-ovlines=none] .facts>div{border-bottom:0}
html[data-ovlines=none] .ov-news .nw{border-bottom:0}
html[data-ovlines=dashed] .ov-news .nw{border-bottom:1px dashed var(--line)}
html[data-ovlines=dashed] .arch-mh{border-bottom-style:dashed}
/* „karty”: każdy blok okna i każdy komunikat w osobnej białej karcie – jak w archiwum */
html[data-ovblocks=cards] .ov-card{background:var(--paper)}
html[data-ovblocks=cards] .ov-top{background:var(--paper2)}
html[data-ovblocks=cards][data-ovhead=tint] .ov-top{background:var(--acc-soft)} html[data-ovblocks=cards][data-ovhead=accent] .ov-top{background:var(--acc)}
html[data-ovblocks=cards] .facts{margin:16px 22px 0; background:var(--white); border:1px solid var(--line3); border-radius:12px; overflow:hidden}
html[data-ovblocks=cards] .facts>div{padding:11px 16px}
html[data-ovblocks=cards] .ov-sec-b{margin:12px 22px 0; padding:14px 16px; background:var(--white); border:1px solid var(--line3); border-radius:12px}
html[data-ovblocks=cards] .ov-news{display:flex; flex-direction:column; gap:8px}
html[data-ovblocks=cards] .ov-news .nw{padding:12px 14px; border:1px solid var(--line3); border-radius:10px; background:var(--paper2)}
html[data-ovblocks=cards] .ov-report{margin:16px 22px 22px; border:1px solid var(--line3); border-radius:12px; background:var(--white)}
html[data-ovblocks=cards] .fav-mgr,html[data-ovblocks=cards] .rep-box{box-shadow:0 1px 2px rgba(21,23,28,.03)}
/* „linie”: archiwum też bez kart – komunikaty oddzielone linią, jak w szczegółach */
html[data-ovblocks=lines] .arch{gap:10px}
html[data-ovblocks=lines] .arch .nw{background:none; border:0; border-radius:0; box-shadow:none; padding:12px 0; border-bottom:1px solid var(--line3)}
html[data-ovblocks=lines][data-ovlines=dashed] .arch .nw{border-bottom:1px dashed var(--line)}
html[data-ovblocks=lines][data-ovlines=none] .arch .nw{border-bottom:0}

/* ================= 1.3.7: spójna bryła L */
/* obrzeże wycięcia przepuszcza tło strony jak reszta „szkła” (tło także pod obramowaniem) */
html[data-frame=split] .l-news{background-clip:border-box}
/* komunikaty odsunięte o szerokość obrzeża (opcja) – wtedy nie „wystają” poza bryłę */
html[data-frame=split][data-newsinset="1"] .l-news{padding-top:var(--cut); padding-left:var(--cut)}
html[data-frame=split][data-newsinset="1"][data-side=left] .l-news{padding-left:var(--l-gap); padding-right:var(--cut)}
/* bez zbędnych linii przecinających bryłę */
html[data-frame=split] .l-side .top{border-bottom:0}
html[data-frame=split][data-headline="1"] .l-side .top{border-bottom:1px solid var(--line3)}
html[data-frame=split][data-tabsnow=side] .svc-area{border-top:0}
html[data-frame=split][data-tabsnow=side] .tabs-side{border-top:0; margin-top:6px}
html[data-frame=split] .l-main>.tabs{margin-top:0}
html[data-frame=split][data-tabsnow=side] .tabs-side a{font-size:.9375rem; height:3.125rem}
@media (max-width: 1100px){ html[data-frame=split][data-tabsnow=side] .tabs-side{display:none} html[data-frame=split][data-tabsnow=side] .tabs-main{display:grid} }

/* ------------------------------------------------------------------ 1.3.8: margines strony, zaokrąglenia, ramka wybierana przez odwiedzającego */
.page{padding-top:var(--page-py,0px); padding-bottom:var(--page-py,0px)}
html[data-glass="1"] .page{padding-top:var(--page-py,0px); padding-bottom:var(--page-py,0px)}
.sheet{border-top:1px solid var(--line); border-bottom:1px solid var(--line); min-height:calc(100vh - 2 * var(--page-py,0px))}
html[data-glass="1"] .sheet{min-height:calc(100vh - 2 * var(--page-py,0px))}
html[data-round="1"]:not([data-glass="1"]) .sheet{border-radius:22px; overflow:clip; box-shadow:0 18px 50px rgba(21,23,28,.08)}
html[data-round="0"] .sheet,html[data-glass="1"][data-round="0"] .sheet{border-radius:0}
html[data-frame=split][data-round="0"] .sheet-l,html[data-frame=split][data-glass="1"][data-round="0"] .sheet-l{--R:0px; border-radius:0}
html[data-frame=split][data-round="0"] .l-news{border-bottom-right-radius:0; border-bottom-left-radius:0}
html[data-frame=split][data-round="0"] .l-news::before,html[data-frame=split][data-round="0"] .l-news::after{display:none}
html[data-frame=split]:not([data-glass="1"]) .sheet-l{box-shadow:none}
html[data-styleswitch="0"] .ap-style-blk{display:none}
.ap-frame button,.ap-style button{flex-direction:column; gap:3px; height:auto; min-height:3.5rem; padding:7px 4px 6px; font-size:.75rem; font-weight:500; line-height:1.15; text-align:center}
@media (max-width: 760px){
  .page,html[data-glass="1"] .page{padding:var(--page-py,0px) 0 calc(64px + var(--page-py,0px))}
  .sheet,html[data-glass="1"] .sheet,html[data-round="1"]:not([data-glass="1"]) .sheet{border-radius:0; border-top:0; border-bottom:0; box-shadow:none}
  .ap-style-blk{display:none}
}
/* telefon: „← Strona WIL” w jednym rzędzie z logo (mniejsze przyciski, bez ikony globu) */
@media (max-width: 760px){
  .top .tools{gap:6px}
  .tool-lang svg{display:none} .tool-lang{padding:0 .625rem}
}
@media (max-width: 370px){ .tool-back{font-size:0; gap:0} .tool-back>span{font-size:.9375rem} }

/* ------------------------------------------------------------------ 1.3.9 */
/* oplot: karta strony nie może przycinać zawartości (blok komunikatów wychodzi na ramkę, rogi wycięcia, okienko „Wygląd”) */
html[data-frame=split] .sheet-l,html[data-frame=split][data-round="1"]:not([data-glass="1"]) .sheet-l{overflow:visible}
/* oplot: nagłówek karty bocznej w rzędach – „← Strona WIL” obok PL i „Wygląd”, gdy się mieści, inaczej w drugim rzędzie po prawej */
html[data-frame=split] .l-side .top{display:flex; flex-wrap:wrap; align-items:center; gap:10px 8px}
html[data-frame=split] .l-side .brand{order:1; flex:1 0 auto; margin-right:auto}
html[data-frame=split] .l-side .tools{order:2; display:flex; align-items:center; gap:8px; margin-left:auto}
html[data-frame=split] .l-side .top .find{order:5; flex:1 1 100%}
/* oplot: więcej miejsca wokół menu sekcji w karcie bocznej */
html[data-frame=split][data-tabsnow=side] .tabs-side{margin:22px 14px 6px}
html[data-frame=split] .l-side .favs+.tabs-side{margin-top:18px}
/* menu sekcji wyłączone (w Managerze, także „tylko w układzie klasycznym”) – wszystkie sekcje jedna pod drugą */
html[data-menuoff="1"] .tabs{display:none!important}
html[data-menuoff="1"] .l-main{padding-top:calc(var(--gap) * .4)}
/* ramka i tło wybierane przez odwiedzającego */
html[data-margin="0"] .page,html[data-margin="0"][data-glass="1"] .page{padding-top:0; padding-bottom:0}
html[data-margin="0"] .sheet,html[data-margin="0"][data-glass="1"] .sheet{min-height:100vh}

.ap-style{display:grid; grid-template-columns:1fr 1fr}
.ap-style button{flex-direction:row; min-height:2.5rem; gap:6px; padding:0 8px; justify-content:flex-start}

/* ------------------------------------------------------------------ 1.4.0 */
/* „Szczegóły” tuż przy strzałce (od prawej: ↗, Szczegóły, …) */
html[data-detpos=right] .act-info{order:10; padding:0 .875rem}
html[data-detpos=right] .act-q{order:-1}
html[data-detpos=right][data-actsep="1"] .act-info::before{content:""; position:absolute; left:0; top:0; bottom:0; width:1px; background:linear-gradient(to top,color-mix(in srgb,var(--tone,var(--acc)) 45%,transparent),transparent)}
html[data-detpos=right][data-actsep="1"] .act-info:hover::before{opacity:0}
/* ozdoby okolicznościowe przy logo */
.brand{position:relative}
.brand-mark{position:relative}
.occ{display:inline-flex; flex:none}
.occ svg{width:100%; height:100%; display:block}
.occ-beside{width:1.75rem; height:1.75rem; margin-left:-2px; align-self:center}
.occ-replace{width:1.875rem; height:1.875rem}
.occ-on{position:absolute; width:1.25rem; height:1.25rem; right:-.625rem; bottom:-.5rem; filter:drop-shadow(0 1px 1px rgba(0,0,0,.18))}
html[data-occ=mourning] .brand-mark i{background:#5d5f66!important} html[data-occ=mourning] .brand-mark i:nth-child(n+3){background:#8b8d94!important}
/* animacja logo co kilka sekund (klasa .go dodawana przez ewil.js; bez ruchu, gdy system prosi o ograniczenie animacji) */
@keyframes lg-breathe{0%,100%{transform:scale(1)} 45%{transform:scale(1.16)}}
@keyframes lg-shake{0%,100%{transform:rotate(0)} 15%{transform:rotate(-10deg)} 35%{transform:rotate(9deg)} 55%{transform:rotate(-6deg)} 75%{transform:rotate(4deg)}}
@keyframes lg-wave{0%,100%{transform:translateY(0)} 40%{transform:translateY(-4px)}}
@keyframes lg-spin{0%{transform:rotate(0)} 100%{transform:rotate(90deg)}}
@keyframes lg-glow{0%,100%{filter:drop-shadow(0 0 0 transparent)} 50%{filter:drop-shadow(0 0 6px var(--acc))}}
.brand.go .brand-mark,.brand.go .occ-replace{animation:lg-breathe .9s ease}
html[data-logocur=shake] .brand.go .brand-mark,html[data-logocur=shake] .brand.go .occ-replace{animation:lg-shake .8s ease}
html[data-logocur=spin] .brand.go .brand-mark,html[data-logocur=spin] .brand.go .occ-replace{animation:lg-spin .7s cubic-bezier(.5,0,.3,1.3)}
html[data-logocur=glow] .brand.go .brand-mark,html[data-logocur=glow] .brand.go .occ-replace{animation:lg-glow 1.4s ease}
html[data-logocur=wave] .brand.go .brand-mark{animation:none} html[data-logocur=wave] .brand.go .brand-mark i{animation:lg-wave .55s ease} html[data-logocur=wave] .brand.go .occ-replace{animation:lg-wave .55s ease}
html[data-logocur=wave] .brand.go .brand-mark i:nth-child(2){animation-delay:.1s} html[data-logocur=wave] .brand.go .brand-mark i:nth-child(4){animation-delay:.2s} html[data-logocur=wave] .brand.go .brand-mark i:nth-child(3){animation-delay:.3s}
/* spadające ozdoby (śnieg, liście, płatki) – tworzone przez ewil.js, nie przechwytują kliknięć */
.fx{position:fixed; inset:0; pointer-events:none; overflow:hidden; z-index:50}
.fx i{position:absolute; top:-3rem; left:var(--x); animation:fx-fall var(--d) linear var(--dl) var(--n) both}
.fx b{display:block; animation:fx-sway calc(var(--d) / 4) ease-in-out infinite alternate}
.fx-snow b{width:var(--s); height:var(--s); border-radius:50%; background:#fff; box-shadow:0 0 0 1px rgba(110,135,165,.35),0 1px 3px rgba(60,80,110,.18)}
.fx-petal b{width:var(--s); height:calc(var(--s) * .62); border-radius:60% 0 60% 0; background:var(--c)}
.fx-leaf b{width:calc(var(--s) * 1.7); height:calc(var(--s) * 1.7); color:var(--c)} .fx-leaf b svg{width:100%; height:100%; display:block}
@keyframes fx-fall{0%{transform:translateY(0)} 100%{transform:translateY(calc(100vh + 6rem))}}
@keyframes fx-sway{from{transform:translateX(-18px) rotate(-30deg)} to{transform:translateX(18px) rotate(35deg)}}
@media (prefers-reduced-motion: reduce){ .fx{display:none} .brand.go *,.brand.go .brand-mark{animation:none!important} }
html[data-fx="0"] .fx{display:none}
@media print{ .fx{display:none} }

/* ------------------------------------------------------------------ 1.5.0 */
/* tło wokół strony: nieruchoma warstwa pod treścią (zamiast background-attachment:fixed – lżej przy przewijaniu, zwłaszcza w Firefoksie) */
body,html[data-pagebg] body{background:var(--page)}
body::before{content:""; position:fixed; inset:0; z-index:-1; background:var(--page-bg,var(--page)); pointer-events:none}
/* szkło bez rozmycia tła: za ramką jest tylko gładkie tło, a rozmycie było liczone przy każdej klatce animacji */
html[data-glass="1"] .sheet{-webkit-backdrop-filter:none; backdrop-filter:none}
.fx{contain:strict} .fx i{will-change:transform}
/* odstępy z Managera (mnożone przez „Odstępy” odwiedzającego) */
.top{padding-top:var(--head-py,.875rem); padding-bottom:var(--head-py,.875rem)}
.hero{padding-top:var(--news-top)}
.news,.favs{padding-bottom:var(--news-bot)}
html[data-frame=split] .l-news{padding-bottom:var(--news-bot)}
.svc-area{padding-top:calc(var(--sec-top) + var(--sec-gap,0px) * .5)}
.foot{margin-top:var(--foot-gap)}
.fc{padding-top:var(--foot-py); padding-bottom:var(--foot-py)}
.fc-in{padding-top:calc(var(--foot-py) * .6); padding-bottom:calc(var(--foot-py) * .8)}
.fc-pref{padding-top:calc(var(--foot-py) * .3); padding-bottom:calc(var(--foot-py) * .3)}
html[data-foot=compact] .fc,html[data-foot=compact] .fc-mail{padding-top:calc(var(--foot-py) * .6); padding-bottom:calc(var(--foot-py) * .6)}
.foot-row{padding-top:calc(var(--foot-py) * .7); padding-bottom:calc(var(--foot-py) * .7)}
/* oplot: karta boczna – odstęp nad logo, między logo a wyszukiwarką i pod wyszukiwarką */
html[data-frame=split] .l-side .top{padding-top:var(--side-top); padding-bottom:var(--side-bot); row-gap:var(--side-row)}
/* układ klasyczny: szerokość kolumny skrótów obok komunikatów (komunikaty – reszta) */
html[data-favpos=auto] .favs{flex:0 1 var(--favs-w,300px)}
html[data-favpos=side] .favs{flex:0 1 var(--favs-w,300px)} html[data-favpos=side] .news{flex:1 1 360px}
/* menu „Wygląd” jako panel z prawej (mieści więcej opcji) */
.appear-pop{position:fixed; top:12px; right:12px; bottom:12px; width:23.5rem; max-width:calc(100vw - 24px); overflow-y:auto; overscroll-behavior:contain; z-index:70; padding:0 16px 14px; gap:16px; box-shadow:0 20px 60px rgba(21,23,28,.22)}
.ap-head{position:sticky; top:0; z-index:1; display:flex; align-items:center; justify-content:space-between; margin:0 -16px; padding:14px 16px 10px; background:var(--white); border-bottom:1px solid var(--line3)}
.ap-head b{font-size:1rem}
.ap-head button{width:2rem; height:2rem; border:1px solid var(--line3); border-radius:8px; background:var(--white); color:var(--ink2); font-size:1.25rem; line-height:1; cursor:pointer}
.ap-head button:hover{background:var(--acc); color:#FFF; border-color:var(--acc)}
.ap-bgs{display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:6px}
.ap-bgs button{display:flex; flex-direction:column; align-items:stretch; gap:4px; padding:4px 4px 5px; border:1px solid var(--line3); border-radius:10px; background:var(--white); font-size:.72rem; font-weight:500; color:var(--ink3); cursor:pointer; text-align:center}
.ap-bgs .bg-sw{height:2.125rem; border-radius:7px; box-shadow:inset 0 0 0 1px rgba(21,23,28,.08)}
.ap-bgs button[aria-pressed=true]{border-color:var(--acc); box-shadow:0 0 0 1px var(--acc); color:var(--acc-link)}
/* 1.5.3: tła w kolorze akcentu oznaczone kropką akcentu w rogu próbki (+ legenda pod listą) */
.ap-bgs .bg-sw{position:relative}
.ap-bgs .bg-acc .bg-sw::after,.ap-bg-leg .bg-dot{content:""; width:.625rem; height:.625rem; border-radius:50%; background:var(--sw,var(--acc)); box-shadow:0 0 0 2px var(--white)}
.ap-bgs .bg-acc .bg-sw::after{position:absolute; top:4px; right:4px}
.ap-bg-leg{display:none; align-items:center; gap:7px; margin:7px 2px 0; font-size:.72rem; color:var(--mute); line-height:1.3}
.ap-bg-leg .bg-dot{flex:none; display:inline-block}
html[data-styleswitch="0"] .ap-bg-blk{display:none}
html[data-settings=bar] .ap-head{display:none}
@media (max-width: 760px){
  .appear-pop{top:auto; left:0; right:0; bottom:0; width:auto; max-width:none; max-height:82vh; border-radius:16px 16px 0 0}
  .ap-style-blk,.ap-bg-blk{display:none}   /* 1.5.5: na telefonie bez ramki, marginesu i wyboru tła (tła prawie nie widać) */
}
/* przeciąganie skrótów */
.fav-grid li[data-k],.fav-mgr li[data-k]{position:relative}
.sorting li[data-k]{transition:none}
li[data-k].dragging{z-index:5; opacity:.92; box-shadow:0 10px 26px rgba(21,23,28,.2); cursor:grabbing; pointer-events:none}
.fav-mgr li[data-k]{cursor:grab}
.fm-grip{width:1rem; flex:none; color:var(--faint); font-size:.8125rem; letter-spacing:-2px; cursor:grab; touch-action:none; user-select:none; text-align:center}
.fav-grid a{-webkit-user-drag:none}
/* wiersze podsekcji: „Szczegóły” też przy strzałce */
html[data-detpos=right] .act-rinfo{order:10}
/* otwarty panel „Wygląd” nad paskiem sekcji i resztą strony */
html.ap-open .top,html.ap-open[data-frame=split] .l-side{z-index:75}
/* szybkie linki przy strzałce: …, szybkie linki, (Szczegóły), ↗ */
html[data-quickpos=right] .act-q,html[data-detpos=right][data-quickpos=right] .act-q{order:9}
/* temat komunikatu: kolor i wielkość z Managera; „same tematy” – powiększony temat, treść po kliknięciu */
.nw-title{line-height:1.3; font-weight:650}
html[data-ntcolor=accent] .nw-title{color:var(--acc-link)}
html[data-ntsize=s] .nw-title{font-size:.875rem} html[data-ntsize=m] .nw-title{font-size:.9375rem} html[data-ntsize=l] .nw-title{font-size:1.0625rem}
html[data-ntsize=s] .nw-only .nw-title{font-size:.9375rem} html[data-ntsize=m] .nw-only .nw-title{font-size:1.0625rem} html[data-ntsize=l] .nw-only .nw-title{font-size:1.1875rem}
html.js .nw-only:not(.open) .nw-body,html.js .nw-only:not(.open) .nw-note{display:none}
.nw-only.open .nw-body{display:block; -webkit-line-clamp:unset; overflow:visible}
.arch .nw-title{font-size:1rem}

/* ------------------------------------------------------------------ 1.5.3: stopka na telefonie – równe marginesy, telefon w jednym kawałku */
@media (max-width: 760px){
  .foot-grid{grid-template-columns:minmax(0,1fr) auto}
  .foot-grid>.fc:not(.fc-mail){padding-left:16px; padding-right:16px}
  html[data-foot=grid] .foot-grid>.fc-mail{padding:0}
  html[data-foot=grid] .fc-mail .fc-in,html[data-foot=grid][data-footpref] .fc-mail .fc-pref{padding-left:16px; padding-right:16px}
  html[data-foot=grid][data-footpref=pill] .fc-mail .fc-pref{margin-left:16px; margin-right:16px; padding-left:8px; padding-right:8px}
  html[data-foot=compact] .fc-mail{padding-left:16px; padding-right:16px}
  html[data-foot=compact][data-footpref=bar] .fc-mail .fc-pref{margin-left:-16px; margin-right:-16px; padding-left:16px}
  .fc-v2{overflow-wrap:break-word}
}
