@font-face{font-family:'Inter';font-style:normal;font-weight:100 900;font-display:swap;src:url(../fonts/inter-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Inter';font-style:normal;font-weight:100 900;font-display:swap;src:url(../fonts/inter-latin.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'JetBrains Mono';font-style:normal;font-weight:100 800;font-display:swap;src:url(../fonts/jbmono-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'JetBrains Mono';font-style:normal;font-weight:100 800;font-display:swap;src:url(../fonts/jbmono-latin.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
:root{
    --bg:#090b11;--surface:#11141e;--surface-2:#181c2a;--surface-3:#1f2438;
    --border:#1e2336;--border-light:#2a2f45;
    --red:#e8222b;--red-dim:#a81820;--red-glow:rgba(232,34,43,0.15);
    --blue:#2563eb;--blue-dim:#1d4ed8;
    --green:#10b981;--amber:#f59e0b;--orange:#f97316;--purple:#8b5cf6;
    --text:#e2e4ea;--text-dim:#7a7f94;--text-bright:#ffffff;
    --mono:'JetBrains Mono',monospace;
}
html{scroll-behavior:smooth;scroll-padding-top:72px}
body{font-family:'Inter',system-ui,sans-serif;background:var(--bg);color:var(--text);line-height:1.65;-webkit-font-smoothing:antialiased}
::selection{background:var(--red);color:#fff}

nav{position:fixed;top:0;left:0;right:0;z-index:100;background:rgba(9,11,17,0.88);backdrop-filter:blur(16px);border-bottom:1px solid var(--border)}
.nav-inner{max-width:1200px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;padding:0 24px;height:64px}
.nav-brand{font-weight:800;font-size:1.15rem;letter-spacing:-0.5px;color:var(--red);text-decoration:none;position:relative;display:inline-flex;align-items:center;overflow:visible;min-width:110px}
.parazit-text{display:inline-flex;transform-origin:center bottom;position:relative}
.p-l{display:inline-block;transition:transform .2s cubic-bezier(.4,0,.2,1),opacity .2s;transform-origin:bottom center;position:relative}
.swatter{position:absolute;right:-36px;top:-28px;font-size:2.2rem;opacity:0;transform:rotate(-70deg) translate(12px,-28px) scale(1);pointer-events:none;filter:drop-shadow(0 2px 8px rgba(232,34,43,0.6));z-index:2;transform-origin:80% 90%;transition:transform .3s,opacity .15s}
.sw-raise{opacity:1!important;transform:rotate(-70deg) translate(12px,-28px) scale(1.1)!important;transition:transform .25s ease-out,opacity .1s!important}
.sw-strike{opacity:1!important;transform:rotate(20deg) translate(-6px,12px) scale(1)!important;transition:transform .08s cubic-bezier(.95,0,1,.3),opacity .05s!important}
.sw-hold{opacity:1!important;transform:rotate(10deg) translate(-4px,8px) scale(.95)!important;transition:transform .05s!important}
.sw-recoil{opacity:1!important;transform:rotate(-50deg) translate(8px,-18px) scale(1)!important;transition:transform .2s cubic-bezier(.2,.8,.3,1.1),opacity .3s!important}
.sw-stalk{opacity:.6!important;transition:transform .4s ease,opacity .3s!important}
.splat{position:absolute;width:6px;height:6px;border-radius:50%;background:var(--red);pointer-events:none;z-index:3;opacity:.9}
@keyframes splat-fly{0%{transform:translate(0,0) scale(1);opacity:.9}100%{transform:translate(var(--sx),var(--sy)) scale(0);opacity:0}}
@keyframes nav-shake{0%,100%{transform:translateX(0)}20%{transform:translateX(-3px)}40%{transform:translateX(3px)}60%{transform:translateX(-2px)}80%{transform:translateX(1px)}}
.nav-brand.shaking .parazit-text{animation:nav-shake .15s ease 2}
.p-l.scatter{transition:none!important;animation:letter-scatter .5s ease-out forwards}
@keyframes letter-scatter{0%{transform:translateY(0) rotate(0) scale(1);opacity:1}30%{transform:translateY(var(--ly,4px)) rotate(var(--lr,10deg)) scale(.8);opacity:.7}100%{transform:translateY(0) rotate(0) scale(1);opacity:1}}
.p-l.squish{transform:scaleY(.4) scaleX(1.3) translateY(3px)!important;transition:transform .06s ease-in!important}
.p-l.bounce{transform:scaleY(1.15) scaleX(.9) translateY(-2px)!important;transition:transform .15s cubic-bezier(.2,.8,.3,1.4)!important}
.parazit-text.run-l .p-l{--d:0;transform:translateX(calc(-20px - var(--d)*2px)) rotate(calc(-3deg - var(--d)*1deg));transition:transform .2s ease!important}
.parazit-text.run-r .p-l{--d:0;transform:translateX(calc(16px + var(--d)*2px)) rotate(calc(2deg + var(--d)*1deg));transition:transform .2s ease!important}
.parazit-text.crouch .p-l{transform:translateY(5px) scaleY(.75);transition:transform .15s ease!important}
.nav-links{display:flex;gap:4px;list-style:none;flex-wrap:wrap}
.nav-links a{color:var(--text-dim);text-decoration:none;font-size:.85rem;font-weight:500;padding:6px 12px;border-radius:6px;transition:color .2s,background .2s}
.nav-links a:hover,.nav-links a.active{color:var(--text-bright);background:var(--surface-2)}
.nav-links a.active{border-bottom:2px solid var(--red);padding-bottom:4px}
.nav-toggle{display:none;background:none;border:none;color:var(--text);cursor:pointer;font-size:1.5rem;padding:4px}

section{padding:100px 24px}
.wrap{max-width:1060px;margin:0 auto}
.section-label{font-size:.75rem;font-weight:700;letter-spacing:3px;text-transform:uppercase;color:var(--red);margin-bottom:12px}
.section-title{font-size:clamp(2rem,5vw,3.2rem);font-weight:800;letter-spacing:-1.5px;color:var(--text-bright);line-height:1.15;margin-bottom:20px}
.section-sub{font-size:1.05rem;color:var(--text-dim);max-width:660px;line-height:1.7}
.divider{height:1px;background:linear-gradient(90deg,transparent,var(--border),transparent);max-width:600px;margin:0 auto}
.fade-in{opacity:0;transform:translateY(24px);transition:opacity .6s cubic-bezier(.16,1,.3,1),transform .6s cubic-bezier(.16,1,.3,1)}
.fade-in.visible{opacity:1;transform:translateY(0)}
.fade-in-left{opacity:0;transform:translateX(-24px);transition:opacity .6s cubic-bezier(.16,1,.3,1),transform .6s cubic-bezier(.16,1,.3,1)}
.fade-in-left.visible{opacity:1;transform:translateX(0)}
.stagger>*:nth-child(1){transition-delay:0s}.stagger>*:nth-child(2){transition-delay:.06s}.stagger>*:nth-child(3){transition-delay:.12s}.stagger>*:nth-child(4){transition-delay:.18s}.stagger>*:nth-child(5){transition-delay:.24s}.stagger>*:nth-child(6){transition-delay:.3s}
cite,small,.src{font-size:.75rem;color:var(--text-dim);font-style:normal}
a.src{color:var(--blue);text-decoration:none;opacity:.7}
a.src:hover{opacity:1}

.hero{min-height:100vh;display:flex;align-items:center;justify-content:center;text-align:center;padding-top:64px;position:relative;overflow:hidden}
.hero::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 60% 50% at 50% 40%,rgba(232,34,43,0.08),transparent 70%);pointer-events:none}
.hero-content{position:relative;z-index:1;max-width:800px}
.hero h1{font-size:clamp(2rem,6.5vw,4.8rem);font-weight:900;letter-spacing:-2px;color:var(--text-bright);line-height:0.95;margin-bottom:16px;white-space:nowrap}
.hero h1 span{color:var(--red)}
.wv{display:inline-block;animation:parazit-wave 2.8s ease-in-out infinite;animation-delay:var(--wd,0s)}
@keyframes parazit-wave{0%,100%{transform:translateY(0) rotate(0)}20%{transform:translateY(calc(var(--wa,-6px))) rotate(calc(var(--wr,-2deg)))}40%{transform:translateY(calc(var(--wa,-6px)*-0.5)) rotate(calc(var(--wr,-2deg)*-0.6))}60%{transform:translateY(calc(var(--wa,-6px)*0.3)) rotate(calc(var(--wr,-2deg)*0.3))}80%{transform:translateY(0)}}
.hero-tagline{font-size:clamp(1.1rem,2.5vw,1.4rem);color:var(--text-dim);margin-bottom:40px;line-height:1.5}
.hero-url{display:inline-block;font-family:var(--mono);font-size:clamp(1rem,2.5vw,1.4rem);font-weight:700;color:var(--red);text-decoration:none;letter-spacing:2px;margin:12px 0 8px;text-shadow:0 0 40px rgba(232,34,43,.4),0 0 80px rgba(232,34,43,.15);transition:text-shadow .3s}
.hero-url:hover{text-shadow:0 0 60px rgba(232,34,43,.6),0 0 120px rgba(232,34,43,.25)}
.hero-map{max-width:480px;width:100%;margin:0 auto 48px;border-radius:12px;filter:drop-shadow(0 0 60px rgba(232,34,43,0.2))}
.hero-cta{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}
.corruption-clock{margin-top:28px;text-align:center;padding:16px 24px;background:rgba(232,34,43,.06);border:1px solid rgba(232,34,43,.2);border-radius:12px;display:inline-block}
.cc-label{display:block;font-size:.8rem;color:var(--text-dim);letter-spacing:.5px;margin-bottom:6px}
.cc-amount{display:block;font-family:var(--mono);font-size:clamp(1.6rem,4vw,2.4rem);font-weight:700;color:var(--red);letter-spacing:1px;text-shadow:0 0 20px rgba(232,34,43,.3)}
.cc-rate{display:block;font-size:.72rem;color:var(--text-dim);margin-top:6px;letter-spacing:.3px}
.hero-db-count{font-family:var(--mono);font-size:.85rem;color:var(--text-dim);margin-top:24px;letter-spacing:1px}
.hero-db-count strong{color:var(--red)}

.btn{display:inline-flex;align-items:center;gap:8px;padding:12px 28px;border-radius:8px;font-size:.95rem;font-weight:600;text-decoration:none;transition:all .2s;cursor:pointer;border:none}
.btn-red{background:var(--red);color:#fff}
.btn-red:hover{background:#cc1d25;transform:translateY(-1px);box-shadow:0 8px 24px rgba(232,34,43,0.3)}
.btn-ghost{background:transparent;color:var(--text);border:1px solid var(--border)}
.btn-ghost:hover{border-color:var(--text-dim);background:var(--surface)}
.btn-blue{background:var(--blue);color:#fff}
.btn-blue:hover{background:var(--blue-dim);transform:translateY(-1px)}
.btn-dark{background:var(--surface-2);color:var(--text);border:1px solid var(--border)}
.btn-dark:hover{border-color:var(--text-dim)}

.metric-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:48px}
.metric-card{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:24px 20px;position:relative;overflow:hidden}
.metric-card::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,var(--red),transparent)}
.metric-val{font-family:var(--mono);font-size:2rem;font-weight:800;color:var(--red);letter-spacing:-1px;margin-bottom:2px}
.metric-unit{font-size:.85rem;color:var(--text-dim);font-weight:500}
.metric-label{font-size:.88rem;color:var(--text);margin-top:8px;line-height:1.5}
.metric-src{margin-top:8px}

.compare-section{margin-top:64px}
.compare-title{font-size:1.3rem;font-weight:800;color:var(--text-bright);margin-bottom:8px}
.compare-sub{font-size:.95rem;color:var(--text-dim);margin-bottom:24px}
.compare-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.compare-card{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:20px;text-align:center}
.compare-icon{font-size:2rem;margin-bottom:8px;display:block}
.compare-num{font-family:var(--mono);font-size:1.8rem;font-weight:800;color:var(--text-bright);margin-bottom:2px}
.compare-what{font-size:.88rem;color:var(--text-dim);line-height:1.5}

.highway-box{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:28px;margin-top:32px}
.highway-box h4{color:var(--text-bright);font-size:1.1rem;margin-bottom:16px}
.hw-row{display:grid;grid-template-columns:120px 1fr 100px;gap:12px;align-items:center;padding:8px 0;border-bottom:1px solid var(--border)}
.hw-row:last-child{border-bottom:none}
.hw-country{font-size:.9rem;font-weight:600;color:var(--text)}
.hw-bar{height:8px;border-radius:4px;position:relative}
.hw-bar-fill{height:100%;border-radius:4px;transition:width 1s ease}
.hw-price{font-family:var(--mono);font-size:.85rem;font-weight:600;text-align:right}
.hw-sk{color:var(--red)}
.hw-other{color:var(--text-dim)}

.era-filters{display:flex;gap:8px;margin:32px 0 16px;flex-wrap:wrap}
.era-btn{padding:8px 16px;border-radius:6px;font-size:.82rem;font-weight:600;cursor:pointer;border:1px solid var(--border);background:var(--surface);color:var(--text-dim);transition:all .2s}
.era-btn:hover{border-color:var(--text-dim);color:var(--text)}
.era-btn.active{background:var(--red);border-color:var(--red);color:#fff}
.era-btn .era-count{font-family:var(--mono);font-size:.72rem;opacity:.7;margin-left:4px}
.era-summary{font-size:.85rem;color:var(--text-dim);margin-bottom:24px;font-style:italic}

.timeline{margin-top:24px;position:relative;padding-left:32px}
.timeline::before{content:'';position:absolute;left:11px;top:0;bottom:0;width:2px;background:var(--border)}
.tl-item{position:relative;margin-bottom:24px;padding-bottom:24px;border-bottom:1px solid var(--border)}
.tl-item:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}
.tl-dot{position:absolute;left:-27px;top:4px;width:12px;height:12px;border-radius:50%;border:2px solid var(--border);background:var(--bg)}
.tl-dot.convicted{border-color:var(--green);background:var(--green)}
.tl-dot.freed{border-color:var(--orange);background:var(--orange)}
.tl-dot.dropped{border-color:var(--text-dim);background:var(--text-dim)}
.tl-dot.active{border-color:var(--amber);background:var(--amber)}
.tl-dot.memorial{border-color:var(--red);background:var(--red)}
.tl-dot.systemic{border-color:var(--purple);background:var(--purple)}
.tl-dot.rollback{border-color:var(--red-dim);background:var(--red-dim)}
.tl-head{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;margin-bottom:6px}
.tl-name{font-size:1.05rem;font-weight:700;color:var(--text-bright)}
.tl-year{font-family:var(--mono);font-size:.78rem;color:var(--text-dim);background:var(--surface-2);padding:2px 8px;border-radius:4px}
.tl-era{font-size:.68rem;font-weight:700;letter-spacing:0.5px;text-transform:uppercase;padding:2px 6px;border-radius:3px;background:var(--surface-3);color:var(--text-dim)}
.tl-amount{font-family:var(--mono);font-size:.85rem;font-weight:700;color:var(--red)}
.tl-people{font-size:.82rem;color:var(--blue);margin-bottom:4px}
.tl-desc{font-size:.9rem;color:var(--text-dim);line-height:1.6}
.tl-status{display:inline-block;font-size:.72rem;font-weight:700;letter-spacing:0.5px;text-transform:uppercase;padding:3px 8px;border-radius:4px;margin-top:8px}
.tl-status.convicted{background:rgba(16,185,129,0.15);color:var(--green)}
.tl-status.freed{background:rgba(249,115,22,0.15);color:var(--orange)}
.tl-status.dropped{background:rgba(122,127,148,0.15);color:var(--text-dim)}
.tl-status.active{background:rgba(245,158,11,0.15);color:var(--amber)}
.tl-status.systemic{background:rgba(139,92,246,0.12);color:var(--purple)}
.tl-status.rollback{background:rgba(232,34,43,0.12);color:var(--red)}

.eppo-box{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:28px;margin-top:40px;display:grid;grid-template-columns:auto 1fr;gap:24px;align-items:center}
.eppo-num{font-family:var(--mono);font-size:2.5rem;font-weight:900;color:var(--amber);text-align:center;min-width:100px}
.eppo-sub{font-size:.8rem;color:var(--text-dim)}
.eppo-detail h4{color:var(--text-bright);font-size:1rem;margin-bottom:6px}
.eppo-detail p{font-size:.9rem;color:var(--text-dim);line-height:1.6}

.cpi-box{display:flex;align-items:center;gap:32px;background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:28px;margin-top:32px}
.cpi-score{text-align:center;min-width:120px}
.cpi-num{font-family:var(--mono);font-size:3.5rem;font-weight:900;color:var(--red)}
.cpi-label{font-size:.8rem;color:var(--text-dim)}
.cpi-detail h4{color:var(--text-bright);font-size:1rem;margin-bottom:6px}
.cpi-detail p{font-size:.9rem;color:var(--text-dim);line-height:1.6}
.cpi-drop{font-family:var(--mono);color:var(--red);font-weight:700}

.rollback-box{background:rgba(232,34,43,0.06);border:1px solid var(--red-dim);border-radius:12px;padding:28px;margin-top:40px}
.rollback-box h3{color:var(--red);font-size:1.15rem;margin-bottom:12px}
.rollback-list{list-style:none;margin-top:12px}
.rollback-list li{font-size:.9rem;color:var(--text-dim);line-height:1.6;padding:8px 0 8px 20px;position:relative;border-bottom:1px solid rgba(232,34,43,0.08)}
.rollback-list li:last-child{border-bottom:none}
.rollback-list li::before{content:'';position:absolute;left:0;top:16px;width:8px;height:8px;border-radius:50%;background:var(--red-dim)}
.rb-date{font-family:var(--mono);font-size:.75rem;color:var(--red-dim);margin-right:8px}

.ally-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:32px}
.ally-card{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:20px;transition:border-color .2s,transform .2s;display:flex;flex-direction:column}
.ally-card:hover{border-color:var(--blue);transform:translateY(-2px)}
.ally-card h4{font-size:.95rem;font-weight:700;color:var(--text-bright);margin-bottom:6px}
.ally-card h4 a{color:var(--text-bright);text-decoration:none;transition:color .2s}
.ally-card h4 a:hover{color:var(--blue)}
.ally-card p{font-size:.85rem;color:var(--text-dim);line-height:1.55;flex:1}
.ally-card .ally-links{margin-top:10px;display:flex;gap:8px;flex-wrap:wrap}
.ally-card .ally-links a{font-size:.75rem;color:var(--blue);text-decoration:none;padding:3px 8px;border:1px solid var(--border);border-radius:4px;transition:all .2s}
.ally-card .ally-links a:hover{border-color:var(--blue);background:rgba(37,99,235,0.08)}
@media(max-width:768px){.ally-grid{grid-template-columns:1fr}}

.integrita-intro{display:grid;grid-template-columns:160px 1fr;gap:40px;align-items:center;margin-bottom:48px}
.integrita-logo{width:160px;height:160px;filter:invert(1) brightness(0.85);border-radius:50%}
.map-wrap{position:relative;width:100%;max-width:640px;height:640px;margin:40px auto}
.map-svg{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:0}
.map-svg line{stroke:var(--border);stroke-width:1;opacity:0.5}
.map-center-wrap,.map-orbit-wrap{position:absolute;z-index:2}
.map-center-wrap{top:50%;left:50%;transform:translate(-50%,-50%)}
.map-orbit-wrap{transition:all .6s cubic-bezier(.4,0,.2,1)}
.map-node{display:flex;flex-direction:column;align-items:center;justify-content:center;border-radius:50%;cursor:pointer;text-align:center;transition:all .25s}
.map-node:hover{transform:scale(1.12)}
.map-node-center{width:140px;height:140px;background:var(--surface);border:2px solid var(--red);box-shadow:0 0 40px rgba(232,34,43,0.2)}
.map-node-orbit{width:80px;height:80px;background:var(--surface);border:1px solid var(--border)}
.map-node-orbit:hover{border-color:var(--blue);box-shadow:0 0 20px rgba(37,99,235,0.2)}
.map-node-icon{font-size:1.6rem}
.map-node-center .map-node-icon{font-size:2.2rem}
.map-node-label{font-size:.65rem;font-weight:600;color:var(--text-dim);margin-top:4px}
.map-node-center .map-node-label{font-size:.8rem;color:var(--text)}
.map-info{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:24px;margin-top:24px;max-width:640px;margin-left:auto;margin-right:auto}
.map-info h4{color:var(--blue);font-size:1.15rem;margin-bottom:8px}
.map-info ul{padding-left:20px;color:var(--text-dim);font-size:.92rem}
.map-info li{margin-bottom:4px}

.tech-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin-top:32px}
.tech-card{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:24px}
.tech-card h4{color:var(--blue);font-size:1rem;margin-bottom:8px}
.tech-card p{font-size:.9rem;color:var(--text-dim);line-height:1.5}
.roles-list{margin-top:24px;list-style:none}
.roles-list li{margin-bottom:12px;font-size:.95rem;line-height:1.6;padding-left:16px;border-left:2px solid var(--border)}
.roles-list li strong{color:var(--text-bright)}

.manifesto-points{margin-top:32px}
.m-point{display:grid;grid-template-columns:48px 1fr;gap:16px;margin-bottom:28px;align-items:start}
.m-num{font-size:1.6rem;font-weight:800;color:var(--red);text-align:center;padding-top:2px}
.m-point h4{font-size:1.05rem;font-weight:700;color:var(--text-bright);margin-bottom:6px}
.m-point p{font-size:.92rem;color:var(--text-dim);line-height:1.6}

.support-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin-top:32px}
.support-card{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:24px}
.support-card h4{font-size:1rem;font-weight:700;color:var(--text-bright);margin-bottom:8px}
.support-card p{font-size:.9rem;color:var(--text-dim);line-height:1.5;margin-bottom:12px}
.crypto-addr{font-family:var(--mono);font-size:.72rem;color:var(--text-dim);background:var(--bg);padding:8px 12px;border-radius:6px;word-break:break-all;display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;border:1px solid var(--border)}
.copy-btn{background:var(--surface-2);color:var(--text-dim);border:1px solid var(--border);padding:4px 10px;border-radius:4px;font-size:.72rem;cursor:pointer;white-space:nowrap;margin-left:8px;transition:color .2s}
.copy-btn:hover{color:var(--text-bright)}
.fin-trigger{color:var(--blue);cursor:pointer;border-bottom:1px dashed var(--blue);padding-bottom:1px;transition:color .2s}
.fin-trigger:hover{color:var(--text-bright);border-color:var(--text-bright)}
.fin-bubble{position:relative;margin-top:24px;background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:28px;text-align:left;max-height:0;overflow:hidden;opacity:0;transition:max-height .4s cubic-bezier(.4,0,.2,1),opacity .3s,padding .4s,margin .4s;padding-top:0;padding-bottom:0;margin-top:0}
.fin-bubble.open{max-height:500px;opacity:1;padding:28px;margin-top:24px}
.fin-close{position:absolute;top:8px;right:12px;background:none;border:none;color:var(--text-dim);font-size:1.4rem;cursor:pointer;line-height:1;padding:4px;transition:color .2s}
.fin-close:hover{color:var(--text-bright)}
.case-search{width:100%;padding:12px 16px 12px 40px;background:var(--surface);border:1px solid var(--border);border-radius:8px;color:var(--text);font-size:.9rem;font-family:inherit;outline:none;transition:border-color .2s;margin-bottom:16px}
.case-search:focus{border-color:var(--red)}
.case-search-wrap{position:relative;margin-top:16px}
.case-search-wrap::before{content:'\1F50D';position:absolute;left:12px;top:50%;transform:translateY(-50%);font-size:.9rem;pointer-events:none}
.tl-share{display:inline-flex;gap:6px;margin-left:8px;vertical-align:middle}
.tl-share a{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:4px;background:var(--surface-2);color:var(--text-dim);font-size:.65rem;text-decoration:none;transition:background .2s,color .2s;border:1px solid var(--border)}
.tl-share a:hover{background:var(--red);color:#fff;border-color:var(--red)}
.action-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:24px}
.action-card{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:20px;transition:border-color .2s}
.action-card:hover{border-color:var(--red-dim)}
.action-card h4{font-size:.95rem;font-weight:700;color:var(--text-bright);margin-bottom:6px}
.action-card p{font-size:.82rem;color:var(--text-dim);line-height:1.5}
.action-card a{color:var(--blue);font-size:.82rem}
.secure-box{background:var(--surface);border:1px solid var(--green);border-radius:12px;padding:24px;margin-top:24px;position:relative;overflow:hidden}
.secure-box::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:var(--green)}
.nl-form{display:flex;gap:8px;margin-top:16px;max-width:440px}
.nl-input{flex:1;padding:10px 14px;background:var(--surface);border:1px solid var(--border);border-radius:6px;color:var(--text);font-size:.88rem;font-family:inherit;outline:none}
.nl-input:focus{border-color:var(--blue)}
.nl-btn{padding:10px 20px;background:var(--blue);color:#fff;border:none;border-radius:6px;font-size:.85rem;font-weight:600;cursor:pointer;white-space:nowrap;transition:background .2s}
.nl-btn:hover{background:var(--blue-dim)}
.cookie-bar{position:fixed;bottom:0;left:0;right:0;z-index:200;background:var(--surface);border-top:1px solid var(--border);padding:14px 24px;display:flex;align-items:center;justify-content:center;gap:16px;font-size:.82rem;color:var(--text-dim);transform:translateY(100%);transition:transform .4s;backdrop-filter:blur(12px)}
.cookie-bar.show{transform:translateY(0)}
.cookie-bar button{padding:6px 16px;border-radius:4px;border:1px solid var(--border);background:var(--surface-2);color:var(--text);font-size:.8rem;cursor:pointer;transition:background .2s}
.cookie-bar button.cb-ok{background:var(--green);color:#fff;border-color:var(--green)}
.en-toggle{position:fixed;bottom:20px;right:20px;z-index:201;width:44px;height:44px;border-radius:50%;background:var(--surface-2);border:1px solid var(--border);color:var(--text-dim);font-size:.7rem;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s,color .2s}
.en-toggle:hover{background:var(--blue);color:#fff;border-color:var(--blue)}
.theme-toggle{position:fixed;bottom:20px;right:72px;z-index:201;width:44px;height:44px;border-radius:50%;background:var(--surface-2);border:1px solid var(--border);color:var(--text-dim);font-size:1rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s,color .2s}
.theme-toggle:hover{background:var(--amber);color:#111;border-color:var(--amber)}
.light-theme{--bg:#f5f6fa;--surface:#ffffff;--surface-2:#eef0f5;--surface-3:#e2e5ed;--border:#d1d5e0;--border-light:#c0c5d4;--text:#2a2d35;--text-dim:#5f6577;--text-bright:#111318}
.light-theme nav{background:rgba(245,246,250,0.92)}
.light-theme .chapter-head{background:var(--surface)}
.light-theme ::selection{background:var(--red);color:#fff}
.light-theme .hero::before{background:radial-gradient(ellipse 60% 50% at 50% 40%,rgba(232,34,43,0.06),transparent 70%)}
.light-theme .kde-badge{color:#fff}
.light-theme .rank-card{background:var(--surface);border-color:var(--border)}
.light-theme .leg-item{background:var(--surface)}
.light-theme .obcianska-region{stroke:var(--border)}
.light-theme .ldiff-col-before{background:rgba(232,34,43,.06)}.light-theme .ldiff-col-after{background:rgba(16,185,129,.06)}
.light-theme .sank-result{background:var(--surface)}.light-theme .kcal-dot{border-color:var(--surface)}
.light-theme .siet-search{background:var(--surface);border-color:var(--border)}
.light-theme .siet-explorer{background:var(--surface-2)}.light-theme .siet-result{background:var(--surface);border-color:var(--border)}
.light-theme .bzt-stat{background:var(--surface);border-color:var(--border)}.light-theme .bzt-bar-track{background:var(--surface-2)}
.light-theme .sl-card{background:var(--surface);border-color:var(--border)}.light-theme .sl-stat{background:var(--surface);border-color:var(--border)}.light-theme .sl-filter-btn{background:var(--surface-2);color:var(--text)}
.light-theme .hl-card{background:var(--surface);border-color:var(--border)}.light-theme .hl-card-btn{background:var(--surface-2);color:var(--text)}
.light-theme .tdb-card{background:var(--surface);border-color:var(--border)}.light-theme .tdb-filter-btn{background:var(--surface-2);color:var(--text)}.light-theme .tdb-tag{background:var(--surface-2)}
.light-theme .prog-card{background:var(--surface);border-color:var(--border)}.light-theme .prog-area-btn{background:var(--surface-2);color:var(--text)}
.light-theme .sank-select{background:var(--surface);border-color:var(--border)}.light-theme .sank-crit{background:var(--surface-2)}
.light-theme .kcal-item{border-color:var(--border)}.light-theme .kcal-filter-btn{background:var(--surface-2);color:var(--text)}.light-theme .kcal-era-label{background:var(--surface);color:var(--text)}
.search-wrap{position:relative;margin-left:auto;margin-right:16px}
.search-input{width:0;padding:0;border:none;background:var(--surface-2);color:var(--text);font-size:.85rem;border-radius:6px;transition:width .3s,padding .3s;outline:none;font-family:'Inter',system-ui,sans-serif}
.search-wrap.open .search-input{width:200px;padding:6px 12px;border:1px solid var(--border)}
.search-btn{background:none;border:none;color:var(--text-dim);cursor:pointer;font-size:1rem;padding:6px;transition:color .2s}
.search-btn:hover{color:var(--text-bright)}
.search-results{position:absolute;top:100%;right:0;width:320px;max-height:400px;overflow-y:auto;background:var(--surface);border:1px solid var(--border);border-radius:8px;box-shadow:0 8px 32px rgba(0,0,0,.4);display:none;z-index:101;margin-top:4px}
.search-wrap.has-results .search-results{display:block}
.sr-item{padding:10px 14px;border-bottom:1px solid var(--border);cursor:pointer;transition:background .15s}
.sr-item:hover{background:var(--surface-2)}
.sr-item-section{font-size:.65rem;color:var(--red);text-transform:uppercase;letter-spacing:1px;margin-bottom:2px}
.sr-item-text{font-size:.82rem;color:var(--text);line-height:1.4}
.sr-item-text mark{background:rgba(232,34,43,.2);color:var(--text-bright);border-radius:2px;padding:0 2px}
.sr-empty{padding:14px;text-align:center;font-size:.85rem;color:var(--text-dim)}
.section-title{position:relative}
.anchor-link{position:absolute;left:-1.2em;top:50%;transform:translateY(-50%);color:var(--text-dim);text-decoration:none;font-size:.7em;font-weight:400;opacity:0;transition:opacity .2s}
.section-title:hover .anchor-link{opacity:.6}
.anchor-link:hover{opacity:1!important;color:var(--red)}
.share-sec{display:inline-flex;gap:6px;margin-left:12px;opacity:0;transition:opacity .2s;vertical-align:middle}
.section-title:hover .share-sec{opacity:.6}
.share-sec a{color:var(--text-dim);text-decoration:none;font-size:.55em;padding:2px 6px;border:1px solid var(--border);border-radius:4px;transition:all .15s;font-weight:400}
.share-sec a:hover{color:var(--red);border-color:var(--red);opacity:1}
.dyk-toast{position:fixed;bottom:80px;left:50%;transform:translateX(-50%) translateY(120px);z-index:95;background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:16px 20px;max-width:400px;width:90%;box-shadow:0 8px 32px rgba(0,0,0,.4);transition:transform .5s cubic-bezier(.4,0,.2,1),opacity .5s;opacity:0;pointer-events:none}
.dyk-toast.show{transform:translateX(-50%) translateY(0);opacity:1;pointer-events:auto}
.dyk-toast-label{font-size:.65rem;color:var(--amber);text-transform:uppercase;letter-spacing:1.5px;font-weight:700;margin-bottom:4px}
.dyk-toast-text{font-size:.85rem;color:var(--text);line-height:1.5}
.dyk-toast-close{position:absolute;top:8px;right:12px;background:none;border:none;color:var(--text-dim);font-size:1.1rem;cursor:pointer}
.gov-tl{display:flex;flex-direction:column;gap:0;margin-top:24px;position:relative;padding-left:28px}
.gov-tl::before{content:'';position:absolute;left:8px;top:0;bottom:0;width:2px;background:var(--border)}
.gov-item{position:relative;padding:12px 0 12px 20px}
.gov-item::before{content:'';position:absolute;left:-24px;top:18px;width:12px;height:12px;border-radius:50%;border:2px solid var(--border);background:var(--bg)}
.gov-item.active::before{background:var(--red);border-color:var(--red)}
.gov-pm{font-weight:700;color:var(--text-bright);font-size:.92rem}
.gov-party{font-size:.72rem;color:var(--text-dim);margin-left:8px}
.gov-years{font-family:var(--mono);font-size:.75rem;color:var(--text-dim)}
.gov-cpi{font-family:var(--mono);font-size:.75rem;margin-left:8px;padding:1px 6px;border-radius:4px}
.cc-wrap{margin-top:24px}
.cc-selectors{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:20px}
.cc-selectors select{padding:8px 12px;background:var(--surface-2);color:var(--text);border:1px solid var(--border);border-radius:6px;font-size:.85rem;font-family:'Inter',system-ui,sans-serif;cursor:pointer}
.cc-bars{display:flex;flex-direction:column;gap:12px}
.cc-row{display:grid;grid-template-columns:160px 1fr 60px 1fr 60px;gap:8px;align-items:center;font-size:.82rem}
.cc-metric{color:var(--text-dim);text-align:right}
.cc-bar{height:24px;border-radius:4px;transition:width .6s cubic-bezier(.4,0,.2,1);min-width:2px}
.cc-val{font-family:var(--mono);font-size:.78rem;font-weight:700}
.cc-note{font-size:.72rem;color:var(--text-dim);margin-top:12px;line-height:1.5;font-style:italic}
@media(max-width:768px){.cc-row{grid-template-columns:100px 1fr 50px 1fr 50px;font-size:.75rem}}
.vote-matrix{width:100%;border-collapse:collapse;margin-top:16px;font-size:.78rem}
.vote-matrix th{padding:8px 6px;text-align:center;color:var(--text-dim);font-size:.65rem;text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid var(--border)}
.vote-matrix td{padding:8px 6px;text-align:center;border-bottom:1px solid var(--border)}
.vote-matrix td:first-child{text-align:left;font-weight:600;color:var(--text-bright);font-size:.8rem}
.vm-for{color:var(--red);font-weight:700}
.vm-against{color:var(--green);font-weight:700}
.vm-zero{color:var(--green);font-size:.65rem}
.vm-partial{color:var(--amber);font-weight:700}
.vm-ticho{color:var(--text-dim);font-size:.75rem}
.reading-time{font-family:var(--mono);font-size:.78rem;color:var(--text-dim);margin-top:8px}
.salary-calc{margin-top:24px;padding:20px;background:var(--surface);border:1px solid var(--border);border-radius:12px}
.salary-calc input{width:120px;padding:6px 10px;background:var(--surface-2);color:var(--text-bright);border:1px solid var(--border);border-radius:6px;font-family:var(--mono);font-size:.9rem;text-align:right}
.salary-calc-result{margin-top:12px;font-size:.88rem;color:var(--text);line-height:1.7}
.salary-calc-result strong{color:var(--red)}
.qr-box{display:inline-block;padding:16px;background:#fff;border-radius:8px;margin-top:12px}
.mobile-nav{display:none;position:fixed;bottom:0;left:0;right:0;z-index:99;background:rgba(9,11,17,0.95);backdrop-filter:blur(12px);border-top:1px solid var(--border);padding:6px 0}
.mobile-nav-inner{display:flex;justify-content:space-around;max-width:500px;margin:0 auto}
.mobile-nav a{color:var(--text-dim);text-decoration:none;font-size:.6rem;text-align:center;padding:4px 8px;display:flex;flex-direction:column;align-items:center;gap:2px;transition:color .2s}
.mobile-nav a .mn-icon{font-size:1.1rem}
.mobile-nav a.active{color:var(--red)}
@media(max-width:768px){.mobile-nav{display:block}.btt-btn{bottom:190px}.pdf-btn{bottom:130px}}
@media(max-width:768px){
    .era-btn,.prof-tag{min-height:44px;display:inline-flex;align-items:center}
    .tl-share a{width:32px;height:32px;font-size:.75rem}
    .nav-links a{min-height:44px;display:flex;align-items:center}
    .btn{min-height:44px}
    .chapter-head{min-height:56px}
}
/* print overrides consolidated in main @media print block below */
.en-summary{display:none;margin-top:24px;padding:24px;background:var(--surface);border:1px solid var(--blue);border-radius:12px}
.en-summary.show{display:block}

footer{border-top:1px solid var(--border);padding:40px 24px;text-align:center}
.footer-links{display:flex;gap:24px;justify-content:center;margin-bottom:16px;flex-wrap:wrap}
.footer-links a{color:var(--text-dim);text-decoration:none;font-size:.9rem;transition:color .2s}
.footer-links a:hover{color:var(--text-bright)}
.footer-copy{font-size:.8rem;color:var(--text-dim)}

@media(max-width:900px){.metric-grid{grid-template-columns:repeat(2,1fr)}.compare-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:768px){
    body{overflow-x:hidden}
    .nav-links{display:none;position:absolute;top:64px;left:0;right:0;flex-direction:column;background:var(--bg);border-bottom:1px solid var(--border);padding:12px 24px;gap:0}
    .nav-links.open{display:flex}
    .nav-links a{padding:12px 0;border-radius:0}
    .nav-toggle{display:block}
    .search-wrap{margin-right:8px}
    .search-wrap.open .search-input{width:140px}
    .search-results{width:280px;right:-40px}
    section{padding:72px 20px}
    .metric-grid{grid-template-columns:1fr 1fr!important}
    .compare-grid,.tech-grid,.support-grid,.action-grid{grid-template-columns:1fr}
    .integrita-intro{grid-template-columns:1fr;text-align:center;justify-items:center}
    .cpi-box{flex-direction:column;text-align:center}
    .eppo-box{grid-template-columns:1fr;text-align:center}
    .map-wrap{height:420px}
    .map-node-center{width:110px;height:110px}
    .map-node-orbit{width:64px;height:64px}
    .map-node-icon{font-size:1.3rem}
    .map-node-center .map-node-icon{font-size:1.8rem}
    .map-node-label{font-size:.55rem}
    .hero h1{letter-spacing:-2px}
    .hw-row{grid-template-columns:80px 1fr 80px}
    [style*="grid-template-columns:repeat(4"]{grid-template-columns:repeat(2,1fr)!important}
    [style*="grid-template-columns:repeat(3"]{grid-template-columns:1fr!important}
    .secure-box [style*="grid-template-columns"]{grid-template-columns:1fr!important}
    table{font-size:.82rem}
    table th,table td{padding:8px 6px!important}
    .chapter-head{margin:6px 16px;padding:14px 16px}
    .chapter-title{font-size:.95rem}
}
@media(max-width:480px){
    .metric-grid{grid-template-columns:1fr!important}
    [style*="grid-template-columns:repeat(4"]{grid-template-columns:1fr!important}
    .map-wrap{height:360px}
    .map-node-center{width:90px;height:90px}
    .map-node-orbit{width:54px;height:54px}
}
.calc-box{margin-top:48px;padding:32px;background:var(--surface);border:1px solid var(--border);border-radius:16px}
.calc-inputs{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:20px 0}
.calc-input label{display:block;font-size:.78rem;color:var(--text-dim);margin-bottom:4px;text-transform:uppercase;letter-spacing:1px}
.calc-input input,.calc-input select{width:100%;padding:10px 12px;background:var(--surface-2);border:1px solid var(--border);border-radius:8px;color:var(--text-bright);font-family:var(--mono);font-size:1rem}
.calc-input input:focus{border-color:var(--red);outline:none}
.calc-result{display:none;margin-top:24px;padding:24px;background:rgba(232,34,43,0.06);border:1px solid var(--red-dim);border-radius:12px}
.calc-result.show{display:block}
.calc-big{font-family:var(--mono);font-size:clamp(2rem,5vw,3rem);font-weight:900;color:var(--red)}
.calc-breakdown{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:16px}
.calc-sector{padding:12px;background:var(--surface-2);border-radius:8px;text-align:center}
.calc-sector-val{font-family:var(--mono);font-size:1.2rem;font-weight:700}
.calc-sector-name{font-size:.75rem;color:var(--text-dim);margin-top:2px}
.calc-cta{margin-top:16px;font-size:.88rem;color:var(--text-dim);line-height:1.6}
@media(max-width:768px){.calc-inputs,.calc-breakdown{grid-template-columns:1fr!important}}

.htl{position:relative;overflow-x:auto;padding:40px 0 20px;margin-top:24px;-webkit-overflow-scrolling:touch;scroll-snap-type:x proximity;scroll-behavior:smooth}
.htl-track{display:flex;gap:0;min-width:max-content;padding:0 24px;position:relative}
.htl-track::before{content:'';position:absolute;top:50%;left:24px;right:24px;height:2px;background:var(--border)}
.htl-item{flex:0 0 160px;text-align:center;position:relative;padding-top:40px;scroll-snap-align:center}
.htl-item:nth-child(odd){padding-top:0;padding-bottom:40px}
.htl-item::before{content:'';position:absolute;width:12px;height:12px;border-radius:50%;background:var(--dot-bg,var(--red));left:50%;transform:translateX(-50%)}
.htl-item:nth-child(even)::before{top:32px}
.htl-item:nth-child(odd)::before{bottom:32px}
.htl-yr{font-family:var(--mono);font-size:.85rem;font-weight:700;color:var(--red)}
.htl-txt{font-size:.75rem;color:var(--text-dim);line-height:1.4;margin-top:4px;padding:0 8px}
.htl-era{position:absolute;top:50%;transform:translateY(-50%);font-size:.6rem;color:var(--text-dim);opacity:.5;letter-spacing:1px;text-transform:uppercase;white-space:nowrap}
.htl::-webkit-scrollbar{height:6px}
.htl::-webkit-scrollbar-track{background:var(--surface)}
.htl::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}

.sk-map-wrap{position:relative;max-width:700px;margin:24px auto;aspect-ratio:1.6;background:var(--surface);border-radius:12px;border:1px solid var(--border);overflow:hidden}
.sk-map-svg{width:100%;height:100%}
.sk-map-svg path{fill:var(--surface-2);stroke:var(--border);stroke-width:.5;transition:fill .2s}
.sk-map-svg path:hover{fill:var(--surface-3)}
.sk-dot{cursor:pointer;transition:r .2s}
.sk-dot:hover{r:8}
.sk-tooltip{position:absolute;background:var(--bg);border:1px solid var(--red-dim);border-radius:8px;padding:10px 14px;font-size:.8rem;max-width:260px;pointer-events:none;opacity:0;transition:opacity .2s;z-index:10}
.sk-tooltip.show{opacity:1}
.sk-tooltip .tt-name{font-weight:700;color:var(--text-bright)}
.sk-tooltip .tt-count{font-family:var(--mono);color:var(--red);font-size:.9rem}
.sk-map-legend{display:flex;gap:16px;justify-content:center;margin-top:12px;flex-wrap:wrap}
.sk-map-legend span{font-size:.72rem;color:var(--text-dim);display:flex;align-items:center;gap:4px}
.sk-map-legend span::before{content:'';width:8px;height:8px;border-radius:50%;display:inline-block;background:var(--c,var(--text-dim))}

.pdf-btn{position:fixed;bottom:80px;right:20px;z-index:90;background:var(--surface);border:1px solid var(--border);color:var(--text);border-radius:50%;width:48px;height:48px;display:flex;align-items:center;justify-content:center;font-size:1.2rem;cursor:pointer;transition:all .2s;box-shadow:0 4px 12px rgba(0,0,0,.3)}
.pdf-btn:hover{background:var(--red);border-color:var(--red);color:#fff;transform:scale(1.1)}
.progress-bar{position:fixed;top:0;left:0;height:3px;background:var(--red);z-index:150;transition:width .1s linear;width:0}
.btt-btn{position:fixed;bottom:140px;right:20px;z-index:90;background:var(--surface);border:1px solid var(--border);color:var(--text);border-radius:50%;width:48px;height:48px;display:flex;align-items:center;justify-content:center;font-size:1.2rem;cursor:pointer;transition:all .2s;box-shadow:0 4px 12px rgba(0,0,0,.3);opacity:0;pointer-events:none}
.btt-btn.show{opacity:1;pointer-events:auto}
.btt-btn:hover{background:var(--red);border-color:var(--red);color:#fff;transform:scale(1.1)}

.feed-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:24px}
.feed-card{padding:16px;background:var(--surface);border:1px solid var(--border);border-radius:10px;transition:border-color .2s}
.feed-card:hover{border-color:var(--text-dim)}
.feed-src{font-size:.7rem;color:var(--red);text-transform:uppercase;letter-spacing:1px;margin-bottom:6px}
.feed-title{font-size:.88rem;font-weight:600;color:var(--text-bright);line-height:1.4}
.feed-title a{color:inherit;text-decoration:none}
.feed-title a:hover{text-decoration:underline}
.feed-date{font-size:.7rem;color:var(--text-dim);margin-top:6px}
@media(max-width:768px){.feed-grid{grid-template-columns:1fr!important}}

.rank-dash{display:flex;gap:12px;margin:24px 0;flex-wrap:wrap}
.rank-card{flex:1;min-width:140px;background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:14px;text-decoration:none;color:var(--text);transition:border-color .2s,transform .2s;cursor:pointer;display:flex;flex-direction:column;align-items:center;text-align:center}
.rank-card:hover{border-color:var(--blue);transform:translateY(-2px)}
.rank-name{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:1px;color:var(--text-dim);margin-bottom:4px}
.rank-score{font-size:1.8rem;font-weight:900;font-family:var(--mono);line-height:1}
.rank-pos{font-size:.7rem;color:var(--text-dim);margin-top:4px}
.rank-trend{font-size:.72rem;font-weight:700;margin-top:2px}
.rank-spark{display:flex;align-items:flex-end;gap:2px;height:24px;margin-top:8px;width:100%}
.rank-spark-bar{flex:1;border-radius:1px 1px 0 0;min-width:0;opacity:.6;transition:opacity .2s}
.rank-card:hover .rank-spark-bar{opacity:1}
.rank-org{font-size:.55rem;color:var(--text-dim);margin-top:6px}
@media(max-width:768px){.rank-dash{flex-direction:column}}
@media(max-width:480px){.rank-card{min-width:100%}.asset-spark-bar span{font-size:.5rem}.kauzy-tl-dot:hover::after{max-width:160px;font-size:.6rem}}
.v4-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;margin-top:24px}
.v4-table{width:100%;border-collapse:collapse;min-width:600px}
.v4-table th,.v4-table td{padding:12px 10px;text-align:left;border-bottom:1px solid var(--border);font-size:.85rem}
.v4-table th{color:var(--text-dim);font-size:.72rem;text-transform:uppercase;letter-spacing:1px;font-weight:600}
.v4-table td{color:var(--text)}
.v4-table .v4-sk{color:var(--red);font-weight:700}
.v4-table .v4-best{color:var(--green)}
.v4-table .v4-worst{color:var(--red);opacity:.7}
.v4-bar-wrap{display:flex;align-items:center;gap:8px}
.v4-bar{height:8px;border-radius:4px;transition:width 1s}
.v4-flag{font-size:1.1rem}

.net-canvas{position:relative;width:100%;max-width:800px;aspect-ratio:1.5;margin:24px auto;background:var(--surface);border:1px solid var(--border);border-radius:12px;overflow:hidden}
.net-node{position:absolute;transform:translate(-50%,-50%);text-align:center;cursor:pointer;transition:transform .2s,box-shadow .2s;z-index:2}
.net-node:hover{transform:translate(-50%,-50%) scale(1.15);z-index:5}
.net-dot{width:48px;height:48px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.7rem;font-weight:700;color:#fff;border:2px solid rgba(255,255,255,.15);margin:0 auto}
.net-label{font-size:.6rem;color:var(--text-dim);margin-top:3px;white-space:nowrap;max-width:80px;overflow:hidden;text-overflow:ellipsis}
.net-info{margin-top:12px;background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:14px;font-size:.82rem;color:var(--text-dim);display:none;line-height:1.6}
.net-info.show{display:block}
.net-info strong{color:var(--text-bright);display:block;margin-bottom:4px}
.net-link{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:1}

.prof-stats{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin:24px 0}
.prof-stat{text-align:center;padding:12px 8px;background:var(--surface);border:1px solid var(--border);border-radius:10px;cursor:pointer;transition:border-color .2s}
.prof-stat:hover,.prof-stat.active{border-color:var(--red)}
.prof-stat-num{font-family:var(--mono);font-size:1.4rem;font-weight:900}
.prof-stat-label{font-size:.68rem;color:var(--text-dim);margin-top:2px;text-transform:uppercase;letter-spacing:.5px}
.prof-search{width:100%;padding:12px 16px 12px 44px;background:var(--surface);border:1px solid var(--border);border-radius:10px;color:var(--text-bright);font-size:.9rem;font-family:inherit;outline:none;transition:border-color .2s;box-sizing:border-box}
.prof-search:focus{border-color:var(--red)}
.prof-search-wrap{position:relative;margin:16px 0}
.prof-search-icon{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:var(--text-dim);font-size:1.1rem;pointer-events:none}
.prof-filters{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}
.prof-tag{padding:6px 14px;border-radius:20px;font-size:.75rem;font-weight:600;cursor:pointer;background:var(--surface);border:1px solid var(--border);color:var(--text-dim);transition:all .2s;user-select:none}
.prof-tag:hover{border-color:var(--text-dim)}
.prof-tag.active{background:var(--red);border-color:var(--red);color:#fff}
.prof-tag.active[data-cat="sudca"]{background:var(--purple);border-color:var(--purple)}
.prof-tag.active[data-cat="oligarcha"]{background:var(--amber);border-color:var(--amber);color:#000}
.prof-tag.active[data-cat="policajt"]{background:var(--blue);border-color:var(--blue)}
.prof-tag.active[data-cat="zlocin"]{background:#dc2626;border-color:#dc2626}
.prof-tag.active[data-cat="opozicia"]{background:var(--blue);border-color:var(--blue)}
.prof-tag.active[data-cat="prokurator"]{background:var(--green);border-color:var(--green)}
.prof-sort{padding:6px 12px;border-radius:8px;font-size:.75rem;background:var(--surface);border:1px solid var(--border);color:var(--text-dim);cursor:pointer;font-family:inherit}
.prof-toolbar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;margin-bottom:8px}
.prof-count{font-size:.82rem;color:var(--text-dim);font-family:var(--mono)}
.profile-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:16px}
.profile-card{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:16px;transition:border-color .2s,opacity .2s,transform .2s,box-shadow .2s;cursor:pointer}
.profile-card:hover{border-color:var(--red-dim);transform:translateY(-2px);box-shadow:0 6px 20px rgba(232,34,43,.1)}
.profile-card.hidden{display:none}
.profile-head{display:flex;align-items:center;gap:12px;margin-bottom:8px}
.profile-avatar{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.85rem;font-weight:800;color:#fff;flex-shrink:0}
.profile-name{font-size:.9rem;font-weight:700;color:var(--text-bright)}
.profile-role{font-size:.72rem;color:var(--text-dim)}
.profile-cat{font-size:.62rem;color:var(--text-dim);background:rgba(255,255,255,.06);padding:1px 6px;border-radius:3px;margin-left:6px;text-transform:uppercase;letter-spacing:.5px}
.profile-status{display:inline-block;font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;padding:2px 6px;border-radius:3px;margin-top:4px}
.profile-detail{max-height:0;overflow:hidden;transition:max-height .3s;font-size:.82rem;color:var(--text-dim);line-height:1.5}
.profile-card.open .profile-detail{max-height:400px}
.profile-social{display:flex;gap:8px;margin-top:8px;flex-wrap:wrap}
.profile-social a{display:inline-block;padding:3px 10px;font-size:.75rem;font-weight:600;border-radius:6px;background:rgba(255,255,255,.06);border:1px solid var(--border);color:var(--text-dim);text-decoration:none;transition:all .2s}
.profile-social a:hover{background:var(--red);color:#fff;border-color:var(--red)}
.prof-no-results{text-align:center;padding:40px;color:var(--text-dim);font-size:.9rem;display:none}
@media(max-width:768px){.profile-grid{grid-template-columns:1fr!important}.net-canvas{aspect-ratio:1}.prof-stats{grid-template-columns:repeat(3,1fr)}.prof-filters{gap:6px}.prof-tag{padding:5px 10px;font-size:.7rem}}

.emi-counter{text-align:center;padding:32px;background:linear-gradient(135deg,rgba(232,34,43,.08),var(--surface));border:1px solid var(--red-dim);border-radius:16px;margin-top:32px}
.emi-num{font-family:var(--mono);font-size:clamp(3rem,7vw,5rem);font-weight:900;color:var(--red)}
.emi-sub{font-size:1rem;color:var(--text-dim);margin-top:4px}
.emi-rate{font-size:.82rem;color:var(--text-dim);margin-top:12px}

.cpi-chart{margin-top:32px;padding:24px;background:var(--surface);border:1px solid var(--border);border-radius:12px}
.cpi-bars{display:flex;align-items:stretch;gap:3px;height:200px;padding-top:20px}
.cpi-col{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;position:relative}
.cpi-bar{width:100%;min-width:12px;border-radius:3px 3px 0 0;transition:height 1s;position:relative;cursor:pointer}
.cpi-bar:hover{opacity:.85}
.cpi-bar-val{position:absolute;top:-18px;left:50%;transform:translateX(-50%);font-size:.6rem;font-family:var(--mono);color:var(--text-dim);white-space:nowrap;opacity:0;transition:opacity .2s}
.cpi-bar:hover .cpi-bar-val{opacity:1}
.cpi-yr{font-size:.55rem;color:var(--text-dim);margin-top:4px;transform:rotate(-45deg);white-space:nowrap}

.budget-sankey{margin-top:24px}
.budget-row{display:flex;align-items:center;gap:8px;margin-bottom:6px}
.budget-label{width:140px;font-size:.78rem;color:var(--text-dim);text-align:right;flex-shrink:0}
.budget-bar-wrap{flex:1;height:28px;background:var(--surface-2);border-radius:4px;position:relative;overflow:hidden}
.budget-bar{height:100%;border-radius:4px;display:flex;align-items:center;padding-left:8px;font-size:.7rem;font-weight:600;color:#fff;transition:width 1s}
.budget-drain{position:absolute;right:0;top:0;height:100%;background:repeating-linear-gradient(45deg,transparent,transparent 3px,rgba(232,34,43,.3) 3px,rgba(232,34,43,.3) 6px);border-radius:0 4px 4px 0}
.budget-val{font-family:var(--mono);font-size:.72rem;color:var(--text-dim);width:70px;flex-shrink:0}

.debt-counter{text-align:center;padding:32px;background:var(--surface);border:1px solid var(--border);border-radius:16px;margin-top:32px}
.debt-num{font-family:var(--mono);font-size:clamp(2.5rem,6vw,4rem);font-weight:900;color:var(--amber)}
.debt-per{font-family:var(--mono);font-size:1.3rem;color:var(--red);margin-top:8px}

.salary-compare{margin-top:24px}
.salary-row{display:grid;grid-template-columns:140px 1fr 80px;gap:12px;align-items:center;padding:10px 0;border-bottom:1px solid var(--border)}
.salary-row:last-child{border-bottom:none}
.salary-name{font-size:.85rem;font-weight:600;color:var(--text)}
.salary-bar{height:10px;border-radius:5px;transition:width 1s}
.salary-val{font-family:var(--mono);font-size:.82rem;font-weight:700;text-align:right}

.quiz-box{padding:32px;background:var(--surface);border:1px solid var(--border);border-radius:16px;margin-top:32px}
.quiz-q{font-size:1.1rem;font-weight:700;color:var(--text-bright);margin-bottom:16px}
.quiz-opts{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.quiz-opt{padding:12px;background:var(--surface-2);border:1px solid var(--border);border-radius:8px;cursor:pointer;text-align:center;font-size:.88rem;transition:all .2s}
.quiz-opt:hover{border-color:var(--text-dim)}
.quiz-opt.correct{background:rgba(16,185,129,.15);border-color:var(--green);color:var(--green)}
.quiz-opt.wrong{background:rgba(232,34,43,.1);border-color:var(--red);color:var(--red)}
.quiz-progress{display:flex;gap:4px;margin-bottom:16px}
.quiz-dot{width:10px;height:10px;border-radius:50%;background:var(--border)}
.quiz-dot.done{background:var(--green)}
.quiz-dot.fail{background:var(--red)}
.quiz-dot.current{background:var(--amber)}
.quiz-result{text-align:center;padding:24px}
.quiz-score{font-family:var(--mono);font-size:3rem;font-weight:900}
.stress-test-box{padding:32px;background:var(--surface);border:1px solid var(--border);border-radius:16px;margin-top:32px}
.st-progress{display:flex;gap:4px;margin-bottom:16px}
.st-dot{width:10px;height:10px;border-radius:50%;background:var(--border)}
.st-dot.done{background:var(--green)}
.st-dot.bad{background:var(--red)}
.st-dot.current{background:var(--amber)}
.st-scenario{font-size:.82rem;color:var(--text-dim);text-transform:uppercase;letter-spacing:1px;margin-bottom:8px}
.st-question{font-size:1.1rem;font-weight:700;color:var(--text-bright);margin-bottom:8px;line-height:1.5}
.st-context{font-size:.88rem;color:var(--text-dim);margin-bottom:20px;line-height:1.5;font-style:italic}
.st-choices{display:grid;gap:10px}
.st-choice{padding:14px 16px;background:var(--surface-2);border:1px solid var(--border);border-radius:8px;cursor:pointer;font-size:.88rem;text-align:left;transition:all .2s;line-height:1.4}
.st-choice:hover{border-color:var(--amber);background:rgba(245,158,11,.05)}
.st-choice.ethical{background:rgba(16,185,129,.1);border-color:var(--green)}
.st-choice.corrupt{background:rgba(232,34,43,.08);border-color:var(--red)}
.st-consequence{margin-top:16px;padding:14px;border-radius:8px;font-size:.88rem;line-height:1.5}
.st-consequence.good{background:rgba(16,185,129,.08);border-left:3px solid var(--green)}
.st-consequence.bad{background:rgba(232,34,43,.06);border-left:3px solid var(--red)}
.st-consequence .st-real{display:block;margin-top:8px;font-size:.8rem;color:var(--text-dim)}
.st-next{margin-top:16px;padding:10px 20px;background:var(--amber);color:#000;border:none;border-radius:8px;cursor:pointer;font-weight:600;font-size:.88rem}
.st-result{text-align:center;padding:24px}
.st-result-score{font-family:var(--mono);font-size:2.4rem;font-weight:900}
.st-result-label{font-size:1rem;margin-top:8px;color:var(--text-dim)}
.st-result-detail{margin-top:16px;font-size:.88rem;color:var(--text-dim);line-height:1.6}
.foi-box{padding:32px;background:var(--surface);border:1px solid var(--border);border-radius:16px;margin-top:32px}
.foi-label{display:block;font-size:.82rem;color:var(--text-dim);margin-bottom:6px;letter-spacing:.3px}
.foi-select,.foi-input,.foi-textarea{width:100%;padding:10px 12px;background:var(--surface-2);border:1px solid var(--border);border-radius:8px;color:var(--text-bright);font-size:.88rem;font-family:inherit}
.foi-select option{background:var(--surface);color:var(--text-bright)}
.foi-textarea{resize:vertical;min-height:60px;font-family:inherit}
.foi-output-box{margin-top:24px;padding:20px;background:var(--bg);border:1px solid var(--border);border-radius:12px;font-family:var(--mono);font-size:.82rem;line-height:1.7;white-space:pre-wrap;color:var(--text-bright)}
.foi-actions{display:flex;gap:10px;margin-top:12px;flex-wrap:wrap}
.foi-actions button{padding:8px 16px;border-radius:8px;font-size:.82rem;cursor:pointer;border:1px solid var(--border);background:var(--surface-2);color:var(--text-bright);transition:all .2s}
.foi-actions button:hover{border-color:var(--blue)}
.foi-hint{margin-top:12px;font-size:.78rem;color:var(--text-dim);line-height:1.5}
.tz-compare{display:grid;grid-template-columns:1fr 40px 1fr;gap:0;margin-top:16px;align-items:stretch}
.tz-col{padding:16px;border-radius:10px;font-size:.85rem;line-height:1.7}
.tz-col.before{background:rgba(16,185,129,.06);border:1px solid rgba(16,185,129,.2)}
.tz-col.after{background:rgba(232,34,43,.06);border:1px solid rgba(232,34,43,.2)}
.tz-arrow{display:flex;align-items:center;justify-content:center;font-size:1.4rem;color:var(--red)}
.tz-label{font-size:.75rem;text-transform:uppercase;letter-spacing:1px;margin-bottom:8px;font-weight:700}
.tz-years{font-family:var(--mono);font-size:1.6rem;font-weight:900;margin:8px 0}
.tz-note{margin-top:12px;font-size:.8rem;color:var(--text-dim);line-height:1.5;font-style:italic}
@media(max-width:600px){.tz-compare{grid-template-columns:1fr;gap:8px}.tz-arrow{transform:rotate(90deg);padding:4px 0}}
.verdict-tracker{display:grid;grid-template-columns:repeat(auto-fit,minmax(100px,1fr));gap:10px;margin:20px 0}
.vt-stat{text-align:center;padding:14px 8px;background:var(--surface);border:1px solid var(--border);border-radius:10px}
.vt-stat-num{font-family:var(--mono);font-size:1.6rem;font-weight:900}
.vt-stat-lbl{font-size:.72rem;color:var(--text-dim);margin-top:4px;text-transform:uppercase;letter-spacing:.5px}
.vt-bar{margin-top:10px;height:6px;background:var(--border);border-radius:3px;overflow:hidden;display:flex}
.vt-bar span{height:100%}
.today-corruption{margin-top:20px;padding:14px 20px;background:rgba(245,158,11,.06);border:1px solid rgba(245,158,11,.2);border-radius:10px;font-size:.85rem;color:var(--text-dim);line-height:1.5;max-width:500px;display:inline-block;text-align:left}
.today-corruption strong{color:var(--amber)}
.myth-grid{display:grid;gap:12px;margin-top:24px}
.myth-card{padding:16px 20px;background:var(--surface);border:1px solid var(--border);border-radius:12px;cursor:pointer;transition:all .3s}
.myth-card:hover{border-color:var(--amber)}
.myth-claim{font-size:.95rem;font-weight:700;color:var(--text-bright);line-height:1.5}
.myth-claim::before{content:'"';color:var(--red);font-size:1.4rem;font-weight:900;margin-right:4px}
.myth-claim::after{content:'"';color:var(--red);font-size:1.4rem;font-weight:900;margin-left:2px}
.myth-author{font-size:.78rem;color:var(--text-dim);margin-top:4px}
.myth-verdict{display:none;margin-top:12px;padding:14px;border-radius:8px;font-size:.85rem;line-height:1.6}
.myth-card.open .myth-verdict{display:block}
.myth-verdict.false{background:rgba(232,34,43,.06);border-left:3px solid var(--red);color:var(--text)}
.myth-verdict.misleading{background:rgba(245,158,11,.06);border-left:3px solid var(--amber);color:var(--text)}
.myth-verdict.partial{background:rgba(37,99,235,.06);border-left:3px solid var(--blue);color:var(--text)}
.myth-tag{display:inline-block;font-size:.7rem;font-weight:700;padding:2px 8px;border-radius:4px;margin-bottom:8px;text-transform:uppercase;letter-spacing:.5px}
.myth-tag.false{background:var(--red);color:#fff}
.myth-tag.misleading{background:var(--amber);color:#000}
.myth-tag.partial{background:var(--blue);color:#fff}
.detective-box{padding:32px;background:var(--surface);border:1px solid var(--border);border-radius:16px;margin-top:32px}
.det-progress{display:flex;gap:4px;margin-bottom:16px}
.det-dot{width:10px;height:10px;border-radius:50%;background:var(--border)}
.det-dot.done{background:var(--green)}
.det-dot.fail{background:var(--red)}
.det-dot.current{background:var(--amber)}
.det-person{font-size:1.1rem;font-weight:700;color:var(--text-bright);margin-bottom:6px}
.det-hint{font-size:.85rem;color:var(--text-dim);margin-bottom:16px;font-style:italic}
.det-opts{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.det-opt{padding:12px;background:var(--surface-2);border:1px solid var(--border);border-radius:8px;cursor:pointer;font-size:.85rem;text-align:center;transition:all .2s;line-height:1.4}
.det-opt:hover{border-color:var(--text-dim)}
.det-opt.correct{background:rgba(16,185,129,.15);border-color:var(--green);color:var(--green)}
.det-opt.wrong{background:rgba(232,34,43,.1);border-color:var(--red);color:var(--red)}
.det-result{text-align:center;padding:24px}
.det-score{font-family:var(--mono);font-size:3rem;font-weight:900}
.rontgen-flow{margin-top:32px;position:relative}
.ront-step{display:flex;align-items:flex-start;gap:16px;margin-bottom:0;position:relative;padding-left:32px}
.ront-step::before{content:'';position:absolute;left:11px;top:24px;bottom:-1px;width:2px;background:var(--border)}
.ront-step:last-child::before{display:none}
.ront-num{position:absolute;left:0;top:0;width:24px;height:24px;border-radius:50%;background:var(--red);color:#fff;font-size:.72rem;font-weight:700;display:flex;align-items:center;justify-content:center;z-index:1}
.ront-card{flex:1;padding:16px;background:var(--surface);border:1px solid var(--border);border-radius:10px;cursor:pointer;margin-bottom:12px;transition:all .2s}
.ront-card:hover{border-color:var(--red)}
.ront-card.open{border-color:var(--red)}
.ront-title{font-size:.92rem;font-weight:700;color:var(--text-bright)}
.ront-detail{display:none;margin-top:10px;font-size:.82rem;color:var(--text-dim);line-height:1.6}
.ront-card.open .ront-detail{display:block}
.ront-money{display:inline-block;font-family:var(--mono);color:var(--red);font-weight:700;font-size:.85rem}
@media(max-width:600px){.det-opts{grid-template-columns:1fr}}
.dna-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.dna-card{padding:16px;background:var(--surface);border:1px solid var(--border);border-radius:12px;text-align:center}
.dna-name{font-size:.92rem;font-weight:700;margin-bottom:8px}
.dna-score{font-family:var(--mono);font-size:2rem;font-weight:900;margin:4px 0}
.dna-bar{height:6px;background:var(--border);border-radius:3px;margin:8px 0;overflow:hidden}
.dna-bar-fill{height:100%;border-radius:3px;transition:width .8s}
.dna-detail{font-size:.72rem;color:var(--text-dim);line-height:1.5;text-align:left;margin-top:8px}
@media(max-width:768px){.dna-grid{grid-template-columns:1fr 1fr}}
@media(max-width:480px){.dna-grid{grid-template-columns:1fr}}
.sim-box{padding:32px;background:var(--surface);border:1px solid var(--border);border-radius:16px;margin-top:32px}
.sim-budget{font-family:var(--mono);font-size:1rem;color:var(--text-bright);margin-bottom:20px;text-align:center}
.sim-total{color:var(--green);font-weight:700;font-size:1.2rem}
.sim-sliders{display:grid;gap:14px}
.sim-row{display:grid;grid-template-columns:140px 1fr 90px;gap:12px;align-items:center}
.sim-row label{font-size:.82rem;color:var(--text-dim)}
.sim-row input[type=range]{width:100%}
.sim-row .sim-val{font-family:var(--mono);font-size:.82rem;color:var(--amber);text-align:right}
.sim-result{margin-top:20px;padding:16px;background:var(--bg);border:1px solid var(--border);border-radius:10px;font-size:.85rem;line-height:1.7;display:none}
.sim-impact{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px}
.sim-impact-item{padding:10px;background:var(--surface);border-radius:8px;font-size:.8rem;color:var(--text-dim)}
.sim-impact-item strong{color:var(--green);display:block;font-family:var(--mono);font-size:1rem;margin-bottom:2px}
@media(max-width:600px){.sim-row{grid-template-columns:1fr;gap:4px}.sim-impact{grid-template-columns:1fr}}
.tree-box{margin-top:32px;padding:24px;background:var(--surface);border:1px solid var(--border);border-radius:16px}
.tree-node{margin-left:24px;position:relative}
.tree-node::before{content:'';position:absolute;left:-16px;top:0;bottom:0;width:2px;background:var(--border)}
.tree-node:last-child::before{bottom:50%}
.tree-item{position:relative;padding:10px 14px;margin:6px 0;background:var(--bg);border:1px solid var(--border);border-radius:8px;font-size:.82rem;color:var(--text-dim);cursor:pointer;transition:all .2s;line-height:1.5}
.tree-item::before{content:'';position:absolute;left:-16px;top:50%;width:14px;height:2px;background:var(--border)}
.tree-item:hover{border-color:var(--red)}
.tree-item.open{border-color:var(--red);background:rgba(232,34,43,.04)}
.tree-item strong{color:var(--text-bright)}
.tree-root{padding:14px 18px;background:rgba(232,34,43,.08);border:2px solid var(--red);border-radius:10px;font-size:.95rem;font-weight:700;color:var(--red);margin-bottom:12px;cursor:pointer;text-align:center}
.tree-children{display:none}
.tree-item.open+.tree-children,.tree-root.open+.tree-node{display:block!important}
.radar-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:24px}
.radar-card{padding:16px;background:var(--surface);border:1px solid var(--border);border-radius:12px;cursor:pointer;transition:all .2s}
.radar-card:hover{border-color:var(--amber)}
.radar-card.open{border-color:var(--amber)}
.radar-flag{font-size:1.6rem;margin-bottom:6px}
.radar-country{font-size:.92rem;font-weight:700;color:var(--text-bright)}
.radar-type{font-size:.72rem;color:var(--amber);text-transform:uppercase;letter-spacing:.5px;margin-top:2px}
.radar-detail{display:none;margin-top:10px;font-size:.82rem;color:var(--text-dim);line-height:1.5}
.radar-card.open .radar-detail{display:block}
@media(max-width:600px){.radar-grid{grid-template-columns:1fr}}
.promise-grid{display:grid;gap:8px}
.promise-row{display:grid;grid-template-columns:1fr 90px;gap:12px;padding:12px 16px;background:var(--surface);border:1px solid var(--border);border-radius:8px;align-items:center;font-size:.82rem}
.promise-text{color:var(--text-dim);line-height:1.4}
.promise-status{text-align:center;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;padding:4px 8px;border-radius:6px}
.promise-status.broken{background:rgba(232,34,43,.12);color:var(--red)}
.promise-status.opposite{background:rgba(139,92,246,.12);color:var(--purple)}
.promise-status.partial{background:rgba(245,158,11,.12);color:var(--amber)}
.promise-status.fulfilled{background:rgba(16,185,129,.12);color:var(--green)}
@media(max-width:480px){.promise-row{grid-template-columns:1fr;gap:6px}}

.region-modal{position:fixed;inset:0;z-index:10000;background:rgba(0,0,0,.7);display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .3s;pointer-events:none}
.region-modal.open{opacity:1;pointer-events:auto}
.region-modal-box{background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:32px;max-width:520px;width:90%;max-height:90vh;overflow-y:auto}
.region-modal h3{color:var(--text-bright);font-size:1.1rem;margin-bottom:6px}
.region-modal p{font-size:.85rem;color:var(--text-dim);margin-bottom:20px;line-height:1.5}
.region-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.region-card{background:var(--bg);border:1px solid var(--border);border-radius:10px;padding:14px 8px;text-align:center;cursor:pointer;transition:border-color .2s,transform .15s}
.region-card:hover{border-color:var(--red);transform:translateY(-2px)}
.region-card-code{font-family:var(--mono);font-size:1.1rem;font-weight:800;color:var(--red)}
.region-card-name{font-size:.68rem;color:var(--text-dim);margin-top:4px}
.region-skip{display:block;margin:16px auto 0;background:none;border:none;color:var(--text-dim);font-size:.8rem;cursor:pointer;text-decoration:underline}
.region-badge{position:fixed;bottom:260px;right:16px;z-index:999;background:var(--surface);border:1px solid var(--border);border-radius:20px;padding:6px 14px;font-size:.75rem;color:var(--text-dim);cursor:pointer;transition:border-color .2s;box-shadow:0 2px 8px rgba(0,0,0,.2)}
.region-badge:hover{border-color:var(--red)}
.region-badge strong{color:var(--red);margin-right:4px}
@media(max-width:600px){.region-grid{grid-template-columns:repeat(2,1fr)}}

.minister-tl{margin-top:24px}
.minister-tl-title{font-size:.85rem;color:var(--text-bright);font-weight:700;margin-bottom:14px}
.minister-row{display:grid;grid-template-columns:100px 1fr;gap:12px;padding:10px 0;border-bottom:1px solid var(--border);align-items:start}
.minister-row:last-child{border-bottom:none}
.minister-period{font-family:var(--mono);font-size:.75rem;color:var(--text-dim)}
.minister-name{font-size:.85rem;font-weight:700;color:var(--text-bright)}
.minister-party{font-size:.7rem;color:var(--text-dim);margin-top:2px}
.minister-cases{display:flex;gap:4px;flex-wrap:wrap;margin-top:6px}
.minister-case-dot{width:8px;height:8px;border-radius:50%;cursor:pointer;transition:transform .15s}
.minister-case-dot:hover{transform:scale(1.8)}
@media(max-width:480px){.minister-row{grid-template-columns:1fr;gap:4px}}

.bm-btn{position:relative;background:none;border:none;color:var(--text-dim);cursor:pointer;font-size:.9rem;padding:2px 6px;transition:color .2s}
.bm-btn.saved{color:var(--amber)}
.bm-btn:hover{color:var(--amber)}
.bm-panel{position:fixed;top:0;right:-360px;width:350px;height:100vh;background:var(--surface);border-left:1px solid var(--border);z-index:9999;transition:right .3s;overflow-y:auto;padding:20px}
.bm-panel.open{right:0}
.bm-panel-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}
.bm-panel-title{font-size:1rem;font-weight:700;color:var(--text-bright)}
.bm-panel-close{background:none;border:none;color:var(--text-dim);font-size:1.4rem;cursor:pointer}
.bm-item{padding:10px;background:var(--bg);border:1px solid var(--border);border-radius:8px;margin-bottom:8px;font-size:.82rem;color:var(--text-dim);cursor:pointer;transition:border-color .2s}
.bm-item:hover{border-color:var(--amber)}
.bm-item-name{font-weight:700;color:var(--text-bright)}
.bm-item-meta{font-size:.72rem;margin-top:4px}
.bm-empty{text-align:center;color:var(--text-dim);font-size:.85rem;padding:40px 0}
.bm-trigger{position:fixed;top:80px;right:16px;z-index:998;background:var(--surface);border:1px solid var(--border);border-radius:50%;width:44px;height:44px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:1rem;transition:border-color .2s;box-shadow:0 2px 8px rgba(0,0,0,.2)}
.bm-trigger:hover{border-color:var(--amber)}
.bm-count{position:absolute;top:-4px;right:-4px;background:var(--red);color:#fff;font-size:.6rem;font-weight:700;border-radius:50%;width:16px;height:16px;display:flex;align-items:center;justify-content:center}
@media(max-width:480px){.bm-panel{width:100%;right:-100%}.bm-trigger{top:auto;bottom:200px;right:12px}}

.rp-bar{position:fixed;top:50%;right:4px;transform:translateY(-50%);z-index:997;display:flex;flex-direction:column;gap:3px}
.rp-dot{width:6px;height:6px;border-radius:50%;background:var(--border);transition:background .3s,transform .2s;cursor:pointer;position:relative;padding:8px;margin:-8px}
.rp-dot.visited{background:var(--green)}
.rp-dot.active{background:var(--red);transform:scale(1.6)}
.rp-dot:hover::after{content:attr(data-section);position:absolute;right:14px;top:50%;transform:translateY(-50%);background:var(--bg);border:1px solid var(--border);border-radius:6px;padding:3px 8px;font-size:.65rem;color:var(--text-dim);white-space:nowrap;pointer-events:none}
@media(max-width:768px){.rp-bar{display:none}}

.top-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;margin-top:20px}
.top-stat{padding:16px;background:var(--surface);border:1px solid var(--border);border-radius:10px;text-align:center;cursor:pointer;transition:border-color .2s}
.top-stat:hover{border-color:var(--red)}
.top-stat-label{font-size:.68rem;color:var(--text-dim);text-transform:uppercase;letter-spacing:.5px;margin-bottom:6px}
.top-stat-val{font-family:var(--mono);font-size:1.3rem;font-weight:900;color:var(--red)}
.top-stat-name{font-size:.78rem;color:var(--text-bright);margin-top:4px}

.proj-container{margin-top:24px;padding:20px;background:var(--surface);border:1px solid var(--border);border-radius:12px}
.proj-title{font-size:.85rem;color:var(--text-bright);font-weight:700;margin-bottom:16px}
.proj-slider-wrap{display:flex;align-items:center;gap:12px;margin-bottom:16px}
.proj-slider{flex:1;-webkit-appearance:none;height:6px;border-radius:3px;background:var(--surface-2);outline:none}
.proj-slider::-webkit-slider-thumb{-webkit-appearance:none;width:18px;height:18px;border-radius:50%;background:var(--red);cursor:pointer}
.proj-year{font-family:var(--mono);font-size:1.1rem;font-weight:800;color:var(--red);min-width:50px}
.proj-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.proj-card{padding:14px;background:var(--bg);border:1px solid var(--border);border-radius:10px;text-align:center}
.proj-card-label{font-size:.7rem;color:var(--text-dim);text-transform:uppercase;letter-spacing:.3px}
.proj-card-val{font-family:var(--mono);font-size:1.4rem;font-weight:900;color:var(--red);margin-top:4px}
.proj-card-sub{font-size:.72rem;color:var(--text-dim);margin-top:4px}
@media(max-width:600px){.proj-grid{grid-template-columns:1fr}}

.case-compare{margin-top:24px;padding:20px;background:var(--surface);border:1px solid var(--border);border-radius:12px}
.case-compare-title{font-size:.85rem;color:var(--text-bright);font-weight:700;margin-bottom:14px}
.case-compare-selects{display:flex;gap:12px;margin-bottom:16px;flex-wrap:wrap}
.case-compare-selects select{flex:1;min-width:200px;padding:8px 12px;background:var(--bg);color:var(--text);border:1px solid var(--border);border-radius:8px;font-size:.82rem}
.case-compare-grid{display:grid;grid-template-columns:1fr auto 1fr;gap:12px}
.case-compare-col{padding:14px;background:var(--bg);border:1px solid var(--border);border-radius:10px}
.case-compare-vs{display:flex;align-items:center;justify-content:center;font-family:var(--mono);font-size:1.2rem;color:var(--text-dim);font-weight:800}
.case-compare-row{margin-bottom:10px}
.case-compare-metric{font-size:.7rem;color:var(--text-dim);text-transform:uppercase;letter-spacing:.3px}
.case-compare-value{font-size:.9rem;color:var(--text-bright);font-weight:600;margin-top:2px}
@media(max-width:600px){.case-compare-grid{grid-template-columns:1fr}.case-compare-vs{padding:4px}}

.profile-links{margin-top:8px;display:flex;gap:4px;flex-wrap:wrap}
.profile-case-link{font-size:.68rem;padding:2px 8px;background:rgba(232,34,43,.08);border:1px solid rgba(232,34,43,.2);border-radius:12px;color:var(--red);cursor:pointer;transition:background .2s}
.profile-case-link:hover{background:rgba(232,34,43,.15)}

.ftm-container{margin-top:24px;padding:20px;background:var(--surface);border:1px solid var(--border);border-radius:12px}
.ftm-title{font-size:.85rem;color:var(--text-bright);font-weight:700;margin-bottom:16px}
.ftm-flow{display:flex;align-items:center;gap:0;overflow-x:auto;padding:10px 0}
.ftm-node{flex:0 0 auto;padding:12px 16px;background:var(--bg);border:1px solid var(--border);border-radius:10px;text-align:center;min-width:120px;cursor:pointer;transition:border-color .2s}
.ftm-node:hover{border-color:var(--red)}
.ftm-node-label{font-size:.7rem;color:var(--text-dim);text-transform:uppercase;letter-spacing:.5px}
.ftm-node-val{font-family:var(--mono);font-size:1rem;font-weight:800;color:var(--red);margin-top:4px}
.ftm-node-detail{font-size:.72rem;color:var(--text-dim);margin-top:4px;display:none}
.ftm-node.open .ftm-node-detail{display:block}
.ftm-arrow{flex:0 0 30px;text-align:center;color:var(--text-dim);font-size:1.2rem}
@media(max-width:600px){.ftm-flow{flex-direction:column;gap:0}.ftm-arrow{transform:rotate(90deg)}.ftm-node{min-width:100%}}

.cal-heat{margin-top:24px;padding:20px;background:var(--surface);border:1px solid var(--border);border-radius:12px}
.cal-heat-title{font-size:.85rem;color:var(--text-bright);font-weight:700;margin-bottom:14px}
.cal-grid{display:grid;grid-template-columns:repeat(34,1fr);gap:2px}
.cal-cell{aspect-ratio:1;border-radius:2px;cursor:pointer;position:relative;min-width:0}
.cal-cell:hover{outline:1px solid var(--text-dim)}
.cal-cell[title]:hover::after{content:attr(title);position:absolute;bottom:calc(100% + 4px);left:50%;transform:translateX(-50%);background:var(--bg);border:1px solid var(--border);border-radius:4px;padding:3px 8px;font-size:.6rem;color:var(--text-dim);white-space:nowrap;z-index:5;pointer-events:none}
.cal-year-labels{display:grid;grid-template-columns:repeat(34,1fr);gap:2px;margin-bottom:4px}
.cal-year-label{font-size:.45rem;color:var(--text-dim);text-align:center;overflow:hidden}
.cal-era-row{display:flex;gap:2px;margin-bottom:4px;font-size:.55rem;color:var(--text-dim)}
.cal-era-block{text-align:center;border-radius:2px;padding:1px 0}
@media(max-width:600px){.cal-grid,.cal-year-labels{grid-template-columns:repeat(17,1fr)}}
.kauzy-tl{overflow-x:auto;padding:16px 0 8px;-webkit-overflow-scrolling:touch}
.kauzy-tl-track{display:flex;align-items:flex-end;gap:0;min-width:900px;height:120px;position:relative;border-bottom:2px solid var(--border)}
.kauzy-tl-era{position:absolute;bottom:0;top:0;opacity:.06;border-radius:4px}
.kauzy-tl-year{position:absolute;bottom:-18px;font-size:.55rem;color:var(--text-dim);font-family:var(--mono)}
.kauzy-tl-dot{width:10px;height:10px;border-radius:50%;position:absolute;cursor:pointer;transition:transform .2s;z-index:2}
.kauzy-tl-dot:hover{transform:scale(2);z-index:10}
.kauzy-tl-dot:hover::after{content:attr(title);position:absolute;bottom:calc(100% + 6px);left:50%;transform:translateX(-50%);background:var(--bg);border:1px solid var(--border);border-radius:4px;padding:4px 8px;font-size:.65rem;color:var(--text);white-space:nowrap;z-index:20;pointer-events:none;max-width:220px;overflow:hidden;text-overflow:ellipsis}
.kauzy-tl-legend{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px;font-size:.7rem;color:var(--text-dim)}
.kauzy-tl-legend span::before{content:'';display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:4px;vertical-align:middle}
.section-share{display:inline-block;margin-left:8px;background:none;border:none;color:var(--text-dim);cursor:pointer;font-size:.75rem;opacity:0;transition:opacity .2s;vertical-align:middle}
.section-title:hover .section-share,.section-share:focus{opacity:1}
.section-share-toast{position:fixed;bottom:100px;left:50%;transform:translateX(-50%);background:var(--green);color:#fff;padding:8px 20px;border-radius:20px;font-size:.82rem;z-index:500;opacity:0;transition:opacity .3s}
.section-share-toast.show{opacity:1}

.v4-table th{position:sticky;top:0;z-index:2;background:var(--surface)}
.soe-table th{position:sticky;top:0;z-index:2}

.elec-countdown{margin-top:24px;padding:20px;background:rgba(37,99,235,.06);border:1px solid rgba(37,99,235,.2);border-radius:12px;text-align:center}
.elec-label{font-size:.75rem;color:var(--text-dim);text-transform:uppercase;letter-spacing:1px;margin-bottom:10px}
.elec-timer{display:flex;gap:16px;justify-content:center;flex-wrap:wrap}
.elec-unit{text-align:center}
.elec-num{font-family:var(--mono);font-size:2rem;font-weight:900;color:var(--blue);line-height:1}
.elec-txt{font-size:.65rem;color:var(--text-dim);text-transform:uppercase;letter-spacing:.5px;margin-top:4px}
.elec-note{font-size:.78rem;color:var(--text-dim);margin-top:12px}

.glossary-container{margin-top:24px}
.glossary-search{width:100%;padding:10px 16px;background:var(--bg);border:1px solid var(--border);border-radius:8px;color:var(--text);font-size:.85rem;margin-bottom:12px}
.glossary-item{padding:12px 16px;background:var(--surface);border:1px solid var(--border);border-radius:8px;margin-bottom:6px;cursor:pointer;transition:border-color .2s}
.glossary-item:hover{border-color:var(--amber)}
.glossary-term{font-weight:700;color:var(--text-bright);font-size:.88rem}
.glossary-def{font-size:.8rem;color:var(--text-dim);line-height:1.5;display:none;margin-top:8px}
.glossary-item.open .glossary-def{display:block}

.cf-toggle{display:flex;gap:8px;justify-content:center;margin-bottom:16px}
.cf-toggle-btn{padding:6px 16px;background:var(--surface);border:1px solid var(--border);border-radius:20px;color:var(--text-dim);font-size:.78rem;cursor:pointer;transition:all .2s}
.cf-toggle-btn.active{background:var(--red);border-color:var(--red);color:#fff}
.cf-toggle-btn[data-mode="alt"].active{background:var(--green);border-color:var(--green)}

.acc-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px;margin-top:16px}
.acc-card{padding:16px;background:var(--surface);border:1px solid var(--border);border-radius:10px;text-align:center}
.acc-name{font-size:.85rem;font-weight:700;color:var(--text-bright)}
.acc-party{font-size:.7rem;color:var(--text-dim);margin-top:2px}
.acc-score{font-family:var(--mono);font-size:1.8rem;font-weight:900;margin:8px 0}
.acc-bar{height:6px;border-radius:3px;background:var(--border);overflow:hidden;margin-top:4px}
.acc-bar-fill{height:100%;border-radius:3px;transition:width .5s}
.acc-detail{font-size:.7rem;color:var(--text-dim);margin-top:6px;text-align:left;display:none}
.acc-card.open .acc-detail{display:block}

.risk-calc{margin-top:24px;padding:20px;background:var(--surface);border:1px solid var(--border);border-radius:12px}
.risk-title{font-size:.85rem;color:var(--text-bright);font-weight:700;margin-bottom:14px}
.risk-checks{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}
.risk-check{display:flex;align-items:center;gap:8px;padding:8px 12px;background:var(--bg);border:1px solid var(--border);border-radius:8px;cursor:pointer;font-size:.8rem;color:var(--text-dim);transition:border-color .2s}
.risk-check:hover{border-color:var(--amber)}
.risk-check.checked{border-color:var(--red);background:rgba(232,34,43,.06)}
.risk-check input{accent-color:var(--red)}
.risk-result{margin-top:16px;padding:16px;border-radius:10px;text-align:center;font-family:var(--mono);display:none}
.risk-result.show{display:block}
@media(max-width:600px){.risk-checks{grid-template-columns:1fr}}

.geo-heat{margin-top:24px}
.geo-heat-title{font-size:.85rem;color:var(--text-bright);font-weight:700;margin-bottom:14px}
.geo-heat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.geo-heat-card{padding:14px;background:var(--surface);border:1px solid var(--border);border-radius:10px;text-align:center;position:relative;overflow:hidden}
.geo-heat-card::before{content:'';position:absolute;inset:0;opacity:.08}
.geo-heat-code{font-family:var(--mono);font-size:1.3rem;font-weight:900;position:relative}
.geo-heat-name{font-size:.68rem;color:var(--text-dim);margin-top:2px;position:relative}
.geo-heat-val{font-family:var(--mono);font-size:.85rem;font-weight:700;margin-top:6px;position:relative}
.geo-heat-bar{height:4px;border-radius:2px;margin-top:6px;position:relative}
@media(max-width:600px){.geo-heat-grid{grid-template-columns:repeat(2,1fr)}}

.ts-container{margin:24px 0;padding:20px;background:var(--surface);border:1px solid var(--border);border-radius:12px}
.ts-title{font-size:.85rem;color:var(--text-bright);margin-bottom:16px;font-weight:700}
.ts-heatmap{display:flex;gap:2px;align-items:flex-end;height:80px;position:relative}
.ts-col{flex:1;min-width:0;display:flex;flex-direction:column;align-items:center;position:relative;cursor:pointer}
.ts-bar{width:100%;border-radius:3px 3px 0 0;transition:opacity .2s;min-height:2px}
.ts-col:hover .ts-bar{opacity:.7}
.ts-col:hover .ts-lbl{color:var(--red)}
.ts-lbl{font-size:.5rem;color:var(--text-dim);margin-top:4px;white-space:nowrap;transform:rotate(-45deg);transform-origin:top left;width:20px}
.ts-tooltip{position:absolute;bottom:calc(100% + 8px);left:50%;transform:translateX(-50%);background:var(--bg);border:1px solid var(--border);border-radius:8px;padding:10px 14px;font-size:.78rem;color:var(--text-dim);white-space:nowrap;pointer-events:none;opacity:0;transition:opacity .15s;z-index:10;box-shadow:0 4px 12px rgba(0,0,0,.3)}
.ts-col:hover .ts-tooltip{opacity:1}
.ts-cpi-line{position:absolute;bottom:0;left:0;right:0;height:80px;pointer-events:none}
.ts-legend{display:flex;gap:14px;justify-content:center;margin-top:14px;font-size:.68rem;color:var(--text-dim);flex-wrap:wrap}
@media(max-width:480px){.ts-lbl{display:none}.ts-heatmap{height:60px}}

.compare-slider{margin-top:24px}
.compare-amount{font-family:var(--mono);font-size:clamp(2rem,5vw,3rem);font-weight:900;color:var(--amber);text-align:center;margin:16px 0}
.compare-range{width:100%;-webkit-appearance:none;height:6px;border-radius:3px;background:var(--surface-2);outline:none}
.compare-range::-webkit-slider-thumb{-webkit-appearance:none;width:20px;height:20px;border-radius:50%;background:var(--red);cursor:pointer}
.compare-items{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:20px}
.compare-item{padding:16px;background:var(--surface);border:1px solid var(--border);border-radius:10px;text-align:center;transition:border-color .2s}
.compare-item.active{border-color:var(--green)}
.compare-item-icon{font-size:2rem;margin-bottom:6px}
.compare-item-count{font-family:var(--mono);font-size:1.5rem;font-weight:800;color:var(--text-bright)}
.compare-item-what{font-size:.78rem;color:var(--text-dim);margin-top:2px}
@media(max-width:768px){.quiz-opts{grid-template-columns:1fr}.compare-items{grid-template-columns:1fr 1fr}.salary-row{grid-template-columns:100px 1fr 60px}.budget-label{width:90px;font-size:.7rem}}

.hw-compare{margin-top:24px}
.hw-c-row{display:grid;grid-template-columns:80px 1fr 80px 80px;gap:8px;align-items:center;padding:8px 0;border-bottom:1px solid var(--border);font-size:.85rem}
.hw-c-row:first-child{font-size:.72rem;color:var(--text-dim);text-transform:uppercase;letter-spacing:.5px;border-bottom:2px solid var(--border)}
.hw-c-bar{height:8px;border-radius:4px}
@media(max-width:768px){.hw-c-row{grid-template-columns:60px 1fr 60px 60px;font-size:.75rem}}

.sector-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin-top:24px}
.sector-card{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:20px}
.sector-card h4{font-size:.95rem;font-weight:700;margin-bottom:8px}
.sector-stat{display:flex;justify-content:space-between;padding:4px 0;font-size:.82rem;border-bottom:1px solid var(--border)}
.sector-stat:last-child{border-bottom:none}
.sector-stat-val{font-family:var(--mono);font-weight:700}
@media(max-width:768px){.sector-grid{grid-template-columns:1fr}}

.sc-trigger{background:var(--surface-2);border:1px solid var(--border);color:var(--text-dim);padding:3px 8px;border-radius:4px;font-size:.65rem;cursor:pointer;margin-left:4px;transition:all .2s;vertical-align:middle}
.sc-trigger:hover{background:var(--red);color:#fff;border-color:var(--red)}
.share-overlay{position:fixed;inset:0;z-index:300;background:rgba(0,0,0,.85);display:none;align-items:center;justify-content:center;padding:20px;backdrop-filter:blur(8px)}
.share-overlay.show{display:flex}
.share-card{background:var(--bg);border:2px solid var(--red);border-radius:16px;max-width:420px;width:100%;padding:28px;position:relative}
.share-card-close{position:absolute;top:8px;right:12px;background:none;border:none;color:var(--text-dim);font-size:1.5rem;cursor:pointer;transition:color .2s}
.share-card-close:hover{color:var(--text-bright)}
.share-card h3{font-size:1.15rem;font-weight:800;color:var(--text-bright);margin-bottom:4px}
.share-card-amount{font-family:var(--mono);font-size:2rem;font-weight:900;color:var(--red);margin:12px 0}
.share-card-alt{font-size:.85rem;color:var(--amber);margin-bottom:12px;line-height:1.5}
.share-card-brand{font-size:.72rem;color:var(--text-dim);border-top:1px solid var(--border);padding-top:12px;margin-top:16px;display:flex;justify-content:space-between}
.share-card-brand strong{color:var(--red)}
.share-btns{display:flex;gap:8px;margin-top:16px;flex-wrap:wrap}
.share-btns a,.share-btns button{padding:10px 16px;border-radius:8px;font-size:.82rem;font-weight:600;text-decoration:none;cursor:pointer;border:none;display:inline-flex;align-items:center;gap:6px;transition:opacity .2s}
.share-btns a:hover,.share-btns button:hover{opacity:.85}
.share-btns .wa{background:#25D366;color:#fff}
.share-btns .tg{background:#0088cc;color:#fff}
.share-btns .fb{background:#1877F2;color:#fff}
.share-btns .cp{background:var(--surface-2);color:var(--text);border:1px solid var(--border)}
cite a{color:var(--blue);text-decoration:none;opacity:.7;transition:opacity .2s}
cite a:hover{opacity:1;text-decoration:underline}
.pribehy-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;margin-top:24px}
.pribeh-card{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:24px;position:relative}
.pribeh-card::before{content:'\201E';position:absolute;top:8px;left:16px;font-size:3rem;color:var(--red);opacity:.25;line-height:1}
.pribeh-text{font-size:.9rem;color:var(--text-dim);line-height:1.7;font-style:italic;padding-top:20px}
.pribeh-author{margin-top:14px;font-size:.82rem;color:var(--text-bright);font-style:normal;font-weight:600}
.pribeh-role{font-size:.72rem;color:var(--text-dim);font-style:normal}
@media(max-width:768px){.pribehy-grid{grid-template-columns:1fr}}
.cf-grid{display:grid;grid-template-columns:1fr 40px 1fr;gap:0;margin-top:24px}
.cf-col{display:flex;flex-direction:column;gap:12px}
.cf-vs{display:flex;align-items:center;justify-content:center;font-weight:900;color:var(--text-dim);font-size:1.1rem}
.cf-item{padding:14px;border-radius:10px;font-size:.85rem;line-height:1.5}
.cf-real{background:rgba(232,34,43,.06);border:1px solid var(--red-dim)}
.cf-alt{background:rgba(16,185,129,.06);border:1px solid rgba(16,185,129,.3)}
.cf-val{font-family:var(--mono);font-size:1.2rem;font-weight:800;margin-bottom:2px}
.cf-head{text-align:center;padding:10px;font-size:.78rem;font-weight:700;letter-spacing:1px;text-transform:uppercase;border-radius:8px;margin-bottom:8px}
@media(max-width:768px){.cf-grid{grid-template-columns:1fr;gap:8px}.cf-vs{transform:rotate(90deg);padding:4px}}
.obcianska-svg{margin:24px 0;max-width:600px}
.obcianska-svg-inner{width:100%;height:auto}
.obcianska-region{transition:fill-opacity .2s,stroke .2s}
.obcianska-region:hover{fill-opacity:1!important;stroke:var(--text-bright);stroke-width:2.5}
.obcianska-legend{display:flex;align-items:center;gap:8px;margin-top:12px;font-size:.7rem;color:var(--text-dim)}
.obcianska-legend span:not(.obcianska-legend-lbl){display:inline-block;width:20px;height:10px;border-radius:2px}
.loc-select{padding:12px 16px;background:var(--surface);border:1px solid var(--border);border-radius:8px;color:var(--text);font-size:1rem;font-family:inherit;width:100%;max-width:400px;cursor:pointer;outline:none}
.loc-select:focus{border-color:var(--red)}
.loc-results{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:24px}
.loc-card{padding:16px;background:var(--surface);border:1px solid var(--border);border-radius:10px}
.loc-card-val{font-family:var(--mono);font-size:1.2rem;font-weight:800;color:var(--red)}
.loc-card-label{font-size:.8rem;color:var(--text-dim);margin-top:4px;line-height:1.4}
@media(max-width:768px){.loc-results{grid-template-columns:1fr}}
.volby-grid{margin-top:24px}
.volby-party{background:var(--surface);border:1px solid var(--border);border-radius:12px;margin-bottom:12px;overflow:hidden}
.volby-head{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;cursor:pointer;transition:background .2s}
.volby-head:hover{background:var(--surface-2)}
.volby-name{font-size:1rem;font-weight:700;color:var(--text-bright)}
.volby-score{font-family:var(--mono);font-size:.9rem;font-weight:800;padding:4px 12px;border-radius:6px}
.volby-detail{max-height:0;overflow:hidden;transition:max-height .4s}
.volby-party.open .volby-detail{max-height:1200px}
.volby-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;padding:0 20px 16px}
.volby-stat{text-align:center;padding:8px;background:var(--surface-2);border-radius:6px}
.volby-stat-val{font-family:var(--mono);font-size:.95rem;font-weight:700}
.volby-stat-lbl{font-size:.68rem;color:var(--text-dim);margin-top:2px}
.volby-cases{font-size:.82rem;color:var(--text-dim);line-height:1.6;padding:0 20px 20px}
@media(max-width:768px){.volby-stats{grid-template-columns:repeat(2,1fr)}.volby-cases{padding:0 14px 14px}[style*="grid-template-columns:repeat(5"]{grid-template-columns:repeat(3,1fr)!important}}
@media(max-width:480px){[style*="grid-template-columns:repeat(5"]{grid-template-columns:repeat(2,1fr)!important}}
.kde-stat-row{display:flex;gap:16px;margin-bottom:24px;flex-wrap:wrap}
.kde-stat{flex:1;min-width:120px;text-align:center;padding:16px;background:var(--surface);border:1px solid var(--border);border-radius:10px}
.kde-stat-num{font-size:2rem;font-weight:900;font-family:var(--mono)}
.kde-stat-lbl{font-size:.75rem;color:var(--text-dim);margin-top:4px}
.kde-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.kde-card{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:16px;position:relative}
.kde-badge{position:absolute;top:12px;right:12px;font-size:.6rem;font-weight:700;color:#fff;padding:2px 8px;border-radius:10px;text-transform:uppercase}
.kde-name{font-size:1rem;font-weight:700;color:var(--text-bright);margin-bottom:8px;padding-right:60px}
.kde-then{font-size:.78rem;color:var(--text-dim);padding:6px 0}
.kde-now{font-size:.78rem;color:var(--text);font-weight:600;padding:6px 0}
.kde-arrow{text-align:center;font-size:1.2rem;color:var(--red);font-weight:900}
.kde-label{font-size:.65rem;font-weight:700;text-transform:uppercase;color:var(--text-dim)}
@media(max-width:768px){.kde-grid{grid-template-columns:1fr}.kde-stat-row{flex-direction:column}}
@media(max-width:480px){.kde-name{padding-right:0}.kde-badge{position:static;margin-bottom:6px;display:inline-block}.leg-item-head{flex-wrap:wrap;gap:8px}.leg-date{order:3;width:100%}}
.leg-item{background:var(--surface);border:1px solid var(--border);border-radius:10px;margin-bottom:10px;overflow:hidden}
.leg-item-head{display:flex;align-items:center;gap:12px;padding:14px 16px;cursor:pointer;transition:background .2s}
.leg-item-head:hover{background:var(--surface-2)}
.leg-icon{font-size:1.2rem;font-weight:900;flex-shrink:0;width:24px;text-align:center}
.leg-item-info{flex:1;min-width:0}
.leg-item-name{font-size:.9rem;font-weight:700;color:var(--text-bright)}
.leg-item-affects{font-size:.7rem;color:var(--text-dim);margin-top:2px}
.leg-date{font-size:.75rem;font-family:var(--mono);color:var(--text-dim);flex-shrink:0}
.leg-status{font-size:.65rem;font-weight:700;padding:2px 8px;border:1px solid;border-radius:10px;flex-shrink:0;text-transform:uppercase}
.leg-item-body{padding:0 16px 14px;font-size:.82rem;color:var(--text-dim);line-height:1.6}
.leg-vote{font-size:.75rem;margin-top:8px;color:var(--text-dim)}
.asset-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:24px}
.asset-card{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:20px;position:relative}
.asset-card-name{font-size:1rem;font-weight:700;color:var(--text-bright);margin-bottom:2px}
.asset-card-role{font-size:.75rem;color:var(--text-dim);margin-bottom:12px}
.asset-row{display:flex;justify-content:space-between;padding:5px 0;font-size:.82rem;border-bottom:1px solid var(--border)}
.asset-row:last-child{border-bottom:none}
.asset-row-val{font-family:var(--mono);font-weight:700}
.asset-flag{font-size:.72rem;padding:2px 8px;border-radius:4px;font-weight:600;margin-top:10px;display:inline-block}
.asset-flag.warn{background:rgba(245,158,11,.12);color:var(--amber);border:1px solid rgba(245,158,11,.3)}
.asset-flag.danger{background:rgba(232,34,43,.08);color:var(--red);border:1px solid var(--red-dim)}
.asset-spark{display:flex;align-items:flex-end;gap:4px;height:40px;margin-top:10px;padding:4px 0}
.asset-spark-bar{flex:1;background:var(--blue);border-radius:2px 2px 0 0;min-width:16px;position:relative;transition:height .3s}
.asset-spark-bar span{position:absolute;bottom:-14px;left:50%;transform:translateX(-50%);font-size:.6rem;color:var(--text-dim)}
.asset-growth{font-size:.72rem;font-family:var(--mono);font-weight:700;margin-top:16px;display:inline-block;padding:2px 6px;border-radius:3px}
.asset-growth.danger{color:var(--red);background:rgba(232,34,43,.08)}
.asset-growth.warn{color:var(--amber);background:rgba(245,158,11,.08)}
.asset-gap{font-size:.7rem;color:var(--text-dim);margin-top:6px;padding:4px 0;border-top:1px solid var(--border)}
.asset-nrsr{display:inline-block;margin-top:8px;font-size:.72rem;color:var(--blue);text-decoration:none;font-weight:600}
.asset-nrsr:hover{text-decoration:underline}
@media(max-width:768px){.asset-grid{grid-template-columns:1fr}}
.collapse-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin-top:24px}
.collapse-card{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:20px}
.collapse-num{font-family:var(--mono);font-size:2rem;font-weight:900;line-height:1}
.collapse-label{font-size:.82rem;color:var(--text-dim);margin-top:4px;line-height:1.4}
@media(max-width:768px){.collapse-grid{grid-template-columns:1fr}}
.media-owner{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin-top:24px}
.media-card{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:20px}
.media-card-group{font-size:.72rem;font-weight:700;letter-spacing:1px;text-transform:uppercase;margin-bottom:6px}
.media-card-name{font-size:1rem;font-weight:800;color:var(--text-bright);margin-bottom:8px}
.media-card-outlets{font-size:.82rem;color:var(--text-dim);line-height:1.6}
@media(max-width:768px){.media-owner{grid-template-columns:1fr}}
.soe-table{width:100%;border-collapse:collapse;margin-top:24px;font-size:.85rem}
.soe-table th{text-align:left;padding:10px 12px;font-size:.72rem;text-transform:uppercase;letter-spacing:.5px;color:var(--text-dim);border-bottom:2px solid var(--border);background:var(--surface)}
.soe-table td{padding:10px 12px;border-bottom:1px solid var(--border)}
.soe-table tr:hover{background:var(--surface)}
.soe-loss{color:var(--red);font-family:var(--mono);font-weight:700}
.tax-bars{margin-top:24px}
.tax-bar-row{display:grid;grid-template-columns:140px 1fr 80px;gap:12px;align-items:center;padding:8px 0;border-bottom:1px solid var(--border);font-size:.85rem}
.tax-bar-fill{height:12px;border-radius:6px;transition:width .6s}
@media(max-width:768px){.tax-bar-row{grid-template-columns:100px 1fr 60px;font-size:.78rem}}
.infr-timeline{margin-top:24px}
.infr-item{display:grid;grid-template-columns:60px 1fr;gap:12px;padding:12px 0;border-bottom:1px solid var(--border);font-size:.85rem}
.infr-year{font-family:var(--mono);font-weight:700;color:var(--amber)}
.eppo-case-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin-top:20px}
.eppo-case{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:16px}
.eppo-case-amount{font-family:var(--mono);font-size:1.1rem;font-weight:800;color:var(--red)}
.eppo-case-desc{font-size:.82rem;color:var(--text-dim);margin-top:4px;line-height:1.5}
@media(max-width:768px){.eppo-case-grid{grid-template-columns:1fr}}
.destruct-tl{margin-top:24px}
.destruct-item{display:grid;grid-template-columns:100px 24px 1fr;gap:8px;padding:12px 0;border-bottom:1px solid var(--border);font-size:.85rem;align-items:start}
.destruct-dot{width:12px;height:12px;border-radius:50%;margin-top:4px}
.destruct-date{font-family:var(--mono);font-weight:700;font-size:.8rem}
.demo-pyramid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:24px}
.demo-card{padding:18px;background:var(--surface);border:1px solid var(--border);border-radius:10px;text-align:center}
.demo-big{font-family:var(--mono);font-size:1.6rem;font-weight:900;line-height:1}
.demo-label{font-size:.78rem;color:var(--text-dim);margin-top:6px;line-height:1.4}
@media(max-width:768px){.demo-pyramid{grid-template-columns:1fr}}
.roma-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:24px}
.roma-card{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:18px}
.roma-stat{font-family:var(--mono);font-size:1.5rem;font-weight:900;line-height:1}
.roma-desc{font-size:.78rem;color:var(--text-dim);margin-top:6px;line-height:1.4}
@media(max-width:768px){.roma-grid{grid-template-columns:1fr}}
.compare-scoreboard{width:100%;border-collapse:collapse;margin-top:24px;font-size:.82rem}
.compare-scoreboard th{padding:10px 8px;font-size:.7rem;text-transform:uppercase;letter-spacing:.5px;color:var(--text-dim);border-bottom:2px solid var(--border);background:var(--surface);text-align:center}
.compare-scoreboard td{padding:10px 8px;border-bottom:1px solid var(--border);text-align:center}
.compare-scoreboard td:first-child{text-align:left;font-weight:600}
.compare-scoreboard tr:hover{background:var(--surface)}
.compare-best{color:var(--green);font-weight:700}
.compare-worst{color:var(--red);font-weight:700}
.compare-mid{color:var(--amber)}
.infra-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin-top:24px}
.infra-card{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:18px}
.infra-icon{font-size:1.4rem;margin-bottom:8px}
.infra-title{font-size:.9rem;font-weight:700;color:var(--text-bright);margin-bottom:6px}
.infra-stat{font-family:var(--mono);font-size:1.3rem;font-weight:900;line-height:1;margin-bottom:4px}
.infra-sub{font-size:.78rem;color:var(--text-dim);line-height:1.4}
@media(max-width:768px){.infra-grid{grid-template-columns:1fr}}
.priv-flow{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}
.priv-chip{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:10px 14px;flex:1 1 200px}
.priv-chip-val{font-family:var(--mono);font-size:1.1rem;font-weight:900;color:var(--amber)}
.priv-chip-lbl{font-size:.76rem;color:var(--text-dim);margin-top:4px}
.disinfo-meter{height:18px;border-radius:4px;margin-top:6px;background:var(--surface-2)}
.disinfo-fill{height:100%;border-radius:4px;transition:width .6s}
.diaspora-tbl{width:100%;border-collapse:collapse;font-size:.82rem;margin-top:18px}
.diaspora-tbl th{background:var(--surface);color:var(--text-dim);padding:10px;text-align:left;font-weight:600;border-bottom:2px solid var(--border)}
.diaspora-tbl td{padding:10px;border-bottom:1px solid var(--border)}
.diaspora-tbl tr:hover{background:var(--surface)}
.mp-gen{margin-top:24px;padding:24px;background:var(--surface);border:1px solid var(--border);border-radius:12px}
.mp-select{padding:10px 14px;background:var(--surface-2);border:1px solid var(--border);border-radius:8px;color:var(--text);font-size:.9rem;font-family:inherit;width:100%;max-width:320px;cursor:pointer;outline:none}
.mp-email{background:var(--bg);border:1px solid var(--border);border-radius:8px;padding:16px;font-size:.8rem;color:var(--text-dim);line-height:1.6;white-space:pre-wrap;margin-top:12px;max-height:280px;overflow-y:auto}
.reform-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:28px 0}
.reform-stat{text-align:center;padding:18px 12px;background:var(--surface);border:1px solid var(--border);border-radius:12px;position:relative;overflow:hidden}
.reform-stat::before{content:'';position:absolute;top:0;left:0;right:0;height:3px}
.reform-stat:nth-child(1)::before{background:var(--red)}
.reform-stat:nth-child(2)::before{background:var(--blue)}
.reform-stat:nth-child(3)::before{background:var(--green)}
.reform-stat:nth-child(4)::before{background:var(--amber)}
.reform-stat-num{font-family:var(--mono);font-size:clamp(1.6rem,3vw,2.2rem);font-weight:900;line-height:1}
.reform-stat-lbl{font-size:.72rem;color:var(--text-dim);margin-top:6px;line-height:1.3}
.reform-points{margin-top:16px}
.reform-point{margin-bottom:12px;border:1px solid var(--border);border-radius:12px;overflow:hidden;transition:border-color .3s,box-shadow .3s}
.reform-point:hover{border-color:var(--border-light)}
.reform-point.open{border-color:var(--red-dim);box-shadow:0 0 30px rgba(232,34,43,.06)}
.reform-head{display:grid;grid-template-columns:52px 1fr auto;align-items:center;gap:14px;padding:16px 20px;cursor:pointer;background:var(--surface);transition:background .2s}
.reform-head:hover{background:var(--surface-2)}
.reform-num{font-family:var(--mono);font-size:1.5rem;font-weight:900;color:var(--red);text-align:center;line-height:1}
.reform-title{font-size:.95rem;font-weight:700;color:var(--text-bright)}
.reform-title-sub{font-size:.76rem;color:var(--text-dim);margin-top:2px;line-height:1.3}
.reform-badges{display:flex;gap:6px;flex-wrap:wrap}
.reform-badge{font-size:.6rem;font-weight:700;padding:3px 8px;border-radius:10px;white-space:nowrap;text-transform:uppercase;letter-spacing:.5px}
.reform-badge.eu{background:rgba(37,99,235,.12);color:var(--blue);border:1px solid rgba(37,99,235,.25)}
.reform-badge.greco{background:rgba(139,92,246,.12);color:var(--purple);border:1px solid rgba(139,92,246,.25)}
.reform-badge.venice{background:rgba(249,115,22,.12);color:var(--orange);border:1px solid rgba(249,115,22,.25)}
.reform-badge.uncac{background:rgba(245,158,11,.12);color:var(--amber);border:1px solid rgba(245,158,11,.25)}
.reform-body{max-height:0;overflow:hidden;transition:max-height .4s ease,padding .3s}
.reform-point.open .reform-body{max-height:600px;padding:0 20px 20px 86px}
.reform-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.reform-cell{padding:14px;border-radius:10px}
.reform-cell.problem{background:rgba(232,34,43,.05);border:1px solid rgba(232,34,43,.12)}
.reform-cell.model{background:rgba(16,185,129,.05);border:1px solid rgba(16,185,129,.12)}
.reform-cell.proposal{background:rgba(37,99,235,.05);border:1px solid rgba(37,99,235,.12)}
.reform-cell-label{font-size:.62rem;font-weight:700;text-transform:uppercase;letter-spacing:1px;margin-bottom:6px}
.reform-cell.problem .reform-cell-label{color:var(--red)}
.reform-cell.model .reform-cell-label{color:var(--green)}
.reform-cell.proposal .reform-cell-label{color:var(--blue)}
.reform-cell p{font-size:.82rem;color:var(--text-dim);line-height:1.55}
.reform-cell strong{color:var(--text);font-weight:600}
.reform-savings{display:inline-flex;align-items:center;gap:6px;margin-top:12px;padding:7px 14px;background:rgba(16,185,129,.07);border:1px solid rgba(16,185,129,.18);border-radius:8px;font-size:.78rem;color:var(--green)}
.reform-savings strong{font-family:var(--mono);font-weight:800}
.reform-toggle{width:20px;height:20px;display:flex;align-items:center;justify-content:center;font-size:.8rem;color:var(--text-dim);transition:transform .3s}
.reform-point.open .reform-toggle{transform:rotate(180deg)}
.reform-total{margin-top:24px;padding:20px 24px;background:linear-gradient(135deg,rgba(16,185,129,.06),rgba(37,99,235,.06));border:1px solid rgba(16,185,129,.15);border-radius:12px;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:16px}
.reform-total-label{font-size:.9rem;color:var(--text)}
.reform-total-num{font-family:var(--mono);font-size:clamp(1.4rem,3vw,1.8rem);font-weight:900;color:var(--green)}
@media(max-width:768px){
    .reform-summary{grid-template-columns:repeat(2,1fr)}
    .reform-head{grid-template-columns:40px 1fr;gap:10px;padding:14px 16px}
    .reform-badges{display:none}
    .reform-point.open .reform-body{padding:0 16px 16px 56px;max-height:1200px}
    .reform-grid{grid-template-columns:1fr}
    .reform-total{flex-direction:column;text-align:center}
}
@media(max-width:480px){.reform-summary{grid-template-columns:1fr}}

.skip-link{position:absolute;top:-40px;left:0;background:var(--red);color:#fff;padding:8px 16px;z-index:200;font-weight:600;text-decoration:none;border-radius:0 0 8px 0;transition:top .2s}
.skip-link:focus{top:0}
:focus-visible{outline:2px solid var(--blue);outline-offset:2px;border-radius:4px}
.profile-card:focus-visible{outline:2px solid var(--blue);outline-offset:-2px}
.chapter-head:focus-visible{outline:2px solid var(--blue);outline-offset:-2px}
.freshness{display:inline-block;font-size:.65rem;color:var(--text-dim);background:var(--surface-2);padding:2px 8px;border-radius:4px;margin-left:8px;vertical-align:middle;font-weight:500;letter-spacing:.3px}
.cite-btn{display:inline-block;font-size:.65rem;color:var(--blue);background:none;border:1px solid var(--blue);padding:2px 8px;border-radius:4px;margin-left:6px;cursor:pointer;font-weight:600;opacity:.5;transition:opacity .2s;vertical-align:middle}
.cite-btn:hover{opacity:1}
.cite-toast{position:fixed;bottom:80px;left:50%;transform:translateX(-50%);background:var(--green);color:#fff;padding:10px 20px;border-radius:8px;font-size:.85rem;font-weight:600;z-index:200;opacity:0;transition:opacity .3s;pointer-events:none}
.cite-toast.show{opacity:1}
.story-mode{position:fixed;inset:0;z-index:300;background:var(--bg);overflow:hidden;display:none;flex-direction:column}
.story-mode.active{display:flex}
#story-slides{flex:1;position:relative;overflow:hidden}
.story-slide{display:flex;align-items:center;justify-content:center;padding:40px;text-align:center;opacity:0;position:absolute;inset:0;transition:opacity .5s}
.story-slide.current{opacity:1}
.story-nav{display:flex;justify-content:center;gap:16px;padding:16px;background:var(--surface)}
.story-close{position:fixed;top:16px;right:16px;z-index:301;background:var(--surface);border:1px solid var(--border);color:var(--text);width:40px;height:40px;border-radius:50%;font-size:1.2rem;cursor:pointer;display:none}
.story-mode.active~.story-close{display:block}
.story-progress{height:3px;background:var(--red);transition:width .3s;position:absolute;top:0;left:0}
.infog-btn{font-size:.65rem;color:var(--amber);background:none;border:1px solid var(--amber);padding:2px 8px;border-radius:4px;margin-left:6px;cursor:pointer;font-weight:600;opacity:.5;transition:opacity .2s;vertical-align:middle}
.infog-btn:hover{opacity:1}
.chapter{margin:0}
.chapter-head{display:flex;align-items:center;justify-content:space-between;padding:18px 24px;cursor:pointer;background:var(--surface);border:1px solid var(--border);border-radius:12px;margin:8px 24px;transition:background .2s,border-color .2s,box-shadow .2s;max-width:1108px;margin-left:auto;margin-right:auto}
.chapter-head:hover{background:var(--surface-2);border-color:var(--border-light);box-shadow:0 4px 16px rgba(0,0,0,.15)}
.chapter-title{font-size:1.1rem;font-weight:700;color:var(--text-bright);letter-spacing:-.3px}
.chapter-count{font-size:.75rem;color:var(--text-dim);margin-left:12px}
.chapter-toggle{font-size:.85rem;color:var(--text-dim);transition:transform .3s}
.chapter.open .chapter-toggle{transform:rotate(180deg)}
.chapter-body{max-height:0;overflow:hidden;transition:max-height .5s cubic-bezier(.4,0,.2,1)}
.chapter.open .chapter-body{max-height:none;overflow:visible}
.chapter-fixed .chapter-head{display:none}
.chapter-fixed .chapter-body{max-height:none;overflow:visible}
.chapter.open .chapter-body section,.chapter-fixed .chapter-body section{content-visibility:auto;contain-intrinsic-size:auto 600px}

.dt-td{padding:6px 8px;border-bottom:1px solid #ddd}
.dt-th{padding:6px 8px;border-bottom:1px solid #ddd;font-weight:600}
.dt-red{color:#e8222b;font-weight:700}
.dt-tbl{width:100%;border-collapse:collapse;font-size:.82rem;margin-bottom:16px}
#print-one{display:none}
@media print{
    nav,.cookie-bar,.en-toggle,.theme-toggle,.pdf-btn,.btt-btn,.progress-bar,.dyk-toast,.tl-share,.sc-trigger,.hero-cta,.case-search-wrap,.nl-form,.era-filters,.net-canvas,.share-overlay,.mp-gen,.quiz-box,.compare-slider,.share-btns,.anchor-link,.share-sec,.search-wrap,.mobile-nav,.story-mode,.story-close,.profile-social,.prof-tag,.calc-box,.compare-section,.qr-section,.salary-calc,.vote-matrix-wrap,.rp-bar,.spy-dots,.bm-trigger,.bm-panel,.region-badge,.region-modal,.tour-start-btn,.tour-overlay,.achiev-toast,.kb-modal,.cite-toast,.section-share-toast{display:none!important}
    body{background:#fff;color:#111;font-size:11pt;line-height:1.5}
    *{box-shadow:none!important;text-shadow:none!important;transition:none!important;animation:none!important}
    a{color:#111;text-decoration:underline}
    a[href^="http"]::after{content:" (" attr(href) ")";font-size:.7em;color:#666;word-break:break-all}
    section{padding:16px 0;content-visibility:visible!important}
    .fade-in,.fade-in-left{opacity:1!important;transform:none!important}
    .tl-item{page-break-inside:avoid}
    .section-title{color:#111;font-size:1.4em}
    .section-label{color:#c00}
    .metric-card,.sector-card,.ally-card,.action-card,.pribeh-card,.volby-party,.cf-item,.loc-card,.asset-card,.collapse-card,.media-card,.eppo-case,.reform-point,.kde-card,.rank-card,.leg-item,.sl-card,.hl-card,.bzt-stat,.tdb-card,.ldiff-box,.prog-card,.sank-result,.kcal-item{border-color:#ddd;background:#f9f9f9;page-break-inside:avoid}
    .kauzy-tl,.obcianska-svg,.sank-select,.kcal-filter,.sl-filter,.tdb-filter,.bzt-sort,.prog-area-select,.ldiff-select,.siet-explorer{display:none!important}
    .metric-grid{grid-template-columns:repeat(2,1fr)!important}
    .profile-card{page-break-inside:avoid;border:1px solid #ddd;margin-bottom:8px;padding:12px}
    .profile-detail{max-height:none!important;overflow:visible!important}
    .reform-body{max-height:none!important;padding:0 20px 16px 86px!important;overflow:visible!important}
    .reform-toggle{display:none}
    .soe-table th{background:#f0f0f0}.soe-loss{color:#c00}
    .chapter-head{display:none!important}
    .chapter-body{max-height:none!important;overflow:visible!important}
    .hero{min-height:auto;padding:24px 0}
    .hero-map{max-width:200px}
    #print-one{display:block!important;page-break-before:always;padding:24px}
    @page{margin:1.5cm;size:A4}
}
/* Batch 6 — Data freshness badges */
.fresh-badge{display:inline-flex;align-items:center;gap:5px;font-size:.68rem;font-family:var(--mono);padding:3px 10px;border-radius:20px;vertical-align:middle;margin-left:8px}
.fresh-badge.fresh{background:rgba(16,185,129,.1);color:var(--green);border:1px solid rgba(16,185,129,.25)}
.fresh-badge.aging{background:rgba(245,158,11,.1);color:var(--amber);border:1px solid rgba(245,158,11,.25)}
.fresh-badge.stale{background:rgba(232,34,43,.1);color:var(--red);border:1px solid rgba(232,34,43,.25)}
.fresh-dot{width:6px;height:6px;border-radius:50%;display:inline-block}
.fresh .fresh-dot{background:var(--green)}
.aging .fresh-dot{background:var(--amber)}
.stale .fresh-dot{background:var(--red)}
/* Word cloud */
.wcloud-wrap{margin-top:24px;padding:28px;background:var(--surface);border:1px solid var(--border);border-radius:14px;text-align:center;min-height:180px;display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:6px 10px}
.wcloud-tag{display:inline-block;padding:4px 10px;border-radius:8px;cursor:default;transition:transform .2s,background .2s;line-height:1.3}
.wcloud-tag:hover{transform:scale(1.12);background:rgba(232,34,43,.1)}
/* Enhanced network detail popover */
.net-popover{position:absolute;z-index:20;background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:16px;width:260px;max-height:300px;overflow-y:auto;box-shadow:0 8px 32px rgba(0,0,0,.3);pointer-events:auto;opacity:0;transform:translateY(8px);transition:opacity .25s,transform .25s}
.net-popover.show{opacity:1;transform:translateY(0)}
.net-popover-name{font-size:1rem;font-weight:800;color:var(--text-bright);margin-bottom:4px}
.net-popover-role{font-size:.76rem;color:var(--text-dim);margin-bottom:10px}
.net-popover-links{font-size:.74rem;line-height:1.6}
.net-popover-link{display:flex;align-items:center;gap:6px;padding:3px 0}
.net-popover-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}
.net-popover-close{position:absolute;top:8px;right:10px;background:none;border:none;color:var(--text-dim);cursor:pointer;font-size:1rem;line-height:1}
/* Petition counter */
.petition-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:20px}
.petition-card{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:18px;text-align:center;transition:border-color .3s}
.petition-card:hover{border-color:var(--red-dim)}
.petition-icon{font-size:1.5rem;margin-bottom:8px}
.petition-name{font-size:.85rem;font-weight:700;color:var(--text-bright);margin-bottom:4px}
.petition-count{font-family:var(--mono);font-size:1.4rem;font-weight:900;color:var(--green);margin-bottom:4px}
.petition-goal{font-size:.72rem;color:var(--text-dim)}
.petition-bar{height:6px;background:var(--surface-2);border-radius:3px;margin-top:8px;overflow:hidden}
.petition-fill{height:100%;border-radius:3px;background:var(--green);transition:width .6s}
.petition-link{display:inline-block;margin-top:8px;font-size:.72rem;color:var(--blue);text-decoration:none;font-weight:600}
.petition-link:hover{text-decoration:underline}
@media(max-width:600px){.petition-grid{grid-template-columns:1fr}}
/* EU-27 scoreboard */
.eu27-wrap{margin-top:24px;overflow-x:auto;-webkit-overflow-scrolling:touch}
.eu27-tbl{width:100%;border-collapse:collapse;font-size:.72rem;min-width:700px}
.eu27-tbl th{background:var(--surface);color:var(--text-dim);padding:8px 6px;text-align:center;font-weight:700;border-bottom:2px solid var(--border);position:sticky;top:0;z-index:2}
.eu27-tbl th:first-child{text-align:left;min-width:90px}
.eu27-tbl td{padding:7px 6px;border-bottom:1px solid var(--border);text-align:center;font-family:var(--mono)}
.eu27-tbl td:first-child{text-align:left;font-weight:600;font-family:inherit}
.eu27-tbl tr:hover{background:var(--surface)}
.eu27-tbl tr.eu27-sk{background:rgba(232,34,43,.06);font-weight:700}
.eu27-tbl tr.eu27-sk td{color:var(--red)}
.eu27-tbl tr.eu27-sk td:first-child{color:var(--text-bright)}
.eu27-rank{font-size:.64rem;color:var(--text-dim);font-weight:400}
.eu27-best{color:var(--green)!important}
.eu27-worst{color:var(--red)!important}
.eu27-filter{display:flex;gap:8px;margin-bottom:12px;flex-wrap:wrap}
.eu27-fbtn{padding:4px 12px;border-radius:16px;font-size:.7rem;cursor:pointer;background:var(--surface);border:1px solid var(--border);color:var(--text-dim);transition:all .2s}
.eu27-fbtn.active{background:var(--red);color:#fff;border-color:var(--red)}
/* Batch 7 — Profile comparison */
.profcmp-wrap{margin-top:24px;padding:20px;background:var(--surface);border:1px solid var(--border);border-radius:14px}
.profcmp-selects{display:flex;gap:12px;margin-bottom:20px;flex-wrap:wrap}
.profcmp-sel{flex:1;min-width:200px;padding:10px 14px;background:var(--surface-2);border:1px solid var(--border);border-radius:8px;color:var(--text);font-size:.85rem;font-family:inherit;cursor:pointer;outline:none}
.profcmp-vs{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.profcmp-card{padding:16px;border-radius:10px;border:1px solid var(--border);background:var(--bg)}
.profcmp-name{font-size:1.05rem;font-weight:800;color:var(--text-bright);margin-bottom:2px}
.profcmp-role{font-size:.76rem;color:var(--text-dim);margin-bottom:12px}
.profcmp-row{display:flex;justify-content:space-between;padding:6px 0;border-bottom:1px solid var(--border);font-size:.8rem}
.profcmp-label{color:var(--text-dim)}
.profcmp-val{font-weight:700;color:var(--text-bright);font-family:var(--mono)}
.profcmp-better{color:var(--green)!important}
.profcmp-worse{color:var(--red)!important}
@media(max-width:600px){.profcmp-vs{grid-template-columns:1fr}}
/* Data export */
.export-bar{display:flex;gap:8px;margin-top:16px;flex-wrap:wrap}
.export-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border-radius:8px;font-size:.78rem;font-weight:700;cursor:pointer;border:1px solid var(--border);background:var(--surface);color:var(--text);transition:all .2s;font-family:inherit}
.export-btn:hover{border-color:var(--blue);color:var(--blue);background:rgba(37,99,235,.06)}
.export-btn svg{width:14px;height:14px}
/* Corruption type breakdown */
.ctype-wrap{margin-top:24px;display:grid;grid-template-columns:1fr 1fr;gap:20px}
.ctype-chart{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:18px}
.ctype-title{font-size:.88rem;font-weight:700;color:var(--text-bright);margin-bottom:14px}
.ctype-bar{display:flex;align-items:center;gap:8px;margin-bottom:8px;font-size:.76rem}
.ctype-lbl{width:80px;color:var(--text-dim);text-align:right;flex-shrink:0}
.ctype-fill-wrap{flex:1;height:18px;background:var(--surface-2);border-radius:4px;overflow:hidden}
.ctype-fill{height:100%;border-radius:4px;transition:width .6s}
.ctype-num{width:32px;font-family:var(--mono);font-weight:700;color:var(--text-bright);text-align:right;flex-shrink:0}
@media(max-width:600px){.ctype-wrap{grid-template-columns:1fr}}
/* Key figures aggregate */
.keyfig-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:20px}
.keyfig-card{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:16px;text-align:center;position:relative;overflow:hidden}
.keyfig-card::before{content:'';position:absolute;top:0;left:0;right:0;height:3px}
.keyfig-card:nth-child(1)::before{background:var(--red)}
.keyfig-card:nth-child(2)::before{background:var(--amber)}
.keyfig-card:nth-child(3)::before{background:var(--green)}
.keyfig-card:nth-child(4)::before{background:var(--blue)}
.keyfig-card:nth-child(5)::before{background:var(--purple)}
.keyfig-card:nth-child(6)::before{background:var(--orange)}
.keyfig-num{font-family:var(--mono);font-size:1.5rem;font-weight:900;line-height:1}
.keyfig-lbl{font-size:.72rem;color:var(--text-dim);margin-top:6px;line-height:1.3}
@media(max-width:768px){.keyfig-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:480px){.keyfig-grid{grid-template-columns:1fr}}
/* Guided tour */
.tour-overlay{position:fixed;top:0;left:0;right:0;bottom:0;z-index:9998;pointer-events:none;transition:opacity .3s}
.tour-overlay.active{pointer-events:auto}
.tour-highlight{position:absolute;z-index:9999;border-radius:8px;transition:all .4s ease;display:none}
.tour-overlay.active .tour-highlight{display:block;box-shadow:0 0 0 9999px rgba(0,0,0,.55)}
.tour-tooltip{position:absolute;z-index:10000;background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:18px;width:320px;max-width:90vw;box-shadow:0 8px 40px rgba(0,0,0,.4);display:none}
.tour-overlay.active .tour-tooltip{display:block}
.tour-tooltip-title{font-size:.95rem;font-weight:800;color:var(--text-bright);margin-bottom:6px}
.tour-tooltip-text{font-size:.8rem;color:var(--text-dim);line-height:1.5;margin-bottom:14px}
.tour-tooltip-footer{display:flex;justify-content:space-between;align-items:center}
.tour-tooltip-step{font-size:.7rem;color:var(--text-dim);font-family:var(--mono)}
.tour-tooltip-btns{display:flex;gap:8px}
.tour-btn{padding:6px 14px;border-radius:6px;font-size:.78rem;font-weight:600;cursor:pointer;border:none;font-family:inherit;transition:all .2s}
.tour-btn-skip{background:transparent;color:var(--text-dim)}
.tour-btn-skip:hover{color:var(--text)}
.tour-btn-next{background:var(--red);color:#fff}
.tour-btn-next:hover{filter:brightness(1.15)}
.tour-start-btn{position:fixed;bottom:200px;right:20px;z-index:90;background:var(--surface);border:1px solid var(--border);border-radius:50%;width:44px;height:44px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:1.2rem;box-shadow:0 4px 16px rgba(0,0,0,.2);transition:all .2s}
.tour-start-btn:hover{border-color:var(--red);transform:scale(1.1)}
@media(max-width:768px){.tour-start-btn{bottom:160px;right:12px;width:44px;height:44px;font-size:1rem}}
/* Mobile: cookie bar above mobile nav */
@media(max-width:768px){.cookie-bar{bottom:56px!important}}
/* Mobile: inline 3-col and 2-col grid overrides */
@media(max-width:600px){[style*="grid-template-columns:repeat(3"]{grid-template-columns:1fr!important}[style*="grid-template-columns:1fr 1fr"]{grid-template-columns:1fr!important}[style*="grid-template-columns:repeat(2"]{grid-template-columns:1fr!important}}
@media(max-width:768px){.dyk-toast{bottom:140px}}
/* Batch 8 — Party funding */
.pfund-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:20px}
.pfund-card{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:16px;position:relative;overflow:hidden}
.pfund-card::before{content:'';position:absolute;top:0;left:0;right:0;height:3px}
.pfund-name{font-size:.9rem;font-weight:800;color:var(--text-bright);margin-bottom:2px}
.pfund-total{font-family:var(--mono);font-size:1.2rem;font-weight:900;margin-bottom:8px}
.pfund-row{display:flex;justify-content:space-between;font-size:.74rem;padding:3px 0;border-bottom:1px solid var(--border)}
.pfund-row:last-child{border:none}
.pfund-src{color:var(--text-dim)}.pfund-amt{font-family:var(--mono);font-weight:600;color:var(--text-bright)}
.pfund-flag{margin-top:8px;padding:6px 10px;border-radius:6px;font-size:.7rem;font-weight:600}
@media(max-width:768px){.pfund-grid{grid-template-columns:1fr}}
/* Regional cost */
.regcost-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:20px}
.regcost-card{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:14px;text-align:center}
.regcost-name{font-size:.72rem;color:var(--text-dim);margin-bottom:4px;text-transform:uppercase;letter-spacing:.5px}
.regcost-val{font-family:var(--mono);font-size:1.1rem;font-weight:900;color:var(--red)}
.regcost-pop{font-size:.65rem;color:var(--text-dim);margin-top:4px}
.regcost-bar{height:4px;background:var(--surface-2);border-radius:2px;margin-top:6px;overflow:hidden}
.regcost-fill{height:100%;background:var(--red);border-radius:2px}
@media(max-width:768px){.regcost-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:480px){.regcost-grid{grid-template-columns:1fr}}
/* Case timeline overlay */
.ctover-wrap{margin-top:24px;padding:20px;background:var(--surface);border:1px solid var(--border);border-radius:14px}
.ctover-selects{display:flex;gap:12px;margin-bottom:16px;flex-wrap:wrap}
.ctover-sel{flex:1;min-width:180px;padding:8px 12px;background:var(--surface-2);border:1px solid var(--border);border-radius:8px;color:var(--text);font-size:.82rem;font-family:inherit;cursor:pointer;outline:none}
.ctover-lanes{display:grid;grid-template-columns:1fr 1fr;gap:16px;min-height:60px}
.ctover-lane{border-left:3px solid var(--border);padding-left:14px}
.ctover-event{margin-bottom:10px;font-size:.78rem;line-height:1.4}
.ctover-year{font-family:var(--mono);font-weight:700;color:var(--text-bright);margin-right:6px}
@media(max-width:600px){.ctover-lanes{grid-template-columns:1fr}}
/* Scrollspy dots */
.spy-dots{position:fixed;right:18px;top:50%;transform:translateY(-50%);z-index:996;display:flex;flex-direction:column;gap:6px}
.spy-dot{width:8px;height:8px;border-radius:50%;background:var(--border);cursor:pointer;transition:all .2s;border:none;padding:8px;margin:-8px}
.spy-dot.active{background:var(--red);transform:scale(1.4)}
.spy-dot:hover{background:var(--text-dim)}
@media(max-width:768px){.spy-dots{display:none}}
/* Shareable stat cards */
.statcard-btn{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border-radius:6px;font-size:.65rem;cursor:pointer;background:var(--surface);border:1px solid var(--border);color:var(--text-dim);transition:all .2s;margin-left:8px;vertical-align:middle}
.statcard-btn:hover{border-color:var(--blue);color:var(--blue)}
/* Batch 9 — Dictionary tooltips */
.dict-term{border-bottom:1px dotted var(--text-dim);cursor:help;position:relative}
.dict-tip{position:absolute;bottom:calc(100% + 6px);left:50%;transform:translateX(-50%);background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:10px 14px;font-size:.74rem;color:var(--text-dim);line-height:1.5;width:260px;max-width:80vw;box-shadow:0 4px 20px rgba(0,0,0,.3);z-index:50;opacity:0;pointer-events:none;transition:opacity .2s}
.dict-term:hover .dict-tip,.dict-term:focus .dict-tip{opacity:1;pointer-events:auto}
.dict-tip strong{color:var(--text-bright)}
/* Before/after slider */
.ba-slider{position:relative;margin-top:20px;border-radius:12px;overflow:hidden;cursor:col-resize;touch-action:none;user-select:none}
.ba-layer{display:flex}
.ba-half{flex:1;padding:20px}
.ba-real{background:rgba(232,34,43,.06)}
.ba-alt{background:rgba(16,185,129,.06)}
.ba-handle{position:absolute;top:0;bottom:0;width:4px;background:var(--text-bright);z-index:5;cursor:col-resize}
.ba-handle::after{content:'⟺';position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background:var(--surface);border:1px solid var(--border);border-radius:50%;width:32px;height:32px;display:flex;align-items:center;justify-content:center;font-size:.8rem;color:var(--text-dim)}
.ba-label{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:1px;margin-bottom:10px}
.ba-row{font-size:.82rem;line-height:1.7;margin-bottom:4px}
.ba-val{font-family:var(--mono);font-weight:800}
@media(max-width:600px){.ba-half{padding:12px}.ba-row{font-size:.75rem}}
/* Case severity ranking */
.severity-list{margin-top:20px;counter-reset:sev}
.severity-item{display:grid;grid-template-columns:36px 1fr auto;gap:10px;align-items:center;padding:10px 14px;border-bottom:1px solid var(--border);transition:background .2s}
.severity-item:hover{background:var(--surface)}
.severity-rank{font-family:var(--mono);font-size:1.1rem;font-weight:900;color:var(--red);text-align:center}
.severity-name{font-size:.85rem;font-weight:600;color:var(--text-bright)}
.severity-sub{font-size:.7rem;color:var(--text-dim)}
.severity-amt{font-family:var(--mono);font-size:.9rem;font-weight:800;color:var(--amber);text-align:right;white-space:nowrap}
/* Profile power timeline */
.ptl-wrap{margin-top:24px;overflow-x:auto;-webkit-overflow-scrolling:touch}
.ptl-chart{min-width:600px;position:relative;padding:10px 0}
.ptl-row{display:flex;align-items:center;margin-bottom:6px}
.ptl-name{width:120px;font-size:.72rem;font-weight:600;color:var(--text-dim);text-align:right;padding-right:10px;flex-shrink:0}
.ptl-bar-wrap{flex:1;height:14px;position:relative;background:var(--surface-2);border-radius:3px}
.ptl-bar{position:absolute;height:100%;border-radius:3px;opacity:.8}
.ptl-bar:hover{opacity:1}
.ptl-axis{display:flex;justify-content:space-between;font-size:.58rem;color:var(--text-dim);font-family:var(--mono);padding-left:130px;margin-top:4px}
/* Summary stats bar */
.summary-bar{background:var(--surface);border-top:1px solid var(--border);padding:20px 0;margin-top:40px}
.summary-inner{max-width:1200px;margin:0 auto;padding:0 24px;display:flex;justify-content:space-around;flex-wrap:wrap;gap:16px;text-align:center}
.summary-stat{flex:1;min-width:100px}
.summary-val{font-family:var(--mono);font-size:1.3rem;font-weight:900;color:var(--red)}
.summary-lbl{font-size:.68rem;color:var(--text-dim);margin-top:2px}
@media(max-width:600px){.summary-inner{gap:10px}.summary-val{font-size:1rem}}
/* Batch 10 — Personal cost calculator */
.pcalc-wrap{margin-top:24px;padding:20px;background:var(--surface);border:1px solid var(--border);border-radius:14px}
.pcalc-input{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-bottom:16px}
.pcalc-field{padding:10px 14px;background:var(--surface-2);border:1px solid var(--border);border-radius:8px;color:var(--text);font-size:.9rem;font-family:var(--mono);width:160px;outline:none}
.pcalc-field:focus{border-color:var(--red)}
.pcalc-results{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.pcalc-card{text-align:center;padding:14px;border-radius:10px;background:var(--bg);border:1px solid var(--border)}
.pcalc-val{font-family:var(--mono);font-size:1.3rem;font-weight:900;color:var(--red)}
.pcalc-lbl{font-size:.7rem;color:var(--text-dim);margin-top:4px}
.pcalc-note{font-size:.72rem;color:var(--text-dim);margin-top:12px;line-height:1.5}
@media(max-width:480px){.pcalc-results{grid-template-columns:1fr}}
/* Case connection graph */
.cconn-wrap{margin-top:24px;padding:20px;background:var(--surface);border:1px solid var(--border);border-radius:14px}
.cconn-list{margin-top:12px}
.cconn-item{padding:10px 0;border-bottom:1px solid var(--border);font-size:.82rem}
.cconn-actor{font-weight:700;color:var(--text-bright);margin-bottom:4px}
.cconn-cases{display:flex;flex-wrap:wrap;gap:6px}
.cconn-chip{padding:3px 10px;border-radius:12px;font-size:.7rem;background:rgba(232,34,43,.08);border:1px solid var(--red-dim);color:var(--text)}
/* Achievements */
.achiev-toast{position:fixed;top:80px;right:50px;z-index:1050;background:var(--surface);border:1px solid var(--amber);border-radius:12px;padding:14px 18px;box-shadow:0 8px 32px rgba(0,0,0,.4);transform:translateX(120%);transition:transform .4s cubic-bezier(.4,0,.2,1);max-width:280px}
.achiev-toast.show{transform:translateX(0)}
.achiev-icon{font-size:1.5rem;margin-right:8px;vertical-align:middle}
.achiev-text{font-size:.82rem;color:var(--text-bright);font-weight:600}
.achiev-sub{font-size:.7rem;color:var(--text-dim);margin-top:4px}
@media(max-width:480px){.achiev-toast{right:10px;left:10px;max-width:none}}
/* Keyboard help modal */
.kb-modal{position:fixed;inset:0;z-index:10001;background:rgba(0,0,0,.7);display:none;align-items:center;justify-content:center;padding:20px}
.kb-modal.show{display:flex}
.kb-box{background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:24px;width:420px;max-width:90vw;max-height:80vh;overflow-y:auto;box-shadow:0 16px 64px rgba(0,0,0,.5)}
.kb-title{font-size:1.1rem;font-weight:800;color:var(--text-bright);margin-bottom:16px;display:flex;justify-content:space-between;align-items:center}
.kb-close{background:none;border:none;color:var(--text-dim);font-size:1.2rem;cursor:pointer}
.kb-row{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px solid var(--border);font-size:.82rem}
.kb-key{font-family:var(--mono);background:var(--surface-2);border:1px solid var(--border);border-radius:4px;padding:2px 8px;font-size:.75rem;color:var(--text-bright)}
.kb-desc{color:var(--text-dim)}
/* Print case card */
.print-case-sel{padding:8px 12px;background:var(--surface-2);border:1px solid var(--border);border-radius:8px;color:var(--text);font-size:.82rem;font-family:inherit;cursor:pointer;outline:none;margin-right:8px}
.print-case-btn{padding:8px 16px;border-radius:8px;font-size:.78rem;font-weight:700;cursor:pointer;border:1px solid var(--border);background:var(--surface);color:var(--text);transition:all .2s;font-family:inherit}
.print-case-btn:hover{border-color:var(--blue);color:var(--blue)}
/* ── Beztrestnosť ── */
.bzt-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:24px}
.bzt-stat{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:16px;text-align:center}
.bzt-stat-val{font-size:1.8rem;font-weight:900;color:var(--text-bright)}.bzt-stat-label{font-size:.72rem;color:var(--text-dim);margin-top:4px}
.bzt-sort{display:flex;gap:8px;margin-bottom:16px;flex-wrap:wrap}
.bzt-sort-btn{padding:6px 14px;border-radius:8px;font-size:.78rem;font-weight:600;cursor:pointer;border:1px solid var(--border);background:var(--surface);color:var(--text);transition:all .2s;font-family:inherit}
.bzt-sort-btn:hover,.bzt-sort-btn.active{border-color:var(--red);color:var(--red)}
.bzt-bar{display:flex;align-items:center;margin-bottom:6px;gap:8px}
.bzt-bar-name{width:160px;font-size:.72rem;color:var(--text-dim);text-align:right;flex-shrink:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.bzt-bar-track{flex:1;height:20px;background:var(--surface);border-radius:4px;overflow:hidden;position:relative}
.bzt-bar-fill{height:100%;border-radius:4px;transition:width .6s ease}
.bzt-bar-days{font-size:.68rem;color:var(--text-dim);width:90px;flex-shrink:0;text-align:left}
@media(max-width:768px){.bzt-stats{grid-template-columns:repeat(2,1fr)}.bzt-bar-name{width:100px}}
@media(max-width:480px){.bzt-stats{grid-template-columns:1fr}.bzt-bar{flex-wrap:wrap}.bzt-bar-name{width:100%;text-align:left}}
/* ── Sledovač sľubov ── */
.sl-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:24px}
.sl-stat{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:16px;text-align:center}
.sl-stat-val{font-size:1.8rem;font-weight:900}.sl-stat-label{font-size:.72rem;color:var(--text-dim);margin-top:4px}
.sl-filter{display:flex;gap:8px;margin-bottom:16px;flex-wrap:wrap}
.sl-filter-btn{padding:6px 14px;border-radius:8px;font-size:.78rem;font-weight:600;cursor:pointer;border:1px solid var(--border);background:var(--surface);color:var(--text);transition:all .2s;font-family:inherit}
.sl-filter-btn:hover,.sl-filter-btn.active{border-color:var(--amber);color:var(--amber)}
.sl-grid{display:grid;gap:12px}
.sl-card{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:16px;display:grid;grid-template-columns:40px 1fr;gap:12px;align-items:start}
.sl-icon{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.2rem;flex-shrink:0}
.sl-card-body{min-width:0}.sl-card-title{font-size:.88rem;font-weight:700;color:var(--text-bright);margin-bottom:4px}
.sl-card-meta{font-size:.72rem;color:var(--text-dim);margin-bottom:6px}
.sl-card-desc{font-size:.8rem;color:var(--text);line-height:1.6}
.sl-badge{display:inline-block;padding:2px 8px;border-radius:4px;font-size:.68rem;font-weight:700;margin-left:8px}
@media(max-width:768px){.sl-stats{grid-template-columns:repeat(2,1fr)}}
@media(max-width:480px){.sl-stats{grid-template-columns:1fr}.sl-card{grid-template-columns:1fr}}
/* ── Občiansky hlásič ── */
.hl-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}
.hl-card{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:20px;transition:border-color .2s}
.hl-card:hover{border-color:var(--blue)}
.hl-card-head{display:flex;align-items:center;gap:12px;margin-bottom:12px}
.hl-card-icon{width:44px;height:44px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:1.3rem;flex-shrink:0}
.hl-card-name{font-size:.92rem;font-weight:700;color:var(--text-bright)}
.hl-card-role{font-size:.72rem;color:var(--text-dim)}
.hl-card-desc{font-size:.8rem;color:var(--text);line-height:1.6;margin-bottom:12px}
.hl-card-btn{display:inline-block;padding:8px 20px;border-radius:8px;font-size:.78rem;font-weight:700;text-decoration:none;transition:all .2s;border:1px solid var(--blue);color:var(--blue);background:transparent}
.hl-card-btn:hover{background:var(--blue);color:#fff}
@media(max-width:768px){.hl-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:480px){.hl-grid{grid-template-columns:1fr}}
/* ── Legislatívny diff ── */
.ldiff-select{display:flex;gap:8px;margin-bottom:20px;flex-wrap:wrap}
.ldiff-tab{padding:8px 16px;border-radius:8px;font-size:.8rem;font-weight:600;cursor:pointer;border:1px solid var(--border);background:var(--surface);color:var(--text);transition:all .2s;font-family:inherit}
.ldiff-tab:hover,.ldiff-tab.active{border-color:var(--red);color:var(--red)}
.ldiff-box{background:var(--surface);border:1px solid var(--border);border-radius:12px;overflow:hidden}
.ldiff-head{padding:16px 20px;border-bottom:1px solid var(--border)}
.ldiff-title{font-size:1rem;font-weight:700;color:var(--text-bright);margin-bottom:4px}
.ldiff-meta{font-size:.72rem;color:var(--text-dim)}
.ldiff-cols{display:grid;grid-template-columns:1fr 1fr;min-height:200px}
.ldiff-col{padding:16px 20px;font-size:.82rem;line-height:1.8;color:var(--text)}
.ldiff-col-before{border-right:1px solid var(--border);background:rgba(232,34,43,.03)}
.ldiff-col-after{background:rgba(16,185,129,.03)}
.ldiff-col-label{font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;margin-bottom:8px;color:var(--text-dim)}
.ldiff-del{background:rgba(232,34,43,.15);text-decoration:line-through;color:var(--red);padding:1px 3px;border-radius:3px}
.ldiff-add{background:rgba(16,185,129,.15);color:var(--green);padding:1px 3px;border-radius:3px}
.ldiff-impact{padding:16px 20px;border-top:1px solid var(--border);font-size:.82rem;color:var(--text);line-height:1.6}
@media(max-width:768px){.ldiff-cols{grid-template-columns:1fr}.ldiff-col-before{border-right:none;border-bottom:1px solid var(--border)}}
@media(max-width:480px){.ldiff-select{gap:4px}.ldiff-tab{padding:6px 10px;font-size:.72rem}}
/* ── Tlačová databáza ── */
.tdb-filter{display:flex;gap:8px;margin-bottom:16px;flex-wrap:wrap}
.tdb-filter-btn{padding:6px 14px;border-radius:8px;font-size:.78rem;font-weight:600;cursor:pointer;border:1px solid var(--border);background:var(--surface);color:var(--text);transition:all .2s;font-family:inherit}
.tdb-filter-btn:hover,.tdb-filter-btn.active{border-color:var(--blue);color:var(--blue)}
.tdb-grid{display:grid;gap:12px}
.tdb-card{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:16px;display:grid;grid-template-columns:48px 1fr;gap:12px;align-items:start;transition:border-color .2s}
.tdb-card:hover{border-color:var(--blue)}
.tdb-year{width:48px;height:48px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:.78rem;font-weight:900;color:var(--text-bright);background:var(--surface-2);flex-shrink:0}
.tdb-card-body{min-width:0}
.tdb-card-title{font-size:.88rem;font-weight:700;color:var(--text-bright);margin-bottom:4px}
.tdb-card-source{font-size:.72rem;color:var(--text-dim);margin-bottom:4px}
.tdb-card-desc{font-size:.8rem;color:var(--text);line-height:1.6}
.tdb-tag{display:inline-block;padding:2px 8px;border-radius:4px;font-size:.65rem;font-weight:600;margin-right:4px;margin-top:6px}
/* ── Sieť moci explorer ── */
.siet-explorer{margin-top:24px;background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:20px}
.siet-search{width:100%;padding:10px 16px;border-radius:8px;border:1px solid var(--border);background:var(--bg);color:var(--text);font-size:.85rem;font-family:inherit;outline:none;margin-bottom:16px}
.siet-search:focus{border-color:var(--blue)}
.siet-results{display:grid;gap:8px;max-height:400px;overflow-y:auto}
.siet-result{display:block;padding:10px 14px;background:var(--bg);border:1px solid var(--border);border-radius:8px;font-size:.82rem;cursor:pointer;transition:border-color .2s}
.siet-result:hover{border-color:var(--blue)}
.siet-result-name{font-weight:700;color:var(--text-bright)}
.siet-result-cases{font-size:.72rem;color:var(--text-dim)}
@media(max-width:768px){.tdb-card{grid-template-columns:40px 1fr;gap:10px}}
@media(max-width:480px){.tdb-card{grid-template-columns:1fr}.tdb-year{width:auto;height:auto;padding:4px 10px}.siet-search{font-size:.8rem}.siet-result{padding:8px 10px}.kcal-item{padding-left:16px}.kcal-era-label{padding-left:16px}.sank-header{flex-direction:column;align-items:flex-start}}
/* ── Korupčný kalendár ── */
.kcal-filter{display:flex;gap:8px;margin-bottom:20px;flex-wrap:wrap}
.kcal-filter-btn{padding:6px 14px;border-radius:8px;font-size:.78rem;font-weight:600;cursor:pointer;border:1px solid var(--border);background:var(--surface);color:var(--text);transition:all .2s;font-family:inherit}
.kcal-filter-btn:hover,.kcal-filter-btn.active{border-color:var(--red);color:var(--red)}
.kcal-timeline{position:relative;padding-left:24px}
.kcal-line{position:absolute;left:10px;top:0;bottom:0;width:2px;background:var(--border)}
.kcal-item{position:relative;margin-bottom:16px;padding-left:24px}
.kcal-dot{position:absolute;left:-18px;top:6px;width:12px;height:12px;border-radius:50%;border:2px solid var(--bg)}
.kcal-date{font-size:.72rem;font-weight:700;color:var(--text-dim);margin-bottom:2px}
.kcal-title{font-size:.88rem;font-weight:700;color:var(--text-bright);margin-bottom:2px}
.kcal-desc{font-size:.78rem;color:var(--text);line-height:1.5}
.kcal-era-label{font-size:.68rem;font-weight:800;text-transform:uppercase;letter-spacing:.1em;color:var(--text-dim);margin:20px 0 8px;padding-left:24px}
/* ── Simulátor sankčného zoznamu ── */
.sank-select{margin-bottom:20px}
.sank-sel{width:100%;padding:10px 16px;border-radius:8px;border:1px solid var(--border);background:var(--surface);color:var(--text);font-size:.85rem;font-family:inherit;cursor:pointer;outline:none}
.sank-sel:focus{border-color:var(--red)}
.sank-result{background:var(--surface);border:1px solid var(--border);border-radius:12px;overflow:hidden}
.sank-header{padding:20px;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px}
.sank-name{font-size:1.1rem;font-weight:800;color:var(--text-bright)}
.sank-score{font-size:1.4rem;font-weight:900;padding:4px 16px;border-radius:8px}
.sank-criteria{padding:16px 20px}
.sank-crit{display:flex;justify-content:space-between;align-items:center;padding:10px 0;border-bottom:1px solid var(--border);font-size:.82rem}
.sank-crit:last-child{border-bottom:none}
.sank-crit-name{color:var(--text)}
.sank-crit-val{font-weight:700;width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.72rem}
.sank-verdict{padding:16px 20px;border-top:1px solid var(--border);font-size:.88rem;line-height:1.6}
/* ── Porovnávač volebných programov ── */
.prog-area-select{display:flex;gap:8px;margin-bottom:20px;flex-wrap:wrap}
.prog-area-btn{padding:6px 14px;border-radius:8px;font-size:.78rem;font-weight:600;cursor:pointer;border:1px solid var(--border);background:var(--surface);color:var(--text);transition:all .2s;font-family:inherit}
.prog-area-btn:hover,.prog-area-btn.active{border-color:var(--blue);color:var(--blue)}
.prog-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px}
.prog-card{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:16px}
.prog-party{font-size:.92rem;font-weight:800;color:var(--text-bright);margin-bottom:4px}
.prog-rating{display:flex;gap:2px;margin-bottom:8px}
.prog-star{width:16px;height:16px;border-radius:50%}
.prog-text{font-size:.8rem;color:var(--text);line-height:1.6}
.prog-reality{font-size:.78rem;color:var(--text-dim);margin-top:8px;padding-top:8px;border-top:1px solid var(--border);font-style:italic}
@media(max-width:768px){.prog-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:480px){.prog-grid{grid-template-columns:1fr}}
