:root{--bg:#09131f;--surface:#0d1b2a;--surface-2:#0a1724;--surface-3:#0f2133;--line:#20384a;--line-soft:#182d3d;--text:#eef4f7;--muted:#8da0ae;--muted-2:#667b8b;--blue:#3aa3cf;--green:#1f9d50;--green-2:#177a3d;--amber:#d39a33;--red:#d6545f;--shadow:0 18px 46px rgba(0,0,0,.18) }*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-height:100vh;color:var(--text);background:radial-gradient(circle at 20% -10%,rgba(58,163,207,.055),transparent 30%),linear-gradient(180deg,#0a1622,#08131e);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;-webkit-font-smoothing:antialiased}button,input,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}header{height:66px;position:sticky;top:0;z-index:20;background:#08131ef2;border-bottom:1px solid rgba(131,162,183,.11);backdrop-filter:blur(14px)}.header-inner{max-width:1320px;height:100%;margin:0 auto;padding:0 26px;display:flex;align-items:center;justify-content:space-between;gap:18px}.brand{display:flex;align-items:center;gap:11px}.brandmark{width:38px;height:38px;border-radius:10px;display:grid;place-items:center;background:#10273a;border:1px solid #28506a;color:#8bd0ec;font-size:10px;font-weight:900;letter-spacing:.04em}.brand b{display:block;font-size:13.5px}.brand small{display:block;margin-top:2px;color:#6d8292;font-size:8px;letter-spacing:.11em}.header-status{display:flex;align-items:center;gap:8px;color:#8699a7;font-size:9px;font-weight:700}.header-status i{width:7px;height:7px;border-radius:50%;background:#20a451;box-shadow:0 0 0 4px #20a45113}main{max-width:1380px;margin:0 auto;padding:24px 26px 42px}.page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-bottom:16px;padding:18px 20px;border:1px solid #2d4a60;border-radius:16px;overflow:hidden;box-shadow:0 12px 32px #030e1624}.page-head h1{margin:0;font-size:30px;line-height:1.1;font-weight:720;letter-spacing:-.03em}.page-head p{max-width:900px;margin:7px 0 0;color:#879aaa;font-size:11px;line-height:1.65}.page-chip{padding:7px 11px;border-radius:8px;border:1px solid #2a536a;background:#0f2033;color:#83cbe8;font-size:8px;font-weight:850;letter-spacing:.065em;white-space:nowrap}.workspace{display:grid;grid-template-columns:minmax(560px,58fr) minmax(400px,42fr);gap:14px;align-items:stretch}.stack{display:grid;gap:14px;min-height:0}.primary-stack,.findings-stack{height:100%}.primary-stack{grid-template-rows:auto minmax(0,1fr)}.findings-stack{grid-template-rows:minmax(0,1fr)}.panel{border:1px solid var(--line);border-radius:13px;background:linear-gradient(180deg,#ffffff03,#fff0),var(--surface-2);box-shadow:var(--shadow);overflow:hidden}.panel-head{min-height:58px;padding:11px 14px;border-bottom:1px solid #1d3547;background:#102236;display:flex;align-items:center;justify-content:space-between;gap:14px}.kicker{display:block;margin-bottom:3px;color:#687f91;font-size:8px;font-weight:850;letter-spacing:.085em}.panel-head h2{margin:0;font-size:14px;font-weight:680;letter-spacing:-.012em}.panel-head p{margin:3px 0 0;color:#7b90a0;font-size:9px;line-height:1.48}.panel-body{padding:13px}.field label{display:flex;justify-content:space-between;gap:12px;margin-bottom:7px;color:#91a4b2;font-size:9px;font-weight:750}.field label small{color:#607586;font-size:8px}.field input{width:100%;height:44px;padding:0 12px;border-radius:9px;outline:0;border:1px solid #2a485e;background:#081621;color:#edf4f7;font-size:11px;transition:.15s ease}.field input::placeholder{color:#5f7283}.field input:focus{border-color:#397d9f;box-shadow:0 0 0 2px #3aa3cf14}.helper{margin-top:9px;padding:9px 10px;border:1px solid #20394b;border-radius:9px;background:#091723;color:#788d9d;font-size:8.7px;line-height:1.55}.helper b{color:#a8b7c1}.actions{margin-top:11px;padding-top:11px;border-top:1px solid #1c3446;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.btn{height:35px;padding:0 13px;border-radius:8px;border:1px solid #2d4558;background:#102238;color:#cdd7de;font-size:9.3px;font-weight:820}.btn:hover{border-color:#3c7695}.btn-green{min-width:174px;background:linear-gradient(180deg,#17663e,#104d31);border-color:#287c51;color:#f2fbf6;box-shadow:0 7px 18px #07372133}.btn-green:hover{border-color:#3b9a69;background:linear-gradient(180deg,#1a7146,#125637)}.error{display:none;margin-top:9px;padding:8px 9px;border-radius:8px;border:1px solid rgba(216,75,87,.34);background:#d84b5711;color:#e7a3aa;font-size:8.7px;line-height:1.45}.status-row{display:flex;align-items:flex-start;gap:9px;margin-top:9px;padding:9px 10px;border:1px solid #21394c;border-radius:9px;background:#091723}.status-dot{width:7px;height:7px;margin-top:3px;flex:0 0 auto;border-radius:50%;background:#506b7e}.status-row.processing .status-dot{background:#2e9fce;box-shadow:0 0 0 4px #2e9fce14;animation:pulse 1s infinite ease-in-out alternate}.status-row.ready .status-dot{background:#20a451}.status-row.warning .status-dot{background:#d39a33}.status-row.error-state .status-dot{background:#d84b57}@keyframes pulse{0%{opacity:.35;transform:scale(.85)}to{opacity:1;transform:scale(1.15)}}.status-copy b{display:block;color:#cdd8e0;font-size:9.2px}.status-copy span{display:block;margin-top:3px;color:#718698;font-size:8.2px;line-height:1.45}.progress{height:3px;margin-top:8px;border-radius:999px;background:#10283b;overflow:hidden}.progress span{display:block;width:0;height:100%;background:#2e9fce;transition:width .3s ease}.status-row.ready .progress span,.status-row.warning .progress span{background:linear-gradient(90deg,#177a3d,#2aae61)}.service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin-top:8px}.service-card{min-height:45px;padding:7px 8px;border-radius:8px;border:1px solid #1f3749;background:#081621}.service-card small{display:flex;align-items:center;gap:5px;color:#5f7486;font-size:7.2px;font-weight:800}.service-card i{width:6px;height:6px;border-radius:50%;background:#536b7c}.service-card.ok i{background:#20a451}.service-card.warn i{background:#d39a33}.service-card.bad i{background:#d84b57}.service-card b{display:block;margin-top:3px;color:#aebdc8;font-size:8px;font-weight:600;line-height:1.35}.report-panel{display:flex;flex-direction:column;height:100%}.report-panel .panel-body{display:flex;flex-direction:column;flex:1;min-height:0}.report-topline{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:9px}.report-badge{display:inline-flex;align-items:center;gap:6px;padding:6px 8px;border:1px solid #28485c;border-radius:7px;background:#0b1c2b;color:#8fc9df;font-size:7.8px;font-weight:800;letter-spacing:.04em}.report-badge i{width:6px;height:6px;border-radius:50%;background:#20a451}textarea{width:100%;resize:vertical;outline:0;border:1px solid #213b4e;border-radius:9px;background:#07131e;color:#dce6ed;padding:11px 12px;font-size:10px;line-height:1.65}textarea:focus{border-color:#34779a;box-shadow:0 0 0 2px #2e9fce12}.report-text{min-height:390px;flex:1;height:100%;font-size:10.5px;line-height:1.75}.report-actions{display:flex;justify-content:flex-end;margin-top:8px}.copy-btn{height:30px;padding:0 10px;border-radius:7px;border:1px solid #2aac5b;background:linear-gradient(180deg,#209d4d,#197e3f);color:#fff;font-size:8.8px;font-weight:850}.findings-panel{height:100%;display:flex;flex-direction:column}.findings-panel>.panel-body{display:flex;flex-direction:column;flex:1;min-height:0}.section-grid{display:grid;grid-template-columns:1fr;grid-template-rows:repeat(3,minmax(0,1fr));gap:10px;flex:1;min-height:0}.result-card{width:100%;border:1px solid #213b4e;border-radius:10px;background:#091723;overflow:hidden;display:flex;flex-direction:column;min-height:0}.result-head{min-height:42px;padding:0 10px;border-bottom:1px solid #1e3648;background:#102236;display:flex;align-items:center;justify-content:space-between;gap:8px;flex:0 0 auto}.result-head h3{margin:0;font-size:9.8px;font-weight:680}.result-head small{color:#62788c;font-size:7.5px}.result-body{padding:8px;display:flex;flex-direction:column;flex:1;min-height:0}.result-text{min-height:122px;max-height:none;flex:1;font-size:9.7px;line-height:1.66}.copy-row{display:flex;justify-content:flex-end;margin-top:6px;flex:0 0 auto}.source-note{margin-top:11px;padding:9px 11px;border-radius:9px;border:1px solid #1e3749;background:#091723;color:#728797;font-size:8.2px;line-height:1.55}.source-note b{color:#a7b7c2}.source-note strong{color:#88cbe6;font-weight:800}.toast{position:fixed;right:20px;bottom:20px;z-index:100;opacity:0;pointer-events:none;transform:translateY(8px);transition:.18s ease;padding:8px 10px;border-radius:8px;border:1px solid #28533c;background:#0e2920;color:#a9e4bc;font-size:8.7px;box-shadow:0 12px 28px #0003}.toast.show{opacity:1;transform:translateY(0)}@media(max-width:1120px){.workspace,.section-grid{grid-template-columns:1fr}}@media(max-width:760px){main{padding:18px 14px 32px}.header-inner{padding:0 14px}.page-head{flex-direction:column}.page-head h1{font-size:25px}.service-grid,.section-grid{grid-template-columns:1fr}.actions{align-items:stretch}.btn-green{flex:1}}.coord-format-note{margin-top:8px;color:#6f8495;font-size:7.9px;line-height:1.5}.coord-format-note b{color:#a9bac5;font-weight:750}.btn-map{border-color:#2e657f;background:#0d2638;color:#8ed1eb;min-width:110px}.coord-action-line{display:grid;grid-template-columns:minmax(0,1fr) auto auto auto;gap:7px;align-items:center}.coord-action-line .btn{min-width:88px;padding:0 13px;white-space:nowrap}.coord-action-line #analyzeBtn{min-width:104px}@media(max-width:760px){.coord-action-line{grid-template-columns:repeat(3,minmax(0,1fr))}.coord-action-line input{grid-column:1/-1}.coord-action-line .btn{min-width:0;width:100%}}.input-status{margin-top:12px;padding-top:12px;border-top:1px solid #1c3446}.input-status .status-row{margin-top:0}.input-status .service-grid{margin-top:8px}.input-status-note{margin:8px 1px 0;color:#627788;font-size:7.8px;line-height:1.45}.picker-modal{display:none;position:fixed;inset:0;z-index:1000;padding:24px;background:#030a11d1;backdrop-filter:blur(7px);align-items:center;justify-content:center}.picker-modal.show{display:flex}.picker-dialog{width:min(980px,96vw);max-height:94vh;overflow:auto;border:1px solid #2a4559;border-radius:15px;background:#091723;box-shadow:0 28px 90px #0000007a}.picker-head{min-height:70px;padding:13px 15px;border-bottom:1px solid #1e3749;background:#102236;display:flex;align-items:center;justify-content:space-between;gap:16px}.picker-head h2{margin:0;font-size:15px}.picker-head p{margin:4px 0 0;color:#758b9b;font-size:8.8px}.picker-close{width:34px;height:34px;border:1px solid #2c495d;border-radius:8px;background:#0a1926;color:#9db0bc;font-size:22px;line-height:1}.picker-toolbar{margin:11px 12px 0}.picker-search-error{display:none;margin:7px 12px 0;padding:7px 9px;border:1px solid rgba(214,84,95,.35);border-radius:7px;background:#d6545f0f;color:#e2a1a8;font-size:12px}.picker-map{position:relative;height:min(56vh,520px);min-height:350px;margin:10px 12px 0;overflow:hidden;border:1px solid #294458;border-radius:11px;background:#d9e5e9;cursor:grab;user-select:none;touch-action:none}.picker-map.dragging{cursor:grabbing}.picker-tiles{position:absolute;inset:0;overflow:hidden}.picker-tile{position:absolute;width:256px;height:256px;max-width:none;pointer-events:none;-webkit-user-drag:none}.picker-marker{display:none;position:absolute;width:26px;height:34px;transform:translate(-50%,-100%);pointer-events:none;filter:drop-shadow(0 3px 4px rgba(0,0,0,.35));z-index:5}.picker-marker:before{content:"";position:absolute;left:3px;top:1px;width:20px;height:20px;border-radius:50% 50% 50% 0;background:#1e9a4d;border:2px solid #fff;transform:rotate(-45deg)}.picker-marker i{position:absolute;left:10px;top:7px;width:6px;height:6px;border-radius:50%;background:#fff;z-index:1}.picker-controls{position:absolute;right:10px;top:10px;z-index:7;display:grid;gap:5px}.picker-controls button{width:34px;height:34px;border:1px solid rgba(31,57,73,.4);border-radius:8px;background:#fffffff0;color:#183344;font-size:18px;font-weight:800;box-shadow:0 3px 12px #0000001f}.picker-hint{position:absolute;left:50%;bottom:10px;transform:translate(-50%);z-index:6;padding:6px 9px;border-radius:7px;background:#071621db;color:#d6e4ea;font-size:7.8px;pointer-events:none;white-space:nowrap}.picker-bottom{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:11px 12px}.picker-bottom small{display:block;color:#617688;font-size:7px;font-weight:850;letter-spacing:.07em}.picker-bottom b{display:block;margin-top:4px;color:#d8e4ea;font-size:10px}.picker-bottom-actions{display:flex;gap:7px}.picker-attrib{padding:0 12px 11px;color:#536b7c;font-size:10px;text-align:right}@media(max-width:700px){.picker-modal{padding:8px}.picker-dialog{width:100%;max-height:98vh}.picker-toolbar{flex-direction:column}.picker-toolbar .btn{width:100%}.picker-map{height:52vh;min-height:320px}.picker-bottom{align-items:stretch;flex-direction:column}.picker-bottom-actions .btn{flex:1}}
