:root{--bg:#080d1c;--bg2:#0f1834;--surface:#111c3a;--surface-soft:#16264b;--line:#30497c;--text:#edf3ff;--muted:#aebfe0;--brand:#6d8cff;--brand2:#35d0b2;--ok:#34d399}
[data-theme="light"], html.theme-light{--bg:#f2f6ff;--bg2:#e9f1ff;--surface:#ffffff;--surface-soft:#f5f8ff;--line:#c8d8f4;--text:#14213d;--muted:#4f6489;--brand:#365ccf;--brand2:#1ea78e;--ok:#1f9d62}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;padding-top:70px;font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;color:var(--text);background:radial-gradient(1000px 480px at 20% -10%,#274687 0%,transparent 55%),radial-gradient(900px 420px at 100% 0%,#3d2a76 0%,transparent 50%),linear-gradient(180deg,var(--bg),var(--bg2));line-height:1.55;transition:background .25s ease,color .25s ease}
a{color:inherit}
a:focus-visible,button:focus-visible,input:focus-visible{outline:2px solid var(--brand2);outline-offset:2px;border-radius:8px}
.skip-link{position:fixed;left:10px;top:-40px;background:#000;color:#fff;padding:8px 12px;border-radius:8px;z-index:2000;text-decoration:none}
.skip-link:focus{top:10px}
.net-banner{position:fixed;top:0;left:0;right:0;z-index:1500;background:#f59e0b;color:#111;padding:7px 12px;text-align:center;font-weight:700}
[data-theme="light"] body,
body.theme-light{background:radial-gradient(900px 420px at 20% -10%,#dbe7ff 0%,transparent 55%),radial-gradient(820px 380px at 100% 0%,#ecdefd 0%,transparent 50%),linear-gradient(180deg,var(--bg),var(--bg2))}
.wrap{max-width:1120px;margin:0 auto;padding:0 20px}

.topbar{position:fixed;left:0;right:0;top:0;z-index:999;background:rgba(9,15,31,.85);background:color-mix(in srgb,var(--surface) 82%, transparent);backdrop-filter:blur(10px) saturate(130%);border-bottom:1px solid var(--line)}
.topbar.scrolled{box-shadow:0 8px 20px rgba(0,0,0,.22)}
.topbar-inner{height:92px;display:flex;align-items:center;justify-content:space-between;gap:14px;position:relative}
.brand{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;padding:0;line-height:1;min-height:82px}
.brand img{height:82px;max-width:860px;width:auto;display:block;object-fit:contain;object-position:center;transform:translateY(0);filter:none;transition:filter .2s ease}
.menu-toggle{display:none;border:1px solid var(--line);background:var(--surface);color:var(--text);border-radius:10px;padding:8px 10px;cursor:pointer;font-weight:700}
[data-theme="dark"] .brand img, html.theme-dark .brand img, body.theme-dark .brand img{filter:none}
[data-theme="light"] .brand img, html.theme-light .brand img, body.theme-light .brand img{filter:none}
.menu{display:flex;gap:7px;flex-wrap:wrap;align-items:center}
.menu a{color:var(--text);text-decoration:none;padding:8px 11px;border-radius:10px;white-space:nowrap;font-weight:600;letter-spacing:.01em}
.menu a:hover{background:var(--surface-soft)}

.hero{padding:56px 0 34px}
.hero-grid{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:24px;align-items:start}
.eyebrow{font-size:.78rem;text-transform:uppercase;letter-spacing:1.1px;color:#a6b8df;margin:0 0 10px}
h1{font-size:clamp(2.1rem,4.9vw,3.5rem);line-height:1.03;letter-spacing:-.025em;margin:0 0 12px}
.sub{color:var(--muted);font-size:1.05rem;max-width:740px;margin:0 0 18px}

.ip-card{background:linear-gradient(180deg,var(--surface),#0f1832);border:1px solid var(--line);border-radius:20px;padding:20px;box-shadow:0 20px 36px rgba(0,0,0,.28),inset 0 1px 0 rgba(255,255,255,.06)}
.ip-label{font-size:.75rem;letter-spacing:.85px;text-transform:uppercase;color:#a6b8df;margin-bottom:8px}
.ip-row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.ip-value{font-size:clamp(1.15rem,3.8vw,2.15rem);font-weight:800;word-break:break-all;text-shadow:0 0 20px rgba(139,173,255,.18)}
.copy-btn{border:1px solid #6f8fd7;border-radius:12px;background:linear-gradient(180deg,#3a5cab,#2f4c8f);padding:10px 14px;min-height:40px;color:#fff;font-weight:700;cursor:pointer;transition:transform .18s ease,filter .18s ease,box-shadow .18s ease;box-shadow:0 6px 16px rgba(0,0,0,.22)}
.copy-btn:hover{transform:translateY(-1px);filter:brightness(1.08)}
.copy-btn:active{transform:translateY(0) scale(.99)}

.status-row{margin-top:10px;display:flex;gap:8px;flex-wrap:wrap}
.pill{display:inline-block;padding:5px 10px;border-radius:999px;font-size:.84rem;background:#1b2d56;border:1px solid #43609a;color:#c8d7f2}
.pill.ok{background:#17483f;border-color:#2f7e6a;color:#c8fff0}

.cta-row{margin-top:13px;display:flex;gap:8px;flex-wrap:wrap}
.cta-row a{text-decoration:none;color:#e6f0ff;background:#1a2d57;border:1px solid #4666a9;border-radius:10px;padding:8px 11px;transition:background .2s ease,transform .2s ease}
.cta-row a:hover{background:#243b71;transform:translateY(-1px)}

.info-card{background:linear-gradient(180deg,var(--surface-soft),#12203f);border:1px solid #3d5f99;border-radius:20px;padding:18px;box-shadow:0 14px 26px rgba(0,0,0,.2)}
.info-card h3{margin:0 0 10px}
.info-card ul{padding-left:16px;margin:0 0 10px}
.info-card li{margin:8px 0}
.info-card hr{border:0;border-top:1px solid #3a5a92;margin:12px 0}
.small{font-size:.9rem;color:#bad0f2}
code{background:#20335f;border:1px solid #476cb0;border-radius:6px;padding:1px 6px}

.strip{border-top:1px solid #233960;border-bottom:1px solid #233960;background:linear-gradient(180deg,#0d1732,#0b142d)}
.strip-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;padding:14px 0}
.strip-grid div{background:#15264c;border:1px solid #38588f;border-radius:12px;padding:11px}
.strip-grid strong{display:block}
.strip-grid span{color:#abc0e5;font-size:.9rem}

.section{padding:36px 0}
.section h2{margin:0 0 14px;font-size:1.6rem;letter-spacing:-.01em}
.tool-head{display:flex;gap:10px;justify-content:space-between;align-items:center;margin-bottom:10px;flex-wrap:wrap}
.tool-search{min-width:260px;flex:1;max-width:520px;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:11px 13px;color:var(--text);box-shadow:inset 0 1px 0 rgba(255,255,255,.04)}
.filter-row{display:flex;gap:8px;flex-wrap:wrap;margin:6px 0 12px}
.filter-chip{background:var(--surface);color:var(--text);border:1px solid var(--line);border-radius:999px;padding:7px 13px;cursor:pointer;transition:.18s;min-height:36px;display:inline-flex;align-items:center;justify-content:center}
.filter-chip:hover{transform:translateY(-1px)}
.filter-chip.active{background:linear-gradient(180deg,#4f78f1,#3c5ece);color:#fff;border-color:#4f78f1;box-shadow:0 8px 16px rgba(79,120,241,.28)}
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:14px}
.featured-grid .card{border-color:#5c7fc7;background:linear-gradient(180deg,rgba(76,112,189,.14),rgba(76,112,189,.04));min-height:132px}
.featured-grid .card h3{font-size:1.03rem}
.card{text-decoration:none;color:inherit;background:linear-gradient(180deg,var(--surface-soft),color-mix(in srgb,var(--surface-soft) 70%, #0000));border:1px solid #3c5f99;border-radius:16px;padding:16px;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}
.card:hover{transform:translateY(-4px);box-shadow:0 14px 24px rgba(0,0,0,.26);border-color:#6d93df}
.card h3{margin:0 0 7px}
.card p{margin:0;color:var(--muted)}
/* UI polish 1/3: consistent badge/icon rail alignment */
.card .tool-icon,.card .mini-badge,.card .premium-badge{vertical-align:middle}
.card .tool-icon{margin-right:8px}
.card .mini-badge{margin-right:6px}
.tool-icon{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border:1px solid var(--line);border-radius:8px;margin:0 10px 10px 0;font-size:16px;vertical-align:middle;transform:translateY(-1px)}
.card > .mini-badge,.card > .premium-badge{display:inline-flex;align-items:center;vertical-align:middle;margin-bottom:10px}
.card > .mini-badge{margin-right:6px}
.card.premium{border-color:#9b7b2f;background:linear-gradient(180deg, rgba(155,123,47,.10), rgba(155,123,47,.03));}
.premium-badge{display:inline-flex;font-size:10px;padding:1px 6px;border-radius:999px;background:#9b7b2f;color:#fff;margin:0 0 10px 0;letter-spacing:.2px;font-weight:600}
.beta-badge{display:inline-block;font-size:11px;padding:2px 8px;border-radius:999px;background:#6b7280;color:#fff;margin:4px 0 8px 0}
.unlock-btn{margin-top:8px;display:inline-flex;align-items:center;justify-content:center;font-size:12px;padding:8px 12px;min-height:36px;border:1px solid var(--line);border-radius:8px;text-decoration:none;color:var(--text)}
#premiumToolCards:empty::before{content:'Nog geen premium tools ingesteld';color:var(--muted)}
.cookie-banner{position:fixed;left:14px;right:14px;bottom:14px;z-index:2500;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:12px;box-shadow:0 12px 30px rgba(0,0,0,.3)}
.cookie-banner p{margin:0 0 10px 0;color:var(--muted);font-size:.92rem}
.cookie-actions{display:flex;gap:8px;flex-wrap:wrap}
.cookie-btn{border:1px solid var(--line);background:var(--surface-soft);color:var(--text);border-radius:8px;padding:8px 10px;cursor:pointer;font-weight:600}
.cookie-btn.primary{background:linear-gradient(180deg,#3a5cab,#2f4c8f);border-color:#6f8fd7;color:#fff}

#toolCards.arranging .card{cursor:grab;border-style:dashed;position:relative}
#toolCards.arranging .card.dragging{opacity:.45}
#toolCards.arranging .card.drag-over{outline:2px solid var(--brand2)}
.tool-move-controls{display:none;gap:6px;margin-top:8px}
#toolCards.arranging .tool-move-controls{display:flex}
.tool-move-btn{border:1px solid var(--line);background:var(--surface);color:var(--text);border-radius:8px;padding:4px 8px;cursor:pointer}

.footer{padding:28px 0;color:#9cb0d6;border-top:1px solid #223a63;background:color-mix(in srgb,var(--surface) 65%, transparent)}
.footer-links{display:flex;gap:12px;flex-wrap:wrap;margin-top:8px}
.footer-links a{color:var(--muted);text-decoration:none}
.footer-links a:hover{text-decoration:underline}
.back-top{position:fixed;right:16px;bottom:16px;border:1px solid var(--line);background:var(--surface);color:var(--text);padding:9px 11px;border-radius:999px;cursor:pointer;display:none;z-index:1200}
.back-top.show{display:block}
.mobile-actions{display:none;position:fixed;left:10px;right:10px;bottom:10px;z-index:1100;gap:8px}
.mobile-actions .copy-btn{flex:1;padding:11px 8px;box-shadow:0 10px 20px rgba(0,0,0,.25)}
.notice{font-size:.86rem;color:var(--muted);margin-top:8px}
.kbd{font-family:ui-monospace,monospace;background:var(--surface-soft);border:1px solid var(--line);padding:1px 6px;border-radius:6px}
.chip-row{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
.chip{font-size:.8rem;padding:4px 9px;border-radius:999px;background:var(--surface-soft);border:1px solid var(--line);color:var(--muted)}
.mini-badge{display:inline-block;font-size:.72rem;padding:2px 8px;border-radius:999px;background:#1ea78e22;border:1px solid #1ea78e66;color:#8ff5dd;margin-bottom:8px;margin-right:6px}
.saved-list a{display:block;color:var(--text);text-decoration:none;padding:4px 0;font-size:.9rem;word-break:break-all}
.saved-list a:hover{text-decoration:underline}
.faq details{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:11px 13px;margin:10px 0}
.faq summary{cursor:pointer;font-weight:700;list-style:none}
.faq summary::-webkit-details-marker{display:none}
.card{scroll-margin-top:90px}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

.theme-switch{display:inline-flex;align-items:center;gap:8px;color:var(--muted);font-size:.88rem}
.theme-switch input{position:absolute;opacity:0;pointer-events:none}
.theme-switch .slider{width:50px;height:28px;border-radius:999px;border:1px solid #5e78ad;background:#1a2b53;position:relative;cursor:pointer;transition:.2s}
.theme-switch .slider:before{content:"";position:absolute;left:3px;top:3px;width:20px;height:20px;border-radius:50%;background:#fff;transition:.2s}
.theme-switch input:checked + .slider{background:#d9e6ff;border-color:#90addf}
.theme-switch input:checked + .slider:before{transform:translateX(22px);background:#2d4ea2}

.tool-form{display:flex;gap:10px;flex-wrap:wrap;margin:14px 0}
.tool-form input{flex:1;min-width:250px;background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:10px 12px;color:var(--text)}
.tool-form button{border:1px solid #6f8fd7;border-radius:11px;background:linear-gradient(180deg,#3a5cab,#2f4c8f);padding:10px 14px;min-height:40px;color:#fff;font-weight:700;cursor:pointer}
.result-box{background:var(--surface-soft);border:1px solid var(--line);border-radius:12px;padding:12px;overflow:auto}
.panel{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:14px;box-shadow:0 10px 22px rgba(0,0,0,.12)}
.mission-strip{display:flex;gap:10px;align-items:center;flex-wrap:wrap;padding:10px 12px;background:linear-gradient(180deg,rgba(47,77,141,.28),rgba(47,77,141,.10));border-color:#4868a9}
.mission-strip strong{font-size:.9rem;margin-right:4px}
.mission-strip span{font-size:.82rem;padding:4px 8px;border:1px solid var(--line);border-radius:999px;background:var(--surface-soft)}
@media (max-width:740px){.mission-strip{gap:6px}.mission-strip span{font-size:.76rem;padding:3px 7px}}
.table{width:100%;border-collapse:collapse;font-size:.94rem}
.table th,.table td{border-bottom:1px solid var(--line);padding:8px;text-align:left;vertical-align:top}
/* UI polish 2/3: table readability on smaller screens */
@media (max-width:740px){
  .table{font-size:.86rem}
  .table th,.table td{padding:6px}
}

body.theme-light .ip-card,
[data-theme="light"] .ip-card{background:linear-gradient(180deg,#ffffff,#f6f9ff);border-color:#c9d9f4;box-shadow:0 12px 24px rgba(42,72,126,.12)}
body.theme-light .info-card,
[data-theme="light"] .info-card{background:linear-gradient(180deg,#ffffff,#f5f8ff);border-color:#c9d9f4}
body.theme-light .strip,
[data-theme="light"] .strip{background:#eef4ff;border-top:1px solid #c9d9f4;border-bottom:1px solid #c9d9f4}
body.theme-light .strip-grid div,
[data-theme="light"] .strip-grid div{background:#fff;border-color:#c9d9f4}
body.theme-light .menu a:hover,
[data-theme="light"] .menu a:hover{background:#e8f0ff}
body.theme-light .topbar,
[data-theme="light"] .topbar{background:rgba(255,255,255,.92);border-bottom:1px solid #c9d9f4}
body.theme-light .card,
[data-theme="light"] .card{background:#fff;border-color:#c9d9f4}
body.theme-light .copy-btn,
[data-theme="light"] .copy-btn{background:linear-gradient(180deg,#4f73de,#3c5ec3)}

/* Light mode readability fixes for API docs/code blocks */
body.theme-light code,
[data-theme="light"] code{background:#eef3ff;border-color:#c9d9f4;color:#1a2b52}

body.theme-light pre,
[data-theme="light"] pre{color:#1a2b52}

body.theme-light .result-box,
[data-theme="light"] .result-box{background:#f8fbff;border-color:#c9d9f4;color:#1a2b52}

@media (max-width:980px){
  .hero-grid{grid-template-columns:1fr}
  .info-card{order:2}
  .strip-grid{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:740px){
  body{padding-top:86px;padding-bottom:72px}
  .topbar-inner{height:auto;align-items:center;padding:10px 0;min-height:72px}
  .menu-toggle{display:inline-block}
  .menu{display:none;position:absolute;top:100%;left:0;right:0;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:8px;flex-direction:column;align-items:stretch;z-index:1200}
  .topbar-inner.nav-open .menu{display:flex}
  .menu a{padding:10px 12px}
  .brand img{height:56px;max-width:520px}
  .strip-grid{grid-template-columns:1fr}
  .mobile-actions{display:flex}
}