:root {
  --bg: #060912;
  --bg-soft: #0a101c;
  --panel: rgba(14, 22, 36, .86);
  --panel-solid: #101827;
  --panel-high: #142033;
  --paper: #eef4f7;
  --ink: #eaf5f7;
  --muted: #8ea2ad;
  --muted-strong: #b7c6cc;
  --border: rgba(153, 202, 215, .16);
  --border-bright: rgba(125, 231, 221, .36);
  --cyan: #69f6e8;
  --cyan-strong: #25d5c8;
  --lime: #c5ff65;
  --orange: #ff9b50;
  --red: #ff5f73;
  --yellow: #ffd85a;
  --blue: #6ca8ff;
  --success: #5bf2a0;
  --shadow: 0 35px 100px rgba(0, 0, 0, .42);
  --shadow-soft: 0 22px 70px rgba(0, 0, 0, .24);
  --max: 1660px;
  --radius: 22px;
  --clip: polygon(0 0, calc(100% - 22px) 0, 100% 22px, 100% 100%, 22px 100%, 0 calc(100% - 22px));
  color-scheme: dark;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  min-width: 320px;
  min-height: 100vh;
  overflow-x: hidden;
  color: var(--ink);
  background:
    radial-gradient(circle at 18% 12%, rgba(37, 213, 200, .1), transparent 28%),
    radial-gradient(circle at 82% 18%, rgba(197, 255, 101, .055), transparent 24%),
    linear-gradient(180deg, #060912 0%, #080d17 52%, #060912 100%);
  font-family: "Segoe UI Variable", "Aptos", "Segoe UI", sans-serif;
  line-height: 1.55;
}
body::before {
  content: "";
  position: fixed;
  inset: 0;
  z-index: -3;
  pointer-events: none;
  opacity: .34;
  background-image:
    linear-gradient(rgba(105, 246, 232, .035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(105, 246, 232, .035) 1px, transparent 1px);
  background-size: 72px 72px;
  mask-image: linear-gradient(to bottom, black, transparent 88%);
}
body::after {
  content: "";
  position: fixed;
  inset: 0;
  z-index: -2;
  pointer-events: none;
  opacity: .035;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.86' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.7'/%3E%3C/svg%3E");
}
button, input, textarea, select { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
a { color: inherit; }
button:disabled { cursor: wait; opacity: .6; }
::selection { background: var(--cyan); color: #04100f; }

#network-canvas {
  position: fixed;
  inset: 0;
  z-index: -1;
  width: 100%;
  height: 100%;
  opacity: .72;
  pointer-events: none;
}
#cursor-light {
  position: fixed;
  z-index: 500;
  width: 360px;
  height: 360px;
  border-radius: 50%;
  pointer-events: none;
  transform: translate3d(-50%, -50%, 0);
  background: radial-gradient(circle, rgba(105, 246, 232, .09), rgba(105, 246, 232, .025) 36%, transparent 70%);
  mix-blend-mode: screen;
  transition: width 220ms ease, height 220ms ease, opacity 220ms ease;
}
body[data-pointer-active="false"] #cursor-light { opacity: 0; }

.skip-link {
  position: fixed;
  left: 14px;
  top: 14px;
  z-index: 1000;
  padding: 12px 17px;
  background: var(--cyan);
  color: #03110f;
  font-weight: 800;
  transform: translateY(-180%);
}
.skip-link:focus { transform: none; }

.topbar {
  position: sticky;
  top: 0;
  z-index: 200;
  min-height: 80px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 24px;
  padding: 12px clamp(18px, 3.5vw, 60px);
  border-bottom: 1px solid var(--border);
  background: rgba(6, 9, 18, .78);
  backdrop-filter: blur(22px) saturate(1.25);
}
.topbar::after {
  content: "";
  position: absolute;
  inset: auto 0 -1px;
  height: 1px;
  background: linear-gradient(90deg, transparent, var(--cyan), transparent);
  opacity: .35;
}
.brand-lockup { display: flex; align-items: center; gap: 14px; min-width: 0; }
.brand-mark {
  position: relative;
  display: grid;
  place-items: center;
  width: 47px;
  height: 47px;
  flex: 0 0 auto;
  color: var(--cyan);
  background: #0b1422;
  border: 1px solid rgba(105, 246, 232, .32);
  clip-path: polygon(0 0, 75% 0, 100% 25%, 100% 100%, 25% 100%, 0 75%);
  box-shadow: inset 0 0 24px rgba(105, 246, 232, .08), 0 0 25px rgba(105, 246, 232, .08);
}
.brand-mark i { position: absolute; inset: 7px; border: 1px solid rgba(197, 255, 101, .28); transform: rotate(45deg); }
.brand-mark b { position: relative; z-index: 2; font-size: 22px; line-height: 1; }
.brand-lockup > div { display: grid; min-width: 0; }
.brand-lockup strong { letter-spacing: -.025em; font-size: 16px; }
.brand-lockup span:last-child { color: var(--muted); font-size: 11px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.topbar-actions { display: flex; align-items: center; gap: 16px; }
.system-status, .command-chip { display: inline-flex; align-items: center; gap: 9px; color: var(--muted-strong); font-size: 12px; }
.command-chip {
  min-height: 38px;
  padding: 8px 12px;
  border: 1px solid var(--border);
  background: rgba(14, 22, 36, .65);
  color: var(--muted-strong);
  cursor: pointer;
}
.command-chip:hover { border-color: var(--border-bright); color: var(--ink); }
.status-dot { width: 8px; height: 8px; border-radius: 50%; background: var(--orange); box-shadow: 0 0 15px var(--orange); }
.status-dot.connected { background: var(--success); box-shadow: 0 0 15px var(--success); }
.pulse-ring { width: 9px; height: 9px; border-radius: 50%; background: var(--success); box-shadow: 0 0 0 0 rgba(91, 242, 160, .35); animation: statusPulse 2.2s infinite; }
@keyframes statusPulse { 60% { box-shadow: 0 0 0 8px rgba(91, 242, 160, 0); } 100% { box-shadow: 0 0 0 0 rgba(91, 242, 160, 0); } }

main { max-width: var(--max); margin: auto; padding: clamp(34px, 5vw, 78px) clamp(18px, 3.5vw, 60px) 120px; }
.kicker { margin: 0 0 14px; color: var(--cyan); font-size: 12px; font-weight: 850; letter-spacing: .13em; text-transform: uppercase; }
h1, h2, h3 { margin-top: 0; line-height: 1.02; letter-spacing: -.048em; text-wrap: balance; }
h1 { max-width: 11ch; margin-bottom: 28px; font-size: clamp(52px, 6.7vw, 108px); font-weight: 670; }
h2 { margin-bottom: 0; font-size: clamp(38px, 4.3vw, 69px); font-weight: 650; }
h3 { font-size: clamp(22px, 2vw, 29px); }

.intake-shell {
  min-height: calc(100vh - 190px);
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(430px, .95fr);
  align-items: center;
  gap: clamp(48px, 7vw, 112px);
}
.intake-copy { position: relative; z-index: 2; }
.hero-status {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  margin-bottom: 30px;
  padding: 8px 11px;
  color: var(--muted-strong);
  border: 1px solid var(--border);
  background: rgba(14, 22, 36, .48);
  font-size: 11px;
  font-weight: 750;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.hero-status span { width: 7px; height: 7px; border-radius: 50%; background: var(--lime); box-shadow: 0 0 18px var(--lime); }
.hero-intro { max-width: 69ch; margin: 0; color: var(--muted-strong); font-size: clamp(18px, 1.45vw, 22px); }
.process-map {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1px;
  margin-top: 42px;
  border: 1px solid var(--border);
  background: var(--border);
}
.process-map span {
  position: relative;
  min-height: 64px;
  display: flex;
  align-items: center;
  gap: 11px;
  padding: 15px;
  overflow: hidden;
  background: rgba(9, 15, 26, .84);
  color: var(--muted-strong);
  font-size: 12px;
  font-weight: 750;
}
.process-map span::after { content: ""; position: absolute; inset: auto -40% 0; height: 1px; background: linear-gradient(90deg, transparent, var(--cyan), transparent); transform: translateX(-60%); transition: transform 600ms ease; }
.process-map span:hover::after { transform: translateX(60%); }
.process-map b { color: var(--cyan); font-size: 10px; letter-spacing: .08em; }

.intake-console {
  position: relative;
  min-width: 0;
  isolation: isolate;
  padding-top: 220px;
  background: rgba(10, 16, 28, .86);
  border: 1px solid var(--border-bright);
  clip-path: var(--clip);
  box-shadow: var(--shadow);
  transform-style: preserve-3d;
}
.intake-console::before { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(145deg, rgba(105,246,232,.05), transparent 35%, rgba(197,255,101,.025)); }
.console-visual { position: absolute; inset: 0 0 auto; height: 220px; overflow: hidden; background: radial-gradient(circle at 50% 64%, rgba(105,246,232,.15), transparent 29%); border-bottom: 1px solid var(--border); }
.console-visual::before { content: ""; position: absolute; inset: 18px; background: repeating-radial-gradient(circle at 50% 68%, transparent 0 26px, rgba(105,246,232,.06) 27px 28px); }
.search-core { position: absolute; left: 50%; top: 56%; display: grid; place-items: center; width: 76px; height: 76px; transform: translate(-50%, -50%); border-radius: 50%; border: 1px solid rgba(105,246,232,.6); background: #08131b; box-shadow: 0 0 55px rgba(105,246,232,.25), inset 0 0 25px rgba(105,246,232,.12); }
.search-core::after { content: ""; position: absolute; inset: 9px; border: 1px dashed rgba(197,255,101,.48); border-radius: 50%; animation: spin 10s linear infinite; }
.search-core span { position: relative; z-index: 2; color: var(--cyan); font-size: 18px; font-weight: 900; }
.search-core small { position: absolute; bottom: 14px; color: var(--lime); font-size: 7px; letter-spacing: .2em; }
.orbit { position: absolute; left: 50%; top: 56%; border: 1px solid rgba(105,246,232,.16); border-radius: 50%; transform: translate(-50%, -50%); }
.orbit-one { width: 180px; height: 180px; animation: spin 18s linear infinite; }
.orbit-two { width: 300px; height: 120px; animation: spinReverse 22s linear infinite; }
.orbit i { position: absolute; width: 7px; height: 7px; border-radius: 50%; background: var(--cyan); box-shadow: 0 0 16px var(--cyan); }
.orbit-one i:nth-child(1) { left: 12%; top: 18%; }.orbit-one i:nth-child(2) { right: 2%; top: 50%; background: var(--lime); box-shadow: 0 0 16px var(--lime); }.orbit-one i:nth-child(3) { left: 35%; bottom: -2%; background: var(--orange); box-shadow: 0 0 16px var(--orange); }
.orbit-two i:first-child { left: 4%; top: 43%; }.orbit-two i:last-child { right: 14%; top: 2%; background: var(--lime); box-shadow: 0 0 16px var(--lime); }
.signal-label { position: absolute; padding: 5px 7px; color: var(--muted); border: 1px solid var(--border); background: rgba(6,9,18,.8); font-size: 8px; letter-spacing: .14em; }
.signal-a { left: 13%; top: 28%; }.signal-b { right: 12%; top: 30%; }.signal-c { right: 24%; bottom: 17%; }
@keyframes spin { to { transform: translate(-50%, -50%) rotate(360deg); } }
@keyframes spinReverse { to { transform: translate(-50%, -50%) rotate(-360deg); } }

.audit-form { padding: clamp(25px, 3vw, 40px); display: grid; grid-template-columns: 1fr 1fr; gap: 17px; background: rgba(8, 13, 23, .72); }
.form-heading { grid-column: 1 / -1; display: grid; gap: 5px; margin-bottom: 4px; }
.form-heading span { color: var(--cyan); font-size: 10px; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.form-heading strong { max-width: 40ch; font-size: 19px; letter-spacing: -.02em; }
.field { display: grid; gap: 7px; }
.field.full { grid-column: 1 / -1; }
label { color: var(--muted-strong); font-size: 12px; font-weight: 750; letter-spacing: .02em; }
.field small { color: var(--muted); font-size: 10px; }
input, textarea, select {
  width: 100%;
  min-height: 49px;
  padding: 13px 14px;
  color: var(--ink);
  background: rgba(5, 10, 18, .8);
  border: 1px solid rgba(148, 184, 195, .26);
  border-radius: 0;
  outline: 0;
  transition: border-color 180ms ease, box-shadow 180ms ease, background 180ms ease;
}
textarea { min-height: 132px; resize: vertical; line-height: 1.55; }
input:focus, textarea:focus, select:focus { border-color: var(--cyan); background: #08121d; box-shadow: 0 0 0 3px rgba(105,246,232,.08), 0 0 24px rgba(105,246,232,.07); }
.field-glow { position: relative; }
.field-glow::after { content: ""; position: absolute; inset: auto 12% -1px; height: 1px; background: var(--cyan); box-shadow: 0 0 14px var(--cyan); opacity: .5; }
.option-matrix { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; }
.check-row { display: grid; grid-template-columns: 19px 1fr; gap: 9px; align-items: start; color: var(--muted); font-weight: 500; cursor: pointer; }
.option-matrix .check-row { min-height: 76px; padding: 12px; border: 1px solid var(--border); background: rgba(13, 21, 34, .58); }
.check-row input { width: 17px; height: 17px; min-height: auto; margin: 2px 0 0; accent-color: var(--cyan-strong); }
.check-row span { display: grid; gap: 3px; }
.check-row b { color: var(--ink); font-size: 11px; }
.check-row small { color: var(--muted); font-size: 9px; }
.check-row.authorization { grid-column: 1 / -1; padding: 13px 14px; border-left: 3px solid var(--lime); background: rgba(197,255,101,.055); color: var(--muted-strong); }
.form-note { grid-column: 1 / -1; margin: 0; color: var(--muted); font-size: 10px; }

.primary-button, .secondary-button, .text-button, .filter, .tab-button { border: 0; cursor: pointer; text-decoration: none; }
.primary-button, .secondary-button {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 11px 17px;
  overflow: hidden;
  font-weight: 800;
  letter-spacing: -.01em;
  transition: transform 180ms ease, border-color 180ms ease, background 180ms ease, color 180ms ease, box-shadow 180ms ease;
}
.primary-button { grid-column: 1 / -1; color: #03110f; background: var(--cyan); box-shadow: 0 10px 35px rgba(37,213,200,.15); }
.primary-button:hover { transform: translateY(-2px); background: var(--lime); box-shadow: 0 15px 45px rgba(197,255,101,.16); }
.primary-button.compact { grid-column: auto; min-height: 44px; }
.secondary-button { color: var(--ink); background: rgba(14,22,36,.55); border: 1px solid var(--border-bright); }
.secondary-button:hover { transform: translateY(-2px); color: #03110f; background: var(--cyan); border-color: var(--cyan); }
.energy-button i { position: absolute; inset: 0 auto 0 -30%; width: 24%; transform: skewX(-24deg); background: rgba(255,255,255,.45); filter: blur(8px); transition: left 520ms cubic-bezier(.16,1,.3,1); }
.energy-button:hover i { left: 116%; }
.ai-button::before { content: ""; width: 8px; height: 8px; margin-right: 9px; border-radius: 50%; background: var(--lime); box-shadow: 0 0 14px var(--lime); }
.text-button { padding: 0; color: var(--cyan); background: transparent; font-weight: 800; }
.text-button:hover { color: var(--lime); }
.hidden { display: none !important; }

.progress-panel {
  position: relative;
  min-height: 520px;
  margin: 8vh 0;
  display: grid;
  grid-template-columns: 190px minmax(0, 1fr) auto;
  align-items: center;
  gap: clamp(30px, 5vw, 74px);
  padding: clamp(38px, 6vw, 92px);
  overflow: hidden;
  border: 1px solid var(--border-bright);
  background: rgba(8, 13, 23, .9);
  clip-path: var(--clip);
  box-shadow: var(--shadow);
}
.progress-panel::after { content: ""; position: absolute; inset: 0; pointer-events: none; background: linear-gradient(115deg, transparent 0 42%, rgba(105,246,232,.055) 48%, transparent 54%); transform: translateX(-100%); animation: scanPanel 3s linear infinite; }
@keyframes scanPanel { to { transform: translateX(100%); } }
.progress-orb { position: relative; width: 170px; height: 170px; display: grid; place-items: center; }
.progress-orb span { width: 66px; height: 66px; border-radius: 50%; background: radial-gradient(circle, var(--cyan), #0c574f 38%, #07131d 70%); box-shadow: 0 0 55px rgba(105,246,232,.32); animation: corePulse 1.8s ease-in-out infinite; }
.progress-orb i, .progress-orb b { position: absolute; inset: 8px; border: 1px solid rgba(105,246,232,.24); border-radius: 50%; animation: orbitSpin 7s linear infinite; }
.progress-orb i::after, .progress-orb b::after { content: ""; position: absolute; top: 8px; left: 50%; width: 7px; height: 7px; border-radius: 50%; background: var(--lime); box-shadow: 0 0 14px var(--lime); }
.progress-orb b { inset: 30px; animation-direction: reverse; animation-duration: 4s; }
.progress-orb b::after { background: var(--orange); box-shadow: 0 0 14px var(--orange); }
@keyframes corePulse { 50% { transform: scale(.9); filter: brightness(1.25); } }
@keyframes orbitSpin { to { transform: rotate(360deg); } }
.progress-copy p:not(.kicker) { max-width: 58ch; color: var(--muted); }
.progress-readout { display: grid; justify-items: end; }
.progress-readout strong { font-size: clamp(56px, 8vw, 105px); line-height: .8; letter-spacing: -.07em; }
.progress-readout span { color: var(--muted); font-size: 11px; text-transform: uppercase; letter-spacing: .1em; }
.progress-track { grid-column: 1 / -1; height: 8px; overflow: hidden; background: rgba(255,255,255,.07); }
.progress-track span { display: block; width: 0; height: 100%; background: linear-gradient(90deg, var(--cyan), var(--lime)); box-shadow: 0 0 20px rgba(105,246,232,.5); transition: width 300ms cubic-bezier(.16,1,.3,1); }

.workspace { display: grid; grid-template-columns: 245px minmax(0, 1fr); gap: clamp(30px, 4vw, 64px); align-items: start; }
.workspace-nav { position: sticky; top: 105px; display: grid; gap: 18px; }
.project-identity { min-width: 0; display: grid; grid-template-columns: 38px minmax(0,1fr); align-items: center; gap: 12px; padding: 0 0 22px; border-bottom: 1px solid var(--border); }
.project-beacon { position: relative; width: 36px; height: 36px; display: grid; place-items: center; }
.project-beacon span { width: 10px; height: 10px; border-radius: 50%; background: var(--cyan); box-shadow: 0 0 16px var(--cyan); }
.project-beacon i { position: absolute; inset: 1px; border: 1px solid rgba(105,246,232,.22); border-radius: 50%; animation: beaconRing 2.5s ease-out infinite; }
@keyframes beaconRing { 0% { transform: scale(.3); opacity: 1; } 100% { transform: scale(1.25); opacity: 0; } }
.project-identity > div:last-child { min-width: 0; display: grid; gap: 2px; }
.project-identity span { color: var(--muted); font-size: 9px; text-transform: uppercase; letter-spacing: .13em; }
.project-identity strong, .project-identity small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.project-identity strong { font-size: 15px; }
.project-identity small { color: var(--cyan); font-size: 10px; }
.tab-list { display: grid; gap: 4px; }
.tab-button {
  position: relative;
  min-height: 45px;
  padding: 10px 13px 10px 16px;
  overflow: hidden;
  text-align: left;
  color: var(--muted);
  background: transparent;
  border-left: 1px solid var(--border);
  font-weight: 700;
}
.tab-button::before { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(105,246,232,.1), transparent); transform: translateX(-103%); transition: transform 300ms cubic-bezier(.16,1,.3,1); }
.tab-button span { position: relative; z-index: 2; }
.tab-button i { position: absolute; right: 10px; top: 50%; width: 5px; height: 5px; border-radius: 50%; background: var(--border-bright); transform: translateY(-50%); transition: background 180ms ease, box-shadow 180ms ease; }
.tab-button:hover, .tab-button.active { color: var(--ink); border-left-color: var(--cyan); }
.tab-button:hover::before, .tab-button.active::before { transform: none; }
.tab-button.active i { background: var(--lime); box-shadow: 0 0 13px var(--lime); }
.nav-intelligence { padding: 15px; border: 1px solid var(--border); background: rgba(14,22,36,.42); }
.nav-intelligence span { display: block; margin-bottom: 6px; color: var(--cyan); font-size: 8px; font-weight: 850; letter-spacing: .13em; text-transform: uppercase; }
.nav-intelligence strong { display: block; color: var(--muted-strong); font-size: 11px; line-height: 1.5; }
.workspace-content { min-width: 0; }
.tab-panel { display: none; }
.tab-panel.active { display: block; animation: panelEnter 460ms cubic-bezier(.16,1,.3,1) both; }
@keyframes panelEnter { from { opacity: 0; transform: translateY(16px) scale(.995); } to { opacity: 1; transform: none; } }
.panel-heading { display: flex; justify-content: space-between; align-items: flex-end; gap: 30px; margin-bottom: 34px; }
.panel-heading > div:first-child { max-width: 880px; }
.panel-heading p:not(.kicker) { max-width: 72ch; margin-bottom: 0; color: var(--muted); }
.export-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 9px; }

.overview-grid { display: grid; grid-template-columns: minmax(440px, .88fr) minmax(0, 1.12fr); gap: 20px; }
.interactive-surface { --rx: 0deg; --ry: 0deg; --lift: 0px; transform: perspective(1100px) rotateX(var(--rx)) rotateY(var(--ry)) translateY(var(--lift)); transform-style: preserve-3d; transition: transform 220ms cubic-bezier(.16,1,.3,1), border-color 220ms ease, box-shadow 220ms ease; }
.interactive-surface:hover { --lift: -3px; border-color: rgba(105,246,232,.32); box-shadow: 0 28px 80px rgba(0,0,0,.32), 0 0 0 1px rgba(105,246,232,.04); }
.score-stage { position: relative; min-height: 560px; padding: clamp(28px, 4vw, 48px); overflow: hidden; background: rgba(12,19,31,.88); border: 1px solid var(--border); clip-path: var(--clip); }
.score-stage::before { content: ""; position: absolute; width: 430px; height: 430px; left: 50%; top: 54%; transform: translate(-50%,-50%); border-radius: 50%; background: radial-gradient(circle, rgba(105,246,232,.08), transparent 64%); }
.score-header { position: relative; z-index: 3; display: flex; justify-content: space-between; gap: 20px; align-items: end; }
.score-header span { font-weight: 800; }
.score-header small { color: var(--muted); text-align: right; }
.speedometer { --score: 0; --needle-angle: -120deg; position: relative; width: min(520px, 100%); height: 355px; margin: 10px auto 0; }
.gauge-svg { position: absolute; inset: 0; width: 100%; height: 100%; overflow: visible; }
.gauge-track, .gauge-segment { fill: none; stroke-linecap: round; }
.gauge-track { stroke: rgba(255,255,255,.06); stroke-width: 26; }
.gauge-segment { stroke-width: 17; filter: url(#gaugeGlow); }
.gauge-red { stroke: var(--red); stroke-dasharray: 21 79; stroke-dashoffset: 0; }
.gauge-orange { stroke: var(--orange); stroke-dasharray: 22 78; stroke-dashoffset: -23; }
.gauge-yellow { stroke: var(--yellow); stroke-dasharray: 22 78; stroke-dashoffset: -47; }
.gauge-green { stroke: var(--success); stroke-dasharray: 29 71; stroke-dashoffset: -71; }
.gauge-ticks path { stroke: rgba(234,245,247,.38); stroke-width: 2; }
.gauge-labels text { fill: var(--muted); font: 700 11px "Segoe UI Variable", sans-serif; }
.gauge-halo { position: absolute; left: 50%; bottom: 35px; width: 230px; height: 140px; transform: translateX(-50%); border-radius: 50%; background: radial-gradient(circle, color-mix(in srgb, var(--score-color, var(--cyan)) 20%, transparent), transparent 68%); filter: blur(15px); }
.needle { position: absolute; z-index: 5; left: 50%; bottom: 67px; width: 152px; height: 10px; transform-origin: 0 50%; transform: rotate(var(--needle-angle)); transition: transform 1150ms cubic-bezier(.16,1,.3,1); }
.needle span { display: block; width: 100%; height: 3px; margin-top: 3px; clip-path: polygon(0 0, 100% 50%, 0 100%); background: linear-gradient(90deg, #f6ffff, var(--score-color, var(--cyan))); box-shadow: 0 0 14px var(--score-color, var(--cyan)); }
.hub { position: absolute; z-index: 6; left: calc(50% - 18px); bottom: 49px; width: 36px; height: 36px; display: grid; place-items: center; border-radius: 50%; border: 1px solid rgba(255,255,255,.44); background: #080e18; box-shadow: 0 0 25px rgba(105,246,232,.24); }
.hub i { width: 12px; height: 12px; border-radius: 50%; background: var(--score-color, var(--cyan)); box-shadow: 0 0 14px var(--score-color, var(--cyan)); }
.score-number { position: absolute; z-index: 7; inset: auto 0 29px; display: grid; justify-items: center; pointer-events: none; }
.score-number strong { font-size: clamp(74px, 7vw, 110px); line-height: .72; letter-spacing: -.08em; text-shadow: 0 0 35px rgba(105,246,232,.12); }
.score-number span { margin-top: 15px; color: var(--score-color, var(--cyan)); font-size: 11px; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
.score-number small { margin-top: 2px; color: var(--muted); font-size: 9px; letter-spacing: .08em; text-transform: uppercase; }
.score-stage > p { position: relative; z-index: 4; max-width: 58ch; margin: 14px auto 0; color: var(--muted); text-align: center; font-size: 11px; }
.score-categories { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.category-card { position: relative; min-height: 132px; padding: 20px; overflow: hidden; background: rgba(12,19,31,.82); border: 1px solid var(--border); }
.category-card::after { content: ""; position: absolute; inset: auto 0 0; height: 2px; background: linear-gradient(90deg, var(--category-color, var(--cyan)), transparent); opacity: .8; }
.category-card:hover { border-color: rgba(105,246,232,.3); }
.category-head { display: flex; justify-content: space-between; gap: 14px; align-items: start; }
.category-head span { color: var(--muted-strong); font-size: 12px; font-weight: 750; }
.category-head strong { font-size: 34px; line-height: 1; letter-spacing: -.055em; }
.category-bar { height: 5px; margin-top: 22px; overflow: hidden; background: rgba(255,255,255,.06); }
.category-bar span { display: block; height: 100%; width: 0; background: var(--category-color, var(--cyan)); box-shadow: 0 0 12px var(--category-color, var(--cyan)); transition: width 900ms cubic-bezier(.16,1,.3,1); }
.category-card small { display: block; margin-top: 10px; color: var(--muted); font-size: 9px; }
.metric-strip { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1px; margin-top: 20px; border: 1px solid var(--border); background: var(--border); }
.metric { position: relative; min-height: 120px; padding: 22px; overflow: hidden; background: rgba(8,13,23,.9); }
.metric::before { content: ""; position: absolute; inset: 0 auto 0 0; width: 2px; background: var(--metric-color, var(--cyan)); opacity: .7; }
.metric strong { display: block; font-size: 37px; line-height: 1; letter-spacing: -.055em; }
.metric span { display: block; margin-top: 11px; color: var(--muted); font-size: 11px; }
.metric small { position: absolute; right: 15px; top: 15px; width: 6px; height: 6px; border-radius: 50%; background: var(--metric-color, var(--cyan)); box-shadow: 0 0 12px var(--metric-color, var(--cyan)); }
.priority-preview { margin-top: 52px; }
.section-title { display: flex; justify-content: space-between; gap: 22px; align-items: end; margin-bottom: 18px; }
.section-title span, .section-minihead span { color: var(--cyan); font-size: 9px; font-weight: 850; letter-spacing: .13em; text-transform: uppercase; }
.section-title h3, .section-minihead h3 { margin: 5px 0 0; }
.priority-list, .issues-list { display: grid; gap: 10px; }
.priority-card, .issue-card { position: relative; background: rgba(12,19,31,.78); border: 1px solid var(--border); overflow: hidden; }
.priority-card::before, .issue-card::before { content: ""; position: absolute; inset: 0 auto 0 0; width: 3px; background: var(--severity-color, var(--muted)); box-shadow: 0 0 15px var(--severity-color, transparent); }
.priority-card { display: grid; grid-template-columns: 125px minmax(0,1fr); gap: 25px; padding: 22px 24px; }
.issue-card { display: grid; grid-template-columns: 115px minmax(0,1fr) minmax(200px,.55fr); gap: 24px; padding: 23px 25px; }
.priority-card:hover, .issue-card:hover { border-color: rgba(105,246,232,.28); transform: translateX(3px); transition: 180ms ease; }
.priority-card[data-severity="critical"], .issue-card[data-severity="critical"] { --severity-color: var(--red); }
.priority-card[data-severity="high"], .issue-card[data-severity="high"] { --severity-color: var(--orange); }
.priority-card[data-severity="medium"], .issue-card[data-severity="medium"] { --severity-color: var(--yellow); }
.priority-card[data-severity="low"], .issue-card[data-severity="low"] { --severity-color: var(--blue); }
.severity { color: var(--severity-color); font-size: 9px; text-transform: uppercase; letter-spacing: .13em; font-weight: 900; }
.priority-card h3, .issue-card h3 { margin-bottom: 7px; font-size: 20px; }
.priority-card p, .issue-card p { margin: 5px 0; color: var(--muted-strong); font-size: 12px; }
.priority-card > div:first-child p, .issue-card > div:first-child p { color: var(--muted); font-size: 10px; }
.issue-url { color: var(--muted) !important; font-size: 10px !important; overflow-wrap: anywhere; }
.recommendation { padding-left: 18px; border-left: 1px solid var(--border); }
.recommendation strong { color: var(--cyan); font-size: 10px; text-transform: uppercase; letter-spacing: .1em; }
.filter-group { display: flex; flex-wrap: wrap; gap: 6px; }
.filter { min-height: 36px; padding: 7px 11px; color: var(--muted); background: rgba(14,22,36,.5); border: 1px solid var(--border); }
.filter:hover, .filter.active { color: #03110f; background: var(--cyan); border-color: var(--cyan); }

.table-shell { overflow: auto; border: 1px solid var(--border); background: rgba(10,16,28,.8); box-shadow: var(--shadow-soft); }
table { width: 100%; min-width: 900px; border-collapse: collapse; }
th, td { padding: 14px 15px; border-bottom: 1px solid var(--border); text-align: left; vertical-align: top; }
th { position: sticky; top: 0; z-index: 2; color: var(--cyan); background: #101827; font-size: 9px; text-transform: uppercase; letter-spacing: .11em; }
td { color: var(--muted-strong); font-size: 12px; }
td strong { color: var(--ink); }
td small { color: var(--muted); }
td:first-child { max-width: 420px; overflow-wrap: anywhere; }
tr:hover td { background: rgba(105,246,232,.025); }
.notice { margin-bottom: 28px; padding: 18px 20px; color: var(--muted-strong); background: rgba(255,216,90,.055); border: 1px solid rgba(255,216,90,.22); border-left: 3px solid var(--yellow); font-size: 12px; }
.keyword-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 25px; }
.section-minihead { margin-bottom: 14px; }
.keyword-list { display: grid; gap: 7px; }
.keyword-item { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 14px; align-items: center; padding: 14px 15px; background: rgba(12,19,31,.76); border: 1px solid var(--border); transition: transform 180ms ease, border-color 180ms ease; }
.keyword-item:hover { transform: translateX(4px); border-color: var(--border-bright); }
.keyword-item strong { font-size: 12px; }
.keyword-item small { display: block; margin-top: 3px; color: var(--muted); font-size: 9px; }
.keyword-score { min-width: 38px; height: 38px; display: grid; place-items: center; color: var(--cyan); border: 1px solid var(--border-bright); font-size: 11px; font-weight: 850; }
.bot-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; }
.bot-card { position: relative; min-height: 130px; padding: 21px; overflow: hidden; background: rgba(12,19,31,.76); border: 1px solid var(--border); }
.bot-card::after { content: ""; position: absolute; right: -38px; bottom: -38px; width: 90px; height: 90px; border: 1px solid var(--border); border-radius: 50%; }
.bot-card strong { display: block; font-size: 18px; }
.bot-state { display: inline-flex; align-items: center; gap: 8px; margin-top: 17px; color: var(--red); font-size: 10px; font-weight: 800; }
.bot-state::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: currentColor; box-shadow: 0 0 12px currentColor; }
.bot-state.allowed { color: var(--success); }
.ai-guidance { position: relative; min-height: 260px; margin-top: 25px; padding: clamp(32px, 5vw, 62px); display: grid; grid-template-columns: 220px minmax(0, 1fr); gap: 50px; align-items: center; overflow: hidden; border: 1px solid var(--border-bright); background: rgba(9,15,25,.9); clip-path: var(--clip); }
.ai-guidance p { max-width: 72ch; color: var(--muted-strong); }
.guidance-orbit { position: relative; width: 190px; height: 190px; border: 1px solid rgba(105,246,232,.22); border-radius: 50%; animation: orbitSpin 20s linear infinite; }
.guidance-orbit::before, .guidance-orbit::after { content: ""; position: absolute; border: 1px solid rgba(197,255,101,.16); border-radius: 50%; }
.guidance-orbit::before { inset: 24px; }.guidance-orbit::after { inset: 55px; }
.guidance-orbit i { position: absolute; width: 8px; height: 8px; border-radius: 50%; background: var(--cyan); box-shadow: 0 0 14px var(--cyan); }
.guidance-orbit i:nth-child(1) { left: 9px; top: 55px; }.guidance-orbit i:nth-child(2) { right: 18px; top: 28px; background: var(--lime); box-shadow: 0 0 14px var(--lime); }.guidance-orbit i:nth-child(3) { left: 85px; bottom: -4px; background: var(--orange); box-shadow: 0 0 14px var(--orange); }

.questionnaire-list { display: grid; gap: 22px; }
.question-section { margin-top: 27px; }
.question-section > h3 { margin-bottom: 12px; padding-bottom: 11px; border-bottom: 1px solid var(--border); font-size: 20px; }
.question-card { position: relative; padding: 22px; display: grid; grid-template-columns: minmax(0,1fr) 210px; gap: 20px; background: rgba(12,19,31,.8); border: 1px solid var(--border); }
.question-card:hover { border-color: rgba(105,246,232,.28); }
.question-card header { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin-bottom: 10px; }
.question-card header strong { font-size: 13px; }
.required-tag { padding: 4px 7px; color: var(--orange); border: 1px solid rgba(255,155,80,.3); background: rgba(255,155,80,.07); font-size: 8px; font-weight: 900; text-transform: uppercase; letter-spacing: .1em; }
.confidence { margin-top: 8px; color: var(--muted); font-size: 9px; }
.question-sources { margin-top: 7px; color: var(--muted); font-size: 9px; overflow-wrap: anywhere; }
.approval-control { display: grid; align-content: start; gap: 9px; }
.approval-control label { font-size: 9px; text-transform: uppercase; letter-spacing: .09em; }
.question-tools { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 10px; }
.question-tools button { min-height: 34px; padding: 7px 10px; color: var(--cyan); background: rgba(105,246,232,.045); border: 1px solid rgba(105,246,232,.2); cursor: pointer; font-size: 9px; font-weight: 800; }
.question-tools button:hover { color: #03110f; background: var(--cyan); }

.build-grid { display: grid; grid-template-columns: 1.18fr .82fr; gap: 24px; }
.build-brief { position: relative; min-height: 520px; padding: clamp(31px, 4vw, 55px); overflow: hidden; background: rgba(9,15,25,.9); border: 1px solid var(--border-bright); clip-path: var(--clip); }
.build-brief::after { content: ""; position: absolute; right: -100px; bottom: -100px; width: 320px; height: 320px; border: 1px solid rgba(105,246,232,.12); border-radius: 50%; box-shadow: 0 0 0 45px rgba(105,246,232,.025), 0 0 0 90px rgba(105,246,232,.015); }
.build-brief h3, .build-brief ul { position: relative; z-index: 2; }
.build-brief ul { padding-left: 18px; color: var(--muted-strong); }
.build-brief li { margin: 14px 0; padding-left: 5px; }
.build-brief li::marker { color: var(--cyan); }
.build-scan { position: absolute; inset: 0; pointer-events: none; background: linear-gradient(180deg, transparent, rgba(105,246,232,.055), transparent); transform: translateY(-100%); animation: buildScan 5s ease-in-out infinite; }
@keyframes buildScan { 55%,100% { transform: translateY(100%); } }
.build-form { align-self: start; padding: 29px; display: grid; gap: 14px; background: rgba(12,19,31,.86); border: 1px solid var(--border); }
.build-form .primary-button { grid-column: auto; }
.build-results { display: grid; gap: 7px; padding: 16px; color: var(--muted-strong); background: rgba(91,242,160,.055); border: 1px solid rgba(91,242,160,.22); border-left: 3px solid var(--success); font-size: 11px; }
.build-results strong { color: var(--success); font-size: 20px; }

.readiness-ribbon { display: grid; grid-template-columns: 16px minmax(0,1fr); gap: 13px; align-items: center; margin-bottom: 16px; padding: 16px 18px; background: rgba(14,22,36,.72); border: 1px solid var(--border); }
.readiness-light { width: 10px; height: 10px; border-radius: 50%; background: var(--muted); box-shadow: 0 0 13px currentColor; }
.readiness-ribbon.ready .readiness-light { background: var(--success); color: var(--success); }
.readiness-ribbon.blocked .readiness-light { background: var(--orange); color: var(--orange); }
.readiness-ribbon strong { display: block; font-size: 12px; }
.readiness-ribbon small { color: var(--muted); font-size: 9px; }
.provider-selector { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 19px; }
.provider-selector label { position: relative; cursor: pointer; }
.provider-selector input { position: absolute; opacity: 0; pointer-events: none; }
.provider-selector span { display: inline-flex; min-height: 38px; align-items: center; padding: 8px 12px; color: var(--muted); border: 1px solid var(--border); background: rgba(14,22,36,.5); font-size: 10px; font-weight: 750; }
.provider-selector input:checked + span { color: #03110f; background: var(--cyan); border-color: var(--cyan); }
.indexing-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 13px; }
.operation-card { position: relative; min-height: 235px; display: grid; align-content: start; gap: 13px; padding: 25px; overflow: hidden; background: rgba(12,19,31,.78); border: 1px solid var(--border); }
.operation-card::after { content: ""; position: absolute; right: -45px; top: -45px; width: 120px; height: 120px; border: 1px solid rgba(105,246,232,.08); transform: rotate(45deg); }
.operation-card h3, .operation-card p { margin: 0; }
.operation-card p { color: var(--muted); font-size: 11px; }
.operation-card button { justify-self: start; margin-top: auto; }
.operation-code { color: var(--cyan); font-size: 8px; font-weight: 900; letter-spacing: .15em; }
.operation-output { min-height: 180px; margin-top: 20px; padding: 22px; color: var(--muted-strong); background: #050911; border: 1px solid var(--border); overflow-wrap: anywhere; }
.output-empty { min-height: 135px; display: grid; place-items: center; align-content: center; text-align: center; }
.output-empty span { width: 9px; height: 9px; margin-bottom: 14px; border-radius: 50%; background: var(--cyan); box-shadow: 0 0 17px var(--cyan); animation: statusPulse 2s infinite; }
.output-empty p { margin: 5px 0 0; color: var(--muted); font-size: 10px; }
.operation-result { display: grid; gap: 13px; }
.operation-result header { display: flex; justify-content: space-between; align-items: center; gap: 20px; padding-bottom: 13px; border-bottom: 1px solid var(--border); }
.operation-result header strong { color: var(--cyan); }
.operation-result header span { color: var(--muted); font-size: 9px; }
.result-metrics { display: grid; grid-template-columns: repeat(4,1fr); gap: 1px; background: var(--border); }
.result-metrics div { padding: 13px; background: #09111c; }
.result-metrics strong { display: block; font-size: 22px; }.result-metrics span { color: var(--muted); font-size: 8px; }
.result-list { display: grid; gap: 7px; }
.result-row { display: grid; grid-template-columns: 130px minmax(0,1fr); gap: 14px; padding: 10px 0; border-bottom: 1px solid var(--border); font-size: 10px; }
.result-row strong { color: var(--muted); }.result-row span { color: var(--muted-strong); }

.connection-cards { display: grid; grid-template-columns: repeat(3,1fr); gap: 12px; margin-bottom: 24px; }
.connection-status-card { position: relative; min-height: 120px; padding: 20px; background: rgba(12,19,31,.76); border: 1px solid var(--border); }
.connection-status-card::before { content: ""; position: absolute; right: 16px; top: 17px; width: 8px; height: 8px; border-radius: 50%; background: var(--red); box-shadow: 0 0 13px var(--red); }
.connection-status-card.connected::before { background: var(--success); box-shadow: 0 0 13px var(--success); }
.connection-status-card span { color: var(--muted); font-size: 9px; text-transform: uppercase; letter-spacing: .1em; }
.connection-status-card strong { display: block; margin-top: 8px; font-size: 17px; }
.connection-status-card small { display: block; margin-top: 8px; color: var(--muted); font-size: 9px; }
.connections-form { display: grid; grid-template-columns: repeat(3,1fr); gap: 13px; }
.connection-form-card { padding: 24px; display: grid; align-content: start; gap: 10px; background: rgba(12,19,31,.8); border: 1px solid var(--border); }
.connection-form-card > div { min-height: 130px; }
.connection-form-card > div span { color: var(--cyan); font-size: 8px; font-weight: 900; letter-spacing: .13em; text-transform: uppercase; }
.connection-form-card h3 { margin: 5px 0 9px; font-size: 24px; }
.connection-form-card p { margin: 0; color: var(--muted); font-size: 10px; }
.connection-save { grid-column: 1 / -1; display: flex; align-items: center; gap: 16px; }
.connection-save .primary-button { grid-column: auto; min-width: 250px; }
.connection-save p { color: var(--muted); font-size: 10px; }

.app-footer { max-width: var(--max); margin: 0 auto; padding: 28px clamp(18px,3.5vw,60px); display: flex; justify-content: space-between; gap: 20px; color: var(--muted); border-top: 1px solid var(--border); font-size: 10px; }

.dependency-dialog { width: min(620px, calc(100% - 28px)); padding: 0; color: var(--ink); background: transparent; border: 0; }
.dependency-dialog::backdrop { background: rgba(2,5,10,.82); backdrop-filter: blur(10px); }
.dependency-shell { position: relative; padding: clamp(28px,5vw,48px); overflow: hidden; background: #0c1421; border: 1px solid var(--border-bright); clip-path: var(--clip); box-shadow: 0 45px 140px rgba(0,0,0,.65); }
.dependency-shell::after { content: ""; position: absolute; right: -100px; top: -100px; width: 230px; height: 230px; border-radius: 50%; background: radial-gradient(circle, rgba(255,155,80,.16), transparent 68%); }
.dependency-shell h2 { position: relative; z-index: 2; font-size: clamp(32px,5vw,49px); }
.dependency-shell > p:not(.kicker):not(.dependency-question) { position: relative; z-index: 2; color: var(--muted-strong); }
.dependency-shell ol { position: relative; z-index: 2; padding-left: 20px; color: var(--muted-strong); font-size: 12px; }
.dependency-shell li { margin: 9px 0; }
.dependency-question { margin-top: 25px; color: var(--cyan); font-weight: 800; }
.dependency-actions { display: flex; justify-content: flex-end; gap: 9px; }
.dependency-icon { position: relative; width: 70px; height: 70px; margin-bottom: 24px; display: grid; place-items: center; }
.dependency-icon span { width: 17px; height: 17px; border-radius: 50%; background: var(--orange); box-shadow: 0 0 25px var(--orange); }
.dependency-icon i { position: absolute; inset: 0; border: 1px solid rgba(255,155,80,.35); border-radius: 50%; animation: beaconRing 2s infinite; }
.toast-region { position: fixed; z-index: 800; right: 20px; bottom: 20px; width: min(390px, calc(100% - 40px)); display: grid; gap: 9px; }
.toast { padding: 14px 16px; color: var(--muted-strong); background: #0d1725; border: 1px solid var(--border-bright); box-shadow: var(--shadow-soft); animation: toastIn 300ms cubic-bezier(.16,1,.3,1); }
.toast strong { display: block; color: var(--ink); font-size: 12px; }.toast span { font-size: 10px; }
.toast.success { border-left: 3px solid var(--success); }.toast.error { border-left: 3px solid var(--red); }
@keyframes toastIn { from { opacity: 0; transform: translateY(14px); } }

@media (max-width: 1240px) {
  .intake-shell { grid-template-columns: 1fr; }
  .intake-copy { max-width: 1050px; }
  .intake-console { max-width: 860px; width: 100%; margin: 0 auto; }
  .workspace { grid-template-columns: 1fr; }
  .workspace-nav { position: static; }
  .tab-list { grid-template-columns: repeat(5, minmax(120px,1fr)); overflow: auto; }
  .tab-button { border-left: 0; border-bottom: 1px solid var(--border); text-align: center; }
  .tab-button:hover, .tab-button.active { border-left-color: transparent; border-bottom-color: var(--cyan); }
  .project-identity { max-width: 420px; }
  .nav-intelligence { display: none; }
}
@media (max-width: 980px) {
  .overview-grid, .keyword-grid, .build-grid { grid-template-columns: 1fr; }
  .overview-grid { max-width: 780px; }
  .score-categories { grid-template-columns: repeat(4,1fr); }
  .metric-strip { grid-template-columns: 1fr 1fr; }
  .panel-heading { align-items: flex-start; flex-direction: column; }
  .export-actions { justify-content: flex-start; }
  .issue-card { grid-template-columns: 1fr; }
  .recommendation { padding-left: 0; padding-top: 14px; border-left: 0; border-top: 1px solid var(--border); }
  .bot-grid, .connection-cards, .connections-form { grid-template-columns: 1fr 1fr; }
  .connection-save { grid-column: 1 / -1; }
  .ai-guidance { grid-template-columns: 160px 1fr; }
  .guidance-orbit { width: 145px; height: 145px; }
  .progress-panel { grid-template-columns: 140px 1fr; }
  .progress-readout { grid-column: 1 / -1; justify-items: start; }
}
@media (max-width: 720px) {
  #cursor-light { display: none; }
  .topbar { min-height: 70px; }
  .system-status { display: none; }
  .brand-lockup span:last-child { display: none; }
  main { padding-top: 25px; }
  h1 { font-size: clamp(48px, 14vw, 76px); }
  .process-map { grid-template-columns: 1fr 1fr; }
  .audit-form { grid-template-columns: 1fr; }
  .field.full, .form-heading, .check-row.authorization, .form-note, .primary-button { grid-column: auto; }
  .option-matrix { grid-column: auto; grid-template-columns: 1fr; }
  .intake-console { padding-top: 190px; }
  .console-visual { height: 190px; }
  .tab-list { grid-template-columns: repeat(3, minmax(120px,1fr)); }
  .score-categories, .bot-grid, .connection-cards, .connections-form { grid-template-columns: 1fr; }
  .metric-strip, .indexing-grid { grid-template-columns: 1fr; }
  .priority-card, .question-card { grid-template-columns: 1fr; }
  .question-card { padding: 18px; }
  .ai-guidance { grid-template-columns: 1fr; }
  .guidance-orbit { display: none; }
  .progress-panel { grid-template-columns: 1fr; min-height: 620px; }
  .progress-orb { margin: auto; }
  .progress-readout { justify-items: start; }
  .connection-save { flex-direction: column; align-items: stretch; }
  .connection-save .primary-button { width: 100%; min-width: 0; }
  .result-metrics { grid-template-columns: 1fr 1fr; }
  .app-footer { flex-direction: column; }
}
@media (max-width: 460px) {
  .command-chip { display: none; }
  .brand-lockup strong { font-size: 14px; }
  .process-map, .tab-list { grid-template-columns: 1fr 1fr; }
  .score-stage { min-height: 500px; padding-inline: 14px; }
  .speedometer { height: 310px; }
  .needle { bottom: 64px; width: 125px; }
  .hub { bottom: 47px; }
  .score-number { bottom: 20px; }
  .score-number strong { font-size: 72px; }
  .result-row { grid-template-columns: 1fr; gap: 4px; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .001ms !important; animation-iteration-count: 1 !important; transition-duration: .001ms !important; }
  #network-canvas, #cursor-light { display: none; }
  .interactive-surface { transform: none !important; }
}
@media (pointer: coarse) {
  #cursor-light { display: none; }
  .interactive-surface { transform: none !important; }
  button, .secondary-button, .primary-button { min-height: 48px; }
}

/* Market intelligence, reporting, and learning workspace */
.profile-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; padding: clamp(22px, 4vw, 38px); background: linear-gradient(145deg, rgba(13,25,41,.92), rgba(7,14,25,.82)); border: 1px solid var(--border-bright); box-shadow: var(--shadow-soft); }
.profile-grid label { display: grid; gap: 8px; }
.profile-wide { grid-column: 1 / -1; }
.market-toolbar { display: flex; justify-content: space-between; align-items: end; gap: 18px; margin: 18px 0; }
.market-toolbar label { min-width: 210px; display: grid; gap: 7px; }
.mini-metrics { display: flex; flex-wrap: wrap; gap: 8px; justify-content: flex-end; }
.mini-metrics span { padding: 10px 12px; color: var(--muted); border: 1px solid var(--border); background: rgba(7,15,26,.82); font-size: 10px; }
.mini-metrics strong { margin-right: 5px; color: var(--cyan); font-size: 16px; }
.market-table { min-width: 1250px; }
.market-table td { vertical-align: middle; }
.market-table td:nth-child(2) { min-width: 210px; }
.market-table td:nth-child(8) { max-width: 280px; }
.market-table small { display: block; margin-top: 5px; color: var(--muted); font-size: 8px; }
.market-table input[type="checkbox"] { width: 18px; min-height: 18px; accent-color: var(--lime); }
.selected-row { background: linear-gradient(90deg, rgba(197,255,101,.08), transparent 72%); }
.opportunity-score { display: inline-grid; place-items: center; width: 38px; height: 38px; color: #03110f; border-radius: 50%; background: conic-gradient(var(--lime), var(--cyan)); font-weight: 900; box-shadow: 0 0 20px rgba(105,246,232,.16); }
.mapped-url { display: block; max-width: 280px; overflow: hidden; color: var(--muted-strong); text-overflow: ellipsis; white-space: nowrap; }
.action-pill { display: inline-flex; padding: 6px 8px; color: var(--orange); border: 1px solid rgba(255,155,80,.35); background: rgba(255,155,80,.07); font-size: 8px; font-weight: 900; letter-spacing: .06em; text-transform: uppercase; }
.action-pill.complete { color: var(--success); border-color: rgba(116,255,166,.35); background: rgba(116,255,166,.07); }
.competitor-layout { display: grid; grid-template-columns: minmax(360px,.85fr) minmax(420px,1.15fr); gap: 20px; align-items: start; }
.competitor-list { display: grid; gap: 8px; }
.competitor-card { display: grid; grid-template-columns: 36px minmax(0,1fr) auto auto; align-items: center; gap: 12px; min-height: 74px; padding: 12px; border: 1px solid var(--border); background: rgba(9,18,31,.78); transition: transform 180ms ease, border-color 180ms ease; }
.competitor-card:hover { transform: translateX(4px); border-color: var(--cyan); }
.competitor-card > span { display: grid; place-items: center; width: 32px; height: 32px; color: var(--cyan); border: 1px solid var(--border-bright); border-radius: 50%; font-weight: 900; }
.competitor-card strong, .competitor-card small { display: block; }
.competitor-card small { color: var(--muted); font-size: 8px; }
.competitor-card b { display: block; color: var(--lime); text-align: right; }
.competitor-card button { min-height: 34px; padding: 7px 10px; color: var(--ink); border: 1px solid var(--border); background: rgba(105,246,232,.06); cursor: pointer; }
.competitor-research { display: grid; gap: 10px; padding: 24px; border: 1px solid var(--border-bright); background: rgba(9,18,31,.84); }
.competitor-research label { display: grid; gap: 7px; margin-top: 12px; }
.research-output { max-height: 440px; overflow: auto; border: 1px solid var(--border); background: rgba(3,8,15,.66); }
.research-output:empty { display: none; }
.research-row { display: grid; grid-template-columns: 44px minmax(0,1fr); gap: 12px; padding: 12px; border-bottom: 1px solid var(--border); }
.research-row > b { color: var(--cyan); font-size: 18px; }
.research-row strong, .research-row small, .research-row span { display: block; }
.research-row small { margin: 4px 0; color: var(--muted); }
.research-row span { overflow: hidden; color: var(--muted); font-size: 8px; text-overflow: ellipsis; white-space: nowrap; }
.research-output pre { margin: 0; padding: 13px; overflow: auto; color: var(--muted-strong); border-bottom: 1px solid var(--border); font-size: 9px; }
.sales-pitch { overflow: hidden; border: 1px solid var(--border-bright); background: linear-gradient(150deg, rgba(15,31,49,.96), rgba(6,13,23,.92)); box-shadow: var(--shadow); }
.sales-pitch > header { position: relative; padding: clamp(30px,5vw,60px); overflow: hidden; }
.sales-pitch > header::after { content: ""; position: absolute; right: -80px; top: -120px; width: 360px; height: 360px; border-radius: 50%; background: radial-gradient(circle, rgba(105,246,232,.2), rgba(72,126,255,.06) 45%, transparent 70%); animation: corePulse 4s ease-in-out infinite; }
.sales-pitch > header span { color: var(--lime); font-size: 9px; font-weight: 900; letter-spacing: .14em; text-transform: uppercase; }
.sales-pitch > header h3 { position: relative; z-index: 1; max-width: 18ch; margin: 12px 0; font-size: clamp(38px,6vw,72px); line-height: .95; }
.sales-pitch > header p { position: relative; z-index: 1; max-width: 75ch; color: var(--muted-strong); font-size: 13px; }
.sales-pitch blockquote { margin: 0; padding: 28px clamp(30px,5vw,60px); color: var(--cyan); border-block: 1px solid var(--border); background: rgba(105,246,232,.04); font-size: clamp(18px,2.5vw,28px); line-height: 1.3; }
.sales-priorities { display: grid; gap: 0; }
.sales-priorities article { display: grid; grid-template-columns: 56px minmax(0,1fr); gap: 20px; padding: 26px clamp(30px,5vw,60px); border-bottom: 1px solid var(--border); }
.sales-priorities article > b { display: grid; place-items: center; width: 48px; height: 48px; color: #03110f; border-radius: 50%; background: var(--lime); font-size: 20px; }
.sales-priorities h4 { margin: 0 0 8px; font-size: 20px; }
.sales-priorities p { margin: 4px 0 12px; color: var(--muted-strong); }
.sales-priorities strong { color: var(--cyan); font-size: 9px; letter-spacing: .08em; text-transform: uppercase; }
.sales-sequence { padding: 28px clamp(30px,5vw,60px) 46px; }
.sales-sequence li { margin: 10px 0; color: var(--muted-strong); }
.monthly-stage { min-height: 360px; padding: clamp(26px,5vw,54px); border: 1px solid var(--border-bright); background: radial-gradient(circle at 80% 10%, rgba(197,255,101,.12), transparent 30%), linear-gradient(145deg, rgba(13,27,43,.95), rgba(6,13,23,.9)); }
.monthly-stage > header { display: grid; grid-template-columns: 1fr auto; align-items: end; gap: 14px; }
.monthly-stage > header span { grid-column: 1 / -1; color: var(--cyan); font-size: 10px; letter-spacing: .12em; }
.monthly-stage > header h3 { margin: 0; font-size: clamp(32px,5vw,60px); }
.monthly-stage > header > strong { color: var(--lime); font-size: 72px; line-height: .8; }
.monthly-stage > header > strong small { font-size: 16px; }
.monthly-actions { display: flex; gap: 8px; margin: 28px 0; }
.experiment-form { display: grid; grid-template-columns: 1fr 1fr auto; gap: 14px; align-items: end; padding: 24px; border: 1px solid var(--border-bright); background: rgba(9,18,31,.82); }
.experiment-form label { display: grid; gap: 8px; }
.experiment-form label:nth-child(2) { grid-column: span 1; }
.experiment-form textarea { min-height: 72px; }
.experiment-list { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 12px; margin-top: 18px; }
.experiment-card { padding: 20px; border: 1px solid var(--border); background: rgba(10,20,34,.8); }
.experiment-card header span { color: var(--cyan); font-size: 8px; text-transform: uppercase; }
.experiment-card header strong { display: block; margin-top: 6px; font-size: 18px; }
.experiment-card p { color: var(--muted-strong); }
.experiment-card > div { display: grid; grid-template-columns: auto 1fr; gap: 6px 12px; }
.experiment-card small { color: var(--muted); }
.experiment-card b { color: var(--lime); }

@media (max-width: 1100px) {
  .competitor-layout { grid-template-columns: 1fr; }
  .experiment-list { grid-template-columns: 1fr 1fr; }
  .experiment-form { grid-template-columns: 1fr 1fr; }
  .experiment-form button { grid-column: 1 / -1; }
}
@media (max-width: 720px) {
  .profile-grid, .experiment-list, .experiment-form { grid-template-columns: 1fr; }
  .profile-wide, .experiment-form label:nth-child(2), .experiment-form button { grid-column: auto; }
  .market-toolbar, .monthly-stage > header { display: grid; grid-template-columns: 1fr; }
  .mini-metrics { justify-content: flex-start; }
  .competitor-card { grid-template-columns: 32px minmax(0,1fr) auto; }
  .competitor-card > div:nth-child(3) { display: none; }
  .sales-priorities article { grid-template-columns: 1fr; }
  .monthly-stage > header span { grid-column: auto; }
}

.portal-credentials { display:grid; grid-template-columns:minmax(0,1.5fr) minmax(180px,.7fr) auto; gap:14px; align-items:end; padding:20px; border:1px solid rgba(115,246,225,.18); border-radius:20px; background:linear-gradient(120deg,rgba(79,241,217,.07),rgba(105,113,255,.06)); }
.portal-credentials div { min-width:0; }
.portal-credentials span,.portal-summary span { display:block; color:var(--muted); font-size:12px; margin-bottom:7px; }
.portal-credentials strong { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.portal-summary { display:flex; justify-content:space-between; gap:20px; align-items:center; padding:16px 18px; margin:16px 0; border:1px solid rgba(115,246,225,.18); border-radius:16px; background:rgba(111,247,225,.06); }
.portal-summary strong { color:var(--lime); letter-spacing:.08em; }
@media (max-width:760px) { .portal-credentials { grid-template-columns:1fr; } .portal-credentials strong { white-space:normal; overflow-wrap:anywhere; } .portal-summary { align-items:flex-start; flex-direction:column; } }

/* Competitor portfolio and delivery roadmap */
.competitor-portfolio {
  margin-bottom: 24px;
  padding: clamp(22px, 4vw, 38px);
  overflow: hidden;
  border: 1px solid var(--border-bright);
  background:
    radial-gradient(circle at 86% 8%, rgba(108,168,255,.15), transparent 28%),
    linear-gradient(145deg, rgba(13,27,45,.96), rgba(6,14,25,.91));
  box-shadow: var(--shadow-soft);
}
.competitor-portfolio .section-title { align-items: end; margin-bottom: 20px; }
.competitor-portfolio .section-title p { max-width: 76ch; margin: 7px 0 0; color: var(--muted); }
.competitor-domain-fields { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; }
.competitor-domain-fields label { display: grid; gap: 7px; }
.competitor-domain-fields label span { color: var(--muted); font-size: 9px; letter-spacing: .08em; text-transform: uppercase; }

.roadmap-summary {
  position: relative;
  display: grid;
  grid-template-columns: 148px minmax(0, 1fr) auto;
  gap: clamp(20px, 4vw, 48px);
  align-items: center;
  min-height: 220px;
  margin-bottom: 20px;
  padding: clamp(24px, 4vw, 44px);
  overflow: hidden;
  border: 1px solid var(--border-bright);
  background:
    linear-gradient(115deg, rgba(105,246,232,.07), transparent 34%),
    radial-gradient(circle at 82% 20%, rgba(197,255,101,.12), transparent 24%),
    linear-gradient(145deg, rgba(13,27,45,.97), rgba(6,13,24,.94));
  box-shadow: var(--shadow-soft);
}
.roadmap-summary::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(105deg, transparent 0 43%, rgba(105,246,232,.055) 49%, transparent 55%);
  transform: translateX(-120%);
  animation: roadmapScan 5.5s linear infinite;
}
@keyframes roadmapScan { to { transform: translateX(120%); } }
.roadmap-summary > div { position: relative; z-index: 1; }
.roadmap-summary > div:nth-child(2) > span { color: var(--cyan); font-size: 9px; font-weight: 900; letter-spacing: .13em; text-transform: uppercase; }
.roadmap-summary h3 { max-width: 27ch; margin: 7px 0 8px; font-size: clamp(24px, 3vw, 42px); line-height: 1.02; letter-spacing: -.035em; }
.roadmap-summary p { max-width: 65ch; margin: 0; color: var(--muted); }
.roadmap-pulse {
  --roadmap-progress: 0;
  position: relative;
  display: grid;
  place-items: center;
  width: 132px;
  aspect-ratio: 1;
  border-radius: 50%;
  background:
    radial-gradient(circle at center, #08131f 0 50%, transparent 51%),
    conic-gradient(var(--lime) calc(var(--roadmap-progress) * 1%), rgba(105,246,232,.12) 0);
  box-shadow: 0 0 55px rgba(105,246,232,.16), inset 0 0 25px rgba(105,246,232,.12);
}
.roadmap-pulse::before,
.roadmap-pulse::after {
  content: "";
  position: absolute;
  border-radius: 50%;
  border: 1px solid rgba(105,246,232,.24);
}
.roadmap-pulse::before { inset: -10px; animation: roadmapOrbit 8s linear infinite; }
.roadmap-pulse::after { inset: 13px; border-style: dashed; animation: roadmapOrbit 12s linear infinite reverse; }
.roadmap-pulse i { position: absolute; top: -13px; left: 50%; width: 7px; height: 7px; border-radius: 50%; background: var(--lime); box-shadow: 0 0 16px var(--lime); }
.roadmap-pulse span { position: relative; z-index: 2; color: var(--ink); font-size: 31px; font-weight: 950; letter-spacing: -.04em; }
@keyframes roadmapOrbit { to { transform: rotate(360deg); } }
.roadmap-stat-grid { display: grid; grid-template-columns: repeat(2, minmax(110px, 1fr)); gap: 8px; }
.roadmap-stat-grid span { min-width: 112px; padding: 13px 14px; border: 1px solid var(--border); background: rgba(4,11,20,.62); }
.roadmap-stat-grid strong,
.roadmap-stat-grid small { display: block; }
.roadmap-stat-grid strong { color: var(--lime); font-size: 20px; }
.roadmap-stat-grid small { color: var(--muted); font-size: 8px; letter-spacing: .08em; text-transform: uppercase; }

.roadmap-shell { margin-bottom: 22px; max-height: 620px; overflow: auto; border: 1px solid var(--border-bright); box-shadow: var(--shadow-soft); }
.roadmap-table { min-width: 1180px; }
.roadmap-table thead { position: sticky; top: 0; z-index: 3; }
.roadmap-table tbody tr { transition: background 180ms ease, transform 180ms ease; }
.roadmap-table tbody tr:hover { background: rgba(105,246,232,.045); }
.roadmap-table td { vertical-align: middle; }
.roadmap-table td:nth-child(3) { min-width: 370px; }
.roadmap-table td:nth-child(3) strong,
.roadmap-table td:nth-child(3) small { display: block; }
.roadmap-table td:nth-child(3) small { margin: 5px 0; color: var(--muted); font-size: 9px; }
.roadmap-step { display: grid; grid-template-columns: 36px 1fr; align-items: center; gap: 10px; }
.roadmap-step b { display: grid; place-items: center; width: 34px; height: 34px; color: #03110f; border-radius: 50%; background: linear-gradient(145deg, var(--cyan), var(--lime)); box-shadow: 0 0 18px rgba(105,246,232,.18); }
.roadmap-step span { color: var(--muted-strong); font-weight: 750; }
.roadmap-toggle { display: inline-flex; align-items: center; gap: 8px; min-width: 86px; min-height: 34px; padding: 7px 10px; color: var(--muted); border: 1px solid var(--border); background: rgba(6,13,22,.84); cursor: pointer; }
.roadmap-toggle i { width: 10px; height: 10px; border-radius: 50%; background: var(--orange); box-shadow: 0 0 12px rgba(255,155,80,.5); }
.roadmap-toggle.complete { color: var(--success); border-color: rgba(91,242,160,.38); background: rgba(91,242,160,.07); }
.roadmap-toggle.complete i { background: var(--success); box-shadow: 0 0 14px var(--success); }
.roadmap-report-actions { display: flex; gap: 6px; align-items: center; }
.roadmap-report-link { display: inline-flex; padding: 6px 8px; color: #03110f; background: var(--cyan); font-size: 8px; font-weight: 900; text-decoration: none; }
.roadmap-report-link.pdf { background: var(--lime); }
.roadmap-empty { color: var(--muted); font-size: 9px; }

.monthly-layout { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(320px, .75fr); gap: 20px; align-items: start; }
.report-history { min-height: 360px; padding: 24px; border: 1px solid var(--border-bright); background: linear-gradient(145deg, rgba(13,27,43,.94), rgba(6,13,23,.9)); }
.monthly-history { display: grid; gap: 8px; margin-top: 16px; }
.history-row { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: center; gap: 14px; padding: 14px; border: 1px solid var(--border); background: rgba(5,12,21,.72); transition: transform 180ms ease, border-color 180ms ease; }
.history-row:hover { transform: translateX(3px); border-color: var(--cyan); }
.history-row span,
.history-row strong,
.history-row small { display: block; }
.history-row span { color: var(--cyan); font-size: 8px; letter-spacing: .1em; }
.history-row strong { margin: 4px 0; }
.history-row small { color: var(--muted); font-size: 8px; }
.history-row > div:last-child { display: grid; grid-template-columns: auto auto auto; align-items: center; gap: 7px; }
.history-row b { color: var(--lime); white-space: nowrap; }
.history-row a { padding: 5px 7px; color: var(--cyan); border: 1px solid var(--border); font-size: 8px; font-weight: 800; text-decoration: none; }
.current-roadmap-action { display: grid; gap: 4px; margin: 24px 0 0; padding: 16px; border-left: 3px solid var(--lime); background: rgba(197,255,101,.055); }
.current-roadmap-action span { color: var(--muted); font-size: 8px; letter-spacing: .1em; text-transform: uppercase; }
.current-roadmap-action strong { font-size: 18px; }
.current-roadmap-action small { color: var(--muted); }

@media (max-width: 1250px) {
  .competitor-domain-fields { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .roadmap-summary { grid-template-columns: 130px minmax(0, 1fr); }
  .roadmap-stat-grid { grid-column: 1 / -1; grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .monthly-layout { grid-template-columns: 1fr; }
}
@media (max-width: 760px) {
  .competitor-domain-fields { grid-template-columns: 1fr; }
  .roadmap-summary { grid-template-columns: 1fr; justify-items: start; }
  .roadmap-pulse { width: 112px; }
  .roadmap-stat-grid { grid-column: auto; grid-template-columns: 1fr 1fr; width: 100%; }
  .history-row { grid-template-columns: 1fr; }
  .history-row > div:last-child { justify-content: start; }
}
