/* Kartka Ekonomii — style.css */
:root{
  --paper:#f2eee4; --paper-2:#e9e3d5; --card:#fffdf7; --ink:#15171c; --ink-2:#3a3d45; --muted:#6c6a66;
  --line:#ddd5c4; --line-2:#cfc5b0; --accent:#0e5a48; --accent-ink:#fff; --accent-soft:#dcebe4;
  --gold:#b07d1c; --gold-soft:#f4e7c8; --up:#13805b; --down:#c23a2c; --up-soft:#e1f2ea; --down-soft:#f8e2de;
  --info:#2457a6; --shadow:0 1px 0 var(--line), 0 10px 24px -18px rgba(40,30,10,.35);
  --r:14px; --r-sm:9px; --maxw:1240px;
  --f-display:"Fraunces", Georgia, serif; --f-body:"IBM Plex Sans", system-ui, sans-serif; --f-mono:"IBM Plex Mono", ui-monospace, monospace;
  color-scheme: light;
}
@media (prefers-color-scheme: dark){ :root:not([data-theme="light"]){
  --paper:#0f1115; --paper-2:#151820; --card:#181c23; --ink:#ece7dc; --ink-2:#c9c3b6; --muted:#958f84;
  --line:#272c35; --line-2:#333944; --accent:#3fbf97; --accent-ink:#06120e; --accent-soft:#16302a;
  --gold:#e0b04f; --gold-soft:#2f2614; --up:#3ccf93; --down:#ff6b5b; --up-soft:#13291f; --down-soft:#331816; --info:#7aa7f0;
  --shadow:0 1px 0 rgba(0,0,0,.4), 0 14px 30px -20px rgba(0,0,0,.8); color-scheme: dark; } }
:root[data-theme="dark"]{
  --paper:#0f1115; --paper-2:#151820; --card:#181c23; --ink:#ece7dc; --ink-2:#c9c3b6; --muted:#958f84;
  --line:#272c35; --line-2:#333944; --accent:#3fbf97; --accent-ink:#06120e; --accent-soft:#16302a;
  --gold:#e0b04f; --gold-soft:#2f2614; --up:#3ccf93; --down:#ff6b5b; --up-soft:#13291f; --down-soft:#331816; --info:#7aa7f0;
  --shadow:0 1px 0 rgba(0,0,0,.4), 0 14px 30px -20px rgba(0,0,0,.8); color-scheme: dark; }

*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%; scroll-behavior:smooth}
body{margin:0; background:var(--paper); color:var(--ink); font:16px/1.6 var(--f-body); padding-bottom:40px;
  background-image:radial-gradient(rgba(120,100,60,.05) 1px, transparent 1px); background-size:4px 4px; overflow-x:hidden}
a{color:inherit} img,svg{max-width:100%}
h1,h2,h3,h4{font-family:var(--f-display); font-weight:600; line-height:1.15; letter-spacing:-.01em; margin:0 0 .5em; font-variation-settings:"opsz" 72}
h1{font-size:clamp(2rem,4.6vw,3.4rem)} h2{font-size:clamp(1.5rem,2.6vw,2.1rem)} h3{font-size:1.2rem}
p{margin:0 0 1em}
.mono,.num{font-family:var(--f-mono); font-variant-numeric:tabular-nums}
.wrap{max-width:var(--maxw); margin:0 auto; padding:0 16px}
.skip{position:absolute; left:-999px} .skip:focus{left:16px; top:8px; z-index:99; background:var(--card); padding:8px 12px}
:focus-visible{outline:2px solid var(--accent); outline-offset:2px}
.up{color:var(--up)} .down{color:var(--down)} .muted{color:var(--muted)}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}

/* ===== Ticker (góra) ===== */
.ticker{background:var(--ink); color:var(--paper); font:500 13px/1 var(--f-mono); overflow:hidden; border-bottom:1px solid #000; position:relative}
:root[data-theme="dark"] .ticker{background:#07080a}
@media (prefers-color-scheme: dark){ :root:not([data-theme="light"]) .ticker{background:#07080a} }
.ticker__track{display:flex; width:max-content; animation:marquee var(--dur,70s) linear infinite}
.ticker:hover .ticker__track, .newsbar:hover .ticker__track{animation-play-state:paused}
.tk{display:inline-flex; align-items:center; gap:7px; padding:9px 18px; border-right:1px solid rgba(255,255,255,.08); white-space:nowrap}
.tk b{font-weight:600; color:#fff; opacity:.75; letter-spacing:.02em}
.tk .v{color:#f4efe3}
.tk .c.up{color:#4fe0a5} .tk .c.down{color:#ff8473}
.tk .grp{font-size:10px; text-transform:uppercase; letter-spacing:.12em; color:#d9b45a; opacity:.9}
@keyframes marquee{from{transform:translateX(0)} to{transform:translateX(-50%)}}
@media (prefers-reduced-motion: reduce){ .ticker__track{animation:none; overflow-x:auto} }

/* ===== Header ===== */
.hdr{position:sticky; top:0; z-index:40; background:color-mix(in srgb, var(--paper) 88%, transparent); backdrop-filter:saturate(1.4) blur(10px); border-bottom:1px solid var(--line)}
.hdr__in{display:flex; align-items:center; gap:18px; height:64px}
.logo{display:flex; align-items:center; gap:10px; text-decoration:none; flex-shrink:0}
.logo svg{width:34px; height:34px}
.logo span{font:600 1.22rem/1 var(--f-display); letter-spacing:-.02em}
.logo em{font-style:italic; color:var(--accent)}
.nav{display:flex; gap:2px; margin-left:auto}
.nav a{text-decoration:none; padding:8px 12px; border-radius:999px; font-weight:500; font-size:.95rem; color:var(--ink-2)}
.nav a:hover{background:var(--paper-2); color:var(--ink)}
.nav a[aria-current="page"]{background:var(--ink); color:var(--paper)}
.nav a.hot{color:var(--accent); font-weight:600}
.hdr__x{display:inline-flex; align-items:center; gap:8px}
.icon-btn{width:38px; height:38px; display:grid; place-items:center; border-radius:50%; border:1px solid var(--line); background:var(--card); color:var(--ink); cursor:pointer}
.burger{display:none}
@media (max-width:980px){
  .nav{position:fixed; inset:64px 0 auto 0; flex-direction:column; background:var(--paper); border-bottom:1px solid var(--line); padding:10px 16px 18px; display:none; box-shadow:var(--shadow)}
  .nav.open{display:flex} .nav a{padding:12px 14px; font-size:1.05rem}
  .burger{display:grid; margin-left:auto} .hdr__x .btn span{display:none}
}

/* ===== Buttons / chips ===== */
.btn{display:inline-flex; align-items:center; justify-content:center; gap:8px; padding:11px 18px; border-radius:999px; font:600 .95rem/1 var(--f-body);
  text-decoration:none; border:1px solid transparent; cursor:pointer; transition:transform .12s, box-shadow .12s, background .12s; white-space:nowrap}
.btn:active{transform:translateY(1px)}
.btn--primary{background:var(--accent); color:var(--accent-ink); box-shadow:0 6px 16px -8px var(--accent)}
.btn--primary:hover{filter:brightness(1.08)}
.btn--ink{background:var(--ink); color:var(--paper)}
.btn--ghost{background:var(--card); border-color:var(--line-2); color:var(--ink)}
.btn--ghost:hover{border-color:var(--ink)}
.btn--x{background:#000; color:#fff} :root[data-theme="dark"] .btn--x{background:#fff;color:#000}
@media (prefers-color-scheme: dark){ :root:not([data-theme="light"]) .btn--x{background:#fff;color:#000} }
.btn--sm{padding:8px 13px; font-size:.85rem}
.btn--lg{padding:15px 24px; font-size:1.05rem}
.btn--block{width:100%}
.chips{display:flex; gap:8px; flex-wrap:wrap}
.chip{border:1px solid var(--line-2); background:var(--card); color:var(--ink-2); padding:7px 13px; border-radius:999px; font:500 .88rem/1 var(--f-body); cursor:pointer}
.chip[aria-pressed="true"]{background:var(--ink); color:var(--paper); border-color:var(--ink)}
.chip .n{font-family:var(--f-mono); font-size:.75rem; opacity:.65; margin-left:4px}
.tag{display:inline-block; font:600 .7rem/1 var(--f-body); letter-spacing:.06em; text-transform:uppercase; padding:5px 8px; border-radius:6px; background:var(--paper-2); color:var(--ink-2)}
.tag--accent{background:var(--accent-soft); color:var(--accent)} .tag--gold{background:var(--gold-soft); color:var(--gold)}
.tag--up{background:var(--up-soft); color:var(--up)} .tag--down{background:var(--down-soft); color:var(--down)}

/* ===== Cards (kartki) ===== */
.card{background:var(--card); border:1px solid var(--line); border-radius:var(--r); box-shadow:var(--shadow); padding:20px; position:relative; min-width:0}
.card--tab{margin-top:14px; border-top-left-radius:0}
.card--tab::before{content:attr(data-tab); position:absolute; top:-27px; left:-1px; height:27px; padding:0 14px; display:flex; align-items:center;
  background:var(--card); border:1px solid var(--line); border-bottom:none; border-radius:10px 10px 0 0; font:600 .72rem/1 var(--f-body); letter-spacing:.1em; text-transform:uppercase; color:var(--muted)}
.card--tab[data-tone="accent"]::before{color:var(--accent)} .card--tab[data-tone="gold"]::before{color:var(--gold)}
.card__hd{display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:14px}
.card__hd h2,.card__hd h3{margin:0}
.card__more{font-size:.88rem; font-weight:600; color:var(--accent); text-decoration:none; white-space:nowrap}
.card__more:hover{text-decoration:underline}
.live{display:inline-flex; align-items:center; gap:6px; font:600 .72rem/1 var(--f-body); letter-spacing:.08em; text-transform:uppercase; color:var(--up)}
.live::before{content:""; width:7px; height:7px; border-radius:50%; background:currentColor; animation:pulse 1.6s infinite}
@keyframes pulse{0%{box-shadow:0 0 0 0 color-mix(in srgb, var(--up) 60%, transparent)} 70%{box-shadow:0 0 0 7px transparent} 100%{box-shadow:0 0 0 0 transparent}}

.grid{display:grid; gap:22px}
.g-home{grid-template-columns:repeat(12,1fr)}
.span-12{grid-column:span 12} .span-8{grid-column:span 8} .span-7{grid-column:span 7} .span-6{grid-column:span 6} .span-5{grid-column:span 5} .span-4{grid-column:span 4} .span-3{grid-column:span 3}
@media (max-width:1060px){ .span-8,.span-7,.span-5,.span-4{grid-column:span 12} .span-6{grid-column:span 12} .span-3{grid-column:span 6} }
@media (max-width:560px){ .span-3{grid-column:span 12} }
section{margin:34px 0}
.sec-hd{display:flex; align-items:end; justify-content:space-between; gap:16px; margin-bottom:16px; flex-wrap:wrap}
.sec-hd h2{margin:0} .kicker{font:600 .75rem/1 var(--f-body); letter-spacing:.14em; text-transform:uppercase; color:var(--accent); margin-bottom:8px; display:block}

/* ===== Hero ===== */
.hero{display:grid; grid-template-columns:1.3fr 1fr; gap:22px; margin-top:26px}
@media (max-width:900px){ .hero{grid-template-columns:1fr} }
.hero__main{padding:34px; background:var(--ink); color:var(--paper); border-color:var(--ink); overflow:hidden}
.hero__main h1{color:#fbf7ee} .hero__main h1 em{font-style:italic; color:#e8c46c}
.hero__main p{color:#d6d0c3; font-size:1.08rem; max-width:52ch}
.hero__main .btn--ghost{background:transparent; color:#fff; border-color:rgba(255,255,255,.3)}
.hero__main .btn--x{background:#fff; color:#000}
.hero__deco{position:absolute; right:-40px; bottom:-40px; width:300px; opacity:.16; pointer-events:none}
.hero__cta{display:flex; gap:10px; flex-wrap:wrap; margin-top:22px}
.hero__stats{display:grid; grid-template-columns:1fr 1fr; gap:14px}
.stat{padding:16px}
.stat__l{font:600 .75rem/1 var(--f-body); letter-spacing:.08em; text-transform:uppercase; color:var(--muted); display:flex; justify-content:space-between}
.stat__v{font:600 1.55rem/1.1 var(--f-mono); margin:10px 0 4px; letter-spacing:-.02em}
.stat__c{font:500 .85rem/1 var(--f-mono)}
.stat svg.spark{width:100%; height:34px; margin-top:8px; display:block}
.skel{background:linear-gradient(90deg,var(--paper-2),var(--line),var(--paper-2)); background-size:200% 100%; animation:sk 1.3s infinite; border-radius:6px; color:transparent!important; min-height:1em}
@keyframes sk{to{background-position:-200% 0}}

/* ===== News cards ===== */
.news-grid{display:grid; grid-template-columns:repeat(auto-fill,minmax(270px,1fr)); gap:16px}
.ncard{display:flex; flex-direction:column; gap:10px; text-decoration:none; padding:18px; transition:transform .15s, border-color .15s}
.ncard:hover{transform:translateY(-3px); border-color:var(--line-2)}
.ncard h3{font-size:1.06rem; margin:0; line-height:1.3}
.ncard p{font-size:.9rem; color:var(--ink-2); margin:0; display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden}
.ncard__meta{display:flex; gap:8px; align-items:center; font-size:.78rem; color:var(--muted); margin-top:auto}
.ncard--lead{grid-column:span 2; background:var(--accent-soft); border-color:transparent}
.ncard--lead h3{font-size:1.45rem}
@media (max-width:620px){ .ncard--lead{grid-column:auto} }
.c-gospodarka{--c:var(--info)} .c-gielda{--c:var(--accent)} .c-etf{--c:var(--gold)} .c-krypto{--c:#8a4fd8}
.cat-dot{display:inline-flex; align-items:center; gap:6px; font:600 .7rem/1 var(--f-body); letter-spacing:.1em; text-transform:uppercase; color:var(--c,var(--muted))}
.cat-dot::before{content:""; width:8px; height:8px; border-radius:2px; background:currentColor}

/* ===== Bottom news bar ===== */
.newsbar{position:fixed; left:0; right:0; bottom:0; z-index:45; height:40px; display:flex; align-items:center; background:var(--card); border-top:1px solid var(--line); font-size:.88rem; overflow:hidden}
.newsbar__lbl{flex-shrink:0; height:100%; display:flex; align-items:center; gap:8px; padding:0 14px; background:var(--accent); color:var(--accent-ink); font:700 .72rem/1 var(--f-body); letter-spacing:.12em; text-transform:uppercase; z-index:1}
.newsbar__vp{overflow:hidden; flex:1; mask-image:linear-gradient(90deg,transparent,#000 30px,#000 calc(100% - 30px),transparent)}
.newsbar .ticker__track{--dur:160s}
.nb-item{white-space:nowrap; padding:0 22px; text-decoration:none; display:inline-flex; gap:10px; align-items:center; line-height:40px}
.nb-item:hover{color:var(--accent)} .nb-item time{font-family:var(--f-mono); font-size:.78rem; color:var(--muted)}

/* ===== Portfolio (Gram po gramie) ===== */
.pf{display:grid; gap:14px}
.pf__total{display:flex; flex-wrap:wrap; align-items:baseline; gap:6px 14px}
.pf__total .big{font:600 2.1rem/1 var(--f-mono); letter-spacing:-.03em}
.pf__meta{display:grid; grid-template-columns:repeat(3,1fr); gap:10px}
.pf__meta div{background:var(--paper-2); border-radius:var(--r-sm); padding:10px 12px}
.pf__meta small{display:block; font-size:.72rem; color:var(--muted); text-transform:uppercase; letter-spacing:.06em}
.pf__meta b{font:600 1rem/1.4 var(--f-mono)}
.pos{display:grid; grid-template-columns:110px 1fr 76px 70px; gap:10px; align-items:center; font:500 .86rem/1.2 var(--f-mono); padding:6px 0; border-bottom:1px dashed var(--line)}
.pos:last-child{border:0}
.pos__bar{height:8px; background:var(--paper-2); border-radius:4px; position:relative; overflow:hidden}
.pos__bar i{position:absolute; top:0; bottom:0; border-radius:4px}
.pos__bar i.neg{right:50%; background:var(--down)} .pos__bar i.pos_{left:50%; background:var(--up)}
.pos__bar::after{content:""; position:absolute; left:50%; top:-2px; bottom:-2px; width:1px; background:var(--line-2)}
.pos span:nth-child(3),.pos span:nth-child(4){text-align:right}
@media (max-width:480px){ .pos{grid-template-columns:92px 1fr 64px} .pos span:nth-child(4){display:none} }
.progress{height:8px; background:var(--paper-2); border-radius:4px; overflow:hidden} .progress i{display:block; height:100%; background:var(--gold)}
.feed{display:flex; flex-direction:column; gap:10px; max-height:520px; overflow:auto; padding-right:4px; scrollbar-width:thin}
.tmsg{background:var(--paper-2); border-radius:4px 14px 14px 14px; padding:12px 14px; font-size:.88rem; border-left:3px solid var(--line-2)}
.tmsg--buy{border-left-color:var(--up)} .tmsg--sell{border-left-color:var(--gold)} .tmsg--snap{border-left-color:var(--info)}
.tmsg__hd{display:flex; justify-content:space-between; gap:8px; font-weight:600; margin-bottom:6px}
.tmsg__hd time{font:400 .75rem/1.6 var(--f-mono); color:var(--muted)}
.tmsg dl{display:grid; grid-template-columns:auto 1fr; gap:2px 12px; margin:0; font-size:.83rem}
.tmsg dt{color:var(--muted)} .tmsg dd{margin:0; font-family:var(--f-mono); text-align:right}
.tmsg pre{white-space:pre-wrap; font:inherit; margin:0}

/* ===== Tweets carousel ===== */
.xcar{position:relative}
.xcar__track{display:flex; gap:16px; overflow-x:auto; scroll-snap-type:x mandatory; scroll-behavior:smooth; padding:4px 2px 14px; scrollbar-width:thin}
.xcar__item{flex:0 0 min(360px,86%); scroll-snap-align:start; min-height:220px}
.xcar__item .twitter-tweet{margin:0!important}
.xcar__nav{display:flex; gap:8px}
.xph{display:flex; flex-direction:column; justify-content:center; align-items:flex-start; gap:12px; min-height:220px; background:var(--paper-2); border-radius:var(--r); padding:22px; border:1px dashed var(--line-2)}
.xph svg{width:28px}

/* ===== Events ===== */
.ev-day{font:600 .78rem/1 var(--f-body); letter-spacing:.1em; text-transform:uppercase; color:var(--muted); margin:14px 0 6px}
.ev-day:first-child{margin-top:0}
.ev{display:grid; grid-template-columns:52px 34px 1fr auto; gap:10px; align-items:center; padding:9px 0; border-bottom:1px solid var(--line); font-size:.9rem}
.ev time{font:500 .85rem/1 var(--f-mono)} .ev .flag{font-size:1.15rem}
.ev .imp{display:flex; gap:2px} .ev .imp i{width:5px; height:12px; border-radius:2px; background:var(--line-2)}
.ev .imp.h i{background:var(--down)} .ev .imp.m i:nth-child(-n+2){background:var(--gold)} .ev .imp.l i:first-child{background:var(--muted)}
.ev .fc{font:400 .78rem/1.3 var(--f-mono); color:var(--muted); text-align:right}
.ev--own{background:var(--gold-soft); border-radius:8px; padding:9px 8px; border:0; margin:4px 0}

/* ===== Ad slots ===== */
.ad{position:relative; display:flex; align-items:center; justify-content:center; min-height:120px; border:1px dashed var(--line-2); border-radius:var(--r); background:repeating-linear-gradient(45deg,transparent 0 10px,rgba(127,110,80,.04) 10px 20px); overflow:hidden}
.ad::before{content:"Reklama"; position:absolute; top:6px; left:10px; font:600 .62rem/1 var(--f-body); letter-spacing:.14em; text-transform:uppercase; color:var(--muted)}
.ad--leader{min-height:110px} .ad--rect{min-height:280px} .ad--infeed{min-height:250px}
.ad ins{display:block; width:100%}
.ad.filled{border-style:solid; background:none}

/* ===== X follow band ===== */
.xband{display:grid; grid-template-columns:auto 1fr auto; gap:20px; align-items:center; padding:24px 28px; background:var(--gold-soft); border-color:transparent}
.xband h2{margin:0 0 4px; font-size:1.5rem} .xband p{margin:0; color:var(--ink-2)}
.xband__ic{width:58px; height:58px; border-radius:16px; background:#000; display:grid; place-items:center}
@media (max-width:700px){ .xband{grid-template-columns:1fr; text-align:left} }

/* ===== Credits ===== */
.calc{display:grid; gap:16px}
.field label{display:flex; justify-content:space-between; font-weight:600; font-size:.9rem; margin-bottom:8px}
.field label output{font-family:var(--f-mono); color:var(--accent)}
input[type=range]{width:100%; accent-color:var(--accent); height:28px}
.inp{width:100%; padding:11px 13px; border:1px solid var(--line-2); border-radius:10px; background:var(--card); color:var(--ink); font:inherit}
select.inp{appearance:none; background-image:linear-gradient(45deg,transparent 50%,var(--muted) 50%),linear-gradient(135deg,var(--muted) 50%,transparent 50%); background-position:calc(100% - 18px) 50%,calc(100% - 13px) 50%; background-size:5px 5px; background-repeat:no-repeat; padding-right:34px}
.calc__out{display:grid; grid-template-columns:1fr 1fr; gap:10px}
.calc__out div{background:var(--paper-2); border-radius:10px; padding:12px}
.calc__out small{display:block; font-size:.72rem; letter-spacing:.06em; text-transform:uppercase; color:var(--muted)}
.calc__out b{font:600 1.35rem/1.3 var(--f-mono)}
.calc__out .hl{background:var(--accent); color:var(--accent-ink)} .calc__out .hl small{color:inherit; opacity:.8}
.seg{display:inline-flex; background:var(--paper-2); border-radius:999px; padding:4px; gap:2px; flex-wrap:wrap}
.seg button{border:0; background:none; padding:8px 14px; border-radius:999px; font:600 .88rem/1 var(--f-body); color:var(--ink-2); cursor:pointer}
.seg button[aria-pressed="true"]{background:var(--card); color:var(--ink); box-shadow:0 1px 3px rgba(0,0,0,.12)}
.toolbar{display:flex; gap:12px; flex-wrap:wrap; align-items:center; margin:18px 0}
.toolbar .inp{width:auto; min-width:200px; flex:1}
.offers{display:grid; gap:12px}
.offer{display:grid; grid-template-columns:56px 1fr auto; gap:16px; align-items:center; padding:16px 18px}
.offer--top{border-color:var(--accent); box-shadow:0 0 0 1px var(--accent), var(--shadow)}
.mono-logo{width:56px; height:56px; border-radius:14px; display:grid; place-items:center; font:700 1.25rem/1 var(--f-display); color:#fff; letter-spacing:-.03em}
.offer h3{margin:0 0 4px; font-size:1.12rem; display:flex; gap:8px; align-items:center; flex-wrap:wrap}
.offer__dom{font:400 .8rem/1 var(--f-mono); color:var(--muted)}
.offer__tags{display:flex; gap:6px; flex-wrap:wrap; margin-top:8px}
.offer__facts{display:flex; gap:16px; flex-wrap:wrap; font-size:.85rem; margin-top:8px; color:var(--ink-2)} .offer__facts b{font-family:var(--f-mono)}
.offer__cta{display:flex; flex-direction:column; align-items:flex-end; gap:6px}
.offer__cta small{font-size:.72rem; color:var(--muted)}
.offer__rep{grid-column:2 / -1; font-size:.75rem; color:var(--muted); border-top:1px dashed var(--line); padding-top:8px; margin-top:4px}
@media (max-width:640px){ .offer{grid-template-columns:48px 1fr} .mono-logo{width:48px;height:48px;font-size:1.05rem} .offer__cta{grid-column:1 / -1; align-items:stretch} .offer__cta .btn{width:100%} .offer__rep{grid-column:1/-1} }
.rank-n{font:600 .72rem/1 var(--f-mono); color:var(--muted)}
.top3{display:grid; grid-template-columns:repeat(3,1fr); gap:16px}
@media (max-width:860px){ .top3{grid-template-columns:1fr} }
.top3 .card{display:flex; flex-direction:column; gap:12px}
.medal{position:absolute; top:16px; right:16px; font:700 .75rem/1 var(--f-mono); background:var(--gold-soft); color:var(--gold); padding:6px 9px; border-radius:999px}
.disclosure{font-size:.82rem; color:var(--muted); background:var(--paper-2); border-radius:10px; padding:12px 14px}
.tabs-hero{display:grid; grid-template-columns:1fr 1.05fr; gap:22px; margin-top:26px; align-items:start}
@media (max-width:900px){ .tabs-hero{grid-template-columns:1fr} }
.trust{display:flex; gap:18px; flex-wrap:wrap; margin-top:18px; font-size:.9rem; color:var(--ink-2)}
.trust span{display:flex; gap:7px; align-items:center} .trust svg{color:var(--accent); width:18px; height:18px}
.empty{padding:30px; text-align:center; color:var(--muted)}

/* ===== Table (giełdy) ===== */
.tbl-wrap{overflow-x:auto; border-radius:var(--r); border:1px solid var(--line); background:var(--card)}
table.tbl{border-collapse:collapse; width:100%; min-width:720px; font-size:.92rem}
.tbl th,.tbl td{padding:13px 14px; text-align:left; border-bottom:1px solid var(--line); vertical-align:middle}
.tbl th{font:600 .74rem/1.2 var(--f-body); letter-spacing:.08em; text-transform:uppercase; color:var(--muted); background:var(--paper-2); cursor:pointer; white-space:nowrap}
.tbl td.num{font-family:var(--f-mono)} .tbl tr:last-child td{border-bottom:0}
.yes{color:var(--up); font-weight:700} .no{color:var(--muted)}

/* ===== Articles ===== */
.art-grid{display:grid; grid-template-columns:repeat(auto-fill,minmax(290px,1fr)); gap:18px}
.acard{text-decoration:none; display:flex; flex-direction:column; gap:10px; padding:0; overflow:hidden}
.acard__cover{height:130px; display:flex; align-items:flex-end; padding:16px; font:600 2.6rem/1 var(--f-display); color:rgba(255,255,255,.92); letter-spacing:-.04em}
.acard__body{padding:4px 18px 18px; display:flex; flex-direction:column; gap:8px; flex:1}
.acard h3{margin:0; font-size:1.15rem}
.acard p{margin:0; font-size:.9rem; color:var(--ink-2)}
.acard .muted{font-size:.8rem; margin-top:auto}
.article{display:grid; grid-template-columns:minmax(0,1fr) 300px; gap:34px; margin-top:26px}
@media (max-width:980px){ .article{grid-template-columns:1fr} }
.prose{font-size:1.08rem; line-height:1.75; max-width:72ch}
.prose h2{margin:1.6em 0 .5em; font-size:1.6rem} .prose h3{margin:1.4em 0 .4em}
.prose a{color:var(--accent); text-underline-offset:3px}
.prose ul,.prose ol{padding-left:1.3em} .prose li{margin:.3em 0}
.prose blockquote{margin:1.4em 0; padding:14px 18px; border-left:4px solid var(--gold); background:var(--gold-soft); border-radius:0 10px 10px 0}
.prose table{border-collapse:collapse; width:100%; font-size:.95rem; margin:1em 0} .prose td,.prose th{border:1px solid var(--line); padding:8px 10px; text-align:left}
.lede{font-size:1.25rem; color:var(--ink-2); font-family:var(--f-display); font-weight:400; line-height:1.5}
.crumbs{font-size:.85rem; color:var(--muted); margin-top:20px} .crumbs a{color:inherit}
.aside-sticky{position:sticky; top:84px; display:grid; gap:18px}
.cta-box{background:var(--accent); color:var(--accent-ink); border:0} .cta-box h3{color:inherit} .cta-box p{opacity:.9; font-size:.95rem}
.cta-box .btn{background:var(--accent-ink); color:var(--accent)}
.toc{font-size:.92rem} .toc ol{margin:0; padding-left:1.2em} .toc a{text-decoration:none; color:var(--ink-2)} .toc a:hover{color:var(--accent)}
.faq details{border-bottom:1px solid var(--line); padding:14px 0} .faq summary{font-weight:600; cursor:pointer; list-style:none; display:flex; justify-content:space-between; gap:12px}
.faq summary::after{content:"+"; font:400 1.4rem/1 var(--f-mono); color:var(--accent)} .faq details[open] summary::after{content:"–"}
.faq details p{margin:10px 0 0; color:var(--ink-2)}

/* ===== Footer ===== */
.ftr{margin-top:60px; border-top:1px solid var(--line); background:var(--paper-2); padding:44px 0 30px; font-size:.92rem}
.ftr__grid{display:grid; grid-template-columns:1.4fr repeat(3,1fr); gap:28px}
@media (max-width:800px){ .ftr__grid{grid-template-columns:1fr 1fr} }
.ftr h4{font:600 .78rem/1 var(--f-body); letter-spacing:.12em; text-transform:uppercase; color:var(--muted); margin-bottom:14px}
.ftr ul{list-style:none; margin:0; padding:0; display:grid; gap:8px} .ftr a{text-decoration:none; color:var(--ink-2)} .ftr a:hover{color:var(--accent)}
.ftr__legal{margin-top:30px; padding-top:20px; border-top:1px solid var(--line); font-size:.8rem; color:var(--muted); display:grid; gap:8px}
.linkbtn{background:none; border:0; padding:0; font:inherit; color:var(--ink-2); cursor:pointer; text-decoration:underline}

/* ===== Cookie consent ===== */
.cc{position:fixed; left:16px; right:16px; bottom:56px; z-index:60; max-width:560px; margin-left:auto; padding:22px; display:none}
.cc.show{display:block; animation:rise .3s ease}
@keyframes rise{from{transform:translateY(16px); opacity:0}}
.cc h3{display:flex; align-items:center; gap:10px; font-size:1.2rem}
.cc p{font-size:.9rem; color:var(--ink-2)}
.cc__btns{display:flex; gap:8px; flex-wrap:wrap} .cc__btns .btn{flex:1}
.cc__opts{display:none; gap:10px; margin:12px 0 16px} .cc.more .cc__opts{display:grid}
.cc__opt{display:flex; justify-content:space-between; gap:14px; align-items:flex-start; background:var(--paper-2); padding:11px 13px; border-radius:10px; font-size:.86rem}
.cc__opt b{display:block; font-size:.92rem}
.sw{position:relative; width:42px; height:24px; flex-shrink:0} .sw input{opacity:0; width:0; height:0}
.sw span{position:absolute; inset:0; background:var(--line-2); border-radius:24px; cursor:pointer; transition:.2s}
.sw span::before{content:""; position:absolute; width:18px; height:18px; left:3px; top:3px; background:#fff; border-radius:50%; transition:.2s}
.sw input:checked+span{background:var(--accent)} .sw input:checked+span::before{transform:translateX(18px)} .sw input:disabled+span{opacity:.6}

.demo-badge{position:fixed; top:8px; right:8px; z-index:99; background:var(--gold); color:#000; font:700 .7rem/1 var(--f-mono); padding:5px 8px; border-radius:6px}
.page-hd{margin:30px 0 10px} .page-hd p{font-size:1.1rem; color:var(--ink-2); max-width:70ch}
.two{display:grid; grid-template-columns:1fr 1fr; gap:22px} @media (max-width:860px){ .two{grid-template-columns:1fr} }
.legal .prose{max-width:80ch}
[hidden]{display:none!important}
.ftr .btn--x{color:#fff} :root[data-theme="dark"] .ftr .btn--x{color:#000}
@media (prefers-color-scheme: dark){ :root:not([data-theme="light"]) .ftr .btn--x{color:#000} }
@media (max-width:560px){ .cc{padding:16px; bottom:48px; left:10px; right:10px} .cc p{font-size:.84rem} .cc h3{font-size:1.05rem} }
