/* Laden Control Center v2. Black + cream (#FAEED8). No inline styles anywhere (CSP style-src 'self'). */
.cc-body{--cc-bg:#000;--cc-ink:#FAEED8;--cc-mut:#9a9a9a;--cc-line:#2a2a2a;--cc-soft:#141414;--cc-acc:#e8a14f;--cc-good:#3ad07a;--cc-bad:#ff6b5b;
  background:var(--cc-bg);color:var(--cc-ink);font-family:var(--font,Inter,system-ui,sans-serif);font-size:15px;line-height:1.45;margin:0}
.cc-body a{color:var(--cc-ink)}
.cc-body .wrap{width:min(1440px,94vw);margin:0 auto}
.cc-body .site-header{border-bottom:1px solid var(--cc-line);padding:.7rem 0}
.cc-body .header-bar{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}
.cc-body .brand-lockup{display:flex;align-items:center;gap:.7rem;text-decoration:none;color:var(--cc-ink)}
.cc-body .brand-slogan{letter-spacing:.18em;font-size:.8rem;font-weight:700}
.cc-top{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}
.cc-top form{margin:0}
.cc-lang{display:inline-flex;border:1px solid #444}
.cc-lang button{background:#000;color:#bbb;border:0;padding:.3rem .6rem;font:inherit;font-size:.8rem;cursor:pointer;letter-spacing:.08em}
.cc-lang button.on{background:var(--cc-ink);color:#000}
.cc-muted{color:var(--cc-mut);font-size:.85em;font-weight:400}
.cc-body .btn{display:inline-flex;align-items:center;gap:.4rem;background:#000;color:var(--cc-ink);border:1px solid #555;padding:.45rem .9rem;font:inherit;font-size:.88rem;cursor:pointer;border-radius:0;text-decoration:none;white-space:nowrap}
.cc-body .btn:hover{border-color:var(--cc-ink)}
.cc-body .btn:disabled{opacity:.35;cursor:default}
.cc-body .btn-primary{background:var(--cc-ink);color:#000;border-color:var(--cc-ink)}
.cc-body .btn-danger{border-color:#7a2a22;color:#ffb3a8}
.cc-body .btn-danger:hover{background:#3a0f0b;border-color:var(--cc-bad)}
.cc-body .btn-sm{padding:.15rem .5rem;font-size:.75rem}
/* gate + public opt-out page */
.cc-gate{min-height:70vh;display:grid;place-items:center}
.cc-gate-form{width:min(420px,92vw);display:grid;gap:.75rem;border:1px solid var(--cc-line);padding:2rem}
.cc-gate-form h1{font-size:1.4rem;margin:0 0 .5rem;letter-spacing:.04em;text-transform:uppercase}
.cc-gate-form label{font-size:.85rem;color:var(--cc-mut);text-transform:uppercase;letter-spacing:.08em}
.cc-gate-form input{background:#000;color:var(--cc-ink);border:1px solid #444;padding:.7rem .8rem;font:inherit;border-radius:0}
.cc-gate-form input:focus{outline:2px solid var(--cc-ink);outline-offset:1px}
.cc-msg{margin:0;color:var(--cc-ink);border-left:3px solid var(--cc-ink);padding-left:.6rem;font-size:.9rem}
/* layout */
.cc-main{padding:1.2rem 0 4rem;display:grid;gap:1.1rem}
.cc-bar{display:grid;gap:.7rem;position:sticky;top:0;z-index:5;background:rgba(0,0,0,.94);padding:.6rem 0;border-bottom:1px solid var(--cc-line)}
.cc-range{display:flex;flex-wrap:wrap;gap:.4rem;align-items:center}
.cc-range button{background:#000;color:#ddd;border:1px solid #444;padding:.4rem .8rem;font:inherit;font-size:.88rem;cursor:pointer;border-radius:0}
.cc-range button.on{background:var(--cc-ink);color:#000;border-color:var(--cc-ink)}
.cc-custom{display:inline-flex;gap:.35rem;align-items:center;margin-left:.4rem}
.cc-custom input,.cc-in{background:#000;color:var(--cc-ink);border:1px solid #444;padding:.38rem .55rem;font:inherit;font-size:.88rem;border-radius:0;color-scheme:dark}
.cc-in:focus,.cc-custom input:focus{outline:1px solid var(--cc-ink)}
.cc-flags{display:flex;flex-wrap:wrap;gap:1.1rem;align-items:center;font-size:.88rem}
.cc-flags label{display:inline-flex;gap:.35rem;align-items:center;cursor:pointer}
.cc-flags select.cc-sel{background:#000;color:var(--cc-ink);border:1px solid #555;font:inherit;font-size:.85rem;padding:.15rem .35rem;min-height:0}
.cc-note{border-left:3px solid var(--cc-ink);padding:.35rem .7rem;margin:0 0 1rem;color:var(--cc-ink);font-size:.85rem;background:var(--cc-soft)}
.cc-flags input[type=checkbox]{accent-color:#FAEED8;width:1rem;height:1rem;min-width:0;min-height:0;padding:0;margin:0;border:0;appearance:auto;-webkit-appearance:checkbox;flex:none}
.cc-live{margin-left:auto;color:var(--cc-mut)}
.cc-live b{color:var(--cc-ink);font-size:1.2em}
.cc-chips{display:flex;flex-wrap:wrap;gap:.4rem}
.cc-chips:empty{display:none}
.cc-chip{background:var(--cc-ink);color:#000;border:0;padding:.2rem .6rem;font:inherit;font-size:.8rem;cursor:pointer}
.cc-tabs{display:flex;flex-wrap:wrap;gap:0;border-bottom:1px solid var(--cc-line)}
.cc-tabs button{background:none;border:0;border-bottom:2px solid transparent;color:#bdb3a3;padding:.55rem .85rem;font:inherit;font-size:.86rem;letter-spacing:.06em;text-transform:uppercase;cursor:pointer}
.cc-tabs button:hover{color:var(--cc-ink)}
.cc-tabs button.on{color:var(--cc-ink);border-bottom-color:var(--cc-ink)}
.cc-pane{display:grid;gap:1.1rem;min-height:40vh}
.cc-pane[hidden],.cc-body [hidden]{display:none!important}
.cc-grid4{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:.9rem}
.cc-grid2{display:grid;grid-template-columns:repeat(auto-fit,minmax(420px,1fr));gap:1.1rem}
.cc-grid3{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.1rem}
.cc-card,.cc-stat{border:1px solid var(--cc-line);padding:1rem 1.1rem;min-width:0;background:#050505}
.cc-card h2{font-size:.9rem;text-transform:uppercase;letter-spacing:.08em;margin:0 0 .8rem;font-weight:700}
.cc-card h3,.cc-modal h3{font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;color:var(--cc-mut);margin:1.1rem 0 .5rem}
.cc-stat .k{font-size:.72rem;text-transform:uppercase;letter-spacing:.1em;color:var(--cc-mut)}
.cc-stat .v{font-size:1.9rem;font-weight:700;margin:.15rem 0;font-variant-numeric:tabular-nums}
.cc-stat .s{font-size:.78rem;color:var(--cc-mut)}
.cc-stat.ok .v{color:var(--cc-good)}.cc-stat.warn .v{color:var(--cc-bad)}
.cc-delta.good{color:var(--cc-good)}.cc-delta.bad{color:var(--cc-bad)}
.cc-empty{color:var(--cc-mut);font-size:.85rem;margin:.3rem 0}
.cc-loading{animation:ccfade 1.2s ease-in-out infinite alternate}
@keyframes ccfade{from{opacity:.35}to{opacity:1}}
/* bar lists */
.cc-list{list-style:none;margin:0;padding:0;display:grid;gap:.25rem}
.cc-list li{position:relative;display:flex;justify-content:space-between;gap:1rem;padding:.24rem .45rem;font-size:.86rem;min-width:0}
.cc-list li.click{cursor:pointer}
.cc-list li.click:hover .l{text-decoration:underline}
.cc-list li .bar{position:absolute;inset:0 auto 0 0;background:#1d1b17;z-index:0;border-left:2px solid #5c5547}
.cc-list li .l,.cc-list li .v{position:relative;z-index:1}
.cc-list li .l{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}
.cc-list li .v{flex:none;font-variant-numeric:tabular-nums;color:#e7dcc6}
.cc-funnel li .bar{background:#2c271f}
/* tables */
.cc-tw{overflow-x:auto;max-width:100%}
table.cc-t{width:100%;border-collapse:collapse;font-size:.84rem;font-variant-numeric:tabular-nums}
.cc-t th,.cc-t td{border-bottom:1px solid #1c1c1c;padding:.34rem .45rem;text-align:left;vertical-align:top;max-width:28rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cc-t th{color:var(--cc-mut);font-weight:500;text-transform:uppercase;font-size:.7rem;letter-spacing:.08em;position:sticky;top:0;background:#050505}
.cc-t .n{text-align:right}
.cc-t tr.click{cursor:pointer}
.cc-t tbody tr:hover td{background:#121110}
.cc-link{background:none;border:0;padding:0;color:var(--cc-ink);font:inherit;cursor:pointer;text-decoration:underline;text-decoration-color:#5c5547;text-underline-offset:2px}
.cc-link:hover{text-decoration-color:var(--cc-ink)}
.cc-path{display:inline-flex;gap:.35rem;align-items:baseline;max-width:100%;min-width:0}
.cc-path>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cc-ext{color:var(--cc-mut)!important;text-decoration:none;font-size:.8em}
.cc-ext-text{text-decoration:none;border-bottom:1px dotted #5c5547;overflow:hidden;text-overflow:ellipsis}
.cc-flag{font-family:"Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji",sans-serif}
.cc-hb{display:block;width:120px;height:.55rem;background:#141414}
.cc-hbar{display:block;height:100%}
.cc-hbar.l{background:#FAEED8}.cc-hbar.d{background:var(--cc-acc)}
/* charts */
.cc-chartwrap{width:100%}
.cc-svg{display:block;width:100%;height:auto;overflow:visible}
.cc-svg .grid{stroke:#222;stroke-width:1}
.cc-svg .ax{fill:#8a8478;font-size:11px;font-family:inherit}
.cc-svg .ln{fill:none;stroke-width:2;stroke-linejoin:round;stroke-linecap:round}
.cc-svg .ln.s1{stroke:#FAEED8}.cc-svg .ln.s2{stroke:var(--cc-acc)}.cc-svg .ln.s3{stroke:#6d6a64}
.cc-svg .ln.dash{stroke-dasharray:5 4;stroke-width:1.5}
.cc-svg .area.s1{fill:#FAEED8;fill-opacity:.09}
.cc-svg .pt.s1{fill:#FAEED8}.cc-svg .pt.s2{fill:var(--cc-acc)}
.cc-svg .hit{fill:transparent;cursor:crosshair}
.cc-svg .hover{stroke:#FAEED8;stroke-opacity:.35}
.cc-svg .bar.s1{fill:#FAEED8}.cc-svg .bar.s2{fill:var(--cc-acc)}.cc-svg .bar.s3{fill:#5d574d}
.cc-svg .cell{fill:#FAEED8}.cc-svg .cell.z{fill:#121212}
.cc-legend{display:flex;flex-wrap:wrap;gap:1rem;font-size:.78rem;color:var(--cc-mut);margin-top:.45rem;align-items:center}
.cc-legend .lg{display:inline-flex;align-items:center;gap:.35rem}
.cc-legend .lg i{display:inline-block;width:14px;height:3px;background:#FAEED8}
.cc-legend .lg.s2 i{background:var(--cc-acc)}.cc-legend .lg.s3 i{background:#6d6a64}
.cc-legend .lg.dash i{background:none;border-top:2px dashed #6d6a64;height:0}
.cc-legend .lg.city i{width:9px;height:9px;border-radius:50%;background:var(--cc-acc)}
.cc-maplegend{gap:.25rem}
.cc-maplegend .sw{display:inline-block;width:22px;height:9px}
.cc-maplegend .lg{margin-left:1rem}
/* map */
.cc-map{width:100%}
.cc-world .ctry{stroke:#000;stroke-width:.35}
.cc-world .ctry.l0{fill:#171717}.cc-world .ctry.l1,.cc-maplegend .l1{fill:#3b362d;background:#3b362d}
.cc-world .ctry.l2,.cc-maplegend .l2{fill:#655c4d;background:#655c4d}.cc-world .ctry.l3,.cc-maplegend .l3{fill:#968a75;background:#968a75}
.cc-world .ctry.l4,.cc-maplegend .l4{fill:#c9bca3;background:#c9bca3}.cc-world .ctry.l5,.cc-maplegend .l5{fill:#FAEED8;background:#FAEED8}
.cc-world .ctry.has{cursor:pointer}
.cc-world .ctry:hover{stroke:#fff;stroke-width:.8}
.cc-world .city{fill:var(--cc-acc);fill-opacity:.85;stroke:#000;stroke-width:.6}
.cc-world .city:hover{fill:#fff}
.cc-attr{font-size:.78rem}
/* tooltip */
.cc-tip{position:fixed;z-index:1100;pointer-events:none;background:#FAEED8;color:#000;padding:.35rem .55rem;font-size:.78rem;white-space:pre-line;max-width:320px;box-shadow:0 4px 16px rgba(0,0,0,.6)}
/* live */
.cc-livebig{display:flex;align-items:center;gap:.6rem;font-size:1rem;flex-wrap:wrap}
.cc-livebig b{font-size:2.6rem;line-height:1}
.cc-pulse{width:.8rem;height:.8rem;border-radius:50%;background:var(--cc-good);box-shadow:0 0 0 0 rgba(58,208,122,.6);animation:ccpulse 1.8s infinite}
@keyframes ccpulse{0%{box-shadow:0 0 0 0 rgba(58,208,122,.55)}70%{box-shadow:0 0 0 12px rgba(58,208,122,0)}100%{box-shadow:0 0 0 0 rgba(58,208,122,0)}}
/* misc */
.cc-row{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;margin:.4rem 0}
.cc-grow{flex:1 1 280px;min-width:0}
.cc-pager{justify-content:center}
.cc-flow{list-style:none;margin:0;padding:0;display:grid;gap:.4rem;font-size:.82rem}
.cc-flow li{display:flex;flex-wrap:wrap;gap:.35rem;align-items:center;border-bottom:1px solid #1c1c1c;padding-bottom:.3rem}
.cc-flow code{background:#151515;padding:.05rem .35rem;color:#e7dcc6}
.cc-flow .arr{color:var(--cc-mut)}
.cc-flow b{margin-left:auto;font-variant-numeric:tabular-nums}
.cc-tag{display:inline-block;border:1px solid #555;padding:0 .45rem;font-size:.75rem;letter-spacing:.06em;text-transform:uppercase;color:var(--cc-mut)}
.cc-tag.on{background:var(--cc-ink);color:#000;border-color:var(--cc-ink)}
.cc-plain{list-style:none;margin:.3rem 0;padding:0;display:grid;gap:.3rem}
.cc-small{font-size:.75rem;color:var(--cc-mut);word-break:break-all}
.cc-body code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.88em}
.cc-dot{display:inline-block;width:.6rem;height:.6rem;border-radius:50%;margin-right:.45rem;background:#666}
.cc-dot.up{background:var(--cc-good)}.cc-dot.down{background:#ff4d4d}.cc-dot.pending{background:#f5c542}.cc-dot.maintenance{background:#5aa9ff}
#cc-err{min-height:1.2em;position:fixed;bottom:1rem;left:50%;transform:translateX(-50%);z-index:40;margin:0;background:#000;padding:0 .6rem}
#cc-err:empty{display:none}
.cc-foot{border-top:1px solid var(--cc-line);padding-top:.8rem}
.cc-foot a{color:var(--cc-mut)}
/* modal */
.cc-modal{position:fixed;inset:0;z-index:1000;background:rgba(0,0,0,.78);display:grid;place-items:start center;overflow-y:auto;padding:4vh 2vw}
.cc-modal[hidden]{display:none}
.cc-modal-box{position:relative;width:min(1100px,96vw);background:#070707;border:1px solid #3b362d;padding:1.4rem 1.5rem 2rem}
.cc-modal-box h2{margin:0 0 1rem;font-size:1.1rem;letter-spacing:.04em;padding-right:5rem;word-break:break-all}
.cc-close{position:absolute;top:1rem;right:1rem}
.cc-noscroll{overflow:hidden}
.cc-kv{display:grid;grid-template-columns:max-content 1fr;gap:.25rem 1.2rem;margin:0 0 .6rem;font-size:.88rem}
.cc-kv dt{color:var(--cc-mut);text-transform:uppercase;font-size:.72rem;letter-spacing:.08em;padding-top:.15rem}
.cc-kv dd{margin:0}
.cc-timeline{list-style:none;margin:0;padding:0 0 0 .8rem;border-left:1px solid #3b362d;display:grid;gap:.35rem;font-size:.84rem}
.cc-timeline li{display:flex;gap:.8rem;flex-wrap:wrap;position:relative}
.cc-timeline li::before{content:"";position:absolute;left:-1.08rem;top:.45rem;width:.45rem;height:.45rem;border-radius:50%;background:#FAEED8}
.cc-timeline li.ev-download::before{background:var(--cc-acc)}.cc-timeline li.ev-outbound::before{background:#5aa9ff}
.cc-timeline .tm{color:var(--cc-mut);font-variant-numeric:tabular-nums}
.cc-timeline .ty{text-transform:uppercase;font-size:.7rem;letter-spacing:.08em;color:var(--cc-mut);min-width:5.5rem;padding-top:.12rem}
.cc-timeline .pa{word-break:break-all}
@media (max-width:700px){
  .cc-grid2,.cc-grid3{grid-template-columns:1fr}
  .cc-live{margin-left:0;width:100%}
  .cc-bar{position:static}
  .cc-tabs{overflow-x:auto;flex-wrap:nowrap}
  .cc-custom{margin-left:0}
}
