:root{--bg:#f4f7fc;--bg2:#e8effa;--panel:rgba(255,255,255,0.84);--line:rgba(41,94,172,0.2);--text:#102035;--muted:#39506d;--brand:#2563eb;--brand2:#15803d;--max:1240px;--nav-bg:rgba(255,255,255,.84);--tile-bg:rgba(248,252,255,.94)}
    :root[data-theme='dark']{--bg:#060b16;--bg2:#102141;--panel:rgba(12,22,44,0.82);--line:rgba(122,175,246,0.28);--text:#ecf3ff;--muted:#b8caea;--nav-bg:rgba(5,10,20,.78);--tile-bg:rgba(8,16,30,.82)}
    *{box-sizing:border-box}
    html,body{margin:0;padding:0;color:var(--text);font-family:'Poppins',Arial,Helvetica,sans-serif;background:radial-gradient(circle at 15% 20%,var(--bg2) 0%,var(--bg) 52%),var(--bg);transition:background .25s ease,color .25s ease}
    a{text-decoration:none;color:inherit}
    #bg-canvas{position:fixed;inset:0;width:100%;height:100%;z-index:-1;opacity:.52;transition:opacity .25s ease}
    .container{width:min(var(--max),calc(100% - 2rem));margin:0 auto}
    .top-nav{position:sticky;top:0;z-index:30;background:var(--nav-bg);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
    .top-nav .container{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.82rem 0;flex-wrap:wrap}
    .brand{display:flex;align-items:center;gap:.72rem;font-weight:800}
    .brand img{width:56px;height:56px;filter:drop-shadow(0 6px 14px rgba(37,99,235,.3))}
    .brand-lines{line-height:1.02}
    .brand-lines b{display:block;font-size:1.07rem;font-weight:900;text-transform:uppercase;letter-spacing:.01em;background:linear-gradient(90deg,#16a34a,#22c55e);-webkit-background-clip:text;background-clip:text;color:transparent}
    .brand-lines i{display:block;font-style:normal;font-size:1.07rem;font-weight:900;text-transform:uppercase;letter-spacing:.01em;background:linear-gradient(90deg,#1d4ed8,#2563eb);-webkit-background-clip:text;background-clip:text;color:transparent}
    .brand-lines em{display:block;font-style:normal;font-size:.62rem;letter-spacing:.18em;color:var(--muted);font-weight:700}
    .nav-links{display:flex;flex-wrap:wrap;gap:.55rem}
    .nav-links a{border:1px solid transparent;border-radius:999px;padding:.4rem .82rem;font-size:.78rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:var(--text)}
    .nav-links a:hover{border-color:var(--line);background:rgba(114,181,255,.16)}
    .nav-tools{display:flex;gap:.45rem;align-items:center}
    .tool-btn{border:1px solid var(--line);background:rgba(114,181,255,.12);color:var(--text);border-radius:999px;padding:.42rem .72rem;font-size:.74rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em;cursor:pointer}
    .tool-btn:hover{background:rgba(114,181,255,.2)}
    .hero{padding:3.5rem 0 1.7rem}
    .hero-card{border:1px solid var(--line);border-radius:22px;padding:1.5rem 1.5rem 1.35rem;background:linear-gradient(145deg,rgba(13,24,45,.9),rgba(9,17,34,.64));box-shadow:0 20px 50px rgba(0,0,0,.35)}
    :root:not([data-theme='dark']) .hero-card{background:linear-gradient(145deg,rgba(244,249,255,.94),rgba(235,244,255,.86));box-shadow:0 16px 35px rgba(15,33,58,.14)}
    .breadcrumbs{font-size:.76rem;color:var(--muted);margin-bottom:.65rem}
    h1{font-size:clamp(1.8rem,3.2vw,2.8rem);margin:.1rem 0 .65rem}
    .lead{margin:0 0 1rem;color:var(--muted);line-height:1.6}
    .hero-actions{display:flex;gap:.55rem;flex-wrap:wrap;margin-top:.35rem}
    .hero-actions a{display:inline-flex;align-items:center;justify-content:center;padding:.56rem .95rem;border-radius:10px;font-weight:700;font-size:.84rem}
    .btn-primary{background:linear-gradient(90deg,#1d4ed8,#047857);color:#fff}
    .btn-secondary{border:1px solid var(--line);background:rgba(114,181,255,.12);color:#dfebff}
    .index-panel{margin:0 0 1rem;border:1px solid var(--line);border-radius:14px;padding:.8rem;background:rgba(7,14,28,.62)}
    .index-panel .panel-h{margin:0 0 .5rem;font-size:.88rem;color:#d7e8ff;text-transform:uppercase;letter-spacing:.08em}
    .index-chip{display:inline-flex;margin:.2rem .3rem .2rem 0;padding:.34rem .64rem;border-radius:999px;border:1px solid var(--line);background:rgba(114,181,255,.12);font-size:.76rem;color:#dce9ff}
    :root:not([data-theme='dark']) .index-chip{color:#113258;background:rgba(37,99,235,.08)}
    .index-chip:hover{border-color:#8ec1ff;background:rgba(114,181,255,.22)}
    .home-map{border:1px solid var(--line);border-radius:14px;padding:.8rem;background:var(--panel)}
    .home-map .panel-h{margin:0 0 .5rem;font-size:.88rem;color:var(--text);text-transform:uppercase;letter-spacing:.08em}
    .home-chip{display:inline-flex;margin:.2rem .3rem .2rem 0;padding:.34rem .64rem;border-radius:999px;border:1px solid var(--line);background:rgba(114,181,255,.12);font-size:.76rem;color:var(--text)}
    .tools-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.55rem}
    .tools-grid button{border:1px solid var(--line);border-radius:12px;background:var(--tile-bg);padding:.62rem .68rem;text-align:left;color:var(--text);font-weight:700;cursor:pointer}
    .tools-grid button span{display:block;margin-top:.25rem;font-size:.74rem;font-weight:500;color:var(--muted)}
    .checklist{list-style:none;padding:0;margin:.4rem 0 0}
    .checklist li{display:flex;gap:.45rem;align-items:center;color:var(--muted);margin:.34rem 0}
    .checklist input{accent-color:#2563eb}
    .mini-progress{height:8px;border:1px solid var(--line);border-radius:999px;overflow:hidden;background:rgba(120,164,230,.15);margin-top:.55rem}
    .mini-progress b{display:block;height:100%;width:0%;background:linear-gradient(90deg,#1d4ed8,#16a34a);transition:width .2s ease}
    .content-stack{display:grid;gap:1rem;padding-bottom:2.6rem}
    .content-card{border:1px solid var(--line);border-radius:16px;padding:1rem;background:var(--panel)}
    .content-card h2{margin:0 0 .55rem;font-size:1.18rem}
    .content-card p{margin:.45rem 0;color:var(--muted);line-height:1.7}
    .content-card ul{margin:.5rem 0 0;padding-left:1.1rem;color:var(--muted)}
    .content-card li{margin:.35rem 0}
    .section-actions{display:flex;gap:.45rem;flex-wrap:wrap;margin-top:.75rem}
    .section-actions a{font-size:.73rem;font-weight:700;border:1px solid var(--line);border-radius:999px;padding:.32rem .64rem;background:rgba(114,181,255,.12)}
    .cards-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.55rem;margin-top:.75rem}
    .tile{display:flex;flex-direction:column;gap:.35rem;border:1px solid rgba(141,185,245,.34);border-radius:12px;padding:.68rem;background:var(--tile-bg)}
    .tile strong{font-size:.9rem}
    .tile span{font-size:.8rem;color:var(--muted);line-height:1.5}
    .tile:hover{border-color:#b3d3ff}
    footer{border-top:1px solid rgba(136,176,231,.24);background:rgba(3,8,15,.68)}
    .foot-wrap{padding:1.2rem 0 .8rem;display:grid;grid-template-columns:1.2fr 1fr;gap:1rem;border-bottom:1px solid rgba(136,176,231,.24)}
    .foot-brand p{max-width:380px;color:var(--muted);font-size:.84rem}
    .foot-nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.7rem}
    .foot-nav h4{margin:0 0 .5rem;font-size:.73rem;text-transform:uppercase;letter-spacing:.12em;color:#dfebff}
    .foot-nav ul{list-style:none;padding:0;margin:0}
    .foot-nav li{margin:.3rem 0}
    .foot-nav a{font-size:.82rem;color:var(--muted)}
    .foot-nav a:hover{color:#fff}
    .foot-bottom{padding:.8rem 0 1.2rem;display:flex;justify-content:space-between;align-items:center;gap:.8rem;flex-wrap:wrap}
    .foot-bottom small{color:var(--muted)}
    .legal{display:flex;gap:.65rem;flex-wrap:wrap}
    .legal a{font-size:.78rem;color:var(--muted)}
    .legal a:hover{color:#fff}
    :root:not([data-theme='dark']) .legal a:hover{color:#1d4ed8}
    .reveal{opacity:0;transform:translateY(18px);transition:opacity .45s ease,transform .45s ease}
    .reveal.is-visible{opacity:1;transform:none}
    .toast{position:fixed;left:50%;bottom:74px;transform:translateX(-50%);background:var(--panel);border:1px solid var(--line);padding:.5rem .72rem;border-radius:999px;font-size:.76rem;font-weight:700;opacity:0;pointer-events:none;transition:opacity .2s ease;z-index:90}
    .toast.show{opacity:1}
    .progress-top{position:fixed;right:16px;bottom:18px;width:46px;height:46px;border-radius:999px;border:1px solid rgba(124,176,247,.42);display:grid;place-items:center;background:rgba(7,14,28,.85);color:#eaf2ff;z-index:50;cursor:pointer}
    :root:not([data-theme='dark']) .progress-top{background:rgba(255,255,255,.92);color:#12355e}
    .progress-top svg{position:absolute;inset:0;transform:rotate(-90deg)}
    .progress-top .ring-bg{stroke:rgba(124,176,247,.26);stroke-width:3;fill:none}
    .progress-top .ring{stroke:#7ab0ff;stroke-width:3;fill:none;stroke-linecap:round;stroke-dasharray:126;stroke-dashoffset:126;transition:stroke-dashoffset .14s linear}
    .progress-top:hover{border-color:#9ec8ff}
    @media (max-width:980px){.foot-wrap{grid-template-columns:1fr}.foot-nav{grid-template-columns:repeat(2,minmax(0,1fr))}}
    @media (max-width:740px){.container{width:min(var(--max),calc(100% - 1rem))}.brand img{width:44px;height:44px}.brand-lines b,.brand-lines i{font-size:.92rem}.brand-lines em{display:none}.nav-links a{font-size:.72rem;padding:.3rem .55rem}.foot-nav{grid-template-columns:1fr}.hero{padding:3rem 0 1.3rem}}
    /* New polish + components */
    html{scroll-behavior:smooth}
    @media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}}
    :focus-visible{outline:2px solid #7ab0ff;outline-offset:2px;border-radius:6px}
    .brand img{transition:transform .35s ease,filter .35s ease}
    .brand:hover img{transform:rotate(-6deg) scale(1.05);filter:drop-shadow(0 10px 22px rgba(37,99,235,.45))}
    .hero-meta{display:flex;flex-wrap:wrap;gap:.45rem;align-items:center;margin:.4rem 0 .7rem;font-size:.74rem;color:var(--muted)}
    .hero-meta .pill{border:1px solid var(--line);border-radius:999px;padding:.22rem .55rem;background:rgba(114,181,255,.1)}
    .hero-meta button{border:1px solid var(--line);background:rgba(114,181,255,.12);color:var(--text);border-radius:999px;padding:.24rem .6rem;font-size:.72rem;font-weight:700;cursor:pointer}
    .hero-meta button:hover{background:rgba(114,181,255,.22)}
    .hero-meta .star.on{background:linear-gradient(90deg,#facc15,#f59e0b);color:#1a1304;border-color:transparent}
    .tag-row{display:flex;flex-wrap:wrap;gap:.3rem;margin-top:.3rem}
    .tag{font-size:.68rem;color:var(--muted);background:rgba(114,181,255,.1);border:1px solid var(--line);border-radius:999px;padding:.16rem .5rem}
    .index-chip.active{background:linear-gradient(90deg,#1d4ed8,#16a34a);color:#fff;border-color:transparent}
    .tile{transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease}
    .tile:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(15,33,58,.18)}
    .widget-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:.55rem;margin:.4rem 0}
    .widget-row label,.widget-block{display:flex;flex-direction:column;gap:.28rem;font-size:.78rem;font-weight:700;color:var(--text);margin:.4rem 0}
    .widget-row select,.widget-row input,.widget-block input,.widget-block textarea,.widget-block select{font:inherit;padding:.5rem .6rem;border-radius:10px;border:1px solid var(--line);background:var(--tile-bg);color:var(--text)}
    .widget-pre{white-space:pre-wrap;background:var(--tile-bg);border:1px solid var(--line);border-radius:10px;padding:.6rem;font-size:.78rem;color:var(--text);max-height:220px;overflow:auto;margin:.5rem 0}
    .widget-actions{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.4rem}
    .widget-note{font-size:.78rem;color:var(--muted);margin:.4rem 0 0}
    .audit-list{list-style:none;padding:0;margin:.4rem 0}
    .audit-list li{margin:.3rem 0}
    .audit-list label{display:flex;gap:.5rem;align-items:center;color:var(--muted);font-weight:600;font-size:.84rem}
    .audit-list input{accent-color:#2563eb}
    .res-list{list-style:none;padding:0;margin:.5rem 0 0;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.45rem}
    .res-list a{display:flex;flex-direction:column;gap:.22rem;border:1px solid var(--line);border-radius:10px;padding:.55rem;background:var(--tile-bg)}
    .res-list a strong{font-size:.86rem}
    .res-list a span{font-size:.7rem;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}
    .res-list .empty{font-size:.8rem;color:var(--muted);grid-column:1/-1}
    .metric-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:.55rem;margin:.5rem 0}
    .metric{border:1px solid var(--line);border-radius:12px;padding:.7rem .8rem;background:var(--tile-bg);text-align:left}
    .metric .m-label{font-size:.72rem;color:var(--muted);text-transform:uppercase;letter-spacing:.08em;display:block}
    .metric .m-value{font-size:1.6rem;font-weight:900;background:linear-gradient(90deg,#1d4ed8,#16a34a);-webkit-background-clip:text;background-clip:text;color:transparent;display:block;margin-top:.15rem}
    /* Hub search */
    .hub-search{display:flex;gap:.45rem;flex-wrap:wrap;margin:.5rem 0 .8rem}
    .hub-search input{flex:1 1 220px;font:inherit;padding:.55rem .7rem;border-radius:10px;border:1px solid var(--line);background:var(--tile-bg);color:var(--text)}
    .hub-tag{font-size:.7rem;font-weight:700;border:1px solid var(--line);border-radius:999px;padding:.32rem .65rem;background:rgba(114,181,255,.1);color:var(--text);cursor:pointer}
    .hub-tag.on{background:linear-gradient(90deg,#1d4ed8,#16a34a);color:#fff;border-color:transparent}
    .tile.hidden{display:none}
    /* Newsletter */
    .news-form{display:flex;gap:.45rem;flex-wrap:wrap;margin-top:.5rem}
    .news-form input{flex:1 1 200px;font:inherit;padding:.5rem .6rem;border-radius:10px;border:1px solid var(--line);background:var(--tile-bg);color:var(--text)}
    .news-form button{font:inherit;padding:.5rem .8rem;border-radius:10px;border:0;cursor:pointer;background:linear-gradient(90deg,#1d4ed8,#047857);color:#fff;font-weight:800}
    /* Command palette */
    .cmd-overlay{position:fixed;inset:0;background:rgba(2,6,18,.55);backdrop-filter:blur(6px);display:none;z-index:120;align-items:flex-start;justify-content:center;padding:8vh 1rem}
    .cmd-overlay.show{display:flex}
    .cmd-panel{width:min(640px,100%);background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:.7rem;box-shadow:0 30px 80px rgba(0,0,0,.4)}
    .cmd-panel input{width:100%;font:inherit;padding:.6rem .75rem;border-radius:10px;border:1px solid var(--line);background:var(--tile-bg);color:var(--text)}
    .cmd-list{list-style:none;padding:0;margin:.55rem 0 0;max-height:48vh;overflow:auto}
    .cmd-list li{padding:.5rem .6rem;border-radius:8px;display:flex;justify-content:space-between;gap:.5rem;cursor:pointer;color:var(--text);font-size:.84rem}
    .cmd-list li:hover,.cmd-list li.active{background:rgba(114,181,255,.18)}
    .cmd-list .k{font-size:.66rem;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);align-self:center}
    .cmd-hint{font-size:.7rem;color:var(--muted);padding:.35rem .15rem 0;display:flex;justify-content:space-between}
    /* Density modes */
    body.cozy .content-card{padding:1.4rem}
    body.cozy .content-stack{gap:1.4rem}
    body.compact .content-card{padding:.65rem}
    body.compact .content-card p{line-height:1.45}
    body.compact .content-stack{gap:.6rem}
    body.compact .index-chip,body.compact .home-chip{padding:.24rem .5rem;font-size:.7rem}
