:root{color-scheme:dark;--bg:#080f20;--panel:#111d34;--border:#2b3d59;--text:#eaf4ff;--muted:#9eb5d1;--accent:#65eadc}*{box-sizing:border-box}html{font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif}body{margin:0;background:radial-gradient(ellipse at top,#193153 0%,var(--bg) 55%);color:var(--text)}header{display:flex;justify-content:space-between;align-items:center;padding:18px max(20px,calc((100vw - 1400px)/2));border-bottom:1px solid var(--border);background:#0a1425}a{color:var(--accent);text-decoration:none}.brand{font-size:24px;font-weight:900;color:white}.brand span{color:var(--accent)}nav{display:flex;align-items:center;gap:15px}main{max-width:1420px;margin:auto;padding:24px}h1{font-size:clamp(32px,4.2vw,55px);line-height:1.1;margin:13px 0}h1 em{font-style:normal;color:var(--accent)}h2{margin:0 0 12px;font-size:19px}p{line-height:1.6}.hero{display:flex;justify-content:space-between;gap:20px;align-items:center;padding:30px 8px 38px}.hero p{max-width:720px;color:var(--muted)}small,.muted{color:var(--muted)}.hero small{color:var(--accent);font-weight:800;letter-spacing:1.6px}.pill{border:1px solid #28736f;border-radius:999px;padding:9px 14px;color:var(--accent);font-size:12px;white-space:nowrap}.workspace{display:grid;grid-template-columns:minmax(290px,360px) minmax(0,1fr);gap:18px}.panel{background:linear-gradient(155deg,#14243d,#10192d);border:1px solid var(--border);border-radius:17px;padding:20px;min-width:0;box-shadow:0 10px 40px #0002}label{display:block;color:var(--muted);font-size:13px;font-weight:700;margin:12px 0}input,select{display:block;width:100%;margin-top:7px;padding:12px;border-radius:9px;border:1px solid #385172;background:#091629;color:white;font:inherit;min-width:0}.pair{display:grid;grid-template-columns:1fr 1fr;gap:10px}.buttons{display:flex;flex-wrap:wrap;gap:9px}button,.filebtn{background:#223953;border:1px solid #426081;color:#f1f8ff;border-radius:10px;padding:11px 13px;cursor:pointer;font-size:13px;font-weight:700;margin:0}button:hover,.filebtn:hover{border-color:var(--accent)}button.primary{background:#55e2d5;color:#062b30;border-color:#55e2d5}button:focus-visible,a:focus-visible{outline:3px solid #f6df6e;outline-offset:2px}.filebtn{display:inline-flex;align-items:center}.plan-top{display:flex;gap:12px;justify-content:space-between;align-items:flex-start}.plan-top .muted{font-size:12px;margin-top:0}.drawing{width:100%;background:#091423;border:1px solid #385172;border-radius:12px;overflow:hidden;touch-action:none}.drawing svg{width:100%;display:block;aspect-ratio:800/530;touch-action:none}.legend{display:flex;flex-wrap:wrap;gap:13px;margin:13px 0}.legend span{font-size:12px;color:var(--muted)}.legend i{display:inline-block;width:11px;height:11px;border-radius:2px;margin-right:5px}.good{background:#1bdf93}.mid{background:#a5e15a}.weak{background:#f2bd4c}.bad{background:#f36d80}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.metrics div{border:1px solid var(--border);border-radius:12px;padding:14px;background:#0d192b}.metrics b{display:block;font-size:23px;color:var(--accent)}.metrics small{font-size:11px}.notice{margin-top:12px;font-size:13px;color:#f6c778;min-height:20px}.aplist{max-height:170px;overflow:auto;margin-top:10px}.aprow{display:flex;justify-content:space-between;padding:9px;border-bottom:1px solid #2a3950;font-size:12px;gap:10px}.aprow button{padding:4px 9px}.selected{outline:2px solid var(--accent)}.outputs{margin-top:18px;display:flex;align-items:center;justify-content:space-between;gap:20px}.info{margin-top:18px}.info p{color:var(--muted);font-size:13px}footer{padding:28px;text-align:center;color:var(--muted)}footer a{margin-left:20px}.printreport{display:none}@media(max-width:1000px){.workspace{grid-template-columns:1fr}.metrics{grid-template-columns:repeat(2,1fr)}.outputs,.hero{flex-direction:column;align-items:flex-start}}@media(max-width:520px){main{padding:12px}.panel{padding:13px}.hero{padding:18px 0}.pill{white-space:normal}nav{font-size:12px;gap:7px}header{padding:13px}.brand{font-size:20px}.metrics b{font-size:19px}}body.light{--bg:#eaf0f9;--panel:#fff;--border:#adc1db;--text:#132c46;--muted:#46617a;--accent:#007e77;background:#edf4fb}body.light header{background:#e8f3fc}body.light .panel{background:white}body.light .brand{color:#172f49}body.light input,body.light select{background:white;color:#152d40}body.light .metrics div{background:#edf4fb}body.light .pill{color:#006961}@media print{body,body.light{background:white!important;color:black!important}header,.hero,.workspace>aside,.outputs,.info,footer,.buttons,.aplist{display:none!important}main{padding:0;max-width:none}.workspace{display:block}.plan{border:0;box-shadow:none;background:white;padding:0}.plan-top .pill{display:none}.drawing{border:1px solid black}.drawing svg{max-height:190mm}.metrics div{background:white;color:black}.metrics b{color:black}.printreport{display:block!important}.notice{color:black}.legend span{color:black}@page{size:A4;margin:12mm}}/* AirGrid engineering workspace */
.advanced{margin-top:24px}.advhead{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.tabs{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0}.tabs button[aria-selected="true"]{background:#0e7490;color:white;border-color:#22d3ee}.advgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(175px,1fr));gap:12px;margin:15px 0}.advgrid label{min-width:0}.advrow{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:9px 0;border-bottom:1px solid #60708044}.advanced table{width:100%;border-collapse:collapse;display:block;overflow:auto}.advanced td,.advanced th{padding:9px;border-bottom:1px solid #60708055;text-align:left}.advanced .warn{color:#ffbb77}.advanced .goodtext{color:#48edbb}.statsbox{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:12px;margin:20px 0}.statsbox>div{background:#0b253855;border-radius:12px;padding:13px}.statsbox strong,.statsbox small{display:block}.statsbox strong{font-size:1.2rem}.statsbox small{opacity:.8}.report{background:#f8fafc;color:#0f172a;padding:22px;border-radius:12px;margin-top:20px;line-height:1.55}.report table{color:#0f172a}.advanced .filebtn{display:inline-block;padding:12px}.advanced #advStatus{margin-bottom:12px}@media(max-width:600px){.advanced{padding:14px}.tabs button{flex:1 0 40%}.advgrid{grid-template-columns:1fr 1fr}.report{padding:14px}}@media print{header,footer,.hero,.workspace,.outputs,.info,.advhead,.tabs,#advStatus,.advanced button{display:none!important}.advanced{border:0!important}.report{display:block!important;box-shadow:none;margin:0;padding:0}}
