:root{--bg:#e8eef1;--panel:#f6f9fa;--ink:#102b3e;--muted:#536f82;--line:#c3d2da;--glow:#1f9bba;--high:#b8352b;--med:#a86d12;--low:#4a7590;--ok:#2c7a4c;--high-bg:#f6e0dc;--med-bg:#f5e9d3;--low-bg:#dfeaf1;--ok-bg:#dcede2;--info-bg:#e6ecef;color-scheme:light}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#0b1721;--panel:#11212d;--ink:#d9e7ee;--muted:#8aa3b3;--line:#223848;--glow:#5bcfe6;--high:#ff8173;--med:#f0b552;--low:#91b8d0;--ok:#6fcb97;--high-bg:#3a1c1a;--med-bg:#382c15;--low-bg:#182b38;--ok-bg:#15301f;--info-bg:#172631;color-scheme:dark}}:root[data-theme=dark]{--bg:#0b1721;--panel:#11212d;--ink:#d9e7ee;--muted:#8aa3b3;--line:#223848;--glow:#5bcfe6;--high:#ff8173;--med:#f0b552;--low:#91b8d0;--ok:#6fcb97;--high-bg:#3a1c1a;--med-bg:#382c15;--low-bg:#182b38;--ok-bg:#15301f;--info-bg:#172631;color-scheme:dark}:root{box-sizing:border-box;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}html{scroll-padding-top:env(safe-area-inset-top,0px);-webkit-text-size-adjust:100%}*,*:before,*:after{box-sizing:inherit}body{margin:0;background:var(--bg);color:var(--ink);font-family:Schibsted Grotesk,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:17px;line-height:1.5}.mono,code,textarea{font-family:IBM Plex Mono,ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}main{max-width:860px;margin:0 auto;padding:28px 20px 72px}a{color:var(--glow)}:focus-visible{outline:3px solid var(--glow);outline-offset:2px}.brand{display:flex;align-items:center;gap:10px;font-weight:700;font-size:1rem;margin-bottom:40px}.brand svg{width:30px;height:30px}.hero h1{font-size:clamp(2.3rem,7.5vw,4.1rem);line-height:1.02;letter-spacing:-.025em;font-weight:800;margin:0 0 16px;max-width:13ch}.hero p.lede{color:var(--muted);font-size:1.12rem;margin:0 0 28px;max-width:56ch}.input{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:14px}textarea{width:100%;min-height:190px;resize:vertical;border:0;background:transparent;color:var(--ink);font-size:13px;line-height:1.55;padding:6px}textarea:focus{outline:none}.input:focus-within{border-color:var(--glow)}.input{position:relative}body.dragging .input{border:2px dashed var(--glow);padding:13px}body.dragging .input:after{content:"Drop the .eml or .msg file";position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;border-radius:12px;background:var(--panel);color:var(--glow);font-weight:700;font-size:1.1rem}.actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px;align-items:center}button,.btn{font:inherit;font-weight:600;font-size:.95rem;border-radius:10px;padding:11px 18px;cursor:pointer;border:1.5px solid var(--ink);background:transparent;color:var(--ink)}button.primary{background:var(--ink);color:var(--bg)}button:hover,.btn:hover{border-color:var(--glow)}.error{color:var(--high);font-weight:600;margin:12px 0 0}.fine{color:var(--muted);font-size:.9rem;margin:16px 0 0}details.help{margin-top:14px;color:var(--muted);font-size:.95rem}details.help summary{cursor:pointer;font-weight:600;color:var(--ink)}details.help ul{padding-left:20px;margin:10px 0 0}details.help li{margin-bottom:6px}#results{margin-top:56px}section.block{border-top:1px solid var(--line);padding-top:26px;margin-top:40px}section.block h2{font-size:1.4rem;letter-spacing:-.01em;margin:0 0 4px}section.block .sub{color:var(--muted);margin:0 0 20px;font-size:.98rem}.verdict{border-left:6px solid var(--c);padding:6px 0 6px 22px}.verdict .v-top{display:flex;justify-content:space-between;align-items:baseline;gap:16px;flex-wrap:wrap}.verdict h2{font-size:clamp(1.9rem,5.5vw,2.8rem);line-height:1.05;margin:0;color:var(--c);letter-spacing:-.02em}.v-score .num{font-size:2rem;font-weight:800}.v-score .of{color:var(--muted);margin-left:4px}.meter{height:10px;border-radius:5px;background:var(--line);margin:14px 0;overflow:hidden}.meter span{display:block;height:100%;background:var(--c);border-radius:5px;transform-origin:left;animation:grow .8s ease-out both}.v-sum{margin:0 0 14px;max-width:62ch}.v-high{--c:var(--high)}.v-med{--c:var(--med)}.v-low{--c:var(--low)}.v-ok{--c:var(--ok)}ul.reasons{list-style:none;padding:0;margin:0}ul.reasons li{display:flex;gap:10px;align-items:baseline;margin-bottom:8px}.pill{display:inline-block;flex:none;font-size:.75rem;font-weight:700;padding:2px 9px;border-radius:999px;white-space:nowrap}.s-high{color:var(--high);background:var(--high-bg)}.s-medium{color:var(--med);background:var(--med-bg)}.s-low{color:var(--low);background:var(--low-bg)}.s-info{color:var(--muted);background:var(--info-bg)}.s-ok{color:var(--ok);background:var(--ok-bg)}dl.kv{display:grid;grid-template-columns:max-content 1fr;gap:8px 18px;margin:0}dl.kv dt{color:var(--muted);font-size:.92rem}dl.kv dd{margin:0;overflow-wrap:anywhere}ul.finds{list-style:none;padding:0;margin:18px 0 0}ul.finds li{padding:12px 0;border-top:1px dashed var(--line)}ul.finds li:first-child{border-top:0}ul.finds .ft{display:flex;gap:10px;align-items:baseline;font-weight:600}ul.finds .fd{color:var(--muted);margin:4px 0 0;overflow-wrap:anywhere;font-size:.96rem}ol.route{list-style:none;margin:8px 0 0;padding:0;position:relative}ol.route:before{content:"";position:absolute;left:15px;top:12px;bottom:18px;width:2px;background:linear-gradient(var(--glow),var(--line));transform-origin:top;animation:draw 1s ease-out both}.hop{position:relative;padding:0 0 26px 50px;animation:fade .4s ease-out both}.hop .node{position:absolute;left:4px;top:1px;width:24px;height:24px;border-radius:50%;background:var(--bg);border:2px solid var(--glow);display:grid;place-items:center;font:500 11px IBM Plex Mono,monospace;color:var(--ink)}.hop.origin .node{background:var(--glow);color:var(--bg);box-shadow:0 0 0 7px color-mix(in srgb,var(--glow) 22%,transparent)}.hop.inbox .node{border-style:dashed}.hop .delay{font-size:.82rem;color:var(--muted);margin:-2px 0 4px}.hop .delay.bad{color:var(--high);font-weight:600}.hop .h-title{font-weight:700;overflow-wrap:anywhere;line-height:1.3}.hop .h-by{color:var(--muted);overflow-wrap:anywhere;font-size:.95rem}.hop.origin .h-title:after{content:"Likely origin";margin-left:10px;font-size:.72rem;font-weight:700;color:var(--bg);background:var(--glow);padding:2px 8px;border-radius:999px;vertical-align:2px}.chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.chip{font:400 12px IBM Plex Mono,monospace;border:1px solid var(--line);border-radius:6px;padding:2px 7px;color:var(--ink);overflow-wrap:anywhere}.chip.warn{border-color:var(--med);color:var(--med)}.auth{display:grid;gap:0}.auth-row{display:grid;grid-template-columns:90px 1fr;gap:14px;padding:14px 0;border-top:1px dashed var(--line)}.auth-row:first-child{border-top:0}.auth-name{font-weight:800;font-size:1.1rem}.auth-q{color:var(--muted);font-size:.85rem;display:block;font-weight:400}.auth-row p{margin:6px 0 0;color:var(--muted);font-size:.96rem}.link{border:1px solid var(--line);border-radius:12px;padding:14px;margin-top:12px;background:var(--panel)}.link .row{display:grid;grid-template-columns:70px 1fr;gap:10px;font-size:.92rem;margin-bottom:4px}.link .row span:first-child{color:var(--muted)}.link .row span:last-child{overflow-wrap:anywhere}.link ul{list-style:none;padding:0;margin:10px 0 0}.link li{display:flex;gap:8px;align-items:baseline;margin-top:6px;font-size:.95rem}.clean{color:var(--ok);font-size:.92rem;margin-top:8px}ul.cues{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:8px}ul.cues li{background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:8px 12px;font-size:.93rem}ul.cues q{color:var(--muted)}details.raw{margin-top:14px}details.raw summary{cursor:pointer;font-weight:600}pre{white-space:pre-wrap;overflow-wrap:anywhere;background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:14px;font:12.5px/1.55 IBM Plex Mono,monospace;max-height:420px;overflow:auto}.hname{color:var(--glow)}footer{margin-top:64px;color:var(--muted);font-size:.9rem;border-top:1px solid var(--line);padding-top:18px}.modebar{display:flex;border:1.5px solid var(--ink);border-radius:10px;overflow:hidden;width:max-content;margin-bottom:26px}.modebar button{border:0;border-radius:0;padding:9px 18px;font-size:.9rem}.modebar button[aria-pressed=true]{background:var(--ink);color:var(--bg)}body:not(.inv) .inv-only{display:none}body:not(.has-ai) .need-ai{display:none}body.has-ai .no-ai{display:none}body.inv section.block{margin-top:28px;padding-top:18px}body.inv section.block>.sub{display:none}body.inv .verdict h2{font-size:1.8rem}.casebar{font:12.5px/1.6 IBM Plex Mono,monospace;border:1px solid var(--line);border-left:4px solid var(--glow);background:var(--panel);border-radius:10px;padding:12px 14px;margin-bottom:24px;display:grid;grid-template-columns:max-content 1fr;gap:2px 16px}.casebar span:nth-child(odd){color:var(--muted)}.casebar span{overflow-wrap:anywhere}.tbl{overflow-x:auto;border:1px solid var(--line);border-radius:10px;margin-top:14px}table{border-collapse:collapse;width:100%;font:12.5px/1.45 IBM Plex Mono,monospace}th,td{text-align:left;padding:7px 10px;border-bottom:1px solid var(--line);vertical-align:top}th{color:var(--muted);font-weight:500;background:var(--panel);white-space:nowrap}tr:last-child td{border-bottom:0}td.wrap{overflow-wrap:anywhere;min-width:160px}td a{color:var(--glow)}.toolrow{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0 0}.toolrow button{padding:7px 13px;font-size:.86rem}.note{color:var(--muted);font-size:.88rem;margin:8px 0 0}ul.sendlist{margin:8px 0 0;padding-left:20px;font-size:.9rem;overflow-wrap:anywhere}.ai-out{white-space:pre-wrap;background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:14px;margin-top:12px;font-size:.96rem}.hashes{font:12px/1.6 IBM Plex Mono,monospace;margin-top:10px;color:var(--muted);overflow-wrap:anywhere}.hashes b{color:var(--ink);font-weight:500}@keyframes draw{0%{transform:scaleY(0)}to{transform:scaleY(1)}}@keyframes grow{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes fade{0%{opacity:0;transform:translate(-6px)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}@media(max-width:560px){main{padding:20px 16px 56px}.brand{margin-bottom:28px}dl.kv{grid-template-columns:1fr;gap:2px}dl.kv dd{margin-bottom:10px}.auth-row{grid-template-columns:1fr;gap:4px}.link .row{grid-template-columns:1fr;gap:0;margin-bottom:8px}button{flex:1 1 auto}}
