*{box-sizing:border-box}
html,body{margin:0;background:#07110c;color:#e7f6ee;font-family:Georgia,"Iowan Old Style",serif}
body{padding:16px}
.shell{max-width:1080px;margin:auto;background:#0d1a14;border:1px solid #2a5a40;border-radius:18px;padding:22px 22px 28px}
.eyebrow{font:700 12px ui-monospace,Menlo,monospace;letter-spacing:.08em;text-transform:uppercase;color:#7dffa9}
h1{font-size:clamp(28px,5vw,48px);line-height:1.05;margin:10px 0 12px;font-weight:700}
header p,.notice,.security,.crisis{font-family:system-ui,-apple-system,Segoe UI,sans-serif}
header p{color:#b7cfc2;font-size:1.05rem;max-width:46rem}
.crisis{display:flex;flex-wrap:wrap;gap:10px 18px;padding:12px 14px;margin:16px 0;background:#13241c;border-radius:12px;border:1px solid #2f6a49;font-size:.92rem}
.notice,.security,.result,.error,fieldset{border:1px solid #2a5a40;padding:16px;margin:16px 0;border-radius:12px;font-family:system-ui,-apple-system,Segoe UI,sans-serif}
.notice{background:#18260c;border-color:#8a7a2a}
.error{border-color:#8a3a3a;color:#ffc4c4}
legend{font:700 12px ui-monospace,monospace;color:#c6f5d6;padding:0 6px}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:8px}
.check{display:flex;gap:8px;align-items:flex-start;padding:9px 10px;border:1px solid #1e3d2d;background:#0b1611;border-radius:8px;font-size:.92rem}
.check:hover{border-color:#4adf96}
input,select{accent-color:#63ffae}
.modes{display:flex;flex-wrap:wrap;gap:12px 18px;margin:10px 0;color:#c5ddd1}
.toolbar{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0 4px}
button.go{width:100%;padding:16px;background:#63ffae;color:#04140c;border:0;font-weight:800;font-size:1.05rem;border-radius:12px;cursor:pointer;font-family:system-ui,sans-serif}
button.go:hover{filter:brightness(1.06)}
button.ghost{width:auto;padding:8px 12px;background:transparent;color:#9dffc4;border:1px solid #2d6b4c;border-radius:999px;font-weight:650;cursor:pointer;font-family:system-ui,sans-serif}
.quick{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px;margin:8px 0 14px}
button.preset{padding:14px;text-align:left;background:#123226;color:#e9fff3;border:1px solid #3d8a60;border-radius:12px;cursor:pointer;font-weight:750;font-family:system-ui,sans-serif}
button.preset small{display:block;font-weight:500;color:#9ecbb0;margin-top:4px}
button.preset:hover{border-color:#63ffae}
.result{border-left:6px solid #63ffae;background:#102019}
.result h2{font-size:clamp(22px,4vw,34px);margin:8px 0 10px;font-family:Georgia,serif}
.tag{font:700 11px ui-monospace,monospace;color:#63ffae;letter-spacing:.04em}
.map{display:inline-block;margin:8px 8px 8px 0;padding:10px 13px;border:1px solid #63ffae;color:#63ffae;text-decoration:none;border-radius:8px;font-family:system-ui,sans-serif}
.small,footer{font-size:13px;color:#7f9a8c;font-family:system-ui,sans-serif}
.security li{margin:8px 0}
footer{margin-top:22px;line-height:1.6}
.alts{margin:0;padding-left:18px}
.alts li{margin:8px 0}
.alts a{color:#63ffae}
.controls{background:#0b1611}
