:root{
  --bg:#f5f7fb;
  --surface:#ffffff;
  --surface-2:#f0f4fa;
  --surface-3:#e8eef7;
  --ink:#172033;
  --body:#43506a;
  --muted:#69758d;
  --faint:#95a0b5;
  --border:#dde5f0;
  --border-strong:#c7d3e3;
  --blue:#1f6feb;
  --blue-dark:#174ea6;
  --green:#18a058;
  --amber:#c88719;
  --red:#d94841;
  --teal:#0e8f94;
  --shadow:0 18px 40px rgba(23,32,51,.08);
  --mono:'IBM Plex Mono', ui-monospace, SFMono-Regular, Menlo, monospace;
  --sans:'Inter', ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, sans-serif;
}
*{box-sizing:border-box}
html,body{margin:0;min-height:100%;font-family:var(--sans);background:var(--bg);color:var(--ink)}
button,a,input{font:inherit}
button{cursor:pointer}
.app-shell{min-height:100vh;background:
  radial-gradient(circle at 88% 6%, rgba(31,111,235,.10), transparent 28%),
  radial-gradient(circle at 10% 18%, rgba(14,143,148,.08), transparent 24%),
  var(--bg);}
.topbar{position:sticky;top:0;z-index:20;background:rgba(255,255,255,.88);backdrop-filter:blur(14px);border-bottom:1px solid var(--border)}
.topbar:after{content:"";display:block;height:3px;background:var(--surface-3)}
.progress-track{height:3px;background:transparent;margin-top:-3px}.progress-track div{height:100%;width:14.285%;background:linear-gradient(90deg,var(--blue),var(--teal));transition:width .25s ease}
.topbar>.brand,.topbar>.top-meta{height:64px;display:flex;align-items:center}.topbar{display:grid;grid-template-columns:minmax(240px,1fr) auto;align-items:center;padding:0 clamp(18px,4vw,54px)}
.brand{gap:12px}.brand-mark{width:34px;height:34px;border-radius:11px;background:linear-gradient(135deg,var(--blue),var(--teal));color:white;display:grid;place-items:center;font-weight:800;box-shadow:0 10px 24px rgba(31,111,235,.22)}
.brand strong{display:block;font-size:15px;letter-spacing:-.01em}.brand span{font-size:12px;color:var(--muted)}
.top-meta{gap:12px;color:var(--muted);font-size:12px}.progress-pill{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--border);padding:7px 10px;border-radius:999px;background:var(--surface)}.progress-pill i{width:8px;height:8px;border-radius:99px;background:var(--green);box-shadow:0 0 0 4px rgba(24,160,88,.12);animation:pulse 1.6s infinite}.progress-pill b{font-family:var(--mono);font-size:11px;color:var(--body)}
.layout{max-width:1280px;margin:0 auto;display:flex;min-height:calc(100vh - 67px)}
.sidebar{width:250px;flex:0 0 250px;border-right:1px solid var(--border);padding:34px 20px;background:rgba(255,255,255,.42)}
.sidebar-title{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--faint);font-weight:700;margin-bottom:16px}
.step-btn{display:flex;align-items:center;gap:10px;width:100%;border:1px solid transparent;background:transparent;color:var(--muted);padding:10px;border-radius:11px;margin:2px 0;text-align:left;font-size:14px}.step-btn span{width:23px;height:23px;border-radius:99px;display:grid;place-items:center;font:600 11px var(--mono);border:1px solid var(--border-strong);color:var(--muted);background:var(--surface)}.step-btn.done{color:var(--body)}.step-btn.done span{background:rgba(24,160,88,.10);border-color:rgba(24,160,88,.25);color:var(--green)}.step-btn.active{background:rgba(31,111,235,.08);border-color:rgba(31,111,235,.22);color:var(--ink);font-weight:600}.step-btn.active span{background:var(--blue);border-color:var(--blue);color:white}.step-btn:disabled{opacity:.55;cursor:not-allowed}
.stage{flex:1;padding:clamp(26px,4vw,56px);min-width:0}.screen{animation:screenIn .28s ease}.eyebrow{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--border);background:rgba(255,255,255,.7);border-radius:999px;padding:6px 11px;font-size:12px;color:var(--muted);font-weight:600}.eyebrow i{width:8px;height:8px;border-radius:50%;background:var(--green);box-shadow:0 0 0 4px rgba(24,160,88,.10)}
h1{font-size:clamp(36px,5vw,64px);line-height:1.02;letter-spacing:-.055em;margin:20px 0 0;max-width:780px}h1 .accent{color:var(--blue)}p.lead{font-size:18px;line-height:1.65;color:var(--body);max-width:700px;margin:22px 0 0}.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:38px;align-items:center}.card{background:var(--surface);border:1px solid var(--border);border-radius:22px;box-shadow:var(--shadow)}.soft-card{background:rgba(255,255,255,.68);border:1px solid var(--border);border-radius:18px}.primary-btn,.secondary-btn{border-radius:13px;padding:13px 18px;font-weight:700;border:1px solid transparent;display:inline-flex;align-items:center;justify-content:center;gap:8px;text-decoration:none}.primary-btn{background:linear-gradient(135deg,var(--blue),var(--blue-dark));color:#fff;box-shadow:0 14px 25px rgba(31,111,235,.20)}.secondary-btn{background:var(--surface);border-color:var(--border-strong);color:var(--body)}.actions{display:flex;gap:12px;margin-top:34px;flex-wrap:wrap}.metric-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:34px}.metric{padding:18px}.metric label{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--faint);font-weight:800}.metric strong{display:block;margin-top:7px;font-size:30px;letter-spacing:-.04em}.metric small{display:block;color:var(--muted);font-family:var(--mono);margin-top:4px;font-size:11px}
.scope{padding:24px;position:relative;overflow:hidden}.scan-ring{aspect-ratio:1/1;border-radius:50%;background:radial-gradient(circle,rgba(31,111,235,.16),transparent 34%),repeating-radial-gradient(circle,transparent 0 34px,rgba(31,111,235,.12) 35px 36px),linear-gradient(135deg,#fff,#edf4ff);border:1px solid var(--border);position:relative;display:grid;place-items:center}.scan-ring:before{content:"";position:absolute;inset:11%;border-radius:50%;background:conic-gradient(from 0deg, rgba(31,111,235,.0), rgba(31,111,235,.32), rgba(14,143,148,.16), transparent 36%);animation:spin 4s linear infinite}.scan-ring:after{content:"";position:absolute;inset:34%;border-radius:50%;border:2px solid rgba(31,111,235,.3)}.scope-center{position:relative;z-index:1;background:var(--surface);border:1px solid var(--border);border-radius:20px;padding:18px;text-align:center;box-shadow:var(--shadow)}.scope-center b{font-size:30px}.scope-center span{display:block;color:var(--muted);font-size:12px;margin-top:2px}.dot{position:absolute;width:12px;height:12px;border-radius:50%;background:var(--red);box-shadow:0 0 0 7px rgba(217,72,65,.12)}.dot.one{left:23%;top:36%}.dot.two{right:27%;top:27%;background:var(--amber)}.dot.three{right:32%;bottom:23%;background:var(--green)}
.feed-mini{margin-top:18px;overflow:hidden}.feed-mini-head{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--border);padding:13px 16px;font-weight:700}.feed-mini-head span{font:500 11px var(--mono);color:var(--muted)}.feed-row{display:grid;grid-template-columns:auto auto 1fr auto;gap:10px;align-items:center;padding:11px 16px;border-bottom:1px solid var(--border);font-size:13px}.feed-row:last-child{border-bottom:0}.tag{font:700 10px var(--mono);padding:3px 7px;border-radius:7px}.tag.blue{background:rgba(31,111,235,.10);color:var(--blue)}.tag.green{background:rgba(24,160,88,.10);color:var(--green)}.tag.amber{background:rgba(200,135,25,.12);color:var(--amber)}.tag.red{background:rgba(217,72,65,.10);color:var(--red)}
.stream-grid,.protocol-grid,.region-grid,.finding-grid{display:grid;gap:14px}.stream-grid{grid-template-columns:repeat(3,1fr);margin-top:34px}.stream-card{padding:20px}.stream-viz{height:86px;border-radius:15px;background:var(--surface-2);border:1px solid var(--border);margin-bottom:16px;position:relative;overflow:hidden}.bars{position:absolute;inset:18px;display:flex;gap:7px;align-items:end}.bars i{flex:1;border-radius:4px 4px 0 0;background:var(--blue);opacity:.45;animation:bar 2s ease-in-out infinite}.bars i:nth-child(2n){background:var(--teal);animation-delay:.25s}.bars i:nth-child(3n){background:var(--amber);animation-delay:.5s}.line-viz:before{content:"";position:absolute;left:18px;right:18px;top:42px;height:2px;background:var(--border-strong)}.line-viz svg{position:absolute;inset:0;width:100%;height:100%}.stream-card h3,.protocol-card h3{margin:0 0 9px;font-size:20px;letter-spacing:-.025em}.stream-card p,.protocol-card p{margin:0;color:var(--body);line-height:1.55;font-size:14px}.mono-strip{margin-top:22px;border:1px solid var(--border);border-radius:15px;background:rgba(255,255,255,.72);padding:13px 16px;font:500 12px var(--mono);color:var(--muted);display:flex;gap:12px;flex-wrap:wrap}.mono-strip b{color:var(--ink)}
.story-panel{display:grid;grid-template-columns:1.2fr .8fr;gap:28px;align-items:start}.promise{padding:24px}.promise ul{list-style:none;padding:0;margin:0}.promise li{display:flex;gap:10px;padding:9px 0;font-size:18px;font-weight:650}.promise li span{font-family:var(--mono);font-size:12px;color:var(--faint)}.quote{border-left:4px solid var(--blue);padding:18px 0 18px 20px;color:var(--ink);font-size:18px;line-height:1.6;font-weight:550;margin-top:30px}.protocol-grid{grid-template-columns:repeat(2,1fr);margin-top:28px}.protocol-card{padding:0;overflow:hidden}.protocol-card header{display:flex;justify-content:space-between;align-items:center;background:var(--surface-2);border-bottom:1px solid var(--border);padding:13px 16px}.protocol-card header b{font:800 10px var(--mono);letter-spacing:.11em;color:var(--blue)}.protocol-card .body{display:flex;gap:15px;padding:18px}.icon-box{width:54px;height:54px;border-radius:16px;display:grid;place-items:center;flex-shrink:0;background:rgba(31,111,235,.08);color:var(--blue);border:1px solid rgba(31,111,235,.16);font-size:26px}
.region-grid{grid-template-columns:repeat(4,1fr);margin-top:30px}.region-card{text-align:left;padding:0;overflow:hidden;border-radius:17px;background:var(--surface);border:1px solid var(--border);transition:.16s}.region-card:hover,.region-card.active{border-color:var(--blue);box-shadow:0 14px 30px rgba(31,111,235,.10)}.region-card header{display:flex;justify-content:space-between;align-items:center;padding:11px 13px;border-bottom:1px solid var(--border);background:var(--surface-2);color:var(--muted);font:700 11px var(--mono)}.region-card .region-body{padding:15px}.region-card .flag{font-size:24px}.region-card h3{font-size:15px;margin:8px 0 2px}.risk-bar{height:5px;background:var(--surface-3);border-radius:99px;overflow:hidden;margin-top:12px}.risk-bar i{display:block;height:100%;background:linear-gradient(90deg,var(--teal),var(--blue));border-radius:99px}.status-row{margin-top:16px;padding:14px 16px;border-radius:16px;border:1px solid var(--border);background:var(--surface);font:500 12px var(--mono);display:flex;gap:12px;flex-wrap:wrap;color:var(--muted)}.status-row b{color:var(--ink)}
.terminal{margin-top:24px;background:#101828;color:#e6edf7;border-radius:20px;overflow:hidden;border:1px solid #26344f;box-shadow:0 24px 50px rgba(16,24,40,.20)}.terminal-head{height:46px;display:flex;align-items:center;justify-content:space-between;padding:0 18px;background:#172033;border-bottom:1px solid #26344f;font:600 12px var(--mono)}.terminal-head span:first-child{color:#75a7ff}.terminal-head span:last-child{color:#7ee3b2}.terminal-body{display:grid;grid-template-columns:1.08fr .92fr;min-height:540px}.log-panel{padding:16px 18px;font:500 12px/1.58 var(--mono);white-space:pre-wrap;overflow:hidden;background:#0b1220}.log-line.dim{color:#70809e}.log-line.info{color:#c9d7ed}.log-line.warn{color:#ffd075}.log-line.good{color:#7ee3b2}.inspection{border-left:1px solid #26344f;background:#111b2f;padding:20px;display:flex;flex-direction:column;gap:14px}.inspection-card{background:#0b1220;border:1px solid #26344f;border-radius:16px;padding:16px}.inspection-title{display:flex;justify-content:space-between;gap:12px}.check-row{display:grid;grid-template-columns:20px 1fr auto;gap:10px;align-items:center;padding:9px 0;border-bottom:1px solid rgba(255,255,255,.06);font-size:13px}.check-row:last-child{border-bottom:0}.check-row i{width:18px;height:18px;border-radius:50%;border:1px solid #3b4b69;display:grid;place-items:center;color:#7ee3b2;font-style:normal}.check-row.done i{background:rgba(126,227,178,.12);border-color:#7ee3b2}.check-row span{color:#9fb0cf;font:500 11px var(--mono)}.scan-complete{margin-top:16px;border:1px solid rgba(31,111,235,.25);background:rgba(31,111,235,.07);padding:14px 16px;border-radius:16px;display:flex;align-items:center;gap:12px;color:var(--body)}
.finding-grid{grid-template-columns:repeat(2,1fr)}.filter-row{display:flex;justify-content:space-between;gap:16px;align-items:end;margin-bottom:22px;flex-wrap:wrap}.filters{display:flex;gap:8px;flex-wrap:wrap}.filters button{padding:9px 13px;border:1px solid var(--border);background:var(--surface);border-radius:12px;color:var(--muted);font-weight:650;font-size:13px}.filters button.active{background:var(--blue);border-color:var(--blue);color:#fff}.finding-card{padding:20px;display:flex;flex-direction:column;gap:14px}.finding-card.expanded{grid-column:1/-1}.finding-head{display:flex;justify-content:space-between;gap:14px}.finding-brand{display:flex;gap:12px;align-items:center}.logo{width:43px;height:43px;border-radius:13px;display:grid;place-items:center;font-weight:800;color:white;background:linear-gradient(135deg,var(--blue),var(--teal))}.finding-brand h3{margin:0;font-size:17px}.finding-brand small{display:block;color:var(--muted);font:500 12px var(--mono);margin-top:3px}.active-pill{height:28px;border-radius:999px;background:rgba(24,160,88,.10);color:var(--green);font:700 11px var(--mono);display:inline-flex;align-items:center;padding:0 9px;white-space:nowrap}.finding-title{font-size:16px;font-weight:700;line-height:1.45}.finding-meta{display:grid;grid-template-columns:1fr 1fr;gap:10px;background:var(--surface-2);border:1px solid var(--border);border-radius:14px;padding:11px}.finding-meta label,.value-row label{display:block;font:800 10px var(--mono);letter-spacing:.09em;text-transform:uppercase;color:var(--faint);margin-bottom:5px}.finding-meta div+div{border-left:1px solid var(--border);padding-left:12px}.finding-meta span,.value-row span{font:600 12px var(--mono);color:var(--ink)}.value-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;border-top:1px solid var(--border);border-bottom:1px solid var(--border);padding:12px 0}.confidence{display:flex;align-items:center;gap:8px}.confidence-bar{width:64px;height:5px;background:var(--surface-3);border-radius:99px;overflow:hidden}.confidence-bar i{display:block;height:100%;background:var(--green)}.steps{margin:0;padding-left:20px;color:var(--body);font-size:14px;line-height:1.6}.hint{background:rgba(31,111,235,.07);border:1px solid rgba(31,111,235,.18);color:var(--body);border-radius:14px;padding:12px 14px;font-size:14px;line-height:1.5}.cta-row{display:flex;gap:10px}.cta-row .primary-btn{flex:1}.footer-actions{display:flex;justify-content:space-between;gap:12px;margin-top:30px}.disclaimer{margin-top:22px;color:var(--muted);font-size:12px;line-height:1.6}.hidden{display:none!important}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.45}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes screenIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes bar{0%,100%{height:24%}50%{height:84%}}
@media (max-width:900px){.topbar{padding:0 16px}.brand span,#geoLabel{display:none}.layout{display:block}.sidebar{width:100%;border-right:0;border-bottom:1px solid var(--border);padding:12px 16px;overflow:auto;white-space:nowrap}.sidebar-title{display:none}#stepNav{display:flex;gap:7px}.step-btn{width:auto;margin:0}.stage{padding:24px 16px 60px}.hero-grid,.story-panel,.terminal-body{grid-template-columns:1fr}.scope{order:-1}.metric-grid,.stream-grid,.protocol-grid,.region-grid,.finding-grid{grid-template-columns:1fr}.region-grid{grid-template-columns:repeat(2,1fr)}.finding-card.expanded{grid-column:auto}.terminal-body{min-height:auto}.inspection{border-left:0;border-top:1px solid #26344f}.footer-actions,.cta-row{flex-direction:column}.topbar>.brand,.topbar>.top-meta{height:58px}}
@media (max-width:520px){h1{font-size:34px}.metric-grid,.region-grid{grid-template-columns:1fr}.finding-meta,.value-row{grid-template-columns:1fr}.finding-meta div+div{border-left:0;border-top:1px solid var(--border);padding-left:0;padding-top:10px}.topbar{grid-template-columns:1fr auto}.brand strong{font-size:14px}.scope{padding:16px}.scan-ring{min-height:260px}}
.region-action {
  margin-top: 24px;
}

.region-hint {
  color: #9fb0cf;
  font-size: 14px;
  margin: 0 0 14px;
  text-align: center;
}

.primary-btn:disabled {
  opacity: 0.45;
  cursor: not-allowed;
  transform: none !important;
  box-shadow: none !important;
}