:root{color-scheme:dark;--bg:#07111e;--panel:#101f32;--line:#294158;--ink:#f0f7ff;--muted:#9db1c5;--mint:#6eeac5;--sky:#8db7ff;--gold:#ffd591;--rose:#ff9fa7}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:radial-gradient(ellipse 80% 32% at 80% -8%,#244b5a 0,transparent 80%),var(--bg);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,Arial,sans-serif;line-height:1.52}a{color:var(--mint)}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid var(--mint);outline-offset:3px}.container{width:min(1160px,calc(100% - 36px));margin-inline:auto}.nav{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:22px 0;border-bottom:1px solid rgba(150,190,220,.14)}.brand{text-decoration:none;color:var(--ink);font-weight:850;font-size:22px;letter-spacing:-.06em}.brand span{color:var(--mint)}.navlinks{display:flex;gap:22px;align-items:center;flex-wrap:wrap}.navlinks a{font-size:13px;text-decoration:none;color:#bdd1e3}.navlinks a:hover{color:#fff}.navlinks .navcta{background:var(--mint);color:#031e20;padding:9px 15px;border-radius:9px;font-weight:750}.tag{display:inline-flex;align-items:center;gap:9px;color:#b9f5e3;border:1px solid #3d796f;background:#0e3037;padding:6px 12px;border-radius:100px;font-size:12px;font-weight:700}.dot{width:7px;height:7px;border-radius:50%;background:var(--mint)}h1,h2,h3{letter-spacing:-.045em;line-height:1.12}h1{font-size:clamp(42px,6.2vw,75px);margin:21px 0 22px;max-width:900px}h1 .accent,h2 .accent{color:var(--mint)}h2{font-size:clamp(27px,3vw,40px);margin:0 0 15px}h3{font-size:18px;margin:0 0 11px}.lead{font-size:clamp(16px,2vw,20px);color:#bfd0e0;max-width:750px}.muted{color:var(--muted)}.small{font-size:12px}.hero{padding:100px 0 56px}.heroactions{display:flex;gap:11px;flex-wrap:wrap;margin-top:32px}.button,button{border:1px solid #47718b;border-radius:10px;background:#192e45;color:var(--ink);padding:12px 18px;font:inherit;font-size:14px;font-weight:750;cursor:pointer;text-decoration:none;display:inline-flex;gap:9px;align-items:center;justify-content:center;transition:filter .12s,transform .12s}.button:hover,button:hover{filter:brightness(1.12);transform:translateY(-1px)}.button.primary,button.primary{background:var(--mint);color:#071e1a;border-color:var(--mint)}button:disabled{opacity:.45;cursor:not-allowed;transform:none}.button.outline{background:transparent}.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.grid2{display:grid;grid-template-columns:repeat(2,1fr);gap:17px}.panel{border:1px solid var(--line);border-radius:17px;background:linear-gradient(135deg,#12283a,#0f1e31);padding:23px}.section{padding:66px 0}.stepnumber{color:var(--mint);font-size:13px;font-weight:850;letter-spacing:.14em}.cardIcon{width:40px;height:40px;display:grid;place-items:center;border-radius:11px;color:var(--mint);background:#183e43;font-size:21px;margin-bottom:18px}.preview{margin-top:38px;border:1px solid #37536a;border-radius:20px;padding:10px;background:#0a1623;box-shadow:0 25px 90px #020a12a8}.previewinner{border-radius:11px;background:#102239;padding:28px}.previewnav{display:flex;gap:8px;margin-bottom:24px}.previewnav span{width:9px;height:9px;border-radius:50%;background:#567387}.previewnav span:first-child{background:#ff9a95}.previewnav span:nth-child(2){background:#ffe0a4}.previewnav span:nth-child(3){background:#7fecbe}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:13px}.stat{padding:16px;border:1px solid #34536b;border-radius:11px;background:#0d1b2a}.stat strong{display:block;font-size:26px;letter-spacing:-.05em}.stat span{font-size:11px;color:#a6bcd0}.minirow{display:grid;grid-template-columns:1.3fr .8fr .7fr;gap:12px;border-bottom:1px solid #2a4054;padding:12px 8px;font-size:12px;color:#c8d6e6}.minirow.head{font-weight:800;color:#9cb3c9}.flag{font-size:11px;border-radius:100px;padding:3px 8px;background:#533a2d;color:#ffe0ac;white-space:nowrap}.flag.err{background:#5a2934;color:#ffb0b9}.band{padding:30px;border:1px solid #32675f;border-radius:18px;background:linear-gradient(135deg,#0e3237,#142b34)}.footer{margin-top:70px;border-top:1px solid var(--line);padding:25px 0 45px;display:flex;gap:20px;justify-content:space-between;align-items:center;flex-wrap:wrap;color:var(--muted);font-size:12px}.footer a{color:#c2d9eb;margin-left:15px;text-decoration:none}details{padding:17px 0;border-bottom:1px solid var(--line)}summary{font-weight:750;cursor:pointer}details p{color:var(--muted)}.apphead{padding:36px 0 22px}.apphead h1{font-size:clamp(34px,4vw,51px);margin:10px 0}.appGrid{display:grid;grid-template-columns:1.3fr .9fr;gap:17px}.drop{display:grid;place-items:center;gap:7px;border:1.5px dashed #54809a;padding:29px 20px;border-radius:14px;background:#0c1d2d;text-align:center;cursor:pointer;min-height:169px}.drop.drag{border-color:var(--mint);background:#124143}.drop .uploadicon{font-size:30px;color:var(--mint)}.drop strong{font-size:17px}.drop small{color:var(--muted)}input[type=file]{position:absolute;width:1px;height:1px;opacity:0;overflow:hidden}.fileinput{position:relative}.control{display:grid;gap:6px}.control label, .control .fieldlabel{color:#c5d6e9;font-size:12px;font-weight:730}select,input[type=number],input[type=search]{background:#0a1929;color:var(--ink);border:1px solid #416077;border-radius:8px;padding:10px 11px;min-width:0;width:100%;font:inherit;font-size:13px}select option{color:var(--ink);background:#0d1c2c}.mapgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.settings{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.settings label{color:var(--muted);font-size:13px;display:flex;align-items:center;gap:7px}.settings input[type=number]{width:88px}.settings input[type=checkbox]{accent-color:var(--mint)}.infostrip{padding:13px 16px;border-radius:9px;border:1px solid #30625f;background:#0b2b31;color:#afe8db;font-size:13px}.warnstrip{border:1px solid #76613e;background:#2c271e;color:#f0d7a3;padding:12px 14px;border-radius:9px;font-size:13px}.row{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.spread{justify-content:space-between}.sectionhead{margin:28px 0 14px}.tablebox{overflow:auto;border:1px solid var(--line);border-radius:13px}table{width:100%;border-collapse:collapse;min-width:760px;font-size:12px}thead{background:#1c354a;color:#b7cbde}th,td{padding:12px 13px;text-align:left;border-bottom:1px solid #2b435b;vertical-align:top}td{color:#d5e2f2}tbody tr:hover{background:#193348}tbody tr:last-child td{border:0}.severity{border-radius:100px;padding:3px 8px;display:inline-block;font-size:11px;font-weight:790}.severity.Error{color:#ffb8c1;background:#4d2835}.severity.Warning{color:#ffdfad;background:#4d3b28}.hidden{display:none!important}.note{color:var(--muted);font-size:12px}.pillrow{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}.pill{border:1px solid #3b5d6e;padding:5px 10px;border-radius:100px;font-size:11px;color:#c4d5e8}.status{margin-top:10px;color:#bfe0f6;font-size:12px;min-height:18px}.subnav{display:flex;gap:9px;align-items:center;justify-content:space-between}.appdivider{border:0;border-top:1px solid var(--line);margin:24px 0}.legal{max-width:780px;margin:65px auto 100px}.legal h1{font-size:45px}.legal p,.legal li{color:#bed0df}.legal h2{margin-top:35px;font-size:24px}.legal a{word-break:break-word}.nowrap{white-space:nowrap}@media(max-width:800px){.grid3,.grid2,.appGrid{grid-template-columns:1fr}.hero{padding-top:65px}.stats{grid-template-columns:repeat(2,1fr)}.mapgrid{grid-template-columns:repeat(2,1fr)}.navlinks{gap:11px}.navlinks a{font-size:12px}.section{padding:48px 0}}@media(max-width:530px){.mapgrid{grid-template-columns:1fr}.container{width:min(100% - 25px,1160px)}.previewinner{padding:12px}.minirow{font-size:10px}.panel{padding:18px}.stats{gap:8px}.stat{padding:11px}.stat strong{font-size:19px}}
@media print{body{background:#fff;color:#121e2d}.nav,.appGrid,.apphead .infostrip,.settings,.row button,.footer,#mapPanel,.intro,.button{display:none!important}.container{width:100%}.panel,.tablebox,.stat{border:1px solid #ddd;background:#fff;color:#000}.hidden{display:none!important}td,th,.note,.muted{color:#111}thead{background:#eee}table{min-width:0;font-size:9px}h2{color:#111}}

/* CSP-compatible spacing utilities: no inline style attributes required. */
.u-mt12{margin-top:12px}.u-mt16{margin-top:16px}.u-mt20{margin-top:20px}.u-my32{margin:32px 0}.u-my6{margin:6px 0}.u-pt16{padding-top:16px}.u-my36{margin:36px 0}.u-mb4{margin-bottom:4px}.u-my22{margin:22px 0}
.status.is-error{color:#ffbbc3}