@font-face{font-family:Instrument Sans;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/dmarc-app/InstrumentSans-400.woff) format("woff")}@font-face{font-family:Instrument Sans;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/dmarc-app/InstrumentSans-500.woff) format("woff")}@font-face{font-family:Instrument Sans;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/dmarc-app/InstrumentSans-600.woff) format("woff")}@font-face{font-family:"Instrument Serif";font-style:italic;font-weight:400;font-display:swap;src:url(/fonts/dmarc-app/InstrumentSerif-400-italic.woff2) format("woff2")}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/JetBrainsMono-400.woff2) format("woff2")}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/JetBrainsMono-500.woff2) format("woff2")}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/JetBrainsMono-600.woff2) format("woff2")}:root[data-theme=light]{--bg:#faf8f3;--bg-grain:rgba(14,19,17,.022);--surface:#ffffff;--surface-2:#f4f1ea;--surface-3:#eae5d8;--border:#e1ddd1;--border-strong:#c9c3b3;--ink:#0e1311;--ink-soft:#5a605d;--ink-dim:#8a8f8c;--accent:#0d6e62;--accent-deep:#08453c;--accent-soft:#dceae6;--gold:#b8741a;--gold-soft:#f3e6d0;--success:#1f7a44;--success-soft:#d8ebde;--warn:#b8741a;--warn-soft:#f3e6d0;--danger:#a32b2b;--danger-soft:#f1d8d6;--info:#3a5f8a;--info-soft:#dbe5f0;--shadow-sm:0 1px 2px rgba(14,19,17,.04);--shadow:0 1px 3px rgba(14,19,17,.04), 0 8px 24px rgba(14,19,17,.06);--shadow-lg:0 4px 12px rgba(14,19,17,.06), 0 24px 60px rgba(14,19,17,.1)}:root[data-theme=dark]{--bg:#0a0d0c;--bg-grain:rgba(255,255,255,.012);--surface:#14181a;--surface-2:#1a1f22;--surface-3:#232a2e;--border:#262d30;--border-strong:#3a4347;--ink:#e8ebe7;--ink-soft:#8a918d;--ink-dim:#5a615d;--accent:#2dd4bf;--accent-deep:#14b8a6;--accent-soft:rgba(45,212,191,.12);--gold:#f5b34a;--gold-soft:rgba(245,179,74,.12);--success:#4ade80;--success-soft:rgba(74,222,128,.14);--warn:#fbbf24;--warn-soft:rgba(251,191,36,.14);--danger:#f87171;--danger-soft:rgba(248,113,113,.14);--info:#7eb6ff;--info-soft:rgba(126,182,255,.14);--shadow-sm:0 1px 2px rgba(0,0,0,.5);--shadow:0 2px 6px rgba(0,0,0,.4), 0 12px 32px rgba(0,0,0,.4);--shadow-lg:0 4px 16px rgba(0,0,0,.5), 0 32px 80px rgba(0,0,0,.5)}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--bg);background-image:radial-gradient(var(--bg-grain) 1px,transparent 1px);background-size:24px 24px;color:var(--ink);font-family:Instrument Sans,ui-sans-serif,sans-serif;font-size:14.5px;line-height:1.55;-webkit-font-smoothing:antialiased;min-height:100vh}a{color:var(--accent);text-decoration:none}a:hover{color:var(--accent-deep)}.app{display:block;min-height:100vh}.demo-banner{position:sticky;top:0;z-index:50;background:var(--ink);color:var(--bg);padding:10px 20px;display:flex;align-items:center;justify-content:center;gap:14px;flex-wrap:wrap;font-size:13px;text-align:center}.demo-banner b{color:var(--gold)}.demo-banner a{color:var(--bg);text-decoration:underline;text-underline-offset:2px}.demo-banner a:hover{color:var(--gold)}.sidebar{background:var(--surface);border-right:1px solid var(--border);padding:24px 16px;position:fixed;top:41px;left:0;width:240px;height:calc(100vh - 41px);display:flex;flex-direction:column;gap:18px;overflow-y:auto;z-index:10}main{margin-left:240px;padding-top:41px}@media (max-width:780px){.sidebar{position:static;width:auto;height:auto;border-right:none;border-bottom:1px solid var(--border);padding:16px;overflow-y:visible}main{margin-left:0;padding-top:0}}.brand{padding:4px 8px 14px;border-bottom:1px solid var(--border)}.brand .mark{display:block;line-height:1}.brand .mark img{height:28px;width:auto;display:block}.brand .org{margin-top:6px;font-size:11px;color:var(--ink-dim);text-transform:uppercase;letter-spacing:.14em;font-weight:500}.nav-section{display:flex;flex-direction:column;gap:1px}.nav-label{padding:0 10px 6px;font-size:10px;text-transform:uppercase;letter-spacing:.16em;color:var(--ink-dim);font-family:JetBrains Mono,monospace;font-weight:500}.nav a,.nav button{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:8px;width:100%;color:var(--ink-soft);font-size:13.5px;font-weight:500;text-decoration:none;transition:background .12s ease,color .12s ease;background:none;border:none;text-align:left;cursor:pointer;font-family:inherit}.nav a:hover,.nav button:hover{background:var(--surface-2);color:var(--ink)}.nav a.active,.nav button.active{background:var(--accent-soft);color:var(--accent-deep)}:root[data-theme=dark] .nav a.active,:root[data-theme=dark] .nav button.active{color:var(--accent)}.nav svg{width:16px;height:16px;flex-shrink:0;opacity:.7}.nav a.active svg,.nav button.active svg{opacity:1}.nav .count{margin-left:auto;font-family:JetBrains Mono,monospace;font-size:10px;font-weight:600;background:var(--danger);color:#fff;border-radius:999px;padding:1px 6px;line-height:1.4}.nav .lock{margin-left:auto;font-size:11px;opacity:.6}.user-chip{margin-top:auto;display:flex;align-items:center;gap:10px;padding:10px;border:1px solid var(--border);border-radius:12px;background:var(--surface-2)}.user-chip .avatar{width:34px;height:34px;flex-shrink:0;border-radius:9px;background:var(--accent);color:#fff;display:flex;align-items:center;justify-content:center;font-family:JetBrains Mono,monospace;font-weight:600;font-size:12px}:root[data-theme=dark] .user-chip .avatar{color:#04222b}.user-chip .user-meta{flex:1;min-width:0}.user-chip .user-name{font-size:12.5px;font-weight:600;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-chip .user-mail{font-size:11px;color:var(--ink-dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-family:JetBrains Mono,monospace}.sidebar-foot{margin-top:14px;display:flex;align-items:center;gap:8px;padding:8px 10px}.theme-toggle{background:none;border:1px solid var(--border);color:var(--ink-soft);width:34px;height:34px;border-radius:8px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:all .15s ease}.theme-toggle:hover{border-color:var(--border-strong);color:var(--ink)}.theme-toggle svg{width:16px;height:16px}:root[data-theme=light] .theme-toggle .moon{display:block}:root[data-theme=light] .theme-toggle .sun{display:none}:root[data-theme=dark] .theme-toggle .moon{display:none}:root[data-theme=dark] .theme-toggle .sun{display:block}.live-pill{display:inline-flex;align-items:center;gap:7px;font-size:11px;color:var(--ink-soft);font-family:JetBrains Mono,monospace;text-transform:uppercase;letter-spacing:.1em}.live-pill:before{content:"";width:7px;height:7px;border-radius:50%;background:var(--success);box-shadow:0 0 8px var(--success);animation:pulse 2.4s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.45}}main{padding:32px clamp(20px,4vw,44px) 60px;max-width:1280px;width:auto}.view{display:none}.view.active{display:block}.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;flex-wrap:wrap;padding-bottom:18px;border-bottom:1px solid var(--border);margin-bottom:26px}.page-head h1{font-family:"Instrument Serif",serif;font-weight:400;font-style:italic;font-size:clamp(28px,3.6vw,40px);line-height:1;letter-spacing:-.02em;margin:0;color:var(--ink)}.page-head .sub{margin-top:6px;font-size:13.5px;color:var(--ink-soft)}.page-head .actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.card{background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:22px;box-shadow:var(--shadow-sm);margin-bottom:18px}.card-head{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:14px;gap:12px;flex-wrap:wrap}.card-head h2{font-family:"Instrument Serif",serif;font-style:italic;font-weight:400;font-size:22px;line-height:1.1;margin:0;letter-spacing:-.01em}.card-head .hint{font-size:13px;color:var(--ink-soft);margin:4px 0 0}.metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1px;background:var(--border);border:1px solid var(--border);border-radius:14px;overflow:hidden;box-shadow:var(--shadow-sm);margin-bottom:22px}.metric{background:var(--surface);padding:22px 24px;display:flex;flex-direction:column;gap:6px;transition:background .15s}.metric:hover{background:var(--surface-2)}.metric .k{font-size:10.5px;text-transform:uppercase;letter-spacing:.15em;color:var(--ink-dim);font-family:JetBrains Mono,monospace;font-weight:500}.metric .v{font-family:"Instrument Serif",serif;font-weight:400;font-size:38px;line-height:1;letter-spacing:-.02em;color:var(--ink);font-variant-numeric:tabular-nums}.metric .v small{font-size:14px;color:var(--ink-soft);font-family:Instrument Sans,sans-serif;margin-left:2px}.metric.accent .v{color:var(--success)}.metric.danger .v{color:var(--danger)}.metric .delta{font-size:11px;color:var(--ink-dim);font-family:JetBrains Mono,monospace}.metric .delta.up{color:var(--success)}.metric .delta.down{color:var(--danger)}.finding{border:1px solid var(--border);border-left:3px solid var(--ink-dim);border-radius:10px;padding:14px 16px;background:var(--surface);margin-top:14px}.finding.ok{border-left-color:var(--success);background:linear-gradient(90deg,var(--success-soft),transparent 60%)}.finding.warn{border-left-color:var(--warn);background:linear-gradient(90deg,var(--warn-soft),transparent 60%)}.finding.bad{border-left-color:var(--danger);background:linear-gradient(90deg,var(--danger-soft),transparent 60%)}.finding-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:4px}.finding-head b{font-family:"Instrument Serif",serif;font-style:italic;font-weight:400;font-size:17px}.finding-body{font-size:13.5px;color:var(--ink-soft)}.badge{font-family:JetBrains Mono,monospace;font-size:10px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;padding:3px 8px;border-radius:5px;display:inline-block}.badge.ok{background:var(--success-soft);color:var(--success)}.badge.warn{background:var(--warn-soft);color:var(--warn)}.badge.bad{background:var(--danger-soft);color:var(--danger)}.badge.info{background:var(--info-soft);color:var(--info)}.st{font-size:11px;font-weight:600;padding:3px 9px;border-radius:5px}.st-nieuw{background:var(--gold-soft);color:var(--gold)}.st-geautoriseerd{background:var(--success-soft);color:var(--success)}.st-onderzoek{background:var(--info-soft);color:var(--info)}.st-niet_geautoriseerd{background:var(--danger-soft);color:var(--danger)}.st-misbruik{background:#ba1c1c1f;color:var(--danger)}.tbl-wrap{overflow-x:auto;border:1px solid var(--border);border-radius:12px;background:var(--surface)}table{border-collapse:collapse;width:100%;font-size:13px}th,td{text-align:left;padding:11px 14px;border-bottom:1px solid var(--border);white-space:nowrap;vertical-align:middle}th{font-family:JetBrains Mono,monospace;font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-dim);font-weight:500;background:var(--surface-2)}tr:last-child td{border-bottom:none}tbody tr{transition:background .12s}tbody tr:hover{background:var(--surface-2)}tr.row-fail{background:linear-gradient(90deg,var(--danger-soft),transparent 70%)}td.ip,td.host,td.num{font-family:JetBrains Mono,monospace}th.num,td.num{text-align:center;font-variant-numeric:tabular-nums}td.host{color:var(--ink-soft);max-width:240px;overflow:hidden;text-overflow:ellipsis}.flag-img{height:auto;border-radius:2.5px;box-shadow:0 0 0 1px #0000001a;vertical-align:-3px;display:inline-block;margin-right:7px}:root[data-theme=dark] .flag-img{box-shadow:0 0 0 1px #ffffff1f}.pill{font-family:JetBrains Mono,monospace;font-size:10.5px;padding:2px 8px;border-radius:5px;font-weight:600;letter-spacing:.04em}.pill.pass{background:var(--success-soft);color:var(--success)}.pill.fail{background:var(--danger-soft);color:var(--danger)}.btn{font-family:Instrument Sans,sans-serif;font-weight:500;font-size:13px;cursor:pointer;background:var(--surface);border:1px solid var(--border);color:var(--ink-soft);padding:7px 14px;border-radius:8px;text-decoration:none;display:inline-flex;align-items:center;gap:7px;transition:all .15s;line-height:1.4}.btn:hover{border-color:var(--border-strong);color:var(--ink);background:var(--surface-2)}.btn.primary{background:var(--accent);color:#fff;border-color:var(--accent)}.btn.primary:hover{background:var(--accent-deep);border-color:var(--accent-deep);color:#fff}.btn.sm{padding:5px 10px;font-size:12px}.btn svg{width:14px;height:14px}select,input[type=search]{font-family:Instrument Sans,sans-serif;font-size:13px;padding:7px 11px;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--ink)}select:focus,input[type=search]:focus{outline:none;border-color:var(--accent)}.tbl-tools{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:12px}.tbl-tools input[type=search]{min-width:220px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%23999' stroke-width='2'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='M21 21l-4.3-4.3'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:10px center;padding-left:32px}.tbl-tools .spacer{flex:1}.legend{font-size:11.5px;color:var(--ink-soft);display:flex;gap:18px;flex-wrap:wrap;margin-top:10px;font-family:JetBrains Mono,monospace}.legend span{display:inline-flex;align-items:center;gap:6px}.legend i{width:9px;height:9px;border-radius:2px;display:inline-block}.empty{text-align:center;color:var(--ink-dim);padding:36px 20px;font-size:13.5px;font-style:italic}.country-bar{display:flex;align-items:center;gap:12px;padding:9px 4px;border-bottom:1px solid var(--border);font-size:13px}.country-bar:last-child{border-bottom:none}.country-bar .name{min-width:190px;display:flex;align-items:center;gap:4px;font-weight:500;color:var(--ink)}.country-bar .bar-wrap{flex:1;height:8px;background:var(--surface-2);border-radius:4px;overflow:hidden}.country-bar .bar{height:100%;background:linear-gradient(90deg,var(--accent),var(--accent-deep));border-radius:4px}.country-bar .bar.fail{background:linear-gradient(90deg,var(--danger),#7a1f1f)}.country-bar .val{font-family:JetBrains Mono,monospace;font-size:12px;color:var(--ink-soft);min-width:80px;text-align:right;font-variant-numeric:tabular-nums}.country-bar .pct{font-family:JetBrains Mono,monospace;font-size:11px;color:var(--ink-dim);min-width:48px;text-align:right}.geo-split{display:grid;grid-template-columns:1.55fr 1fr;gap:0;align-items:stretch}@media (max-width:920px){.geo-split{grid-template-columns:1fr}}.world-map{position:relative;background:var(--map-bg,var(--surface-2));border-radius:14px 0 0 14px;overflow:hidden;border:1px solid var(--border);border-right:none;min-height:320px}@media (max-width:920px){.world-map{border-radius:14px;border-right:1px solid var(--border)}}.world-map svg{display:block;width:100%;height:auto}.geo-country{fill:var(--surface-3);stroke:var(--surface);stroke-width:.5;stroke-linejoin:round}.geo-country.has{cursor:pointer;transition:filter .12s,stroke-width .12s}.geo-country:hover{filter:brightness(1.08);stroke:var(--ink-soft);stroke-width:.8}.geo-country.has:hover{filter:brightness(1.18);stroke:var(--ink);stroke-width:1.1}.geo-country.ok{fill:var(--accent)}.geo-country.mixed{fill:var(--gold)}.geo-country.fail{fill:var(--danger)}.geo-country.sel{stroke:var(--ink);stroke-width:1.2}.map-tip{position:absolute;pointer-events:none;z-index:6;background:var(--surface);border:1px solid var(--border-strong);border-radius:9px;padding:7px 11px;box-shadow:var(--shadow);white-space:nowrap;transform:translate(-50%,calc(-100% - 12px))}.map-tip[hidden]{display:none}.map-tip .t-name{font-weight:600;font-size:13px;color:var(--ink);display:flex;align-items:center;gap:6px}.map-tip .t-stat{color:var(--ink-soft);font-family:JetBrains Mono,monospace;font-size:11px;margin-top:2px}.map-info{position:absolute;min-width:215px;max-width:265px;background:var(--surface);border:1px solid var(--border-strong);border-radius:12px;box-shadow:var(--shadow-lg);padding:14px 15px;z-index:5;font-size:13px}.map-info[hidden]{display:none}.map-info .mi-top{display:flex;align-items:center;gap:9px;margin-bottom:9px}.map-info .mi-name{font-family:"Instrument Serif",serif;font-style:italic;font-size:19px;line-height:1.1;color:var(--ink)}.map-info .mi-rows{display:flex;gap:18px;margin:0 0 9px}.map-info .mi-stat .k{font-size:9.5px;text-transform:uppercase;letter-spacing:.1em;color:var(--ink-dim);font-family:JetBrains Mono,monospace}.map-info .mi-stat .v{font-family:"Instrument Serif",serif;font-style:italic;font-size:22px;line-height:1;color:var(--ink)}.map-info .mi-stat .v.ok{color:var(--success)}.map-info .mi-stat .v.mixed{color:var(--warn)}.map-info .mi-stat .v.fail{color:var(--danger)}.map-info .mi-srcs{border-top:1px solid var(--border);padding-top:9px}.map-info .mi-srcs .lbl{font-size:9.5px;text-transform:uppercase;letter-spacing:.1em;color:var(--ink-dim);font-family:JetBrains Mono,monospace;margin-bottom:5px}.map-info .mi-src{display:flex;justify-content:space-between;gap:8px;padding:3px 0;font-size:12px}.map-info .mi-src span:last-child{color:var(--ink-dim);font-variant-numeric:tabular-nums}.map-info .mi-close{position:absolute;top:8px;right:10px;cursor:pointer;color:var(--ink-dim);font-size:18px;line-height:1;background:none;border:none}.map-info .mi-close:hover{color:var(--ink)}.geo-panel{border:1px solid var(--border);border-radius:0 14px 14px 0;background:var(--surface);display:flex;flex-direction:column}@media (max-width:920px){.geo-panel{border-radius:14px;margin-top:18px}}.geo-tabs{display:flex;border-bottom:1px solid var(--border)}.geo-tabs button{flex:1;background:none;border:none;cursor:pointer;padding:14px 10px;font-family:Instrument Sans,sans-serif;font-size:12px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-dim);border-bottom:2px solid transparent;transition:color .15s,border-color .15s}.geo-tabs button:hover{color:var(--ink-soft)}.geo-tabs button.active{color:var(--ink);border-bottom-color:var(--accent)}.geo-list{overflow-y:auto;max-height:440px}.geo-row{display:flex;align-items:center;gap:11px;padding:11px 18px;border-bottom:1px solid var(--border);font-size:14px}.geo-row:last-child{border-bottom:none}.geo-row.geo-click{cursor:pointer;transition:background .12s}.geo-row.geo-click:hover{background:var(--surface-2)}.geo-row .chev{color:var(--ink-dim);font-size:16px;transition:transform .15s}.geo-row.open .chev{transform:rotate(90deg)}.geo-sub{background:var(--surface-2);border-bottom:1px solid var(--border)}.geo-srcrow{display:flex;align-items:center;gap:12px;padding:8px 18px 8px 46px;font-size:12.5px;color:var(--ink);border-bottom:1px dashed var(--border)}.geo-srcrow:last-child{border-bottom:none}.geo-srcrow .mono-ip{font-family:JetBrains Mono,monospace;font-weight:500}.geo-srcrow .sub-city{flex:1;color:var(--ink-dim);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.geo-srcrow .sub-n{font-family:JetBrains Mono,monospace;font-size:11px;color:var(--ink-soft);font-variant-numeric:tabular-nums}.geo-row .gname{flex:1;color:var(--ink);display:flex;align-items:center}.geo-row .gcount{font-family:JetBrains Mono,monospace;font-variant-numeric:tabular-nums;color:var(--ink);font-weight:500}.geo-row .gbad{color:var(--danger)}.geo-empty{padding:30px 18px;text-align:center;color:var(--ink-dim);font-style:italic;font-size:13px}.toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%,16px);opacity:0;background:var(--ink);color:var(--bg);padding:10px 18px;border-radius:10px;font-size:13.5px;font-weight:500;box-shadow:var(--shadow-lg);z-index:100;transition:opacity .25s,transform .25s;pointer-events:none;display:flex;align-items:center;gap:9px}.toast.show{opacity:1;transform:translate(-50%)}.toast:before{content:"";width:7px;height:7px;border-radius:50%;background:var(--accent);flex-shrink:0}.sortable th{cursor:pointer;user-select:none}.sortable th:hover{color:var(--ink)}.chart-tip{position:absolute;z-index:20;pointer-events:none;background:var(--surface);border:1px solid var(--border-strong);border-radius:10px;box-shadow:var(--shadow);padding:10px 12px;font-size:12.5px;min-width:140px;transform:translate(-50%,-100%)}.chart-tip .tt-day{font-family:JetBrains Mono,monospace;font-size:11px;color:var(--ink-dim);margin-bottom:6px}.chart-tip .tt-row{display:flex;align-items:center;gap:7px;padding:1px 0}.chart-tip .tt-row i{width:9px;height:9px;border-radius:2px;display:inline-block}.chart-tip .tt-row .tt-v{margin-left:auto;font-variant-numeric:tabular-nums;font-weight:600}.chart-tip .tt-pct{margin-top:5px;padding-top:5px;border-top:1px dashed var(--border);font-family:"Instrument Serif",serif;font-style:italic;font-size:16px}svg text.axis{font-family:JetBrains Mono,monospace;font-size:9px;fill:var(--ink-dim)}.bar-hit:hover{fill:var(--map-grid,rgba(0,0,0,.04))}.statusbar{display:flex;align-items:center;gap:18px;flex-wrap:wrap;font-size:12.5px;color:var(--ink-soft);margin-bottom:22px;font-family:JetBrains Mono,monospace}.statusbar .pill-dot{display:inline-flex;align-items:center;gap:7px}.statusbar .pill-dot:before{content:"";width:7px;height:7px;border-radius:50%;background:var(--success)}.dom-actions{display:flex;gap:6px;justify-content:flex-end;align-items:center}.rep-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}@media (max-width:820px){.rep-grid{grid-template-columns:1fr}}.rep-card{display:flex;gap:18px;align-items:flex-start;justify-content:space-between;background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:22px 24px;text-decoration:none;transition:transform .18s,border-color .18s,box-shadow .18s;box-shadow:var(--shadow-sm);cursor:pointer;width:100%;text-align:left;font:inherit;color:inherit}.rep-card:hover{transform:translateY(-3px);border-color:var(--border-strong);box-shadow:var(--shadow)}.rep-card.active{border-color:var(--accent)}.rep-card .txt{flex:1}.rep-card h3{font-family:"Instrument Serif",serif;font-style:italic;font-weight:400;font-size:21px;line-height:1.15;margin:0 0 7px;color:var(--ink);letter-spacing:-.01em}.rep-card p{margin:0;font-size:13px;color:var(--ink-soft);line-height:1.5}.rep-card .go{margin-top:12px;display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:600;color:var(--accent-deep)}:root[data-theme=dark] .rep-card .go{color:var(--accent)}.rep-card .go svg{width:14px;height:14px}.rep-thumb{width:104px;height:78px;border-radius:9px;border:1px solid var(--border);flex-shrink:0;background:var(--surface-2);overflow:hidden}.rep-thumb svg{display:block;width:100%;height:100%}.rep-detail{margin-top:18px}.sum-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}@media (max-width:780px){.sum-grid{grid-template-columns:1fr}}.sum-line{display:flex;align-items:baseline;gap:10px;padding:7px 0;border-bottom:1px dashed var(--border);font-size:14px}.sum-line:last-child{border-bottom:none}.sum-line .lab{color:var(--ink-soft);min-width:150px}.sum-line .val{font-family:"Instrument Serif",serif;font-style:italic;font-size:20px;color:var(--ink)}.tls-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:22px}@media (max-width:780px){.tls-metrics{grid-template-columns:repeat(2,1fr)}}.tls-metric{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:14px 16px}.tls-metric .mk{font-family:JetBrains Mono,monospace;font-size:10px;text-transform:uppercase;letter-spacing:.1em;color:var(--ink-dim)}.tls-metric .mv{font-family:"Instrument Serif",serif;font-style:italic;font-size:32px;line-height:1.1;color:var(--ink);margin-top:2px}.tls-metric .mv small{font-size:14px;font-style:normal;color:var(--ink-dim);margin-left:2px}.tls-metric.ok .mv{color:var(--success)}.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}@media (max-width:820px){.settings-grid{grid-template-columns:1fr}}.field{display:flex;flex-direction:column;gap:5px;margin-bottom:12px}.field label{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-dim);font-family:JetBrains Mono,monospace}.switch{position:relative;display:inline-block;width:38px;height:22px;flex-shrink:0}.switch input{opacity:0;width:0;height:0}.switch .track{position:absolute;inset:0;background:var(--border-strong);border-radius:999px;transition:.15s;cursor:pointer}.switch .track:before{content:"";position:absolute;width:16px;height:16px;left:3px;top:3px;background:#fff;border-radius:50%;transition:.15s}.switch input:checked+.track{background:var(--accent)}.switch input:checked+.track:before{transform:translate(16px)}.ip-link{background:none;border:none;padding:0;margin:0;color:var(--accent);cursor:pointer;font:inherit;text-decoration:underline;text-underline-offset:2px}.ip-link:hover{color:var(--accent-deep)}.ip-link.mono{font-family:JetBrains Mono,monospace}.ip-hero{display:grid;grid-template-columns:1fr auto;gap:24px;align-items:start;margin-bottom:6px}.ip-hero .head{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.ip-hero h1{font-family:JetBrains Mono,monospace;font-style:normal;font-size:30px;letter-spacing:-.02em;margin:0;color:var(--ink)}.ip-hero .loc{font-size:14px;color:var(--ink-soft);margin-top:8px}.ip-hero .loc b{color:var(--ink);font-weight:500}.detail-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1px;background:var(--border);border:1px solid var(--border);border-radius:14px;overflow:hidden;box-shadow:var(--shadow-sm);margin-bottom:22px}.detail-grid .cell{background:var(--surface);padding:18px 20px}.detail-grid .k{font-size:10.5px;text-transform:uppercase;letter-spacing:.13em;color:var(--ink-dim);font-family:JetBrains Mono,monospace;font-weight:500;margin-bottom:5px}.detail-grid .v{font-family:JetBrains Mono,monospace;font-size:13.5px;color:var(--ink);word-break:break-word}.detail-grid .v.big{font-family:"Instrument Serif",serif;font-style:italic;font-size:26px;line-height:1.1}.tag-list{display:flex;flex-wrap:wrap;gap:6px}.tag-list .tag{font-family:JetBrains Mono,monospace;font-size:11px;padding:3px 9px;background:var(--surface-2);border:1px solid var(--border);border-radius:5px;color:var(--ink-soft)}.g-cols{display:grid;grid-template-columns:1fr 1fr;gap:18px}@media (max-width:780px){.g-cols{grid-template-columns:1fr}}.dossier-pre{font-family:JetBrains Mono,monospace;font-size:12.5px;line-height:1.6;background:var(--surface-2);border:1px solid var(--border);border-radius:12px;padding:18px 20px;white-space:pre-wrap;word-break:break-word;color:var(--ink)}
