:root {
  color-scheme: dark;
  --bg: #0d0d12;
  --panel: #121218;
  --panel-2: #17171f;
  --line: rgba(255, 255, 255, 0.09);
  --muted: #9796a5;
  --text: #f4f1ea;
  --accent: #c9ff4a;
  --purple: #9e85ff;
  --required: #ff6d5f;
  --conditional: #ffc44d;
  --optional: #858493;
  --rail-w: 260px;
  --inspector-w: 444px;
  --topbar-h: 64px;
  font-family: Inter, "Segoe UI Variable", "Segoe UI", Arial, sans-serif;
}

* { box-sizing: border-box; }
[hidden] { display: none !important; }

html, body { width: 100%; height: 100%; margin: 0; overflow: hidden; background: var(--bg); }

body {
  color: var(--text);
  font-size: 14px;
  -webkit-font-smoothing: antialiased;
}

button, input, textarea { font: inherit; }
button { color: inherit; }

.product-app { width: 100%; height: 100%; }
body.marketing-open .product-app { display: none; }
body:not(.marketing-open) .landing-page { display: none; }
.landing-page { position: relative; width: 100%; height: 100%; overflow: hidden; isolation: isolate; background: #090b12; }
.landing-backdrop { position: absolute; z-index: -2; inset: 0; background: url("landing-background.png") center center / cover no-repeat; }
.landing-header { height: 84px; display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 28px; padding: 0 clamp(28px,4.4vw,78px); border-bottom: 1px solid rgba(255,255,255,.08); background: transparent; }
.landing-brand { font-size: 14px; }
.landing-brand-meta { display: grid; gap: 3px; padding-left: 10px; border-left: 1px solid var(--line); line-height: 1; }
.landing-product-name { color: #aaa8b4; font-size: 10px; font-weight: 760; letter-spacing: .1em; }
.landing-brand-meta .version { padding-left: 0; border-left: 0; }
.landing-nav { display: flex; align-items: center; gap: 5px; }
.landing-nav button { border: 0; border-radius: 999px; padding: 9px 13px; background: transparent; color: rgba(239,240,245,.58); font-size: 11px; font-weight: 650; cursor: pointer; transition: color .18s ease, background .18s ease; }
.landing-nav button:hover { color: #fff; background: rgba(255,255,255,.06); }
.landing-actions { justify-self: end; display: flex; align-items: center; gap: 8px; }
.landing-language { margin-right: 3px; background: rgba(8,10,16,.45); }
.landing-login, .landing-signup { min-height: 37px; border-radius: 7px; padding: 0 15px; font-size: 10px; font-weight: 780; cursor: pointer; transition: transform .18s ease, border-color .18s ease, background .18s ease, color .18s ease; }
.landing-login { border: 1px solid rgba(255,255,255,.18); background: rgba(10,12,19,.44); color: #f5f3ee; }
.landing-signup { border: 1px solid var(--accent); background: var(--accent); color: #11140a; }
.landing-login:hover, .landing-signup:hover { transform: translateY(-2px); }
.landing-login:hover { border-color: rgba(201,255,74,.55); color: var(--accent); }
.landing-signup:hover { background: #d8ff7c; box-shadow: 0 10px 34px rgba(201,255,74,.16); }
.landing-hero { height: calc(100% - 84px); display: flex; align-items: center; padding: clamp(30px,4.5vw,78px); }
.landing-copy { width: min(650px,47vw); margin-top: -1.5vh; }
.landing-kicker { display: inline-flex; align-items: center; gap: 9px; margin-bottom: 24px; color: #dbe4c6; font-size: 12px; font-weight: 780; letter-spacing: .15em; text-transform: uppercase; }
.landing-kicker i { width: 8px; height: 8px; border-radius: 50%; background: var(--accent); box-shadow: 0 0 18px rgba(201,255,74,.75); }
.landing-copy h1 { max-width: 670px; margin: 0; color: #f5f3ed; font-size: clamp(43px,4.8vw,72px); line-height: .98; letter-spacing: -.062em; text-wrap: balance; }
.landing-statement span, .landing-statement em { display: block; }
.landing-statement span { color: #f5f3ed; }
.landing-statement em { margin-top: 7px; color: var(--accent); font-size: 1.2em; font-style: normal; }
.landing-copy > p { max-width: 570px; margin: 25px 0 0; color: rgba(226,225,231,.7); font-size: clamp(14px,1.3vw,19px); line-height: 1.55; }
.landing-hero-actions { display: flex; align-items: center; gap: 22px; margin-top: 28px; }
.landing-primary { min-height: 47px; display: inline-flex; align-items: center; justify-content: center; gap: 16px; border: 0; border-radius: 7px; padding: 0 19px; background: var(--accent); color: #11140b; font-size: 11px; font-weight: 830; cursor: pointer; transition: transform .18s ease, box-shadow .18s ease, background .18s ease; }
.landing-primary:hover { transform: translateY(-2px); background: #d8ff7c; box-shadow: 0 14px 42px rgba(201,255,74,.18); }
.landing-primary span { font-size: 17px; }
.landing-hero-actions > span { color: rgba(230,229,235,.58); font-size: 11px; line-height: 1.55; letter-spacing: .08em; text-transform: uppercase; }
.landing-proof { width: min(590px,100%); display: grid; grid-template-columns: repeat(3,1fr); margin-top: 38px; border-top: 1px solid rgba(255,255,255,.13); }
.landing-proof article { display: grid; gap: 6px; padding: 16px 14px 0 0; }
.landing-proof article + article { padding-left: 18px; border-left: 1px solid rgba(255,255,255,.1); }
.landing-proof b { color: var(--accent); font-size: 10px; letter-spacing: .12em; }
.landing-proof span { color: rgba(235,234,240,.72); font-size: 13px; }
.landing-login-overlay { position: fixed; z-index: 240; inset: 0; display: grid; place-items: center; padding: 20px; background: rgba(4,6,11,.77); backdrop-filter: blur(16px) saturate(.75); }
.landing-login-card { position: relative; width: min(410px,calc(100vw - 34px)); display: grid; gap: 11px; padding: 35px; border: 1px solid rgba(255,255,255,.15); border-radius: 15px; background: linear-gradient(145deg,rgba(23,25,34,.98),rgba(13,15,22,.98)); box-shadow: 0 40px 130px rgba(0,0,0,.72), 0 0 44px rgba(106,169,255,.06); }
.landing-login-card h2 { margin: 3px 0 1px; font-size: 31px; letter-spacing: -.045em; }
.landing-login-card > p { margin: 0 0 9px; color: #9694a1; font-size: 12px; line-height: 1.55; }
.landing-login-card label { display: flex; justify-content: space-between; color: #aaa7b3; font-size: 9px; font-weight: 720; letter-spacing: .1em; text-transform: uppercase; }
.landing-login-card label small { color: #656471; font-size: 8px; letter-spacing: .04em; text-transform: none; }
.landing-login-card input { width: 100%; min-height: 44px; border: 1px solid #343541; border-radius: 7px; padding: 0 12px; background: #0d0f16; color: #f2eff6; outline: none; }
.landing-login-card input:focus { border-color: rgba(106,169,255,.65); box-shadow: 0 0 0 3px rgba(106,169,255,.08); }
.landing-login-card .landing-primary { width: 100%; margin-top: 6px; }
.landing-login-error { min-height: 15px; color: #ff8176; font-size: 10px; text-align: center; }
.landing-login-card.is-error { animation: loginReject .32s ease; }
@keyframes loginReject { 25% { transform: translateX(-5px); } 75% { transform: translateX(5px); } }

.topbar {
  height: var(--topbar-h);
  padding: 0 18px;
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  border-bottom: 1px solid var(--line);
  background: rgba(12, 12, 17, 0.98);
  position: relative;
  z-index: 20;
}

.topbar-center { justify-self: center; display: flex; align-items: center; gap: 10px; min-width: 0; }
.interface-switcher { display: flex; align-items: center; gap: 2px; padding: 3px; border: 1px solid var(--line); border-radius: 999px; background: rgba(255,255,255,.018); }
.interface-switcher button { border: 0; border-radius: 999px; padding: 7px 12px; background: transparent; color: #777582; font-size: 11px; font-weight: 720; letter-spacing: .015em; cursor: pointer; transition: color .18s ease, background .18s ease; }
.interface-switcher button:hover { color: #d5d2db; }
.interface-switcher button.active { background: rgba(201,255,74,.085); color: var(--accent); box-shadow: inset 0 0 0 1px rgba(201,255,74,.14); }

.brand { display: inline-flex; align-items: center; gap: 10px; color: var(--text); text-decoration: none; font-weight: 800; letter-spacing: .08em; width: max-content; }
.brand-mark { width: 25px; height: 25px; display: grid; grid-template-columns: repeat(3, 1fr); align-items: end; gap: 3px; transform: skew(-9deg); }
.brand-mark i { display: block; background: var(--accent); border-radius: 2px; }
.brand-mark i:nth-child(1) { height: 45%; opacity: .55; }
.brand-mark i:nth-child(2) { height: 72%; opacity: .78; }
.brand-mark i:nth-child(3) { height: 100%; }
.version { color: #7d7a88; font-size: 9px; font-weight: 600; letter-spacing: .09em; border-left: 1px solid var(--line); padding-left: 10px; opacity: .8; }

.project-pill { display: flex; align-items: center; gap: 8px; border: 1px solid var(--line); border-radius: 999px; padding: 7px 12px; color: #c7c5cf; font-size: 11px; background: rgba(255,255,255,.025); cursor: pointer; }
.project-pill:hover { border-color: rgba(201,255,74,.35); background: rgba(201,255,74,.035); }
.project-pill strong { color: var(--accent); font-weight: 600; border-left: 1px solid var(--line); padding-left: 8px; }
.pulse { width: 6px; height: 6px; border-radius: 50%; background: var(--accent); box-shadow: 0 0 0 4px rgba(201,255,74,.08); }

.top-actions { justify-self: end; display: flex; align-items: center; gap: 12px; }
.language-switcher { display: inline-flex; align-items: center; gap: 3px; padding: 3px; border: 1px solid var(--line); border-radius: 999px; background: rgba(255,255,255,.018); }
.language-switcher > span { margin: 0 4px 0 6px; color: #777582; font-size: 8px; font-weight: 750; letter-spacing: .08em; text-transform: uppercase; }
.language-switcher button { min-width: 28px; border: 0; border-radius: 999px; padding: 5px 7px; background: transparent; color: #777582; font-size: 9px; font-weight: 800; cursor: pointer; }
.language-switcher button:hover { color: #d5d2db; }
.language-switcher button[aria-pressed="true"] { background: rgba(201,255,74,.1); color: var(--accent); box-shadow: inset 0 0 0 1px rgba(201,255,74,.18); }
.quiet-button { border: 0; background: transparent; color: #d1ced8; cursor: pointer; padding: 8px 10px; }
.quiet-button:hover { color: var(--accent); }
.prototype-label { font-size: 9px; text-transform: uppercase; letter-spacing: .14em; color: #706f7c; padding: 7px 9px; border: 1px solid var(--line); border-radius: 5px; }
.api-label { display: inline-flex; align-items: center; gap: 6px; color: #85838f; font-size: 9px; text-transform: uppercase; letter-spacing: .08em; }
.api-label::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: #ffc44d; }
.api-label.ready::before { background: #53dfb2; box-shadow: 0 0 8px rgba(83,223,178,.42); }
.api-label.error::before { background: #ff6d5f; }

.app-shell { height: calc(100vh - var(--topbar-h)); display: grid; grid-template-columns: var(--rail-w) minmax(0,1fr) var(--inspector-w); transition: grid-template-columns .24s ease; }
.app-shell.inspector-collapsed { grid-template-columns: var(--rail-w) minmax(0,1fr) 42px; }

.rail { background: #111119; border-right: 1px solid var(--line); padding: 20px 14px 15px; display: flex; flex-direction: column; position: relative; z-index: 10; min-height: 0; overflow-y: auto; scrollbar-width: thin; scrollbar-color: #363540 transparent; }
.rail-heading { padding: 0 8px 18px; border-bottom: 1px solid var(--line); }
.rail > * { flex-shrink: 0; }
.rail-heading span, .rail-heading strong { display: block; }
.rail-heading span { font-size: 11px; color: var(--muted); margin-bottom: 5px; }
.rail-heading strong { font-size: 13px; font-weight: 600; }

.area-nav { padding: 14px 0; display: grid; gap: 4px; max-height: 51vh; overflow-y: auto; scrollbar-width: thin; scrollbar-color: #363540 transparent; }
.area-nav-group { min-width: 0; }
.area-button { width: 100%; border: 0; background: transparent; display: grid; grid-template-columns: 30px minmax(0,1fr) 22px 15px 8px; align-items: center; text-align: left; padding: 10px 8px; color: #8f8e9b; border-radius: 7px; cursor: pointer; transition: .18s ease; }
.area-button:hover, .area-button.active { color: var(--text); background: rgba(255,255,255,.045); }
.area-button.is-complete { box-shadow: inset 0 0 0 1px rgba(83,223,178,.34); color: #d7f8ed; }
.area-button.is-complete .phase-count { color: #53dfb2; }
.area-button .num { font-size: 12px; font-weight: 750; font-variant-numeric: tabular-nums; color: #777582; }
.area-button .label { font-size: 13px; font-weight: 650; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.area-button .phase-count { color: #65636f; font-size: 10px; text-align: right; }
.area-button .chevron { color: #6d6b77; font-size: 16px; line-height: 1; transform: rotate(-90deg); transition: transform .18s ease; }
.area-nav-group.expanded .area-button .chevron { transform: rotate(0deg); color: var(--accent); }
.area-button .color { width: 6px; height: 6px; border-radius: 50%; background: var(--area-color); box-shadow: 0 0 8px color-mix(in srgb, var(--area-color) 70%, transparent); }
.area-node-list { max-height: 0; overflow: hidden; display: grid; opacity: 0; transition: max-height .24s ease, opacity .18s ease; }
.area-nav-group.expanded .area-node-list { max-height: 390px; opacity: 1; overflow-y: auto; }
.node-nav-button { width: 100%; min-width: 0; display: grid; grid-template-columns: 30px minmax(0,1fr); gap: 7px; align-items: start; padding: 7px 11px 7px 9px; border: 0; border-left: 1px solid rgba(255,255,255,.075); margin-left: 19px; background: transparent; color: #85838f; text-align: left; cursor: pointer; }
.node-nav-button:hover, .node-nav-button.active { color: #e9e6ef; border-left-color: var(--accent); background: linear-gradient(90deg, rgba(201,255,74,.055), transparent); }
.node-nav-button span { color: #65636f; font-size: 10px; font-variant-numeric: tabular-nums; }
.node-nav-button b { min-width: 0; font-size: 11px; line-height: 1.25; font-weight: 550; white-space: normal; }

.rail-section { border-top: 1px solid var(--line); padding: 18px 8px 0; }
.connection-section { padding-bottom: 14px; }
.connection-section p { margin: 7px 0 0; color: #706e7a; font-size: 10px; line-height: 1.45; }
.connection-symbol { display: inline-block; width: 13px; height: 8px; border-left: 1px solid #696774; border-bottom: 1px solid #696774; border-radius: 0 0 0 3px; }
.rail-label { color: #777582; font-size: 10px; text-transform: uppercase; letter-spacing: .15em; display: block; margin-bottom: 9px; }
.toggle-row { display: flex; justify-content: space-between; align-items: center; padding: 7px 0; color: #aaa8b4; font-size: 12px; cursor: pointer; }
.toggle-row > span { display: inline-flex; align-items: center; gap: 7px; }
.toggle-row input { position: absolute; opacity: 0; pointer-events: none; }
.toggle-row b { width: 23px; height: 13px; border-radius: 20px; background: #2a2932; border: 1px solid #3c3a45; position: relative; transition: .2s; }
.toggle-row b::after { content: ""; position: absolute; width: 7px; height: 7px; top: 2px; left: 2px; border-radius: 50%; background: #777582; transition: .2s; }
.toggle-row input:checked + b { background: rgba(201,255,74,.16); border-color: rgba(201,255,74,.35); }
.toggle-row input:checked + b::after { left: 12px; background: var(--accent); }
.status-dot { width: 6px; height: 6px; border-radius: 50%; display: inline-block; }
.status-dot.required { background: var(--required); }
.status-dot.conditional { background: var(--conditional); }
.status-dot.optional { background: transparent; border: 1px solid var(--optional); }
.node-type-legend-list { display: grid; gap: 8px; }
.node-type-legend-list span { display: grid; grid-template-columns: 5px minmax(0,1fr); gap: 9px; align-items: center; color: #aaa8b4; }
.node-type-legend-list i { width: 5px; height: 20px; border-radius: 3px; background: var(--legend-color); box-shadow: 0 0 8px color-mix(in srgb, var(--legend-color) 34%, transparent); }
.node-type-legend-list b { font-size: 11px; line-height: 1.25; font-weight: 580; }

.rail-footer { margin-top: auto; padding: 14px 2px 0; position: sticky; bottom: -15px; z-index: 4; flex: 0 0 auto; background: linear-gradient(180deg, rgba(17,17,25,0), #111119 18%, #111119 100%); }
.workflow-stop-launch, .workflow-resume-launch, .research-launch, .export-launch { width: 100%; display: flex; align-items: center; gap: 11px; margin-bottom: 8px; border-radius: 8px; padding: 10px 11px; color: #a6a3ae; text-align: left; cursor: pointer; transition: border-color .18s ease, background .18s ease, color .18s ease, opacity .18s ease; }
.workflow-stop-launch { border: 1px solid rgba(255,109,95,.18); background: rgba(255,109,95,.025); }
.workflow-stop-launch:disabled { opacity: .56; cursor: default; }
.workflow-stop-launch:not(:disabled) { color: #eee9eb; border-color: rgba(255,109,95,.45); background: rgba(255,109,95,.065); }
.workflow-stop-launch:not(:disabled):hover { border-color: rgba(255,109,95,.72); background: rgba(255,109,95,.1); }
.workflow-stop-icon { width: 24px; height: 24px; display: grid; place-items: center; border-radius: 6px; color: #ff6d5f; background: rgba(255,109,95,.08); }
.workflow-stop-icon i { width: 8px; height: 8px; border-radius: 2px; background: currentColor; box-shadow: 0 0 10px rgba(255,109,95,.2); }
.workflow-stop-launch > span:last-child { display: grid; gap: 2px; }
.workflow-stop-launch b { font-size: 12px; letter-spacing: .03em; }
.workflow-stop-launch small { color: #777582; font-size: 9px; }
.workflow-stop-launch.is-stopping .workflow-stop-icon i { border-radius: 50%; background: transparent; border: 2px solid rgba(255,109,95,.35); border-top-color: #ff6d5f; animation: clockwiseSpin .85s linear infinite; }
.workflow-resume-launch { border: 1px solid rgba(106,169,255,.2); background: rgba(106,169,255,.035); }
.workflow-resume-launch:disabled { opacity: .55; cursor: default; }
.workflow-resume-launch:not(:disabled) { color: #eceaff; border-color: rgba(106,169,255,.48); background: linear-gradient(135deg, rgba(106,169,255,.1), rgba(158,133,255,.07)); }
.workflow-resume-launch:not(:disabled):hover { border-color: rgba(145,163,255,.75); background: linear-gradient(135deg, rgba(106,169,255,.16), rgba(158,133,255,.11)); }
.workflow-resume-icon, .research-icon, .export-icon { width: 24px; height: 24px; display: grid; place-items: center; border-radius: 6px; font-size: 10px; }
.workflow-resume-icon { color: #9e85ff; background: rgba(158,133,255,.1); text-shadow: 0 0 12px rgba(158,133,255,.45); }
.workflow-resume-launch > span:last-child, .research-launch > span:last-child, .export-launch > span:last-child { display: grid; gap: 2px; }
.workflow-resume-launch b, .research-launch b, .export-launch b { font-size: 12px; letter-spacing: .03em; }
.workflow-resume-launch small, .research-launch small, .export-launch small { color: #777582; font-size: 9px; }
.research-launch { border: 1px solid rgba(83,223,178,.18); background: linear-gradient(135deg, rgba(83,223,178,.045), rgba(106,169,255,.025)); color: #d9eee8; }
.research-launch:hover { border-color: rgba(83,223,178,.42); background: linear-gradient(135deg, rgba(83,223,178,.085), rgba(106,169,255,.05)); }
.research-launch.is-active { border-color: rgba(83,223,178,.5); }
.research-icon { color: #53dfb2; background: rgba(83,223,178,.09); font-size: 15px; box-shadow: inset 0 0 0 1px rgba(83,223,178,.08); }
.research-launch.is-working .research-icon { border: 2px solid rgba(83,223,178,.2); border-top-color: #53dfb2; border-radius: 50%; color: transparent; animation: clockwiseSpin .85s linear infinite; }
.export-launch { border: 1px solid rgba(255,255,255,.11); background: rgba(255,255,255,.025); color: #d4d1dc; }
.export-launch:hover { border-color: rgba(106,169,255,.36); background: rgba(106,169,255,.04); }
.export-icon { color: #6aa9ff; background: rgba(106,169,255,.09); font-size: 16px; }
.settings-launch { width: 100%; display: flex; align-items: center; gap: 11px; border: 1px solid rgba(255,255,255,.11); border-radius: 8px; padding: 10px 11px; background: rgba(255,255,255,.025); color: #d4d1dc; text-align: left; cursor: pointer; }
.settings-launch:hover { border-color: rgba(201,255,74,.28); background: rgba(201,255,74,.035); }
.settings-launch .settings-icon { width: 24px; height: 24px; display: grid; place-items: center; border-radius: 6px; color: var(--accent); background: rgba(201,255,74,.08); font-size: 14px; }
.settings-launch > span:last-child { display: grid; gap: 2px; }
.settings-launch b { font-size: 12px; letter-spacing: .04em; }
.settings-launch small { color: #777582; font-size: 9px; }
.rail-note { margin: 8px 0 0; padding: 14px; background: linear-gradient(145deg, rgba(158,133,255,.11), rgba(201,255,74,.04)); border: 1px solid rgba(158,133,255,.18); border-radius: 9px; flex: 0 0 auto; }
.eyebrow { display: block; color: var(--accent); font-size: 9px; text-transform: uppercase; letter-spacing: .17em; font-weight: 700; }
.rail-note p { color: #c7c4d0; font-size: 12px; line-height: 1.5; margin: 8px 0 0; }
.rail-node-inspector { padding-bottom: 3px; }
.rail-node-inspector > .rail-label { color: #aaa8b4; font-size: 13px; font-weight: 720; letter-spacing: .14em; margin-bottom: 12px; }
.rail-inspector-empty { color: #8e8b98; font-size: 12px; line-height: 1.55; }
.rail-inspector-content { display: grid; gap: 10px; }
.rail-inspector-content > span { color: #76b0ff; font-size: 10px; text-transform: uppercase; letter-spacing: .11em; }
.rail-inspector-content > strong { color: #f0edf4; font-size: 15px; line-height: 1.3; }
.rail-inspector-content > p { color: #c2bfc9; font-size: 12px; line-height: 1.55; margin: 0; }
.rail-inspector-content details { border-top: 1px solid var(--line); padding-top: 9px; }
.rail-inspector-content summary { color: #a09da9; font-size: 11px; text-transform: uppercase; letter-spacing: .08em; cursor: pointer; }
.rail-inspector-content details p { color: #bbb8c2; font-size: 12px; line-height: 1.5; margin: 8px 0 0; }
.rail-inspector-content > small { color: #85828e; font-size: 10px; text-transform: uppercase; letter-spacing: .09em; margin-top: 3px; }
.rail-inspector-content > b { color: #c3c0ca; font-size: 12px; font-weight: 600; }
#railDetailDependencies { display: flex; flex-wrap: wrap; gap: 4px; margin-top: 7px; }
#railDetailDependencies button { border: 1px solid var(--line); border-radius: 4px; background: #181820; color: #bbb8c2; padding: 6px 7px; font-size: 11px; cursor: pointer; }
#railDetailDependencies span { color: #9895a1; font-size: 11px; }

.workflow-complete-toast { position: fixed; z-index: 220; inset: 0; display: grid; place-items: center; padding: 18px; background: rgba(5,6,10,.16); backdrop-filter: blur(1px); opacity: 0; pointer-events: none; cursor: pointer; transition: opacity .22s ease; }
.workflow-complete-card { width: min(310px, calc(100vw - 36px)); min-height: 64px; display: flex; align-items: center; justify-content: center; gap: 11px; padding: 16px 22px; border: 1px solid rgba(201,255,74,.42); border-radius: 10px; background: rgba(20,21,27,.95); color: #f3f5ec; box-shadow: 0 18px 60px rgba(0,0,0,.5), 0 0 0 1px rgba(201,255,74,.05); backdrop-filter: blur(12px); transform: scale(.96); opacity: 0; }
.workflow-complete-card span { display: grid; place-items: center; width: 25px; height: 25px; border-radius: 50%; color: #11140c; background: var(--accent); font-size: 13px; font-weight: 900; box-shadow: 0 0 15px rgba(201,255,74,.2); }
.workflow-complete-card b { font-size: 15px; letter-spacing: .015em; }
.workflow-complete-toast.show { opacity: 1; pointer-events: auto; }
.workflow-complete-toast.show .workflow-complete-card { animation: workflowCompleteIn .38s ease-out forwards, workflowCompleteGlow 1.45s ease-in-out .38s infinite; }
@keyframes workflowCompleteIn { to { opacity: 1; transform: scale(1); } }
@keyframes workflowCompleteGlow { 0%,100% { box-shadow: 0 18px 60px rgba(0,0,0,.5), 0 0 10px rgba(201,255,74,.08); } 50% { box-shadow: 0 18px 60px rgba(0,0,0,.5), 0 0 24px rgba(201,255,74,.23); } }

.project-inputs-stage { position: fixed; z-index: 185; inset: 0; display: grid; place-items: center; overflow: auto; background: rgba(5,5,8,.88); backdrop-filter: blur(14px) saturate(.72); }
.project-inputs-group { width: min(1770px,100%); min-height: min-content; display: grid; grid-template-columns: 610px minmax(0,1080px); align-items: start; justify-content: center; gap: 14px 28px; margin: auto; padding: 26px; }
.campaign-deliverables-bar { grid-column: 1 / -1; min-width: 0; }
.project-inputs-stage.mode-inputs .project-inputs-group { width: min(1132px,100%); grid-template-columns: minmax(0,1080px); }
.project-inputs-stage.mode-inputs .campaign-deliverables-bar, .project-inputs-stage.mode-inputs .client-research-overlay { grid-column: 1; }
.project-inputs-stage.mode-projects .project-inputs-group { width: min(662px,100%); grid-template-columns: minmax(0,610px); }
.project-inputs-stage.mode-projects .campaign-deliverables-bar { display: none; }
.campaign-output-strip { display: grid; gap: 11px; border: 1px solid rgba(255,255,255,.12); border-radius: 13px; padding: 14px 17px 12px; background: rgba(19,19,27,.97); box-shadow: 0 18px 52px rgba(0,0,0,.34); }
.campaign-output-header { display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.campaign-output-header > div { min-width: 0; }
.campaign-output-header h3 { margin: 3px 0 2px; color: #f0edf3; font-size: 17px; letter-spacing: -.02em; }
.campaign-output-header p { margin: 0; color: #8f8c98; font-size: 11px; line-height: 1.4; }
.campaign-output-actions { flex: 0 0 auto; display: flex; align-items: stretch; gap: 9px; }
.campaign-output-primary-actions { display: flex; align-items: stretch; gap: 7px; }
.campaign-return-button { min-width: 154px; border: 1px solid rgba(255,255,255,.15); border-radius: 9px; padding: 8px 12px; background: #111118; color: #c9c6d0; font-size: 10px; font-weight: 750; cursor: pointer; }
.campaign-return-button:hover { border-color: rgba(201,255,74,.38); color: var(--accent); background: rgba(201,255,74,.035); }
.campaign-recommend-toggle { flex: 0 0 auto; min-width: 225px; display: grid; grid-template-columns: auto 1fr; align-items: center; gap: 9px; border: 1px solid rgba(106,169,255,.22); border-radius: 9px; padding: 8px 11px; background: rgba(106,169,255,.035); color: #c8c5cf; text-align: left; cursor: pointer; }
.campaign-recommend-toggle > i { width: 28px; height: 16px; position: relative; border-radius: 999px; background: #34333d; transition: background .18s ease; }
.campaign-recommend-toggle > i::after { content: ""; position: absolute; top: 3px; left: 3px; width: 10px; height: 10px; border-radius: 50%; background: #8a8793; transition: transform .18s ease, background .18s ease; }
.campaign-recommend-toggle.active { border-color: rgba(201,255,74,.32); background: rgba(201,255,74,.045); }
.campaign-recommend-toggle.active > i { background: rgba(201,255,74,.28); }
.campaign-recommend-toggle.active > i::after { transform: translateX(12px); background: var(--accent); box-shadow: 0 0 9px rgba(201,255,74,.42); }
.campaign-recommend-toggle b, .campaign-recommend-toggle small { display: block; }
.campaign-recommend-toggle b { font-size: 10px; }
.campaign-recommend-toggle small { margin-top: 2px; color: #7f7c88; font-size: 8px; }
.campaign-output-groups { display: flex; gap: 18px; min-width: 0; overflow-x: auto; padding: 2px 0 5px; scrollbar-width: thin; scrollbar-color: #3b3a44 transparent; }
.campaign-output-group { flex: 0 0 auto; display: grid; align-content: start; gap: 5px; }
.campaign-output-group > small { color: #74717d; font-size: 8px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.campaign-output-group > div { display: flex; gap: 5px; }
.campaign-output-pill { min-height: 29px; display: flex; align-items: center; gap: 5px; border: 1px solid #35343e; border-radius: 999px; padding: 5px 10px; background: #111118; color: #9d9aa5; font-size: 9px; font-weight: 700; white-space: nowrap; cursor: pointer; transition: color .16s ease,border-color .16s ease,background .16s ease,transform .16s ease; }
.campaign-output-pill:hover { color: #e8e5ed; border-color: rgba(255,255,255,.24); transform: translateY(-1px); }
.campaign-output-pill.selected { color: #11140c; border-color: var(--accent); background: var(--accent); box-shadow: 0 0 14px rgba(201,255,74,.14); }
.campaign-output-pill.recommended { color: #b9d8ff; border-color: rgba(106,169,255,.5); background: rgba(106,169,255,.08); }
.campaign-output-pill em { color: #89bfff; font-size: 7px; font-style: normal; letter-spacing: .06em; text-transform: uppercase; }
.campaign-output-strip > footer { display: flex; align-items: center; gap: 13px; color: #777480; font-size: 8px; }
.campaign-output-strip > footer > span { display: flex; align-items: center; gap: 5px; }
.campaign-output-strip > footer i { width: 7px; height: 7px; border-radius: 50%; }
.campaign-output-strip .selected-key { background: var(--accent); }
.campaign-output-strip .recommended-key { border: 1px solid #6aa9ff; background: rgba(106,169,255,.18); }
.campaign-plan-pending, .campaign-plan-ready { margin-left: auto; }
.campaign-plan-ready { color: #8f8c98; }
.campaign-plan-ready b { color: #c9ff4a; }
.client-research-overlay { position: static; display: block; padding: 0; background: transparent; }
.client-research-dialog { width: min(1080px, calc(100vw - 52px)); height: min(820px, calc(100vh - 52px)); overflow: hidden; display: grid; grid-template-rows: auto minmax(0,1fr); border: 1px solid rgba(255,255,255,.13); border-radius: 15px; background: #15151d; box-shadow: 0 32px 110px rgba(0,0,0,.64); }
.client-research-header { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; padding: 25px 29px 21px; border-bottom: 1px solid var(--line); background: linear-gradient(120deg, rgba(83,223,178,.035), transparent 38%); }
.client-research-header .tour-close { position: static; flex: 0 0 auto; }
.client-research-header h2 { margin: 7px 0 3px; font-size: 28px; letter-spacing: -.035em; }
.client-research-title-row { display: flex; align-items: baseline; flex-wrap: wrap; gap: 8px 12px; }
.data-hub-project-name { max-width: 520px; overflow: hidden; border: 1px solid rgba(201,255,74,.24); border-radius: 999px; padding: 4px 9px; background: rgba(201,255,74,.045); color: var(--accent); font-size: 9px; font-weight: 800; text-overflow: ellipsis; white-space: nowrap; }
.data-hub-project-name:empty { display: none; }
.client-research-header p { margin: 0; color: #8d8a96; font-size: 13px; }
.client-research-body { min-height: 0; overflow: hidden; padding: 0; scrollbar-width: thin; scrollbar-color: #41404a transparent; }
.data-hub-shell { height: 100%; min-height: 0; display: grid; grid-template-rows: auto minmax(0,1fr) auto; }
.data-hub-top { padding: 17px 29px 0; border-bottom: 1px solid var(--line); background: rgba(255,255,255,.01); }
.data-hub-note { display: flex; align-items: center; gap: 11px; margin-bottom: 14px; color: #a5a2ae; font-size: 14px; line-height: 1.5; }
.data-hub-note::before { content: "i"; width: 24px; height: 24px; flex: 0 0 auto; display: grid; place-items: center; border: 1px solid rgba(106,169,255,.34); border-radius: 50%; color: #a9cfff; font-size: 11px; font-weight: 800; }
.data-hub-tabs { display: flex; gap: 3px; }
.data-hub-tabs button { position: relative; min-width: 160px; border: 0; padding: 11px 15px 14px; background: transparent; color: #85828e; font-size: 13px; font-weight: 760; cursor: pointer; }
.data-hub-tabs button:hover { color: #d9d6df; }
.data-hub-tabs button.active { color: #f0edf3; }
.data-hub-tabs button small { margin-left: 6px; color: #706e7a; font-size: 10px; font-variant-numeric: tabular-nums; }
.data-hub-tabs button.active small { color: #9dbb5e; }
.data-hub-tabs button.active::after { content: ""; position: absolute; left: 10px; right: 10px; bottom: -1px; height: 2px; background: var(--accent); box-shadow: 0 0 13px rgba(201,255,74,.35); }
.data-hub-tab-panel { min-height: 0; overflow-y: auto; padding: 24px 29px 30px; scrollbar-width: thin; scrollbar-color: #41404a transparent; }
.data-hub-footer { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 14px 29px; border-top: 1px solid var(--line); background: #121219; box-shadow: 0 -14px 30px rgba(5,5,8,.18); }
.data-hub-footer-copy { display: grid; gap: 4px; color: #918e9a; font-size: 11px; }
.data-hub-footer-copy b { color: #d0cdd6; font-size: 12px; }
.data-hub-submit { min-width: 190px; }
.data-hub-submit:disabled { opacity: .38; cursor: default; transform: none; box-shadow: none; }
.data-hub-success { color: #79e5c4; }
.research-error-text { color: #ff8176; }
.quiz-intake { max-width: 940px; margin: 0 auto; display: grid; gap: 18px; }
.quiz-intro h3 { margin: 4px 0 6px; font-size: 22px; letter-spacing: -.025em; }
.quiz-intro p { max-width: 720px; margin: 0; color: #918e9a; font-size: 12px; line-height: 1.55; }
.quiz-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }
.quiz-field { display: grid; gap: 7px; padding: 13px; border: 1px solid rgba(255,255,255,.085); border-radius: 9px; background: rgba(255,255,255,.014); }
.quiz-field.wide { grid-column: 1 / -1; }
.quiz-field > span { display: flex; align-items: center; gap: 9px; color: #e0dde5; font-size: 14px; font-weight: 690; }
.quiz-field > span b { color: #83a9d8; font-size: 10px; font-variant-numeric: tabular-nums; }
.quiz-field > span em { margin-left: auto; border: 1px solid rgba(201,255,74,.28); border-radius: 999px; padding: 3px 7px; color: var(--accent); font-size: 8px; font-style: normal; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.quiz-field.is-required { border-color: rgba(201,255,74,.18); }
.quiz-field small { color: #898692; font-size: 12px; line-height: 1.45; }
.quiz-field textarea { min-height: 82px; resize: vertical; border: 1px solid #34333e; border-radius: 7px; padding: 11px 12px; background: #0f0f15; color: #efecf3; font-size: 13px; line-height: 1.5; outline: none; }
.quiz-field textarea:focus { border-color: rgba(106,169,255,.58); box-shadow: 0 0 0 3px rgba(106,169,255,.07); }
.documents-intake { max-width: 820px; margin: 0 auto; display: grid; gap: 17px; }
.documents-intake .research-upload-drop { min-height: 135px; }
.documents-intake .research-upload-list { max-height: none; }
.research-only-intake { max-width: 820px; }
.research-intake { max-width: 1000px; margin: 0 auto; display: grid; gap: 20px; }
.research-intro h3, .research-confirm h3, .research-report-title h3 { margin: 5px 0 7px; font-size: 24px; letter-spacing: -.025em; }
.research-intro p, .research-confirm p { margin: 0; color: #a09da9; line-height: 1.55; }
.research-mode-row { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.research-target-row { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; padding: 4px; border: 1px solid rgba(255,255,255,.09); border-radius: 11px; background: #0d0d13; }
.research-target { padding: 14px 15px; border: 1px solid transparent; border-radius: 8px; background: transparent; color: #a6a3af; text-align: left; cursor: pointer; }
.research-target b, .research-target small { display: block; }
.research-target b { color: #d7d4de; font-size: 14px; }
.research-target small { margin-top: 5px; color: #777582; font-size: 11px; line-height: 1.4; }
.research-target.selected { border-color: rgba(106,169,255,.42); background: linear-gradient(135deg, rgba(106,169,255,.09), rgba(158,133,255,.055)); box-shadow: inset 0 0 0 1px rgba(106,169,255,.045); }
.research-mode { padding: 15px 16px; border: 1px solid var(--line); border-radius: 9px; background: rgba(255,255,255,.018); text-align: left; cursor: pointer; }
.research-mode b, .research-mode small { display: block; }
.research-mode b { font-size: 15px; }
.research-mode small { margin-top: 5px; color: #918e99; font-size: 13px; line-height: 1.45; }
.research-mode.selected { border-color: rgba(83,223,178,.48); background: rgba(83,223,178,.055); box-shadow: inset 0 0 0 1px rgba(83,223,178,.05); }
.research-source-grid { display: grid; grid-template-columns: minmax(0,1.12fr) minmax(310px,.88fr); gap: 14px; align-items: stretch; }
.research-source-panel { min-width: 0; display: flex; flex-direction: column; gap: 16px; padding: 18px; border: 1px solid rgba(255,255,255,.1); border-radius: 11px; background: rgba(255,255,255,.014); }
.research-source-panel > header h4 { margin: 4px 0 5px; font-size: 17px; }
.research-source-panel > header p { margin: 0; color: #85828e; font-size: 11px; line-height: 1.45; }
.research-upload-panel { border-color: rgba(106,169,255,.18); background: linear-gradient(145deg, rgba(106,169,255,.035), rgba(83,223,178,.018)); }
.research-upload-drop { min-height: 105px; display: grid; place-content: center; justify-items: center; gap: 6px; border: 1px dashed rgba(106,169,255,.36); border-radius: 9px; background: rgba(106,169,255,.03); color: #c9dcf6; cursor: pointer; text-align: center; }
.research-upload-drop:hover { border-color: rgba(106,169,255,.68); background: rgba(106,169,255,.06); }
.research-upload-drop input { position: absolute; width: 1px; height: 1px; opacity: 0; pointer-events: none; }
.research-upload-drop span { font-size: 12px; font-weight: 750; }
.research-upload-drop small { color: #777582; font-size: 9px; }
.research-upload-list { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 12px; max-height: 520px; overflow-y: auto; scrollbar-width: thin; scrollbar-color: #41404a transparent; }
.research-upload-empty { min-height: 94px; display: grid; place-content: center; text-align: center; color: #777582; }
.research-upload-empty b { color: #aaa7b2; font-size: 11px; }
.research-upload-empty p { max-width: 260px; margin: 5px 0 0; font-size: 10px; line-height: 1.45; }
.research-upload-item { position: relative; min-width: 0; display: grid; align-content: start; gap: 12px; padding: 0 12px 12px; border: 1px solid var(--line); border-radius: 11px; background: #111118; overflow: hidden; }
.research-upload-preview { position: relative; width: calc(100% + 24px); margin: 0 -12px; aspect-ratio: 1; display: grid; place-items: center; overflow: hidden; border: 0; border-bottom: 1px solid rgba(255,255,255,.1); border-radius: 10px 10px 0 0; padding: 0; background: radial-gradient(circle at 50% 38%,#20202a,#15151c 72%); cursor: zoom-in; }
.research-upload-preview:hover { border-color: rgba(106,169,255,.52); box-shadow: 0 0 0 3px rgba(106,169,255,.06); }
.research-upload-preview > span { position: absolute; right: 8px; bottom: 8px; border: 1px solid rgba(255,255,255,.12); border-radius: 999px; padding: 4px 7px; background: rgba(10,10,15,.78); color: #c8c5cf; font-size: 8px; font-weight: 750; letter-spacing: .05em; text-transform: uppercase; opacity: 0; transition: opacity .16s ease; }
.research-upload-preview:hover > span, .research-upload-preview:focus-visible > span { opacity: 1; }
.research-upload-thumbnail, .research-document-logo { width: 58px; height: 52px; display: grid; place-items: center; overflow: hidden; border: 1px solid rgba(255,255,255,.09); border-radius: 7px; background: #181820; }
.research-upload-thumbnail { object-fit: cover; }
.research-upload-preview .research-upload-thumbnail { width: 100%; height: 100%; border: 0; border-radius: 0; background: transparent; }
.research-upload-preview .research-document-logo { width: 132px; height: 132px; border-radius: 18px; box-shadow: 0 18px 48px rgba(0,0,0,.28); }
.research-upload-preview .research-document-logo img { width: 72px; height: 72px; }
.research-upload-preview .research-document-logo b { right: 9px; bottom: 8px; padding: 3px 6px; font-size: 10px; }
.research-document-logo { position: relative; }
.research-document-logo img { width: 31px; height: 31px; object-fit: contain; }
.research-document-logo b { position: absolute; right: 4px; bottom: 3px; padding: 1px 3px; border-radius: 3px; background: rgba(8,8,12,.86); color: #fff; font-size: 7px; line-height: 1.3; letter-spacing: .04em; }
.research-document-logo.pdf { background: rgba(236,28,36,.08); }.research-document-logo.word { background: rgba(43,87,154,.11); }.research-document-logo.ppt { background: rgba(183,71,42,.11); }.research-document-logo.text { background: rgba(140,138,151,.09); }
.research-upload-meta { min-width: 0; display: grid; gap: 7px; }
.research-upload-meta b { overflow-wrap: anywhere; color: #e5e2e9; font-size: 13px; line-height: 1.35; }
.research-upload-meta p { min-height: 38px; margin: 0; color: #aaa7b2; font-size: 12px; line-height: 1.55; }
.research-upload-meta em { color: #d2a57d; font-size: 10px; font-style: normal; line-height: 1.4; }
.research-upload-delete { position: absolute; z-index: 2; top: 8px; right: 8px; width: 29px; height: 29px; border: 1px solid rgba(255,109,95,.28); border-radius: 50%; background: rgba(14,14,20,.82); color: #d69a96; font-size: 17px; cursor: pointer; backdrop-filter: blur(7px); }
.research-upload-delete:hover { border-color: rgba(255,109,95,.58); color: #ff9c94; }
.research-upload-instructions { display: grid; gap: 8px; }
.research-upload-instructions > span { color: #c6c3cc; font-size: 12px; font-weight: 730; line-height: 1.4; }
.research-upload-instructions textarea { width: 100%; min-height: 92px; max-height: 190px; resize: vertical; border: 1px solid rgba(255,255,255,.1); border-radius: 7px; padding: 10px 11px; background: #0d0d13; color: #e8e5ec; font: inherit; font-size: 13px; line-height: 1.5; outline: none; }
.research-upload-instructions textarea:focus { border-color: rgba(106,169,255,.58); box-shadow: 0 0 0 2px rgba(106,169,255,.08); }
.research-upload-instructions small { color: #85828e; font-size: 11px; line-height: 1.4; }
.research-upload-instructions small.saved { color: #65bfa4; }.research-upload-instructions small.error { color: #ff8d82; }
.research-upload-actions { margin-top: auto; justify-content: space-between; }
.research-upload-actions > small { max-width: 150px; color: #777582; font-size: 9px; line-height: 1.35; }
.research-secondary:disabled { opacity: .38; cursor: default; }
.research-uploaded-sources { display: flex; flex-wrap: wrap; gap: 7px; }
.research-uploaded-sources span { padding: 6px 8px; border: 1px solid rgba(106,169,255,.18); border-radius: 5px; color: #b9d5f7; font-size: 10px; }
.research-fields { display: grid; grid-template-columns: 1fr 1fr; gap: 13px; }
.research-field { display: grid; gap: 8px; color: #b9b6c1; font-size: 13px; }
.research-field.wide { grid-column: 1 / -1; }
.research-field input, .research-field textarea { width: 100%; border: 1px solid rgba(255,255,255,.11); border-radius: 7px; padding: 12px 13px; background: #0e0e14; color: #f0edf4; font-size: 13px; outline: none; resize: vertical; }
.research-field textarea { min-height: 76px; max-height: 150px; }
.research-field input:focus, .research-field textarea:focus { border-color: rgba(106,169,255,.62); box-shadow: 0 0 0 2px rgba(106,169,255,.09); }
.research-primary, .research-secondary { border-radius: 7px; padding: 11px 15px; cursor: pointer; font-weight: 700; }
.research-primary { border: 1px solid var(--accent); background: var(--accent); color: #11140c; }
.research-primary:disabled { opacity: .4; cursor: default; }
.research-secondary { border: 1px solid rgba(255,255,255,.13); background: rgba(255,255,255,.025); color: #d5d2dc; }
.research-actions { display: flex; align-items: center; justify-content: flex-end; gap: 9px; }
.research-progress { min-height: 430px; display: grid; place-content: center; justify-items: center; gap: 13px; text-align: center; }
.research-progress .generation-spinner { width: 38px; height: 38px; }
.research-progress h3 { margin: 2px 0 0; font-size: 21px; }
.research-progress p { max-width: 470px; margin: 0; color: #8f8c98; line-height: 1.5; }
.research-cost-cap { margin-top: 8px; padding: 8px 11px; border: 1px solid rgba(83,223,178,.15); border-radius: 999px; color: #79bda9; font-size: 10px; letter-spacing: .03em; }
.research-confirm { max-width: 720px; margin: 34px auto; }
.research-identity-card { margin: 22px 0; padding: 20px; border: 1px solid rgba(83,223,178,.22); border-radius: 11px; background: linear-gradient(135deg, rgba(83,223,178,.055), rgba(106,169,255,.025)); }
.research-identity-card strong { display: block; font-size: 20px; margin-bottom: 7px; }
.research-identity-card p { color: #c4c1cb; }
.research-link-row { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 13px; }
.research-link-row a, .research-platform a, .research-source-list a { color: #9fc8ff; text-decoration: none; }
.research-link-row a { padding: 6px 8px; border: 1px solid rgba(106,169,255,.18); border-radius: 5px; font-size: 10px; }
.research-error { max-width: 720px; margin: 20px auto; padding: 16px; border: 1px solid rgba(255,109,95,.28); border-radius: 9px; background: rgba(255,109,95,.055); color: #d9c5c7; line-height: 1.5; }
.research-report { display: grid; gap: 18px; }
.research-retained-report { margin-top: 24px; padding-top: 22px; border-top: 1px solid rgba(190,255,35,.18); display: grid; gap: 18px; }
.research-retained-note { display: flex; align-items: baseline; gap: 10px; padding: 11px 13px; border: 1px solid rgba(83,223,178,.18); border-radius: 10px; background: rgba(83,223,178,.045); color: #aaa7b2; font-size: 12px; }
.research-retained-note b { color: #76cbb2; }
.research-report-toolbar { display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; }
.research-report-title { min-width: 0; }
.research-report-title p { max-width: 720px; margin: 0; color: #aaa7b2; line-height: 1.55; }
.research-report-badge { display: inline-flex; padding: 5px 8px; border: 1px solid rgba(83,223,178,.2); border-radius: 999px; color: #76cbb2; font-size: 9px; text-transform: uppercase; letter-spacing: .11em; }
.research-summary-actions { display: flex; flex-wrap: wrap; gap: 8px; justify-content: flex-end; }
.research-score-card { display: grid; grid-template-columns: 110px minmax(0,1fr); gap: 18px; padding: 18px; border: 1px solid rgba(201,255,74,.19); border-radius: 11px; background: linear-gradient(135deg, rgba(201,255,74,.045), rgba(83,223,178,.025)); }
.research-score { display: grid; place-content: center; justify-items: center; width: 94px; height: 94px; border: 1px solid rgba(201,255,74,.32); border-radius: 50%; background: rgba(201,255,74,.035); }
.research-score b { font-size: 29px; color: var(--accent); }
.research-score span { color: #777582; font-size: 9px; text-transform: uppercase; }
.research-score-copy h4 { margin: 7px 0 6px; font-size: 16px; }
.research-score-copy p { margin: 0; color: #aaa7b2; line-height: 1.5; }
.research-score-copy small { display: block; margin-top: 8px; color: #6f6d78; }
.research-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 12px; }
.research-card { min-width: 0; padding: 16px; border: 1px solid var(--line); border-radius: 10px; background: rgba(255,255,255,.016); }
.research-card h4 { margin: 0 0 8px; font-size: 14px; }
.research-card p { margin: 0; color: #aaa7b2; line-height: 1.5; }
.research-card ul { margin: 9px 0 0; padding-left: 17px; color: #aaa7b2; line-height: 1.5; }
.research-delta { display: grid; gap: 8px; }
.research-delta article { display: grid; grid-template-columns: .8fr 1fr 1.25fr; gap: 12px; padding: 12px; border: 1px solid var(--line); border-radius: 8px; }
.research-delta small { display: block; margin-bottom: 4px; color: #777582; text-transform: uppercase; letter-spacing: .09em; font-size: 8px; }
.research-delta p { margin: 0; color: #bbb8c2; line-height: 1.45; }
.research-platforms { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 10px; }
.research-platform { padding: 14px; border: 1px solid var(--line); border-radius: 9px; }
.research-platform h4 { margin: 0 0 8px; }
.research-platform ul { margin: 0; padding-left: 17px; line-height: 1.55; }
.research-visuals { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 9px; }
.research-visual { overflow: hidden; border: 1px solid var(--line); border-radius: 9px; background: #101016; }
.research-visual img { width: 100%; height: 120px; display: block; object-fit: cover; background: #0b0b10; }
.research-visual div { padding: 10px; }
.research-visual b { display: block; font-size: 11px; }
.research-visual a { display: inline-block; margin-top: 6px; color: #9fc8ff; font-size: 10px; text-decoration: none; }
.research-source-list { display: flex; flex-wrap: wrap; gap: 7px; }
.research-source-list a { padding: 6px 8px; border: 1px solid var(--line); border-radius: 5px; font-size: 10px; }
.research-applied { color: #76cbb2; font-size: 11px; }

.canvas-shell { min-width: 0; position: relative; overflow: hidden; background: #090a0f; }
.canvas-shell, .world, .area-zone, .area-zone-header, .area-zone-copy, .phase-controls { -webkit-user-select: none; user-select: none; }
.viewport { position: absolute; inset: 0; overflow: hidden; cursor: grab; outline: none; touch-action: none; }
.viewport.grabbing { cursor: grabbing; }
.viewport.grabbing .node { cursor: grabbing; }
.viewport::before { content: ""; position: absolute; inset: 0; background-image: radial-gradient(circle, rgba(255,255,255,.14) 0.7px, transparent .8px); background-size: 20px 20px; opacity: .34; pointer-events: none; }
.viewport::after { content: ""; position: absolute; inset: 0; pointer-events: none; box-shadow: inset 0 0 100px rgba(0,0,0,.34); }
.pan-layer { position: absolute; left: 0; top: 0; }
.world { width: 3160px; height: 2320px; position: absolute; left: 0; top: 0; transform-origin: 0 0; }

.area-zone { position: absolute; border-radius: 18px; border: 1px solid rgba(255,255,255,.07); background: linear-gradient(180deg, color-mix(in srgb, var(--area-color) 7%, #101018), color-mix(in srgb, var(--area-color) 2%, #0c0c12) 38%, rgba(255,255,255,.008)); overflow: visible; transition: border-color .2s ease, box-shadow .2s ease; }
.area-zone.is-complete { border-color: rgba(83,223,178,.68); box-shadow: inset 0 0 0 1px rgba(83,223,178,.08), 0 0 22px rgba(83,223,178,.035); }
.area-zone::before { content: ""; position: absolute; left: 0; right: 0; top: 108px; height: 1px; background: linear-gradient(90deg, color-mix(in srgb, var(--area-color) 46%, transparent), transparent); }
.area-zone-header { position: absolute; left: 22px; top: 20px; display: flex; align-items: center; gap: 10px; transform: scale(var(--inverse-scale, 1)); transform-origin: left top; white-space: nowrap; z-index: 2; }
.area-zone-header b { font-size: 13px; font-weight: 800; color: var(--area-color); letter-spacing: .12em; }
.area-zone-header h2 { margin: 0; font-size: 23px; line-height: 1.05; font-weight: 720; letter-spacing: -.03em; }
.world.overview .area-zone-header { flex-direction: column; align-items: flex-start; gap: 2px; }
.area-zone-copy { position: absolute; top: 24px; right: 24px; color: #85838f; font-size: 13px; max-width: 310px; text-align: right; line-height: 1.45; transform: scale(var(--inverse-scale, 1)); transform-origin: right top; }
.world.overview .area-zone-copy { display: none; }
.lane-label { position: absolute; left: 22px; font-size: 9px; text-transform: uppercase; letter-spacing: .15em; color: #5b5965; writing-mode: vertical-rl; transform: rotate(180deg); }
.lane-rule { position: absolute; left: 52px; right: 22px; height: 1px; background: rgba(255,255,255,.035); }

.connections { position: absolute; inset: 0; width: 3160px; height: 2320px; overflow: visible; pointer-events: none; }
.edge { fill: none; stroke: #4d5268; stroke-width: 1.25; vector-effect: non-scaling-stroke; opacity: 0; transition: opacity .14s ease, stroke .14s ease; }
.edge.main { stroke: #6374a4; stroke-width: 1.5; }
.edge.feedback { stroke: var(--accent); stroke-dasharray: 7 7; }
.connections.show-all .edge { opacity: .52; }
.connections.show-all .edge.dimmed { opacity: .07; }
.connections .edge.highlighted { stroke: #7697ff; stroke-width: 2; opacity: 1; filter: drop-shadow(0 0 4px rgba(106,169,255,.34)); }
.connections .edge.feedback.highlighted { stroke: var(--accent); }
.edge.bypassed { stroke-dasharray: 3 5; }
.edge.filtered { display: none; }
.connections.show-all .edge.context-edge:not(.highlighted) { opacity: .12; stroke-dasharray: 2 5; }

.node { --node-color: #8d8b97; position: absolute; width: 242px; min-height: 174px; border: 1px solid rgba(255,255,255,.12); border-radius: 10px; background: linear-gradient(145deg, #1a1a22, #14141b); box-shadow: 0 10px 28px rgba(0,0,0,.21); padding: 16px 17px 55px; cursor: pointer; transition: opacity .18s, border-color .18s, box-shadow .18s, filter .18s; outline: none; user-select: none; overflow: visible; }
.node::before { content: ""; position: absolute; left: -1px; top: 10%; height: 80%; width: 5px; border-radius: 3px; background: var(--node-color); opacity: .8; }
.node-port { position: absolute; top: 50%; width: 8px; height: 8px; margin-top: -4px; border-radius: 50%; background: #17171f; border: 1px solid #565c72; box-shadow: 0 0 0 2px #111118; }
.node-port.in { left: -5px; }
.node-port.out { right: -5px; }
.node:hover { border-color: color-mix(in srgb, var(--node-color) 65%, white); box-shadow: 0 16px 42px rgba(0,0,0,.34), 0 0 0 1px color-mix(in srgb, var(--node-color) 18%, transparent); z-index: 4; }
.node.active { background: linear-gradient(145deg, #292932, #202028); border-color: rgba(255,255,255,.34); box-shadow: 0 17px 45px rgba(0,0,0,.4), 0 0 0 1px rgba(255,255,255,.08); z-index: 5; }
.node.active { border-color: rgba(150,187,255,.9); box-shadow: 0 17px 45px rgba(0,0,0,.42), 0 0 0 2px rgba(106,169,255,.24), 0 0 24px rgba(106,169,255,.28); }
.node:focus-visible { box-shadow: 0 0 0 2px #6aa9ff; }
.node.is-hidden { opacity: 0; pointer-events: none; }
.node.is-dimmed { opacity: .18; filter: grayscale(.55); }
.node.is-related { border-color: rgba(106,169,255,.58); opacity: 1; }
.node.is-bypassed { border-style: dashed; }
.node.is-bypassed::before { opacity: .28; filter: grayscale(.7); }
.node.is-bypassed > :not(.node-actions) { opacity: .38; filter: grayscale(.7); }
.node.is-bypassed .node-actions { opacity: 1; filter: none; }
.node.is-bypassed .node-action:not(.node-action-bypass) { opacity: .34; }
.node.is-locked { border-color: rgba(106,169,255,.82); box-shadow: 0 10px 28px rgba(0,0,0,.21), inset 0 0 0 1px rgba(106,169,255,.13); }
.node.is-locked::before { background: #6aa9ff; opacity: 1; }
.node.is-complete { border-color: rgba(83,223,178,.82); box-shadow: 0 10px 28px rgba(0,0,0,.21), inset 0 0 0 1px rgba(83,223,178,.13); }
.node.is-complete .node-code { color: #53dfb2; }
.node.is-complete.active { border-color: rgba(150,187,255,.9); box-shadow: 0 17px 45px rgba(0,0,0,.42), 0 0 0 2px rgba(106,169,255,.26), 0 0 25px rgba(106,169,255,.3); }
.node.is-stale { border-color: rgba(255,196,77,.54); border-style: dashed; }
.node.is-stale .node-code { color: #ffc44d; }
.node.is-generating .node-code { color: #ffc44d; animation: statusPulse 1s ease-in-out infinite alternate; }
.node.has-error .node-code { color: #ff6d5f; }
@keyframes statusPulse { to { opacity: .35; } }
.node-generation-card { display: none; position: absolute; z-index: 8; top: calc(100% + 5px); left: -1px; width: calc(100% + 2px); min-height: 42px; grid-template-columns: 25px 1fr; gap: 9px; align-items: center; padding: 8px 10px; border: 1px solid rgba(106,169,255,.34); border-radius: 7px; background: rgba(19,19,27,.97); box-shadow: 0 10px 26px rgba(0,0,0,.36); cursor: default; }
.node.is-generating .node-generation-card { display: grid; }
.node-generation-spinner { width: 20px; height: 20px; border-radius: 50%; border: 2px solid rgba(106,169,255,.15); border-top-color: #6aa9ff; border-right-color: #9e85ff; animation: clockwiseSpin .85s linear infinite; }
.node-generation-card > div { min-width: 0; display: grid; gap: 5px; }
.node-generation-card b { overflow: hidden; color: #e8e5ee; font-size: 9px; line-height: 1; font-weight: 700; text-overflow: ellipsis; white-space: nowrap; }
.node-generation-track { height: 3px; overflow: hidden; border-radius: 4px; background: rgba(255,255,255,.07); }
.node-generation-track i { display: block; width: 42%; height: 100%; border-radius: inherit; background: linear-gradient(90deg, #6aa9ff, #9e85ff, #c9ff4a); animation: progressSweep 1.45s ease-in-out infinite; }
.node.is-dimmed.is-generating { opacity: 1; filter: none; border-color: rgba(255,255,255,.035); background: linear-gradient(145deg, #101016, #0d0d12); box-shadow: 0 6px 18px rgba(0,0,0,.18); }
.node.is-dimmed.is-generating::before { opacity: .14; filter: grayscale(.7); }
.node.is-dimmed.is-generating > :not(.node-generation-card) { opacity: .18; filter: grayscale(.55); }
.node.is-dimmed.is-generating .node-generation-card { opacity: 1; filter: none; }
.node-meta { display: flex; justify-content: space-between; align-items: center; margin-bottom: 12px; }
.node-kind { color: #8b8995; text-transform: uppercase; letter-spacing: .09em; font-size: 11px; }
.node-code { color: #c5c2cc; font-size: 15px; line-height: 1; font-weight: 850; font-variant-numeric: tabular-nums; }
.node h3 { margin: 0; font-size: 17px; line-height: 1.22; font-weight: 650; letter-spacing: -.015em; }
.node h3 { padding-right: 0; }
.node-footer { display: flex; justify-content: space-between; align-items: center; margin-top: 12px; }
.node-owner { color: #85828e; font-size: 11px; }
.criticality { display: inline-flex; align-items: center; gap: 5px; color: #85838f; font-size: 10px; text-transform: uppercase; letter-spacing: .06em; }
.criticality::before { content: ""; width: 5px; height: 5px; border-radius: 50%; background: var(--optional); }
.node[data-criticality="required"] .criticality::before { background: var(--required); }
.node[data-criticality="conditional"] .criticality::before { background: var(--conditional); }
.node[data-criticality="optional"] .criticality::before { background: transparent; border: 1px solid var(--optional); }
.node-actions { position: absolute; left: 3px; right: 0; bottom: 0; height: 40px; display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); border-top: 1px solid rgba(255,255,255,.075); background: linear-gradient(180deg,rgba(6,7,11,.34),rgba(6,7,11,.72)); }
.node-action { min-width: 0; display: flex; align-items: center; justify-content: center; gap: 5px; border: 0; border-right: 1px solid rgba(255,255,255,.065); background: transparent; color: #74727e; font-size: 8px; font-weight: 720; letter-spacing: .035em; cursor: pointer; }
.node-action:last-child { border-right: 0; }
.node-action span { font-size: 10px; line-height: 1; filter: grayscale(1); }
.bypass-icon { width: 17px; height: 13px; overflow: visible; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.bypass-icon circle { fill: currentColor; stroke: none; }
.node-action .bypass-icon { width: 14px; height: 11px; }
.node-action:hover:not(:disabled) { color: #d7d4de; background: rgba(255,255,255,.035); }
.node-action-lock[aria-pressed="true"] { color: #a8ceff; background: rgba(106,169,255,.09); }
.node-action-lock[aria-pressed="true"] span { filter: none; }
.node-action-bypass[aria-pressed="true"] { color: #ffe08a; background: rgba(255,196,77,.13); box-shadow: inset 0 2px 0 rgba(255,196,77,.52); }
.node-action-bypass[aria-pressed="true"] span { filter: none; }
.node-action-clear:hover:not(:disabled) { color: #ff9a92; background: rgba(255,109,95,.055); }
.node-action:disabled { cursor: default; opacity: .34; }

.node.gate { width: 258px; min-height: 184px; background: linear-gradient(145deg, #24212a, #17171e); border-color: rgba(255,255,255,.2); padding: 18px 19px 55px; }
.node.gate::after { content: "DECISIÓN HUMANA"; position: absolute; left: 16px; top: -10px; background: var(--node-color); color: #0d0d12; padding: 4px 7px; border-radius: 3px; font-size: 7px; font-weight: 850; letter-spacing: .12em; }
.node.gate.flexible::after { content: "PAUSA RECOMENDADA"; }
.node.gate h3 { font-size: 18px; }
.node.hub { width: 276px; min-height: 198px; padding: 21px 21px 55px; background: radial-gradient(circle at 90% 10%, rgba(201,255,74,.10), transparent 42%), linear-gradient(145deg, #22232a, #17171d); border-color: rgba(201,255,74,.46); box-shadow: 0 18px 55px rgba(0,0,0,.4), 0 0 40px rgba(201,255,74,.055); }
.node.hub::before { width: 5px; background: var(--accent); }
.node.hub::after { content: "NÚCLEO VIVO"; position: absolute; right: 13px; top: 12px; color: var(--accent); font-size: 7px; font-weight: 800; letter-spacing: .14em; }
.node.hub h3 { font-size: 18px; max-width: 165px; }
.node.gate.active, .node.hub.active { background: linear-gradient(145deg, #2b2b34, #22222a); border-color: rgba(255,255,255,.34); }
.node.tv-extension { border-style: dashed; border-color: rgba(158,133,255,.48); background: radial-gradient(circle at 90% 8%,rgba(158,133,255,.10),transparent 38%),linear-gradient(145deg,#1b1a25,#14141b); }
.node.tv-extension::after { content: "EXTENSIÓN TV"; position: absolute; right: 42px; top: 11px; padding: 3px 5px; border: 1px solid rgba(158,133,255,.30); border-radius: 4px; color: #aea1ea; background: #28233c; font-size: 7px; font-weight: 850; letter-spacing: .1em; white-space: nowrap; }
.node.tv-extension h3 { padding-right: 0; }

body[data-ui-language="en"] .node.gate::after { content: "HUMAN DECISION"; }
body[data-ui-language="en"] .node.gate.flexible::after { content: "RECOMMENDED PAUSE"; }
body[data-ui-language="en"] .node.hub::after { content: "LIVING CORE"; }
body[data-ui-language="en"] .node.tv-extension::after { content: "TV EXTENSION"; }

.canvas-toolbar { position: absolute; z-index: 8; top: 16px; left: 16px; height: 36px; display: flex; align-items: center; gap: 10px; }
.canvas-view-tools { height: 34px; display: flex; align-items: center; overflow: hidden; border: 1px solid var(--line); border-radius: 7px; background: rgba(17,17,23,.88); backdrop-filter: blur(12px); }
.canvas-toolbar button { width: 34px; height: 34px; border: 0; border-right: 1px solid var(--line); background: transparent; cursor: pointer; color: #c6c4cc; }
.canvas-toolbar button:hover { background: rgba(255,255,255,.06); color: var(--accent); }
.canvas-toolbar span { width: 49px; text-align: center; color: #858390; font-size: 10px; font-variant-numeric: tabular-nums; }
.canvas-toolbar .fit-button { width: auto; padding: 0 12px; border-left: 1px solid var(--line); border-right: 0; font-size: 10px; }
.canvas-toolbar .undo-button { width: 36px; border: 1px solid rgba(201,255,74,.24); border-radius: 7px; background: rgba(17,17,23,.88); color: var(--accent); font-size: 21px; line-height: 1; backdrop-filter: blur(12px); }
.canvas-toolbar .undo-button:disabled { color: #4f4d57; cursor: default; background: transparent; }
.canvas-hint { position: absolute; z-index: 7; top: 18px; right: 18px; color: #6e6d79; font-size: 9px; letter-spacing: .02em; display: flex; align-items: center; gap: 8px; transition: opacity .35s; }
.canvas-hint.hidden { opacity: 0; }
.mouse-icon { width: 10px; height: 14px; border: 1px solid #56545f; border-radius: 6px; position: relative; }
.mouse-icon::after { content: ""; position: absolute; left: 4px; top: 2px; height: 3px; width: 1px; background: #7d7b86; }

.canvas-action-dock { position: absolute; z-index: 9; left: 16px; bottom: 10px; display: flex; gap: 7px; align-items: stretch; }
.canvas-action-dock .workflow-stop-launch, .canvas-action-dock .workflow-resume-launch, .canvas-action-dock .research-launch { flex: 0 0 auto; width: auto; min-width: 0; margin: 0; padding: 7px 9px; background-color: rgba(17,17,23,.92); backdrop-filter: blur(12px); white-space: nowrap; }
.canvas-action-dock .workflow-stop-launch > span:last-child, .canvas-action-dock .workflow-resume-launch > span:last-child, .canvas-action-dock .research-launch > span:last-child { display: block; }
.canvas-action-dock b { font-size: 9px; }
.canvas-action-dock small { display: none; }
.canvas-action-dock .workflow-stop-icon, .canvas-action-dock .workflow-resume-icon, .canvas-action-dock .research-icon { width: 21px; height: 21px; }

.automation-mode { position: absolute; z-index: 8; bottom: 10px; left: var(--footer-mode-center, 50%); transform: translateX(-50%); display: flex; align-items: center; gap: 12px; min-height: 30px; padding: 5px 10px 5px 12px; border: 1px solid var(--line); border-radius: 999px; background: rgba(17,17,23,.86); backdrop-filter: blur(12px); box-shadow: 0 8px 26px rgba(0,0,0,.2); }
.automation-mode input { width: 116px; height: 18px; margin: 0; appearance: none; background: transparent; cursor: pointer; }
.automation-mode input::-webkit-slider-runnable-track { height: 3px; border-radius: 999px; background: linear-gradient(90deg, #55535f 0 2%, transparent 2% 48%, #55535f 48% 52%, transparent 52% 98%, #55535f 98% 100%), #292831; }
.automation-mode input::-webkit-slider-thumb { appearance: none; width: 13px; height: 13px; margin-top: -5px; border: 2px solid #17171d; border-radius: 50%; background: var(--accent); box-shadow: 0 0 0 1px rgba(201,255,74,.45), 0 0 10px rgba(201,255,74,.28); }
.automation-mode input::-moz-range-track { height: 3px; border-radius: 999px; background: #292831; }
.automation-mode input::-moz-range-thumb { width: 11px; height: 11px; border: 2px solid #17171d; border-radius: 50%; background: var(--accent); box-shadow: 0 0 0 1px rgba(201,255,74,.45), 0 0 10px rgba(201,255,74,.28); }
.automation-mode span { min-width: 58px; color: #aaa8b4; font-size: 9px; font-weight: 650; text-transform: uppercase; letter-spacing: .1em; }

.minimap { position: absolute; z-index: 7; right: 16px; bottom: 10px; width: 176px; height: 104px; background: rgba(20,20,27,.9); border: 1px solid var(--line); border-radius: 6px; overflow: hidden; cursor: crosshair; touch-action: none; transition: bottom .22s ease; }
.minimap.dragging { cursor: grabbing; border-color: rgba(201,255,74,.4); }
.minimap-area { position: absolute; border-radius: 2px; background: color-mix(in srgb, var(--area-color) 18%, transparent); border: 1px solid color-mix(in srgb, var(--area-color) 28%, transparent); }
.minimap-window { position: absolute; border: 1px solid var(--accent); background: rgba(201,255,74,.05); min-width: 7px; min-height: 5px; pointer-events: none; box-shadow: 0 0 9px rgba(201,255,74,.12); }

.inspector { background: #15151d; border-left: 1px solid var(--line); position: relative; z-index: 10; overflow-y: auto; overflow-x: hidden; }
.inspector-collapse { position: sticky; z-index: 3; top: 12px; float: left; margin-left: 10px; width: 24px; height: 32px; padding: 0; border: 1px solid var(--line); border-radius: 5px; background: #191920; color: #8c8995; cursor: pointer; font-size: 19px; line-height: 1; }
.inspector-collapse:hover { color: var(--accent); border-color: rgba(201,255,74,.32); }
.setup-zone-title { position: sticky; z-index: 2; top: 0; height: 56px; display: flex; align-items: center; padding: 0 25px 0 48px; border-bottom: 1px solid var(--line); background: rgba(21,21,29,.97); color: #aaa8b4; font-size: 13px; font-weight: 720; text-transform: uppercase; letter-spacing: .14em; }
.inspector-rail-label { display: none; position: absolute; top: 56px; left: 14px; color: #75727f; font-size: 9px; text-transform: uppercase; letter-spacing: .16em; writing-mode: vertical-rl; }
.app-shell.inspector-collapsed .inspector-collapse { transform: rotate(180deg); margin-left: 8px; }
.app-shell.inspector-collapsed .setup-zone-title { display: none; }
.app-shell.inspector-collapsed .inspector-empty,
.app-shell.inspector-collapsed .inspector-content { display: none !important; }
.app-shell.inspector-collapsed .inspector-rail-label { display: block; }
.inspector-empty { padding: 45px 30px; min-height: 100%; display: flex; flex-direction: column; justify-content: center; }
.inspect-orbit { width: 48px; height: 48px; border: 1px solid rgba(201,255,74,.22); border-radius: 50%; margin-bottom: 28px; position: relative; }
.inspect-orbit::before, .inspect-orbit::after { content: ""; position: absolute; border: 1px solid rgba(158,133,255,.22); border-radius: 50%; inset: 8px -8px; transform: rotate(42deg); }
.inspect-orbit::after { transform: rotate(-42deg); }
.inspect-orbit i { position: absolute; width: 7px; height: 7px; background: var(--accent); border-radius: 50%; left: 20px; top: 20px; box-shadow: 0 0 16px rgba(201,255,74,.6); }
.inspector-empty h1 { font-size: 28px; line-height: 1.08; letter-spacing: -.045em; font-weight: 620; margin: 13px 0 16px; }
.inspector-empty p { color: var(--muted); line-height: 1.65; margin: 0; font-size: 14px; }

.inspector-content { padding: 12px 16px 24px; }
.inspector-topline { display: flex; justify-content: space-between; align-items: center; padding-bottom: 8px; border-bottom: 1px solid var(--line); color: #aaa7b2; font-size: 13px; font-weight: 650; }
.inspector-topline button { width: 27px; height: 27px; background: transparent; border: 1px solid var(--line); border-radius: 5px; color: #85838f; cursor: pointer; font-size: 18px; line-height: 1; }
.detail-kicker { display: flex; gap: 10px; margin-top: 28px; color: #9b98a4; font-size: 16.5px; text-transform: uppercase; letter-spacing: .09em; }
.detail-kicker span + span::before { content: "·"; margin-right: 8px; }
.inspector-content h2 { margin: 10px 0 14px; font-size: 26px; line-height: 1.08; letter-spacing: -.04em; font-weight: 650; }
.detail-status { display: inline-flex; align-items: center; gap: 7px; border: 1px solid var(--line); border-radius: 999px; padding: 7px 10px; color: #aaa8b3; font-size: 10px; text-transform: uppercase; letter-spacing: .09em; margin-bottom: 22px; }
.detail-status::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: var(--status-color); }
.detail-node-controls { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 7px; margin: 0 0 20px; }
.detail-lock, .detail-reset, .detail-bypass { min-width: 0; min-height: 78px; display: grid; grid-template-columns: 20px minmax(0,1fr); grid-template-rows: auto auto; column-gap: 6px; align-content: center; border: 1px solid var(--line); border-radius: 7px; padding: 9px 7px; background: #15151c; color: #aaa7b2; text-align: left; cursor: pointer; }
.detail-lock > span, .detail-reset > span, .detail-bypass > span { grid-row: 1 / 3; align-self: center; font-size: 14px; }
.detail-bypass > span { display: grid; place-items: center; }
.detail-lock b, .detail-reset b, .detail-bypass b { font-size: 10px; }
.detail-lock small, .detail-reset small, .detail-bypass small { color: #74727e; font-size: 7.5px; line-height: 1.3; }
.detail-lock[aria-pressed="true"] { border-color: rgba(106,169,255,.45); background: rgba(106,169,255,.07); color: #b8d7ff; }
.detail-reset:hover:not(:disabled) { border-color: rgba(255,109,95,.35); color: #ff9a92; }
.detail-bypass[aria-pressed="true"] { border-color: rgba(255,196,77,.5); color: #ffe08a; background: rgba(255,196,77,.09); box-shadow: inset 0 0 0 1px rgba(255,196,77,.06); }
.detail-bypass[aria-pressed="true"] small { color: #c7a959; }
.detail-lock:disabled, .detail-reset:disabled, .detail-bypass:disabled { opacity: .42; cursor: default; }
.inspector-content section { border-top: 1px solid var(--line); padding: 17px 0 1px; }
.inspector-content section h3 { color: #85828e; text-transform: uppercase; font-size: 10px; letter-spacing: .13em; margin: 0 0 9px; }
.inspector-content section p { margin: 0 0 15px; color: #d0cdd6; line-height: 1.58; font-size: 13px; }
.inspector-content .limitation-block { border: 1px solid rgba(255,196,77,.15); background: rgba(255,196,77,.035); padding: 14px; border-radius: 7px; margin-top: 16px; }
.inspector-content .limitation-block h3 { color: #b89244; }
.inspector-content .limitation-block p { margin: 0; color: #beb6a4; }
.dependency-list { display: flex; flex-wrap: wrap; gap: 5px; margin-bottom: 14px; }
.dependency-chip { border: 1px solid var(--line); background: #181820; border-radius: 4px; padding: 6px 8px; color: #aaa8b3; font-size: 10px; cursor: pointer; }
.dependency-chip:hover { border-color: rgba(201,255,74,.4); color: var(--accent); }
.dependency-none { color: #7b7985; font-size: 11px; }
.detail-owner { display: flex; justify-content: space-between; gap: 20px; align-items: center; margin-top: 20px; padding: 14px 0 0; border-top: 1px solid var(--line); font-size: 11px; color: #85828e; }
.detail-owner strong { color: #d5d2db; font-weight: 600; text-align: right; }

.node-workspace { border: 1px solid rgba(106,169,255,.18) !important; background: linear-gradient(155deg, rgba(106,169,255,.065), rgba(158,133,255,.025)); border-radius: 9px; padding: 15px !important; margin: 2px 0 20px; }
.workspace-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; margin-bottom: 13px; }
.workspace-heading h3 { color: #eeebf3 !important; font-size: 15px !important; letter-spacing: 0 !important; text-transform: none !important; margin: 5px 0 0 !important; }
.workspace-state { border: 1px solid var(--line); border-radius: 999px; padding: 5px 7px; color: #8f8c98; font-size: 8px; text-transform: uppercase; letter-spacing: .08em; white-space: nowrap; }
.workspace-state.ready { color: #53dfb2; border-color: rgba(83,223,178,.25); }
.workspace-state.draft { color: #9e85ff; border-color: rgba(158,133,255,.3); }
.workspace-state.saving { color: #6aa9ff; border-color: rgba(106,169,255,.28); }
.workspace-state.generating { color: #ffc44d; border-color: rgba(255,196,77,.25); }
.workspace-state.error { color: #ff8b80; border-color: rgba(255,109,95,.25); }
.workspace-state.stale { color: #ffc44d; border-color: rgba(255,196,77,.3); }
.workspace-intro { color: #aaa7b2; font-size: 12px; line-height: 1.5; margin: 0 0 12px; }
.workspace-field { display: grid; gap: 7px; margin-top: 11px; }
.workspace-field > span { color: #aaa8b3; font-size: 10px; font-weight: 650; }
.workspace-field textarea, .workspace-field input, .project-dialog input { width: 100%; border: 1px solid var(--line); border-radius: 6px; background: #101016; color: #efecf4; outline: none; }
.workspace-field textarea { min-height: 112px; resize: vertical; padding: 11px; font-size: 13.5px; line-height: 1.55; }
.workspace-field input, .project-dialog input { padding: 10px 11px; }
.workspace-field textarea:focus, .workspace-field input:focus, .project-dialog input:focus { border-color: rgba(106,169,255,.55); box-shadow: 0 0 0 2px rgba(106,169,255,.08); }
.choice-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 7px; margin-bottom: 10px; }
.choice-button { border: 1px solid var(--line); border-radius: 6px; background: #15151c; color: #aaa8b3; padding: 9px; text-align: left; font-size: 10px; cursor: pointer; }
.choice-button:hover, .choice-button.active { border-color: rgba(201,255,74,.4); color: #efffc7; background: rgba(201,255,74,.06); }
.campaign-language { display: grid; gap: 12px; margin: 13px 0 11px; padding: 14px; border: 1px solid rgba(106,169,255,.2); border-radius: 8px; background: rgba(106,169,255,.035); }
.campaign-language-header { display: grid; gap: 12px; min-width: 0; }
.campaign-language-header > div:first-child { display: grid; gap: 5px; min-width: 0; }
.campaign-language-header b { color: #eeebf3; font-size: 15px; line-height: 1.2; letter-spacing: 0; }
.campaign-language-header small { color: #aaa7b2; font-size: 12px; line-height: 1.5; }
.campaign-language-options { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 6px; width: 100%; }
.campaign-language-options button { min-width: 0; min-height: 34px; border: 1px solid var(--line); border-radius: 6px; padding: 7px 10px; background: #111118; color: #8d8a96; font-size: 10px; font-weight: 750; cursor: pointer; }
.campaign-language-options button.active { border-color: rgba(201,255,74,.46); background: rgba(201,255,74,.08); color: var(--accent); }
.campaign-language-options button:disabled { cursor: default; opacity: .42; }
.campaign-language-compact { min-width: 220px; margin: 0; padding: 8px 10px; }
.campaign-language-compact .campaign-language-header { grid-template-columns: minmax(0,1fr) 96px; align-items: center; gap: 9px; }
.campaign-language-compact .campaign-language-header > div:first-child { gap: 2px; }
.campaign-language-compact .campaign-language-header b { font-size: 10px; }
.campaign-language-compact .campaign-language-header small { font-size: 8px; line-height: 1.25; }
.campaign-language-compact .campaign-language-options { grid-template-columns: 1fr 1fr; }
.campaign-language-compact .campaign-language-options button { min-height: 28px; padding: 5px 6px; font-size: 8px; }
.workspace-actions { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 11px; }
.workspace-button { border: 1px solid var(--line); border-radius: 6px; background: #1b1b23; color: #cfccd5; padding: 9px 10px; font-size: 10px; font-weight: 650; cursor: pointer; }
.workspace-button:hover { border-color: rgba(201,255,74,.35); color: var(--accent); }
.workspace-button.primary { background: var(--accent); border-color: var(--accent); color: #11120d; }
.workspace-button.medium { background: rgba(158,133,255,.15); border-color: rgba(158,133,255,.42); color: #d8ceff; }
.workspace-button.medium:hover { background: rgba(158,133,255,.25); color: #eee9ff; }
.workspace-button:disabled { opacity: .4; cursor: wait; }
.locked-node-notice { display: grid; grid-template-columns: 28px 1fr; gap: 10px; align-items: center; margin-bottom: 12px; border: 1px solid rgba(106,169,255,.3); border-radius: 8px; padding: 11px; background: rgba(106,169,255,.055); }
.locked-node-notice > span { display: grid; place-items: center; width: 26px; height: 26px; border-radius: 6px; background: rgba(106,169,255,.1); }
.locked-node-notice > div { display: grid; gap: 3px; }
.locked-node-notice b { color: #cce1ff; font-size: 10px; }
.locked-node-notice small { color: #858d9b; font-size: 9px; line-height: 1.4; }
.asset-actions button:disabled { opacity: .4; cursor: default; }
.workspace-note { color: #73717d; font-size: 9px; line-height: 1.45; margin: 8px 0 0; }
.visual-input-summary { display: grid; gap: 3px; margin-top: 10px; padding: 9px 10px; border: 1px solid rgba(106,169,255,.16); border-radius: 6px; background: rgba(106,169,255,.035); }
.visual-input-summary span { color: #777582; font-size: 8px; letter-spacing: .08em; text-transform: uppercase; }
.visual-input-summary b { color: #bbb8c3; font-size: 10px; line-height: 1.35; }
.workspace-error { border: 1px solid rgba(255,109,95,.22); border-radius: 6px; background: rgba(255,109,95,.055); color: #ffaaa2; padding: 9px; font-size: 10px; line-height: 1.45; margin: 10px 0 0; }
.workspace-warning { border: 1px solid rgba(255,196,77,.22); border-radius: 6px; background: rgba(255,196,77,.055); color: #e7c47c; padding: 9px; font-size: 10px; line-height: 1.45; margin: 10px 0 0; }
.retained-output-notice { display: grid; gap: 4px; margin: 11px 0 0; border: 1px solid rgba(255,196,77,.25); border-radius: 7px; padding: 10px; background: rgba(255,196,77,.055); }
.retained-output-notice b { color: #f0cf85; font-size: 9px; letter-spacing: .08em; text-transform: uppercase; }
.retained-output-notice span { color: #a89c81; font-size: 9px; line-height: 1.45; }
.generation-attempt-history { margin-top: 14px; border: 1px solid #34323e; border-radius: 9px; background: #111117; }
.generation-attempt-history summary { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 12px; color: #d1ced8; font-size: 12px; font-weight: 720; cursor: pointer; }
.generation-attempt-history summary b { color: #85818e; font-size: 10px; font-weight: 600; }
.generation-attempt-history > div { display: grid; gap: 8px; padding: 0 11px 11px; }
.generation-attempt-history article { display: grid; gap: 6px; border: 1px solid #2d2b36; border-radius: 7px; padding: 10px; background: #15151c; }
.generation-attempt-history article > div { display: flex; justify-content: space-between; gap: 10px; }
.generation-attempt-history article b { color: #efaaa5; font-size: 11px; }
.generation-attempt-history article.success b { color: #bddd80; }
.generation-attempt-history time, .generation-attempt-history small, .generation-attempt-history em { color: #85818e; font-size: 9px; font-style: normal; line-height: 1.4; }
.generation-attempt-history p { margin: 0; color: #b4b0bc; font-size: 10.5px; line-height: 1.5; }
.generation-attempt-history article.error p { color: #c8a3a0; }
.generation-history-more { color: #777480 !important; font-size: 9px !important; text-align: center; }
.asset-library { display: grid; gap: 13px; margin-top: 13px; }
.asset-group { display: grid; gap: 7px; }
.asset-group-header { display: flex; align-items: center; justify-content: space-between; color: #aaa7b2; font-size: 11px; font-weight: 750; letter-spacing: .09em; text-transform: uppercase; }
.asset-group-header b { color: #777480; font-size: 10px; }
.asset-group-empty { margin: 0; border: 1px dashed rgba(255,255,255,.08); border-radius: 7px; padding: 10px; color: #5f5d68; font-size: 9px; }
.asset-purpose-groups { display: grid; gap: 11px; }
.asset-purpose-group { display: grid; gap: 8px; border: 1px solid rgba(201,255,74,.14); border-radius: 9px; padding: 10px; background: rgba(201,255,74,.018); }
.asset-purpose-header { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding-bottom: 8px; border-bottom: 1px solid rgba(201,255,74,.11); }
.asset-purpose-header span { color: #e5edd2; font-size: 12px; font-weight: 740; }
.asset-purpose-header b { color: #899477; font-size: 9.5px; font-weight: 650; }
.asset-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 7px; }
.asset-card { display: grid; gap: 7px; min-width: 0; border: 1px solid var(--line); border-radius: 7px; padding: 7px; color: #aaa8b3; text-decoration: none; font-size: 10.5px; background: #111117; }
.asset-card:hover { border-color: rgba(106,169,255,.4); }
.asset-card.selected { border-color: rgba(201,255,74,.58); box-shadow: inset 0 0 0 1px rgba(201,255,74,.1); }
.asset-card.reference-active { border-color: rgba(106,169,255,.58); box-shadow: inset 0 0 0 1px rgba(106,169,255,.1); }
.asset-preview { display: grid; gap: 5px; min-width: 0; padding: 0; border: 0; background: transparent; color: #aaa8b3; text-align: left; cursor: zoom-in; }
.asset-preview:disabled { cursor: default; }
.asset-card img, .asset-card video { width: 100%; aspect-ratio: 1; object-fit: cover; border-radius: 4px; background: #0e0e13; }
.asset-title { overflow: hidden; color: #dedbe4; font-size: 11px; line-height: 1.3; text-overflow: ellipsis; white-space: nowrap; }
.asset-origin { min-height: 15px; overflow: hidden; color: #918e9a; font-size: 9.5px; line-height: 1.35; text-overflow: ellipsis; white-space: nowrap; }
.document-preview { display: grid; place-items: center; aspect-ratio: 1; border-radius: 4px; background: #17171e; color: #85828e; white-space: normal !important; text-align: center; }
.asset-actions { display: grid; grid-template-columns: 30px minmax(58px,1fr) 25px 25px; gap: 3px; align-items: center; }
.asset-actions button, .asset-actions a { min-width: 0; height: 32px; overflow: hidden; border: 1px solid var(--line); border-radius: 4px; background: #1a1a21; color: #bbb8c3; display: grid; place-items: center; text-overflow: ellipsis; white-space: nowrap; text-decoration: none; font-size: 10px; font-weight: 650; cursor: pointer; }
.asset-actions .asset-count { min-width: 30px; height: 32px; display: grid; place-items: center; border: 1px solid var(--line); border-radius: 4px; background: #15151c; color: #8d8995; font-size: 9px; }
.asset-actions button[aria-pressed="true"] { color: var(--accent); border-color: rgba(201,255,74,.35); background: rgba(201,255,74,.06); }
.asset-card.reference-active .asset-actions button[aria-pressed="true"] { color: #8fc0ff; border-color: rgba(106,169,255,.4); background: rgba(106,169,255,.08); }
.asset-actions .asset-saved { min-width: 0; height: 32px; display: grid; place-items: center; border: 1px solid var(--line); border-radius: 4px; background: #15151c; color: #8d8995; font-size: 9px; }
.asset-actions .asset-delete { font-size: 15px; }
.asset-actions .asset-delete:hover { color: #ff8b82; border-color: rgba(255,109,95,.38); }
.asset-actions a { font-size: 16px; color: #cac7d0; }
.asset-actions a:hover { color: var(--accent); border-color: rgba(201,255,74,.35); }
.upload-input { display: none; }
.autosave-note { color: #777582; }

.structured-delivery { display: grid; gap: 9px; margin-top: 12px; padding: 10px; border: 1px solid rgba(201,255,74,.18); border-radius: 9px; background: rgba(201,255,74,.025); }
.structured-delivery-heading { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.structured-delivery-heading > div { display: grid; gap: 4px; min-width: 0; }
.structured-delivery-heading span { color: #dceab9; font-size: 10px; font-weight: 780; letter-spacing: .08em; text-transform: uppercase; }
.structured-delivery-heading b { color: #8e957c; font-size: 9px; font-weight: 650; }
.structured-delivery-heading > button { flex: 0 0 auto; border: 1px solid rgba(201,255,74,.28); border-radius: 6px; padding: 8px 10px; background: rgba(201,255,74,.065); color: #e1edc3; font-size: 10px; font-weight: 720; cursor: pointer; }
.structured-delivery-heading > button:hover { border-color: rgba(201,255,74,.55); color: var(--accent); }
.structured-response-list { display: grid; gap: 12px; }
.structured-purpose-group { display: grid; gap: 7px; border: 1px solid rgba(201,255,74,.14); border-radius: 8px; padding: 8px; background: rgba(201,255,74,.018); }
.structured-purpose-header { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding-bottom: 8px; border-bottom: 1px solid rgba(201,255,74,.11); }
.structured-purpose-header span { color: #e5edd2; font-size: 12px; font-weight: 760; }
.structured-purpose-header b { color: #899477; font-size: 9.5px; font-weight: 650; }
.structured-delivery article { min-width: 0; }
.structured-response-card { border: 1px solid #32313b; border-radius: 7px; padding: 8px; background: #121218; }
.structured-table-title { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin: 0 0 9px; }
.structured-delivery h4 { margin: 0; color: #e5e2e9; font-size: 11px; line-height: 1.3; }
.structured-table-title > div { min-width: 0; display: grid; gap: 3px; }
.structured-table-title span { color: #8e957c; font-size: 9px; font-weight: 760; letter-spacing: .1em; text-transform: uppercase; }
.structured-table-scroll { overflow-x: auto; border: 1px solid var(--line); border-radius: 6px; scrollbar-width: thin; scrollbar-color: #45434f transparent; }
.structured-preview-clip { position: relative; max-height: 104px; overflow: hidden; border-radius: 6px; }
.structured-preview-clip::after { content: ""; position: absolute; inset: auto 0 0; height: 28px; pointer-events: none; background: linear-gradient(transparent, #121218); }
.structured-delivery table { width: 100%; border-collapse: collapse; background: #101016; font-size: 9.5px; line-height: 1.35; }
.structured-delivery th, .structured-delivery td { min-width: 105px; padding: 7px 8px; border-right: 1px solid #2d2c35; border-bottom: 1px solid #292832; color: #cbc8d1; text-align: left; vertical-align: top; }
.structured-delivery th { position: sticky; top: 0; background: #1b1b23; color: #e4e1e9; font-weight: 720; }
.structured-delivery th:last-child, .structured-delivery td:last-child { border-right: 0; }
.structured-delivery tbody tr:last-child td { border-bottom: 0; }
.structured-more { padding: 9px 2px 0; color: #91977f; font-size: 10px; text-align: right; }
.structured-preview-note { margin: 6px 0 0; color: #858a77; font-size: 9px; line-height: 1.4; }
.node-approval { display: grid; gap: 7px; margin-top: 14px; border: 1px solid rgba(201,255,74,.25); border-radius: 9px; padding: 11px; background: rgba(201,255,74,.035); }
.node-approval .workspace-button { width: 100%; min-height: 38px; font-size: 11px; }
.node-approval small { color: #8f9580; font-size: 10px; line-height: 1.45; }
.node-approval.approved { border-color: rgba(106,169,255,.28); background: rgba(106,169,255,.045); }
.node-approval.approved .workspace-button:disabled { border-color: rgba(106,169,255,.3); background: rgba(106,169,255,.1); color: #cce1ff; opacity: 1; cursor: default; }
.node-approval.approved small { color: #8995a7; }

.table-lightbox { position: fixed; z-index: 180; inset: 0; display: grid; place-items: center; padding: 28px; background: rgba(5,5,8,.84); backdrop-filter: blur(15px) saturate(.7); }
.table-lightbox[hidden] { display: none; }
.table-lightbox-dialog { width: min(1500px, calc(100vw - 64px)); height: min(900px, calc(100vh - 56px)); display: grid; grid-template-rows: auto minmax(0,1fr) auto; gap: 15px; border: 1px solid rgba(201,255,74,.22); border-radius: 14px; padding: 23px; background: #17171e; box-shadow: 0 38px 130px rgba(0,0,0,.68); }
.table-lightbox-dialog header, .table-lightbox-dialog footer { display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.table-lightbox-dialog h2 { margin: 6px 0 0; color: #efecf4; font-size: 23px; letter-spacing: -.035em; }
.table-lightbox-count { border: 1px solid rgba(201,255,74,.2); border-radius: 999px; padding: 7px 10px; background: rgba(201,255,74,.045); color: #bacb91; font-size: 9px; }
.table-lightbox-content { min-width: 0; min-height: 0; overflow: auto; display: grid; grid-auto-rows: max-content; align-content: start; gap: 18px; padding: 16px; border: 1px solid #30303a; border-radius: 9px; background: #0e0e14; scrollbar-width: thin; scrollbar-color: #555361 transparent; }
.expanded-table-section { min-width: 0; height: max-content; overflow: visible; border: 1px solid #30303a; border-radius: 9px; background: #121218; }
.expanded-table-section > header { padding: 13px 14px; border-bottom: 1px solid #30303a; background: #17171f; }
.expanded-table-section > header > div { display: grid; gap: 3px; }
.expanded-table-section > header span { color: var(--accent); font-size: 8px; font-weight: 800; letter-spacing: .11em; text-transform: uppercase; }
.expanded-table-section > header h3 { margin: 0; color: #e8e5ed; font-size: 15px; letter-spacing: -.015em; }
.expanded-table-scroll { min-width: 0; overflow-x: auto; overflow-y: visible; border-radius: 0 0 9px 9px; }
.table-lightbox-content table { width: max-content; min-width: 100%; border-collapse: separate; border-spacing: 0; color: #d5d2dc; font-size: 13px; line-height: 1.48; }
.table-lightbox-content th, .table-lightbox-content td { min-width: 180px; max-width: 480px; padding: 13px 14px; border-right: 1px solid #302f39; border-bottom: 1px solid #2b2a34; text-align: left; vertical-align: top; white-space: pre-wrap; }
.table-lightbox-content th { position: sticky; z-index: 2; top: 0; background: #22222b; color: #f0edf4; font-weight: 720; }
.table-lightbox-content td { background: #121218; }
.table-lightbox-content tr:hover td { background: #15151c; }
.table-lightbox-content [contenteditable="true"] { cursor: text; outline: none; }
.table-lightbox-content [contenteditable="true"]:focus { background: rgba(201,255,74,.075); box-shadow: inset 0 0 0 2px rgba(201,255,74,.38); color: #f5ffe0; }
.table-lightbox-content .table-row-control { position: sticky; z-index: 3; left: 0; width: 43px; min-width: 43px; max-width: 43px; padding: 7px; background: #191920; text-align: center; }
.table-row-control button { width: 26px; height: 26px; border: 1px solid rgba(255,109,95,.22); border-radius: 5px; background: rgba(255,109,95,.04); color: #b98682; cursor: pointer; }
.table-row-control button:hover { border-color: rgba(255,109,95,.5); color: #ff8b82; }
.table-lightbox-dialog footer > div { display: grid; gap: 4px; color: #8d8a96; font-size: 10px; }
.table-lightbox-dialog footer small { min-height: 14px; color: #ff9d95; font-size: 9px; }
.table-lightbox-dialog footer .workspace-button { min-width: 140px; }

.generation-progress { display: grid; grid-template-columns: 34px 1fr; gap: 11px; align-items: center; border: 1px solid rgba(106,169,255,.2); border-radius: 8px; background: rgba(106,169,255,.045); padding: 12px; margin-bottom: 12px; }
.generation-spinner { width: 27px; height: 27px; border-radius: 50%; border: 2px solid rgba(106,169,255,.16); border-top-color: #6aa9ff; border-right-color: #9e85ff; animation: clockwiseSpin .85s linear infinite; }
.generation-progress > div { min-width: 0; display: grid; gap: 4px; }
.generation-progress b { color: #e8e5ee; font-size: 11px; }
.generation-progress small { color: #817f8b; font-size: 9px; line-height: 1.35; }
.generation-track { height: 3px; overflow: hidden; border-radius: 4px; background: rgba(255,255,255,.07); margin-top: 3px; }
.generation-track i { display: block; height: 100%; width: 42%; border-radius: inherit; background: linear-gradient(90deg, #6aa9ff, #9e85ff, #c9ff4a); animation: progressSweep 1.45s ease-in-out infinite; }
.generation-count { color: var(--accent); font-size: 12px; }
.generation-meter { display: block; width: 100%; height: 6px; margin-top: 5px; border: 0; border-radius: 5px; overflow: hidden; background: #303039; accent-color: var(--accent); }
.generation-meter::-webkit-progress-bar { background: #303039; border-radius: 5px; }
.generation-meter::-webkit-progress-value { background: var(--accent); border-radius: 5px; transition: width .3s; }
.generation-meter::-moz-progress-bar { background: var(--accent); border-radius: 5px; }
.generation-summary { display: grid; gap: 5px; padding: 12px; margin-bottom: 12px; border: 1px solid rgba(201,255,74,.2); border-radius: 8px; }
.generation-summary b { color: var(--accent); font-size: 12px; }
.generation-summary small { color: #aaa8b3; font-size: 11px; line-height: 1.5; }
#tableLightboxMedia .asset-grid { grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); }
#tableLightboxMedia .asset-library { margin-top: 0; }
#tableLightboxMedia .asset-purpose-group { min-width: 0; }
@keyframes clockwiseSpin { to { transform: rotate(360deg); } }
@keyframes progressSweep { 0% { transform: translateX(-110%); } 100% { transform: translateX(340%); } }

.research-upload-lightbox { position: fixed; z-index: 205; inset: 0; display: grid; place-items: center; overflow: auto; padding: 28px; background: rgba(5,5,8,.86); backdrop-filter: blur(15px) saturate(.72); }
.research-upload-lightbox[hidden] { display: none; }
.research-upload-lightbox-dialog { width: min(1180px,calc(100vw - 110px)); height: min(880px,calc(100vh - 60px)); min-height: 0; display: grid; grid-template-rows: minmax(0,1fr) auto; gap: 14px; border: 1px solid rgba(255,255,255,.13); border-radius: 15px; padding: 18px; background: #121218; box-shadow: 0 38px 130px rgba(0,0,0,.7); }
.research-upload-lightbox-stage { min-width: 0; min-height: 0; display: grid; place-items: center; overflow: hidden; border: 1px solid #2c2c35; border-radius: 11px; background: radial-gradient(circle at 50% 38%,#1c1c25,#0b0b10 74%); }
.research-upload-lightbox-stage > img { display: block; width: 100%; height: 100%; min-width: 0; min-height: 0; object-fit: contain; object-position: center; border-radius: 8px; }
.research-upload-lightbox-stage > iframe { width: 100%; height: 100%; border: 0; background: #efeff2; }
.research-upload-lightbox-stage > [hidden] { display: none; }
.research-upload-lightbox-document { display: grid; place-items: center; gap: 22px; color: #ddd9e2; text-align: center; }
.research-upload-lightbox-document .research-document-logo { width: 190px; height: 190px; border-radius: 25px; box-shadow: 0 28px 80px rgba(0,0,0,.4); }
.research-upload-lightbox-document .research-document-logo img { width: 104px; height: 104px; }
.research-upload-lightbox-document .research-document-logo b { right: 13px; bottom: 12px; padding: 4px 7px; font-size: 13px; }
.research-upload-lightbox-document > strong { max-width: 680px; overflow-wrap: anywhere; font-size: 20px; }
.research-upload-lightbox-dialog footer { display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.research-upload-lightbox-copy { min-width: 0; display: grid; grid-template-columns: auto minmax(0,1fr); gap: 4px 12px; align-items: center; }
.research-upload-lightbox-copy .lightbox-count { grid-row: 1 / span 2; }
.research-upload-lightbox-copy h2 { min-width: 0; margin: 0; overflow: hidden; color: #eeeaf2; font-size: 18px; line-height: 1.3; text-overflow: ellipsis; white-space: nowrap; }
.research-upload-lightbox-copy p { grid-column: 2; margin: 0; color: #9e9ba6; font-size: 12px; line-height: 1.45; }
.research-upload-lightbox-open { flex: 0 0 auto; border: 1px solid rgba(201,255,74,.28); border-radius: 7px; padding: 10px 14px; background: rgba(201,255,74,.055); color: #d9efa9; font-size: 11px; font-weight: 750; text-decoration: none; }
.research-upload-lightbox-open:hover { border-color: rgba(201,255,74,.55); background: rgba(201,255,74,.09); }
.asset-lightbox { position: fixed; z-index: 190; inset: 0; display: grid; place-items: center; overflow: auto; padding: 34px; background: rgba(5,5,8,.76); backdrop-filter: blur(13px) saturate(.7); }
.asset-lightbox[hidden] { display: none; }
.lightbox-stage { position: relative; width: min(1100px, calc(100vw - 110px)); max-height: calc(100vh - 54px); display: grid; gap: 10px; justify-items: center; }
.lightbox-media { min-height: 0; display: grid; place-items: center; }
.lightbox-stage img, .lightbox-stage video { display: block; max-width: 100%; max-height: calc(100vh - 245px); border-radius: 10px; box-shadow: 0 30px 100px rgba(0,0,0,.65); background: #0d0d12; }
.lightbox-stage img[hidden], .lightbox-stage video[hidden] { display: none; }
.lightbox-stage.has-reference img, .lightbox-stage.has-reference video { max-height: calc(100vh - 330px); }
.lightbox-close { position: fixed; z-index: 2; right: 24px; top: 20px; width: 38px; height: 38px; border: 1px solid rgba(255,255,255,.18); border-radius: 50%; background: rgba(18,18,24,.8); color: #eeebf3; font-size: 25px; cursor: pointer; }
.lightbox-toolbar { width: min(640px,100%); display: grid; grid-template-columns: auto minmax(120px,1fr) 42px 42px; gap: 7px; }
.lightbox-toolbar button, .lightbox-download, .lightbox-count { height: 38px; display: grid; place-items: center; border: 1px solid rgba(255,255,255,.16); border-radius: 6px; padding: 0 12px; background: #17171e; color: #d5d1dc; font-size: 11px; font-weight: 700; text-decoration: none; cursor: pointer; }
.lightbox-toolbar button[aria-pressed="true"] { color: var(--accent); border-color: rgba(201,255,74,.42); background: rgba(201,255,74,.07); }
.lightbox-toolbar .danger:hover { color: #ff8b82; border-color: rgba(255,109,95,.42); }
.lightbox-download { padding: 0; }
.lightbox-download span { color: var(--accent); font-size: 18px; line-height: .7; }
.lightbox-download:hover { border-color: rgba(201,255,74,.5); }
.reference-instructions { width: min(640px,100%); display: grid; gap: 8px; border: 1px solid rgba(106,169,255,.22); border-radius: 9px; padding: 13px; background: rgba(18,18,26,.95); }
.reference-instructions[hidden] { display: none; }
.reference-instructions label { color: #d9d6df; font-size: 11px; font-weight: 680; line-height: 1.4; }
.reference-instructions textarea { min-height: 76px; resize: vertical; border: 1px solid #34333e; border-radius: 6px; padding: 10px; background: #0f0f15; color: #efecf3; font: inherit; font-size: 12px; line-height: 1.45; outline: none; }
.reference-instructions textarea:focus { border-color: rgba(106,169,255,.58); box-shadow: 0 0 0 3px rgba(106,169,255,.07); }
.reference-instructions small { color: #777582; font-size: 9px; line-height: 1.4; }

.project-overlay { position: static; display: block; }
.project-overlay[hidden] { display: none; }
.project-dialog { position: relative; width: min(610px, calc(100vw - 32px)); max-height: min(760px, calc(100vh - 32px)); overflow: auto; background: #17171e; border: 1px solid rgba(255,255,255,.13); border-radius: 15px; padding: 31px; box-shadow: 0 35px 120px rgba(0,0,0,.58); }
.project-inputs-stage.mode-both .project-dialog { height: min(820px, calc(100vh - 52px)); max-height: min(820px, calc(100vh - 52px)); }
.project-inputs-stage.mode-both #closeProjects, .project-inputs-stage.mode-both #closeClientResearch { display: none; }
.project-dialog h2 { font-size: 27px; letter-spacing: -.035em; margin: 9px 0 8px; }
.project-dialog-copy { color: #9694a0; font-size: 12px; line-height: 1.55; margin: 0 35px 22px 0; }
.project-protected-content { transition: filter .35s ease, opacity .35s ease; }
.project-dialog.is-locked { min-height: 550px; overflow: hidden; }
.project-dialog.is-locked .project-protected-content { filter: blur(8px); opacity: .42; pointer-events: none; user-select: none; }
.project-password-card { position: absolute; z-index: 5; left: 50%; top: 50%; width: min(360px, calc(100% - 52px)); display: grid; gap: 11px; transform: translate(-50%,-50%); padding: 29px; border: 1px solid rgba(106,169,255,.3); border-radius: 13px; background: rgba(19,19,27,.96); box-shadow: 0 28px 85px rgba(0,0,0,.58), 0 0 28px rgba(106,169,255,.06); backdrop-filter: blur(18px); }
.project-password-card[hidden] { display: none; }
.project-password-card h3 { margin: 1px 0 0; color: #f2eff6; font-size: 25px; letter-spacing: -.035em; }
.project-password-card p { margin: 0 0 7px; color: #9693a0; font-size: 12px; line-height: 1.5; }
.project-password-card label { color: #888591; font-size: 10px; text-transform: uppercase; letter-spacing: .1em; }
.project-password-card input { width: 100%; border: 1px solid #35343f; border-radius: 7px; padding: 12px; background: #0e0e14; color: #f3eff6; font-size: 16px; letter-spacing: .2em; outline: none; text-align: center; }
.project-password-card input:focus { border-color: rgba(106,169,255,.65); box-shadow: 0 0 0 3px rgba(106,169,255,.08); }
.project-password-card .primary-button { width: 100%; margin-top: 3px; padding: 11px 14px; }
.project-password-card small { min-height: 15px; color: #ff8176; font-size: 10px; text-align: center; }
.project-password-card.is-error { animation: passwordReject .32s ease; }
.password-orbit { width: 40px; height: 40px; display: grid; place-items: center; border: 1px solid rgba(106,169,255,.38); border-radius: 50%; background: rgba(106,169,255,.06); box-shadow: 0 0 20px rgba(106,169,255,.08); }
.password-orbit i { width: 9px; height: 9px; border-radius: 50%; background: #6aa9ff; box-shadow: 0 0 12px rgba(106,169,255,.65); }
@keyframes passwordReject { 25% { transform: translate(calc(-50% - 5px),-50%); } 75% { transform: translate(calc(-50% + 5px),-50%); } }
.new-project-form { border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); padding: 17px 0; margin-bottom: 17px; }
.new-project-form label, .project-search { display: block; color: #8a8894; font-size: 9px; text-transform: uppercase; letter-spacing: .12em; margin-bottom: 8px; }
.new-project-form > div { display: grid; grid-template-columns: 1fr auto; gap: 8px; }
.new-project-form .primary-button { margin: 0; }
.project-list { display: grid; gap: 7px; margin-top: 11px; }
.project-list-empty { color: #85838f; border: 1px dashed var(--line); border-radius: 7px; padding: 18px; text-align: center; font-size: 11px; }
.project-item-row { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: stretch; border: 1px solid var(--line); border-radius: 7px; background: #121218; overflow: hidden; }
.project-item-row:hover, .project-item-row.selected { border-color: rgba(201,255,74,.3); background: rgba(201,255,74,.035); }
.project-item-row.selected { box-shadow: inset 3px 0 0 var(--accent); }
.project-item { width: 100%; display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 10px; align-items: center; border: 0; background: transparent; padding: 11px 12px; color: inherit; text-align: left; cursor: pointer; }
.project-item b, .project-item small { display: block; }
.project-item b { font-size: 12px; margin-bottom: 4px; }
.project-item small { color: #777582; font-size: 9px; }
.project-item > span { color: var(--accent); font-size: 10px; }
.project-item-actions { display: flex; align-items: center; gap: 5px; padding: 6px 7px 6px 0; }
.project-item-actions button { width: 32px; height: 32px; border: 1px solid #30303a; border-radius: 6px; background: #17171e; color: #a5a2ae; font-size: 15px; cursor: pointer; }
.project-item-actions button:hover { border-color: rgba(201,255,74,.42); color: var(--accent); }
.project-item-actions button.danger:hover { border-color: rgba(255,109,95,.48); color: #ff8176; background: rgba(255,109,95,.05); }
.project-open-selection { position: sticky; bottom: -31px; display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: center; gap: 12px; margin: 16px -31px -31px; padding: 14px 31px; border-top: 1px solid var(--line); background: rgba(23,23,30,.97); backdrop-filter: blur(12px); }
.project-open-selection span { color: #8f8c98; font-size: 10px; line-height: 1.4; }
.project-open-actions { display: flex; align-items: stretch; gap: 7px; }
.project-open-selection .primary-button { min-width: 125px; margin: 0; }
.project-open-selection .primary-button:disabled { opacity: .42; cursor: not-allowed; }

.tour-overlay { position: fixed; z-index: 100; inset: 0; background: rgba(7,7,10,.82); backdrop-filter: blur(9px); display: grid; place-items: center; }
.tour-overlay[hidden] { display: none; }
.tour-card { position: relative; width: min(800px, calc(100vw - 40px)); background: #18181f; border: 1px solid rgba(255,255,255,.13); border-radius: 16px; padding: 38px; box-shadow: 0 35px 120px rgba(0,0,0,.55); }
.tour-card > h2 { font-size: 31px; line-height: 1.1; max-width: 610px; letter-spacing: -.04em; margin: 11px 0 30px; }
.tour-close { position: absolute; top: 17px; right: 17px; border: 0; background: transparent; color: #8b8995; font-size: 24px; cursor: pointer; }
.tour-grid { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.tour-grid article { padding: 22px 20px 24px 0; }
.tour-grid article + article { border-left: 1px solid var(--line); padding-left: 20px; }
.tour-grid strong { color: var(--accent); font-size: 9px; }
.tour-grid h3 { margin: 10px 0 7px; font-size: 13px; }
.tour-grid p { color: var(--muted); font-size: 11px; line-height: 1.55; margin: 0; }
.primary-button { margin-top: 28px; border: 0; background: var(--accent); color: #11120d; border-radius: 6px; padding: 11px 16px; font-weight: 750; font-size: 11px; cursor: pointer; }

.node.active, .node.is-complete.active, .node.is-stale.active, .node.has-error.active { border-style: solid; border-color: rgba(158,194,255,.98); box-shadow: 0 17px 45px rgba(0,0,0,.44), 0 0 0 2px rgba(106,169,255,.38), 0 0 34px rgba(106,169,255,.42); }

.export-overlay { position: fixed; z-index: 175; inset: 0; display: grid; place-items: center; padding: 28px; background: rgba(5,5,8,.82); backdrop-filter: blur(14px) saturate(.7); }
.export-overlay[hidden] { display: none; }
.export-dialog { position: relative; width: min(840px, calc(100vw - 44px)); max-height: calc(100vh - 48px); overflow: auto; padding: 32px 36px 30px; border: 1px solid rgba(255,255,255,.14); border-radius: 16px; background: linear-gradient(145deg, #181820, #13131a); box-shadow: 0 36px 130px rgba(0,0,0,.64); }
.export-dialog h2 { margin: 9px 0 8px; color: #f2eff5; font-size: 29px; letter-spacing: -.04em; }
.export-dialog > p { max-width: 720px; margin: 0; color: #aaa7b2; font-size: 14px; line-height: 1.55; }
.export-format-list { display: grid; gap: 14px; margin-top: 24px; }
.export-format-section { display: grid; grid-template-columns: 230px minmax(0,1fr); align-items: center; gap: 20px; padding: 15px 16px; border: 1px solid rgba(255,255,255,.08); border-radius: 12px; background: rgba(255,255,255,.018); }
.export-format-heading { display: grid; grid-template-columns: 30px minmax(0,1fr); align-items: start; gap: 10px; }
.export-format-heading > span { width: 27px; height: 27px; display: grid; place-items: center; border: 1px solid rgba(201,255,74,.25); border-radius: 7px; background: rgba(201,255,74,.055); color: #c9ff4a; font-size: 9px; font-weight: 800; letter-spacing: .06em; }
.export-format-heading h3 { margin: 0 0 5px; color: #f2eff5; font-size: 15px; letter-spacing: -.012em; }
.export-format-heading p { margin: 0; color: #85838f; font-size: 10.5px; line-height: 1.45; }
.export-option-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 11px; }
.export-option { min-height: 86px; display: grid; place-items: center; align-content: center; gap: 7px; padding: 13px 16px; border: 1px solid rgba(255,255,255,.12); border-radius: 10px; background: rgba(255,255,255,.025); text-align: center; cursor: pointer; transition: transform .18s ease, border-color .18s ease, background .18s ease; }
.export-option:hover:not(:disabled) { transform: translateY(-2px); border-color: rgba(201,255,74,.52); background: rgba(201,255,74,.055); }
.export-option b { color: #f3edf1; font-size: 17px; letter-spacing: -.015em; }
.export-option small { color: #aaa7b2; font-size: 12.5px; line-height: 1.42; }
.export-option:disabled { opacity: .48; cursor: wait; transform: none; }
.export-option.is-active { border-color: rgba(201,255,74,.68); background: linear-gradient(145deg,rgba(201,255,74,.12),rgba(83,223,178,.04)); box-shadow: inset 0 0 0 1px rgba(201,255,74,.08), 0 10px 28px rgba(83,223,178,.04); }
.export-portable-note { display: flex; align-items: center; gap: 15px; margin-top: 17px; padding: 15px 17px; border: 1px solid rgba(106,169,255,.19); border-radius: 10px; background: rgba(106,169,255,.045); color: #80b6ff; }
.export-portable-note > span { width: 34px; height: 34px; flex: 0 0 auto; display: grid; place-items: center; border-radius: 8px; background: rgba(106,169,255,.11); font-size: 17px; }
.export-portable-note p { display: grid; gap: 2px; margin: 0; }
.export-portable-note b { color: #d4e3f7; font-size: 14px; }
.export-portable-note small { color: #a2a5b1; font-size: 11.5px; line-height: 1.5; }
.export-research-note { display: grid; gap: 4px; margin-top: 10px; padding: 13px 16px; border: 1px solid rgba(201,255,74,.18); border-radius: 9px; background: rgba(201,255,74,.035); }
.export-research-note b { color: #dff9a6; font-size: 12px; }
.export-research-note small { color: #96949f; font-size: 10.5px; line-height: 1.45; }
.research-export-button { border-color: rgba(106,169,255,.3) !important; color: #b9d6ff !important; }
.export-status { min-height: 19px; margin-top: 13px; color: #85828e; font-size: 11px; text-align: center; }
.export-status.is-error { color: #ff8993; }
.export-status.is-success { color: #79e5c4; }

.settings-overlay { position: fixed; z-index: 180; inset: 0; display: grid; place-items: center; padding: 28px; background: rgba(5,5,8,.82); backdrop-filter: blur(13px) saturate(.72); }
.settings-overlay[hidden] { display: none; }
.settings-dialog { width: min(1220px, calc(100vw - 56px)); height: min(810px, calc(100vh - 56px)); display: grid; grid-template-rows: auto minmax(0,1fr); overflow: hidden; border: 1px solid rgba(255,255,255,.14); border-radius: 16px; background: #15151c; box-shadow: 0 36px 130px rgba(0,0,0,.64); }
.settings-header { position: relative; display: flex; align-items: flex-start; justify-content: space-between; gap: 30px; padding: 25px 29px 20px; border-bottom: 1px solid var(--line); background: rgba(255,255,255,.012); }
.settings-header h2 { margin: 6px 0 4px; font-size: 28px; line-height: 1; letter-spacing: -.04em; }
.settings-header p { margin: 0; color: #898793; font-size: 12px; }
.settings-header .tour-close { position: static; flex: 0 0 auto; }
.settings-header-actions { display: flex; align-items: center; gap: 12px; }
.magnific-connection { min-width: 285px; display: grid; grid-template-columns: auto minmax(0,1fr) auto; align-items: center; gap: 10px; border: 1px solid rgba(255,255,255,.1); border-radius: 9px; padding: 8px 9px; background: #111118; }
.magnific-connection-light { width: 9px; height: 9px; border: 1px solid #56535f; border-radius: 50%; background: #25242d; }
.magnific-connection > span:nth-child(2) { display: grid; gap: 2px; }
.magnific-connection b { color: #c9c6d0; font-size: 10px; }
.magnific-connection small { color: #74717e; font-size: 8px; line-height: 1.2; }
.magnific-connection button { border: 1px solid rgba(106,169,255,.26); border-radius: 6px; padding: 7px 9px; background: rgba(106,169,255,.06); color: #a9c8f4; font-size: 9px; font-weight: 700; cursor: pointer; }
.magnific-connection button:hover { border-color: rgba(106,169,255,.55); color: #d7e7ff; }
.magnific-connection.connected { border-color: rgba(104,224,175,.22); background: rgba(104,224,175,.025); }
.magnific-connection.connected .magnific-connection-light { border-color: #68e0af; background: #68e0af; box-shadow: 0 0 12px rgba(104,224,175,.5); }
.magnific-connection.connected button { border-color: rgba(255,255,255,.1); background: transparent; color: #7c7985; }
.magnific-connection.connecting .magnific-connection-light { border-color: #6aa9ff; animation: glowPulse 1.15s ease-in-out infinite; }
@keyframes glowPulse { 0%,100% { opacity: .45; box-shadow: 0 0 0 rgba(106,169,255,0); } 50% { opacity: 1; box-shadow: 0 0 13px rgba(106,169,255,.55); } }
.settings-layout { min-height: 0; display: grid; grid-template-columns: minmax(0,1.55fr) minmax(330px,.8fr); }
.settings-phase-grid { min-height: 0; overflow: auto; display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); align-content: start; gap: 13px; padding: 22px; scrollbar-width: thin; scrollbar-color: #393742 transparent; }
.settings-phase { --settings-color: var(--accent); min-height: 151px; padding: 15px; border: 1px solid color-mix(in srgb, var(--settings-color) 19%, rgba(255,255,255,.07)); border-radius: 10px; background: linear-gradient(145deg, color-mix(in srgb, var(--settings-color) 5%, #15151c), #121218); }
.settings-phase header { display: flex; align-items: baseline; gap: 8px; margin-bottom: 14px; }
.settings-phase header span { color: var(--settings-color); font-size: 10px; font-weight: 800; }
.settings-phase header b { color: #d4d1d9; font-size: 13px; }
.settings-node-grid { display: grid; grid-template-columns: repeat(8, 1fr); gap: 7px; }
.settings-node { aspect-ratio: 1; min-width: 0; display: grid; place-items: center; border: 1px solid rgba(255,255,255,.1); border-radius: 6px; background: #191920; color: #898793; font-size: 10px; font-weight: 750; cursor: pointer; font-variant-numeric: tabular-nums; }
.settings-node:hover { color: #f2eff5; border-color: color-mix(in srgb, var(--settings-color) 50%, rgba(255,255,255,.1)); }
.settings-node.active { color: #0b0c0c; border-color: var(--accent); background: var(--accent); box-shadow: 0 0 16px rgba(201,255,74,.18); }
.settings-editor { min-height: 0; overflow: auto; padding: 25px; border-left: 1px solid var(--line); background: #181820; scrollbar-width: thin; scrollbar-color: #393742 transparent; }
.settings-empty { min-height: 100%; display: grid; place-content: center; justify-items: center; text-align: center; color: #8b8995; }
.settings-empty .settings-orbit { width: 38px; height: 38px; margin-bottom: 14px; border: 1px solid #3a3843; border-radius: 50%; box-shadow: inset 0 0 0 8px #15151c; }
.settings-empty b { color: #d7d3dc; font-size: 14px; }
.settings-empty p { max-width: 240px; font-size: 11px; line-height: 1.5; }
.settings-node-meta { display: flex; align-items: center; gap: 9px; color: #7d7a87; font-size: 10px; text-transform: uppercase; letter-spacing: .12em; }
.settings-node-meta strong { display: grid; place-items: center; width: 29px; height: 29px; border-radius: 7px; color: #0d0f09; background: var(--accent); font-size: 11px; letter-spacing: 0; }
.settings-editor h3 { margin: 12px 0 7px; color: #f0edf4; font-size: 22px; line-height: 1.1; letter-spacing: -.035em; }
.settings-autosave { margin: 0 0 22px; color: #6f9f92; font-size: 10px; }
.settings-group { margin-top: 14px; padding: 16px; border: 1px solid rgba(255,255,255,.09); border-radius: 9px; background: #14141b; }
.settings-group > header { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin-bottom: 13px; }
.settings-group > header span { color: #cbc8d2; font-size: 12px; font-weight: 700; }
.settings-group > header small { color: #6e6c78; font-size: 9px; text-transform: uppercase; letter-spacing: .09em; }
.settings-control-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 11px; }
.settings-control-grid .wide { grid-column: 1 / -1; }
.settings-control { display: grid; gap: 6px; color: #807e8a; font-size: 9px; text-transform: uppercase; letter-spacing: .09em; }
.settings-control select { width: 100%; border: 1px solid #30303a; border-radius: 6px; padding: 9px 10px; background: #0f0f15; color: #ece9f0; outline: none; font-size: 11px; text-transform: none; letter-spacing: 0; }
.settings-control select:focus { border-color: rgba(106,169,255,.62); box-shadow: 0 0 0 2px rgba(106,169,255,.08); }
.settings-saved { animation: settingsSaved .5s ease; }
@keyframes settingsSaved { 50% { color: var(--accent); } }

.phase-controls { position: absolute; z-index: 3; left: 22px; right: 22px; bottom: 20px; display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); align-items: end; gap: 14px; pointer-events: none; }
.phase-controls > button { min-height: 38px; border: 1px solid color-mix(in srgb, var(--area-color) 46%, transparent); border-radius: 7px; padding: 9px 13px; background: color-mix(in srgb, var(--area-color) 9%, #15151c); color: #e9e6ef; font-size: 13px; font-weight: 720; cursor: pointer; box-shadow: 0 8px 24px rgba(0,0,0,.25); pointer-events: auto; }
.phase-controls > button:hover:not(:disabled) { color: var(--accent); border-color: color-mix(in srgb, var(--area-color) 80%, white); }
.phase-controls > button:disabled { opacity: .34; cursor: default; }
.phase-run-button { grid-column: 1; justify-self: start; }
.phase-approve-button { grid-column: 2; justify-self: center; }
.phase-approve-all { grid-column: 3; justify-self: end; border-color: rgba(158,133,255,.62) !important; background: rgba(158,133,255,.16) !important; color: #e5ddff !important; box-shadow: 0 8px 24px rgba(72,53,151,.28) !important; }
.phase-approve-all:hover:not(:disabled) { border-color: #b6a5ff !important; background: rgba(158,133,255,.25) !important; color: #fff !important; }
.phase-controls > button[hidden] { display: none; }
.phase-controls:not(.discover-controls) .phase-approve-button { grid-column: 3; }
.phase-approve-button { border-color: rgba(201,255,74,.26); background: rgba(201,255,74,.045); }
.phase-approve-button:not(:disabled) { color: #eef8da; }
.automation-mode .automation-mode-title { min-width: auto; padding-right: 2px; color: #666571; font-size: 8px; letter-spacing: .12em; white-space: nowrap; }
.automation-mode #automationModeLabel { min-width: 68px; color: #c7c4cd; }

.activity-terminal { position: absolute; z-index: 8; left: auto; right: 204px; bottom: 10px; width: 430px; height: 104px; display: grid; grid-template-rows: 23px minmax(0,1fr); overflow: hidden; border: 1px solid #2b2c34; border-radius: 7px; background: rgba(10,11,16,.94); box-shadow: 0 8px 30px rgba(0,0,0,.28); backdrop-filter: blur(12px); transition: height .22s ease; }
.activity-terminal header { display: flex; align-items: center; justify-content: space-between; padding: 0 10px; border-bottom: 1px solid #24252d; color: #777984; font-size: 9px; font-weight: 760; text-transform: uppercase; letter-spacing: .12em; }
.activity-terminal-controls { display: inline-flex; align-items: center; gap: 7px; }
.activity-terminal header i { width: 5px; height: 5px; border-radius: 50%; background: #555761; }
.activity-terminal header button { width: 18px; height: 18px; display: grid; place-items: center; border: 0; border-radius: 4px; padding: 0; background: transparent; color: #858894; font-size: 13px; line-height: 1; cursor: pointer; transition: color .18s, background .18s, transform .22s ease; }
.activity-terminal header button:hover { color: var(--accent); background: rgba(255,255,255,.055); }
.activity-terminal.is-active header i { background: var(--accent); box-shadow: 0 0 9px rgba(201,255,74,.65); animation: terminalPulse 1.3s ease-in-out infinite; }
.activity-terminal-lines { min-height: 0; display: grid; align-content: end; gap: 3px; overflow: hidden; padding: 7px 10px 8px; color: #9b9ea8; font: 10px/1.3 "SFMono-Regular", Consolas, "Liberation Mono", monospace; transition: opacity .14s ease; }
.activity-terminal.is-collapsed { height: 24px; grid-template-rows: 23px 0; }
.activity-terminal.is-collapsed header { border-bottom-color: transparent; }
.activity-terminal.is-collapsed header button { transform: rotate(180deg); }
.activity-terminal.is-collapsed .activity-terminal-lines { opacity: 0; padding-top: 0; padding-bottom: 0; pointer-events: none; }
.canvas-shell:has(.activity-terminal.is-collapsed) .minimap { bottom: 10px; }
.activity-terminal-line { min-width: 0; display: grid; grid-template-columns: 57px 9px minmax(0,1fr); gap: 6px; white-space: nowrap; }
.activity-terminal-line time { color: #555862; }
.activity-terminal-line i { color: #747781; font-style: normal; }
.activity-terminal-line span { overflow: hidden; text-overflow: ellipsis; }
.activity-terminal-line.active i, .activity-terminal-line.active span { color: #d8f19c; }
.activity-terminal-line.success i { color: #63e4c3; }
.activity-terminal-line.warning i { color: #ffd75a; }
.activity-terminal-line.error i, .activity-terminal-line.error span { color: #ff8792; }
@keyframes terminalPulse { 50% { opacity: .4; } }

.workflow-choice-overlay { position: fixed; z-index: 225; inset: 0; display: grid; place-items: center; padding: 18px; background: rgba(5,6,10,.72); backdrop-filter: blur(10px); }
.workflow-choice-overlay[hidden] { display: none; }
.workflow-choice-dialog { position: relative; width: min(590px,calc(100vw - 36px)); border: 1px solid rgba(201,255,74,.23); border-radius: 14px; padding: 30px; background: #17171f; box-shadow: 0 32px 110px rgba(0,0,0,.62); }
.workflow-choice-dialog h2 { margin: 9px 0 10px; color: #f2eff5; font-size: 26px; letter-spacing: -.035em; }
.workflow-choice-dialog > p { margin: 0; max-width: 500px; color: #96939f; font-size: 12px; line-height: 1.55; }
.workflow-choice-options { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 11px; margin-top: 24px; }
.workflow-choice-options button { min-height: 112px; display: grid; align-content: center; gap: 7px; border: 1px solid #32323b; border-radius: 10px; padding: 18px; background: #111118; color: #d9d6df; text-align: left; cursor: pointer; }
.workflow-choice-options button:first-child { border-color: rgba(201,255,74,.36); background: rgba(201,255,74,.045); }
.workflow-choice-options button:hover { border-color: rgba(201,255,74,.62); transform: translateY(-1px); }
.workflow-choice-options b { font-size: 14px; }
.workflow-choice-options small { color: #777581; font-size: 10px; line-height: 1.45; }

.workspace-field > span { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.workspace-field > span b { color: inherit; font: inherit; }
.field-expand { flex: 0 0 auto; width: 24px; height: 22px; border: 1px solid var(--line); border-radius: 4px; background: #191920; color: #8f8c98; font-size: 12px; cursor: zoom-in; }
.field-expand:hover { color: var(--accent); border-color: rgba(201,255,74,.35); }
.route-history-output .field-expand { width: 36px; height: 33px; border-radius: 6px; font-size: 18px; }

.route-history-heading { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin: 12px 0 2px; color: #b9b6c1; font-size: 10px; font-weight: 680; }
.route-history-heading > div { display: flex; align-items: center; gap: 5px; }
.route-history-heading button, .text-history-nav button { width: 41px; height: 41px; border: 1px solid var(--line); border-radius: 7px; background: #1b1b22; color: #c5c2cc; font-size: 27px; line-height: 1; cursor: pointer; }
.route-history-heading button:hover, .text-history-nav button:hover { color: var(--accent); border-color: rgba(201,255,74,.35); }
.route-history-heading button:disabled, .text-history-nav button:disabled { opacity: .28; cursor: default; }
.route-history-heading b { min-width: 92px; color: #85828f; font-size: 10px; text-align: center; }
.route-page-controls { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 7px; margin: 7px 0 3px; }
.route-page-controls > div { display: flex; align-items: center; justify-content: space-between; gap: 8px; min-width: 0; border: 1px solid #292832; border-radius: 7px; padding: 6px 7px 6px 10px; background: #121218; color: #8f8c98; font-size: 9px; font-weight: 700; }
.route-delete-control { display: grid; place-items: center; width: 28px; height: 28px; flex: 0 0 28px; border: 1px solid #393741; border-radius: 6px; padding: 0; background: #19181f; color: #aaa6b1; cursor: pointer; }
.route-delete-control svg { width: 14px; height: 14px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.route-delete-control:hover { border-color: rgba(255,112,112,.62); background: rgba(255,83,83,.09); color: #ff8d8d; }
.route-delete-control:disabled { opacity: .3; cursor: default; }
.route-selection-heading { margin-bottom: 8px; }
.route-selection-heading > b { margin-left: auto; text-align: right; }
.route-choice-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 7px; margin-top: 9px; }
.route-choice-card { position: relative; min-width: 0; }
.route-choice { width: 100%; min-width: 0; display: grid; gap: 6px; justify-items: start; border: 1px solid var(--line); border-radius: 7px; padding: 10px 42px 10px 10px; background: #14141b; color: #aaa7b2; text-align: left; cursor: pointer; }
.route-choice-card > .route-delete-control { position: absolute; top: 7px; right: 7px; z-index: 1; width: 26px; height: 26px; }
.route-choice strong { display: grid; place-items: center; width: 25px; height: 25px; border: 1px solid #45434f; border-radius: 50%; color: #d4d0db; font-size: 10px; }
.route-choice span { width: 100%; overflow: hidden; color: #a6a3ae; font-size: 9px; line-height: 1.25; text-overflow: ellipsis; white-space: nowrap; }
.route-choice:hover, .route-choice.active { border-color: rgba(201,255,74,.48); background: rgba(201,255,74,.055); }
.route-choice.active strong { border-color: var(--accent); background: var(--accent); color: #11120d; box-shadow: 0 0 12px rgba(201,255,74,.25); }
.workspace-button.workflow-run { border-color: #d8ff7e; background: linear-gradient(135deg,#d4ff66 0%,#b8ef39 58%,#88d75c 100%); color: #10130b; box-shadow: 0 7px 22px rgba(201,255,74,.16), inset 0 1px rgba(255,255,255,.3); letter-spacing: .015em; }
.workspace-button.workflow-run:hover { border-color: #efffbf; color: #080a05; background: linear-gradient(135deg,#e2ff8c,#c9ff4a 58%,#9de66e); box-shadow: 0 9px 28px rgba(201,255,74,.24); }
.workspace-button.workflow-run:disabled { border-color: rgba(201,255,74,.16); background: rgba(201,255,74,.08); color: rgba(216,255,126,.42); box-shadow: none; }

.lightbox-nav { position: fixed; z-index: 3; top: 50%; width: 48px; height: 64px; margin-top: -32px; border: 1px solid rgba(255,255,255,.18); border-radius: 9px; background: rgba(18,18,24,.78); color: #f0edf4; font-size: 34px; cursor: pointer; backdrop-filter: blur(10px); }
.lightbox-nav.previous { left: 22px; }
.lightbox-nav.next { right: 22px; }
.lightbox-nav:hover { color: var(--accent); border-color: rgba(201,255,74,.45); }
.lightbox-nav:disabled { display: none; }
.lightbox-count { min-width: 52px; color: #9996a2; }

.text-lightbox { position: fixed; z-index: 170; inset: 0; display: grid; place-items: center; padding: 34px; background: rgba(5,5,8,.8); backdrop-filter: blur(14px) saturate(.7); }
.text-lightbox[hidden] { display: none; }
.text-lightbox-dialog { width: min(1080px, calc(100vw - 90px)); height: min(780px, calc(100vh - 80px)); display: grid; grid-template-rows: auto minmax(0,1fr) auto; gap: 16px; border: 1px solid rgba(255,255,255,.15); border-radius: 14px; padding: 24px; background: #17171e; box-shadow: 0 35px 120px rgba(0,0,0,.6); }
.text-lightbox-dialog header { display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.text-lightbox-dialog h2 { margin: 7px 0 0; font-size: 23px; letter-spacing: -.03em; }
.text-lightbox-header-actions { display: flex; align-items: center; gap: 12px; }
.text-lightbox-tabs { display: flex; align-items: center; padding: 3px; border: 1px solid #30303a; border-radius: 8px; background: #101016; }
.text-lightbox-tabs[hidden] { display: none; }
.text-lightbox-tabs button { min-width: 82px; border: 0; border-radius: 5px; padding: 8px 12px; background: transparent; color: #85828e; font-size: 11px; font-weight: 700; cursor: pointer; }
.text-lightbox-tabs button[aria-selected="true"] { background: rgba(201,255,74,.1); color: var(--accent); box-shadow: inset 0 0 0 1px rgba(201,255,74,.18); }
.text-lightbox-content { min-height: 0; }
.text-lightbox-dialog textarea, .text-lightbox-summary, .text-lightbox-detail { width: 100%; height: 100%; border: 1px solid #30303a; border-radius: 9px; padding: 22px; background: #0f0f15; color: #f0edf4; font-size: 16px; line-height: 1.65; outline: none; }
.text-lightbox-dialog textarea { resize: none; }
.text-lightbox-dialog textarea:focus { border-color: rgba(106,169,255,.65); box-shadow: 0 0 0 3px rgba(106,169,255,.08); }
.text-lightbox-dialog textarea[readonly] { color: #b8b5c0; background: #111117; }
.text-lightbox-summary, .text-lightbox-detail { overflow: auto; color: #dedbe4; background: linear-gradient(145deg, #111118, #0e0e14); scrollbar-width: thin; scrollbar-color: #45434f transparent; }
.text-lightbox-summary:focus, .text-lightbox-detail:focus { border-color: rgba(201,255,74,.34); box-shadow: 0 0 0 3px rgba(201,255,74,.055); }
.text-lightbox-summary[hidden], .text-lightbox-detail[hidden], .text-lightbox-dialog textarea[hidden] { display: none; }
.text-lightbox-summary > :first-child, .text-lightbox-detail > :first-child { margin-top: 0; }
.text-lightbox-summary > :last-child, .text-lightbox-detail > :last-child { margin-bottom: 0; }
.text-lightbox-summary h1, .text-lightbox-detail h1 { margin: 0 0 18px; color: #f5f2f8; font-size: 25px; line-height: 1.25; }
.text-lightbox-summary h2, .text-lightbox-detail h2 { margin: 26px 0 10px; color: #eef6de; font-size: 20px; line-height: 1.3; }
.text-lightbox-summary h3, .text-lightbox-detail h3 { margin: 22px 0 8px; color: #d7e6ff; font-size: 17px; line-height: 1.35; }
.text-lightbox-summary p, .text-lightbox-detail p { margin: 0 0 14px; color: #d5d2dc; }
.text-lightbox-summary ul, .text-lightbox-detail ul, .text-lightbox-summary ol, .text-lightbox-detail ol { margin: 6px 0 18px; padding-left: 25px; }
.text-lightbox-summary li, .text-lightbox-detail li { margin: 5px 0; }
.text-lightbox-summary strong, .text-lightbox-detail strong { color: #f8f6fa; }
.text-lightbox-summary code, .text-lightbox-detail code { border: 1px solid #31313c; border-radius: 4px; padding: 1px 5px; background: #191921; color: #bcd6ff; font: .88em/1.4 ui-monospace,Consolas,monospace; }
.text-lightbox-table-wrap { overflow: auto; margin: 15px 0 22px; border: 1px solid #34343e; border-radius: 8px; }
.text-lightbox-summary table, .text-lightbox-detail table { width: 100%; border-collapse: collapse; font-size: 13px; line-height: 1.45; }
.text-lightbox-summary th, .text-lightbox-detail th { position: sticky; top: 0; padding: 10px 12px; background: #22232c; color: #edf6d8; text-align: left; font-size: 11px; letter-spacing: .025em; }
.text-lightbox-summary td, .text-lightbox-detail td { min-width: 130px; padding: 10px 12px; border-top: 1px solid #30303a; color: #d1ced8; vertical-align: top; }
.text-lightbox-summary tr:nth-child(even) td, .text-lightbox-detail tr:nth-child(even) td { background: rgba(255,255,255,.018); }
.text-lightbox-dialog footer { color: #777582; font-size: 10px; }
.text-history-nav { display: flex; align-items: center; gap: 8px; }
.text-history-nav span { min-width: 48px; color: #9b98a4; font-size: 10px; text-align: center; }

.interface-detach { width: 38px; height: 38px; flex: 0 0 auto; display: grid; place-items: center; border: 1px solid rgba(201,255,74,.24); border-radius: 9px; background: rgba(201,255,74,.045); color: #cce994; font-size: 18px; cursor: pointer; }
.interface-detach:hover { border-color: rgba(201,255,74,.55); color: var(--accent); background: rgba(201,255,74,.075); }
.studio-detach { position: absolute; z-index: 9; top: 14px; right: 16px; }
.studio-detach + .canvas-toolbar ~ .canvas-hint { right: 68px; }

.interface-shell { height: calc(100vh - var(--topbar-h)); overflow: auto; background: radial-gradient(circle at 50% -20%, rgba(106,169,255,.07), transparent 35%), #0d0d12; scrollbar-width: thin; scrollbar-color: #3e3c47 transparent; }
.interface-header { min-height: 125px; display: flex; align-items: center; justify-content: space-between; gap: 36px; padding: 28px clamp(24px,4vw,66px); border-bottom: 1px solid var(--line); background: rgba(13,13,18,.86); backdrop-filter: blur(16px); }
.interface-header h1 { margin: 6px 0 5px; font-size: clamp(27px,3vw,40px); line-height: 1; letter-spacing: -.05em; }
.interface-header p { max-width: 670px; margin: 0; color: #8f8d99; font-size: 12px; line-height: 1.55; }
.interface-header-actions { display: flex; align-items: center; gap: 11px; }
.interface-live, .future-badge { display: inline-flex; align-items: center; gap: 7px; border: 1px solid rgba(83,223,178,.2); border-radius: 999px; padding: 8px 11px; background: rgba(83,223,178,.035); color: #99d6c3; font-size: 9px; font-weight: 700; white-space: nowrap; }
.interface-live i { width: 6px; height: 6px; border-radius: 50%; background: #53dfb2; box-shadow: 0 0 10px rgba(83,223,178,.65); animation: liveBlink 1.8s ease-in-out infinite; }
.future-badge { border-color: rgba(158,133,255,.22); background: rgba(158,133,255,.045); color: #c4b9f3; text-transform: uppercase; letter-spacing: .09em; }
@keyframes liveBlink { 50% { opacity: .35; box-shadow: 0 0 2px rgba(83,223,178,.2); } }

.viewer-workspace { min-height: calc(100vh - var(--topbar-h) - 125px); display: grid; grid-template-columns: 225px minmax(180px,280px) minmax(0,1fr); }
.viewer-phase-tabs, .viewer-node-tabs { min-height: 0; overflow: auto; display: grid; align-content: start; gap: 6px; padding: 22px 14px; border-right: 1px solid var(--line); background: #111118; scrollbar-width: thin; scrollbar-color: #383640 transparent; }
.viewer-phase-tabs button, .viewer-node-tabs button { min-width: 0; border: 1px solid transparent; border-radius: 8px; background: transparent; color: #777582; cursor: pointer; text-align: left; }
.viewer-phase-tabs button { display: grid; grid-template-columns: 28px minmax(0,1fr) auto; align-items: center; gap: 7px; padding: 12px 10px; }
.viewer-phase-tabs button span { color: var(--viewer-color); font-size: 10px; font-weight: 800; }
.viewer-phase-tabs button b { overflow: hidden; font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
.viewer-phase-tabs button small { color: #5f5d68; font-size: 8px; }
.viewer-phase-tabs button:hover, .viewer-phase-tabs button.active { border-color: color-mix(in srgb,var(--viewer-color) 24%,transparent); color: #e2dfe7; background: color-mix(in srgb,var(--viewer-color) 5%,#111118); }
.viewer-node-tabs { background: #13131a; }
.viewer-node-tabs button { display: grid; grid-template-columns: 31px minmax(0,1fr); gap: 4px 7px; padding: 11px 10px; }
.viewer-node-tabs button span { grid-row: 1 / 3; display: grid; place-items: center; width: 29px; height: 29px; border: 1px solid #36343e; border-radius: 7px; color: #85838e; font-size: 9px; }
.viewer-node-tabs button b { overflow: hidden; color: #aaa7b2; font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.viewer-node-tabs button small { color: #66646f; font-size: 8px; }
.viewer-node-tabs button.ready small { color: #68cbaa; }
.viewer-node-tabs button.generating small { color: #f5ca5c; }
.viewer-node-tabs button:hover, .viewer-node-tabs button.active { border-color: rgba(201,255,74,.22); background: rgba(201,255,74,.035); }
.viewer-node-tabs button.active span { border-color: rgba(201,255,74,.45); color: var(--accent); }
.viewer-node-tabs button.bypassed { opacity: .34; filter: saturate(.35); }
.viewer-node-tabs button.bypassed:hover, .viewer-node-tabs button.bypassed.active { opacity: .58; border-color: rgba(255,255,255,.1); background: rgba(255,255,255,.018); }
.viewer-node-tabs button.bypassed.active span { border-color: #4a4852; color: #777480; }
.viewer-content { min-width: 0; overflow: auto; padding: clamp(28px,3vw,54px) clamp(24px,3.5vw,66px) 80px; background: radial-gradient(circle at 75% 0%,rgba(201,255,74,.025),transparent 35%); }
.viewer-node-header { display: flex; align-items: flex-start; justify-content: space-between; gap: 36px; padding-bottom: 26px; border-bottom: 1px solid var(--line); }
.viewer-node-header > div:first-child > span { color: var(--viewer-color); font-size: 9px; font-weight: 800; letter-spacing: .11em; text-transform: uppercase; }
.viewer-node-header h2 { max-width: 1400px; margin: 10px 0 9px; font-size: clamp(29px,4vw,48px); line-height: 1.04; letter-spacing: -.05em; }
.viewer-node-header p { max-width: 1400px; margin: 0; color: #8d8a96; font-size: 13px; line-height: 1.55; }
.viewer-node-header > div:last-child { display: grid; justify-items: end; gap: 8px; }
.viewer-node-header > div:last-child > b { border: 1px solid color-mix(in srgb,var(--viewer-color) 25%,transparent); border-radius: 999px; padding: 7px 10px; color: #c7c4ce; font-size: 9px; white-space: nowrap; }
.viewer-generating { display: inline-flex; align-items: center; gap: 7px; color: #cdb66e; font-size: 9px; white-space: nowrap; }
.viewer-generating i { width: 10px; height: 10px; border: 1px solid rgba(245,202,92,.25); border-top-color: #f5ca5c; border-radius: 50%; animation: clockwiseSpin .8s linear infinite; }
.viewer-readable { width: 100%; max-width: none; margin-top: 32px; color: #d4d1da; font-size: 15px; line-height: 1.7; }
.viewer-readable > :first-child { margin-top: 0; }
.viewer-readable h1, .viewer-readable h2, .viewer-readable h3 { margin: 30px 0 10px; color: #f0edf4; letter-spacing: -.025em; }
.viewer-readable h1 { font-size: 26px; }.viewer-readable h2 { font-size: 21px; }.viewer-readable h3 { font-size: 17px; color: #dceab9; }
.viewer-readable p { max-width: 1400px; margin: 0 0 16px; }
.viewer-readable > ul, .viewer-readable > ol { max-width: 1400px; }
.viewer-readable li { margin: 6px 0; }
.viewer-readable strong { color: #f5f2f8; }
.viewer-readable .text-lightbox-table-wrap { width: 100%; max-width: none; margin: 20px 0 28px; }
.viewer-readable table { width: 100%; min-width: 900px; }
.viewer-empty, .viewer-pending { min-height: 440px; display: grid; place-content: center; justify-items: center; text-align: center; }
.viewer-empty h2, .viewer-pending h3 { max-width: 550px; margin: 12px 0 8px; font-size: 28px; letter-spacing: -.04em; }
.viewer-empty p, .viewer-pending p { max-width: 520px; margin: 0; color: #85828e; line-height: 1.55; }
.viewer-empty button { margin-top: 20px; border: 1px solid var(--accent); border-radius: 7px; padding: 10px 16px; background: var(--accent); color: #10120c; font-weight: 750; cursor: pointer; }
.viewer-pending > span { display: grid; place-items: center; width: 54px; height: 54px; border: 1px solid rgba(201,255,74,.24); border-radius: 15px; color: var(--accent); font-weight: 800; }
.viewer-pending.is-bypassed { opacity: .62; }
.viewer-pending.is-bypassed > span { border-color: rgba(255,255,255,.13); color: #85828e; }
.viewer-assets { width: 100%; max-width: none; margin-top: 40px; padding-top: 22px; border-top: 1px solid var(--line); }
.viewer-section-title { display: flex; align-items: center; justify-content: space-between; margin-bottom: 13px; color: #c8c5ce; font-size: 10px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.viewer-section-title b { color: var(--accent); }
.viewer-assets-grid { display: grid; grid-template-columns: repeat(auto-fill,minmax(230px,1fr)); gap: 14px; }
.viewer-assets-grid button { min-width: 0; overflow: hidden; display: grid; gap: 9px; border: 1px solid var(--line); border-radius: 9px; padding: 7px; background: #13131a; color: #b8b5c0; text-align: left; cursor: zoom-in; }
.viewer-assets-grid button:hover { border-color: rgba(201,255,74,.34); }
.viewer-assets-grid button > span { position: relative; display: block; overflow: hidden; border-radius: 6px; background: #09090d; }
.viewer-assets-grid img, .viewer-assets-grid video { display: block; width: 100%; aspect-ratio: 1.15; object-fit: cover; }
.viewer-assets-grid button > b { overflow: hidden; padding: 0 3px 3px; font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.viewer-video-mark { position: absolute; inset: 50% auto auto 50%; display: grid !important; place-items: center; width: 42px; height: 42px; transform: translate(-50%,-50%); border: 1px solid rgba(255,255,255,.3); border-radius: 50%; background: rgba(8,8,12,.65); color: white; }

.pulse-dashboard { width: 100%; max-width: 1900px; margin: 0 auto; padding: clamp(30px,3.5vw,66px); }
.pulse-project-line { display: grid; grid-template-columns: auto 1fr auto; align-items: baseline; gap: 13px; padding-bottom: 20px; border-bottom: 1px solid var(--line); }
.pulse-project-line span { color: #777582; font-size: 9px; text-transform: uppercase; letter-spacing: .12em; }.pulse-project-line b { color: var(--accent); font-size: 14px; }.pulse-project-line small { color: #676570; font-size: 9px; }
.pulse-flow { display: grid; grid-template-columns: repeat(7,minmax(0,1fr)); align-items: center; gap: 10px; margin-top: 42px; }
.pulse-flow article { min-height: 285px; display: flex; flex-direction: column; align-items: flex-start; padding: 24px; border: 1px solid var(--line); border-radius: 12px; background: linear-gradient(145deg,#17171f,#111117); }
.pulse-flow article > span { color: #66636f; font-size: 10px; font-weight: 800; }.pulse-flow article h2 { margin: 18px 0 9px; font-size: 20px; letter-spacing: -.025em; }.pulse-flow article p { margin: 0; color: #9996a1; font-size: 13px; line-height: 1.55; }.pulse-flow article small { margin-top: auto; color: #777480; font-size: 8.5px; font-weight: 800; letter-spacing: .1em; }
.pulse-source-icon { width: 46px; height: 46px; display: grid; place-items: center; margin-top: 19px; border: 1px solid rgba(106,169,255,.25); border-radius: 11px; background: rgba(106,169,255,.06); color: #91bdff; font-size: 22px; font-style: normal; }
.pulse-flow article.pulse-active { border-color: rgba(201,255,74,.3); box-shadow: 0 0 38px rgba(201,255,74,.04); }.pulse-flow article.pulse-active .pulse-source-icon { border-color: rgba(201,255,74,.3); background: rgba(201,255,74,.07); color: var(--accent); }
.pulse-connector { height: 1px; overflow: visible; background: repeating-linear-gradient(90deg,#3f3d48 0 4px,transparent 4px 8px); }.pulse-connector i { display: block; width: 7px; height: 7px; margin-top: -3px; border-radius: 50%; background: var(--accent); box-shadow: 0 0 10px rgba(201,255,74,.65); animation: connectorTravel 2.4s linear infinite; }
@keyframes connectorTravel { from { transform: translateX(0); } to { transform: translateX(calc(100% - 7px)); } }
.pulse-metrics { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 14px; margin-top: 28px; }.pulse-metrics article { display: grid; grid-template-columns: 1fr auto; grid-template-rows: auto 1fr auto; gap: 7px 14px; min-height: 150px; padding: 21px; border: 1px solid var(--line); border-radius: 10px; background: rgba(255,255,255,.018); }.pulse-metrics span { color: #b8b5c0; font-size: 12px; font-weight: 750; }.pulse-metrics b { grid-row: 1 / -1; grid-column: 2; align-self: center; color: #62606c; font-size: 32px; }.pulse-metrics p { grid-column: 1; margin: 0; color: #9996a1; font-size: 13px; line-height: 1.45; }.pulse-metrics small { grid-column: 1; color: #74727e; font-size: 10px; }
.pulse-feedback { display: grid; grid-template-columns: auto minmax(120px,300px) 1fr; align-items: center; gap: 18px; margin-top: 28px; padding: 20px 22px; border: 1px solid rgba(83,223,178,.17); border-radius: 10px; background: rgba(83,223,178,.025); }.pulse-feedback span { color: #53dfb2; font-size: 12px; font-weight: 800; }.pulse-feedback i { height: 1px; background: linear-gradient(90deg,#53dfb2,transparent); }.pulse-feedback b { color: #aab8b3; font-size: 12px; font-weight: 600; }

.think-shell { background: radial-gradient(circle at 54% 54%,rgba(158,133,255,.08),transparent 29%),radial-gradient(circle at 42% 42%,rgba(201,255,74,.045),transparent 25%),#0d0d12; }
.confluence-hub { width: 100%; max-width: 1900px; margin: 0 auto; padding: 36px clamp(26px,3.5vw,66px) 70px; }.confluence-title { text-align: center; }.confluence-title > span { color: #85838f; font-size: 10px; font-weight: 800; letter-spacing: .18em; text-transform: uppercase; }.confluence-title h2 { margin: 9px 0 8px; font-size: clamp(38px,4vw,58px); letter-spacing: -.055em; }.confluence-title p { margin: 0; color: #96939f; font-size: 13px; }
.think-stage { position: relative; width: 100%; min-height: 680px; margin-top: 12px; }.think-connections { position: absolute; inset: 0; width: 100%; height: 100%; overflow: visible; }.think-connections path { fill: none; stroke: rgba(158,133,255,.35); stroke-width: 1.3; stroke-dasharray: 5 8; animation: signalFlow 1.8s linear infinite; }.think-connections path:nth-child(even) { stroke: rgba(201,255,74,.28); animation-direction: reverse; animation-duration: 2.3s; }
@keyframes signalFlow { to { stroke-dashoffset: -39; } }
.think-input-card, .think-result-card { position: absolute; top: 50%; width: 240px; min-height: 210px; display: flex; flex-direction: column; justify-content: center; padding: 25px; transform: translateY(-50%); border: 1px solid rgba(106,169,255,.22); border-radius: 14px; background: rgba(18,18,25,.92); box-shadow: 0 20px 70px rgba(0,0,0,.35); }.think-input-card { left: 0; }.think-result-card { right: 0; border-color: rgba(201,255,74,.26); }.think-input-card > span,.think-result-card > span { color: #6aa9ff; font-size: 9px; font-weight: 800; letter-spacing: .13em; }.think-result-card > span { color: var(--accent); }.think-input-card h3,.think-result-card h3 { margin: 13px 0 8px; font-size: 21px; }.think-input-card p,.think-result-card p { margin: 0; color: #9794a0; font-size: 12px; line-height: 1.5; }.think-input-card > i,.think-result-card > i { position: absolute; top: 50%; width: 9px; height: 9px; border-radius: 50%; background: #6aa9ff; box-shadow: 0 0 15px #6aa9ff; }.think-input-card > i { right: -5px; }.think-result-card > i { left: -5px; background: var(--accent); box-shadow: 0 0 15px var(--accent); }
.think-agents { position: absolute; left: 34%; top: 5%; bottom: 5%; width: 310px; display: grid; align-content: space-between; }.think-agent { display: grid; grid-template-columns: 58px 1fr; align-items: center; gap: 14px; min-height: 122px; padding: 16px; border: 1px solid rgba(255,255,255,.1); border-radius: 13px; background: rgba(20,20,28,.93); box-shadow: 0 15px 50px rgba(0,0,0,.28); animation: agentBreathe 3.4s ease-in-out infinite; }.think-agent:nth-child(2) { animation-delay: -1.1s; }.think-agent:nth-child(3) { animation-delay: -2.2s; }.think-agent img { width: 50px; height: 50px; object-fit: contain; padding: 10px; border-radius: 11px; background: #f0eee8; }.think-agent div { min-width: 0; }.think-agent span { color: #85828f; font-size: 8.5px; font-weight: 800; letter-spacing: .11em; }.think-agent h3 { margin: 5px 0 4px; font-size: 17px; }.think-agent p { margin: 0; color: #898793; font-size: 10px; line-height: 1.4; }
@keyframes agentBreathe { 50% { border-color: rgba(201,255,74,.25); transform: translateX(3px); } }
.think-core { position: absolute; left: 69%; top: 50%; width: 150px; height: 150px; transform: translate(-50%,-50%); border: 1px solid rgba(201,255,74,.24); border-radius: 50%; box-shadow: 0 0 65px rgba(158,133,255,.13); }.think-core > span { position: absolute; inset: 28px; border: 1px solid rgba(158,133,255,.43); clip-path: polygon(50% 0,100% 100%,0 100%); animation: coreRotate 7s linear infinite; }.think-core > span:nth-child(2) { inset: 15px; border-color: rgba(201,255,74,.18); animation-duration: 11s; animation-direction: reverse; }.think-core > span:nth-child(3) { inset: 43px; border-color: rgba(106,169,255,.45); animation-duration: 4.5s; }.think-core b { position: absolute; inset: 0; display: grid; place-items: center; color: var(--accent); font-size: 16px; letter-spacing: .08em; }.electron { position: absolute; width: 8px; height: 8px; border-radius: 50%; background: #9e85ff; box-shadow: 0 0 12px #9e85ff; animation: electronOne 5.4s ease-in-out infinite; }.electron.e2 { background: var(--accent); box-shadow: 0 0 12px var(--accent); animation: electronTwo 7.2s ease-in-out infinite reverse; }
@keyframes coreRotate { to { transform: rotate(360deg); } }@keyframes electronOne { 0%,100% { transform: translate(4px,10px); } 28% { transform: translate(110px,35px); } 57% { transform: translate(82px,118px); } 78% { transform: translate(-16px,76px); } }@keyframes electronTwo { 0%,100% { transform: translate(104px,92px); } 31% { transform: translate(30px,-16px); } 62% { transform: translate(-13px,80px); } 84% { transform: translate(84px,125px); } }
.think-legend { display: flex; justify-content: center; flex-wrap: wrap; gap: 30px; color: #7f7c88; font-size: 10px; text-transform: uppercase; letter-spacing: .09em; }.think-legend span { display: inline-flex; align-items: center; gap: 8px; }.think-legend i { width: 6px; height: 6px; border-radius: 50%; background: var(--accent); box-shadow: 0 0 8px rgba(201,255,74,.55); }

@media (max-width: 1200px) {
  .topbar-center { gap: 6px; }.interface-switcher button { padding: 7px 8px; font-size: 11px; }.version { display: none; }
  .viewer-workspace { grid-template-columns: 180px 220px minmax(0,1fr); }
  .think-agents { left: 28%; }.think-core { left: 68%; }
  .pulse-flow { grid-template-columns: repeat(4,minmax(0,1fr)); }.pulse-connector { display: none; }
}

@media (max-width: 1050px) {
  :root { --rail-w: 220px; --inspector-w: 396px; }
  .project-pill span:not(.pulse) { display: none; }
  .canvas-hint { display: none; }
  .api-label { display: none; }
  .settings-layout { grid-template-columns: minmax(0,1.25fr) minmax(310px,.9fr); }
  .settings-phase-grid { grid-template-columns: 1fr; }
}

@media (min-width: 761px) and (max-width: 1750px) {
  .automation-mode { bottom: 10px; }
  .canvas-action-dock .workflow-stop-icon, .canvas-action-dock .workflow-resume-icon, .canvas-action-dock .research-icon { display: none; }
}

@media (min-width: 761px) and (max-width: 1500px) {
  .automation-mode { left: 50%; }
  .activity-terminal { left: 50%; right: auto; bottom: 50px; width: min(430px,calc(100% - 24px)); transform: translateX(-50%); }
  .minimap { bottom: 160px; }
  .canvas-shell:has(.activity-terminal.is-collapsed) .minimap { bottom: 90px; }
}

@media (max-width: 1769px) {
  .project-inputs-stage.mode-both { place-items: start center; }
  .project-inputs-stage.mode-both .project-inputs-group { width: min(1132px,100%); grid-template-columns: minmax(0,1080px); }
  .project-inputs-stage.mode-both .campaign-deliverables-bar,
  .project-inputs-stage.mode-both .project-overlay,
  .project-inputs-stage.mode-both .client-research-overlay { grid-column: 1; }
  .project-inputs-stage.mode-both .project-dialog { height: auto; max-height: min(760px, calc(100vh - 52px)); }
}

@media (max-width: 760px) {
  :root { --topbar-h: 56px; }
  .landing-header { height: 68px; grid-template-columns: 1fr auto; padding: 0 16px; }
  .landing-nav { display: none; }
  .landing-actions { gap: 5px; }
  .landing-actions .landing-login { display: none; }
  .landing-signup { min-height: 33px; padding: 0 10px; }
  .landing-hero { height: calc(100% - 68px); align-items: flex-end; padding: 30px 20px 36px; }
  .landing-backdrop { background-position: 64% center; }
  .landing-copy { width: 100%; margin: 0; }
  .landing-copy h1 { max-width: 540px; font-size: clamp(41px,12vw,62px); }
  .landing-copy > p { font-size: 14px; }
  .landing-proof { margin-top: 24px; }
  .landing-proof span { font-size: 10px; }
  .landing-login-card { padding: 29px 23px; }
  .project-open-selection { grid-template-columns: 1fr; }
  .project-open-actions { width: 100%; }
  .project-open-actions > button { flex: 1 1 0; min-width: 0; }
  .topbar { grid-template-columns: auto minmax(0,1fr) auto; padding: 0 8px; gap: 5px; }
  .topbar-center { position: static; justify-self: end; transform: none; }.top-actions { display: flex; gap: 0; }.top-actions > .api-label,.top-actions > .prototype-label,.language-switcher > span { display: none; }.language-switcher button { min-width: 23px; padding: 5px 4px; font-size: 8px; }.interface-switcher button { padding: 7px 5px; font-size: 7px; }.brand { font-size: 10px; }.brand-mark { width: 18px; height: 18px; }
  .project-pill, .prototype-label { display: none; }
  .app-shell { grid-template-columns: 1fr; }
  .rail { display: none; }
  .inspector { position: fixed; left: 10px; right: 10px; bottom: 10px; height: 42vh; border: 1px solid var(--line); border-radius: 12px; box-shadow: 0 20px 60px rgba(0,0,0,.5); transform: translateY(calc(100% + 16px)); transition: transform .25s ease; }
  .inspector.has-content { transform: translateY(0); }
  .inspector-empty { display: none; }
  .minimap { display: none; }
  .activity-terminal { left: 10px; right: 10px; bottom: 50px; width: auto; transform: none; }
  .automation-mode { left: 50%; bottom: 10px; }
  .canvas-action-dock { left: 10px; bottom: 10px; flex-direction: column; }
  .tour-card { padding: 28px 22px; max-height: calc(100vh - 30px); overflow: auto; }
  .tour-grid { grid-template-columns: 1fr; }
  .tour-grid article + article { border-left: 0; border-top: 1px solid var(--line); padding-left: 0; }
  .settings-overlay { padding: 10px; }
  .settings-dialog { width: calc(100vw - 20px); height: calc(100vh - 20px); }
  .settings-layout { grid-template-columns: 1fr; grid-template-rows: minmax(230px,.8fr) minmax(0,1.2fr); }
  .settings-header { align-items: center; padding: 18px; }
  .settings-header > div:first-child p { display: none; }
  .settings-header-actions { gap: 7px; }
  .magnific-connection { min-width: 0; grid-template-columns: auto auto; }
  .magnific-connection > span:nth-child(2) { display: none; }
  .settings-phase-grid { grid-template-columns: repeat(2, minmax(0,1fr)); padding: 13px; }
  .settings-editor { border-left: 0; border-top: 1px solid var(--line); padding: 18px; }
  .export-overlay { padding: 10px; }
  .export-dialog { width: calc(100vw - 20px); max-height: calc(100vh - 20px); padding: 27px 20px; overflow: auto; }
  .export-format-section { grid-template-columns: 1fr; }
  .export-option-grid { grid-template-columns: 1fr; }
  .export-option { min-height: 78px; }
  .project-password-card { width: calc(100% - 28px); padding: 24px 20px; }
  .project-inputs-group { gap: 10px; padding: 8px; }
  .campaign-output-strip { border-radius: 10px; padding: 12px; }
  .campaign-output-header { align-items: stretch; flex-direction: column; gap: 9px; }
  .campaign-output-actions, .campaign-output-primary-actions { width: 100%; flex-direction: column; }
  .campaign-language-compact { min-width: 0; }
  .campaign-recommend-toggle { width: 100%; min-width: 0; }
  .campaign-output-strip > footer { flex-wrap: wrap; }
  .campaign-plan-pending, .campaign-plan-ready { width: 100%; margin-left: 0; }
  .client-research-dialog { width: calc(100vw - 16px); height: calc(100vh - 16px); }
  .client-research-header { padding: 18px; }
  .data-hub-top, .data-hub-tab-panel, .data-hub-footer { padding-left: 17px; padding-right: 17px; }
  .data-hub-tabs { overflow-x: auto; }
  .data-hub-tabs button { min-width: 128px; }
  .data-hub-footer { align-items: stretch; flex-direction: column; gap: 10px; }
  .data-hub-submit { width: 100%; }
  .quiz-grid { grid-template-columns: 1fr; }
  .quiz-field.wide { grid-column: auto; }
  .research-fields, .research-grid, .research-platforms, .research-mode-row, .research-source-grid { grid-template-columns: 1fr; }
  .research-delta article { grid-template-columns: 1fr; }
  .research-report-toolbar { display: grid; }
  .research-summary-actions { justify-content: flex-start; }
  .research-score-card { grid-template-columns: 1fr; }
  .research-visuals { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .research-upload-list { grid-template-columns: 1fr; }
  .research-upload-lightbox { padding: 8px; }
  .research-upload-lightbox-dialog { width: calc(100vw - 16px); height: calc(100vh - 16px); padding: 10px; }
  .research-upload-lightbox-dialog footer { align-items: stretch; flex-direction: column; gap: 10px; }
  .research-upload-lightbox-copy { grid-template-columns: auto minmax(0,1fr); }
  .research-upload-lightbox-open { text-align: center; }
  .research-upload-lightbox .lightbox-nav { top: 44%; width: 38px; height: 54px; }
  .research-upload-lightbox .lightbox-nav.previous { left: 12px; }
  .research-upload-lightbox .lightbox-nav.next { right: 12px; }
  .table-lightbox { padding: 8px; }
  .table-lightbox-dialog { width: calc(100vw - 16px); height: calc(100vh - 16px); padding: 16px; }
  .table-lightbox-dialog header, .table-lightbox-dialog footer { align-items: flex-start; }
  .table-lightbox-dialog h2 { font-size: 18px; }
  .table-lightbox-content th, .table-lightbox-content td { min-width: 150px; padding: 10px; }
  .interface-header { min-height: 110px; padding: 20px; }.interface-header p,.interface-live,.future-badge { display: none; }.interface-header h1 { font-size: 28px; }
  .viewer-workspace { min-height: calc(100vh - var(--topbar-h) - 110px); grid-template-columns: 1fr; grid-template-rows: auto auto minmax(0,1fr); }.viewer-phase-tabs,.viewer-node-tabs { display: flex; overflow-x: auto; padding: 10px; border-right: 0; border-bottom: 1px solid var(--line); }.viewer-phase-tabs button { min-width: 150px; }.viewer-node-tabs button { min-width: 165px; }.viewer-content { padding: 24px 18px 60px; }.viewer-node-header { display: grid; gap: 15px; }.viewer-node-header > div:last-child { justify-items: start; }.viewer-node-header h2 { font-size: 31px; }
  .pulse-dashboard { padding: 22px 16px 50px; }.pulse-project-line { grid-template-columns: 1fr; }.pulse-flow { grid-template-columns: 1fr; margin-top: 24px; }.pulse-flow article { min-height: 205px; }.pulse-metrics { grid-template-columns: 1fr 1fr; }.pulse-feedback { grid-template-columns: 1fr; }.pulse-feedback i { display: none; }
  .think-stage { min-height: 1050px; }.think-connections { display: none; }.think-input-card,.think-result-card { left: 50%; right: auto; width: min(300px,86vw); transform: translateX(-50%); }.think-input-card { top: 20px; }.think-result-card { top: auto; bottom: 20px; }.think-agents { left: 50%; top: 250px; bottom: auto; width: min(300px,86vw); transform: translateX(-50%); gap: 10px; }.think-core { left: 50%; top: 690px; }.think-legend { gap: 10px; }
}

.oauth-callback-page { min-height: 100vh; display: grid; place-items: center; padding: 24px; background: radial-gradient(circle at 50% 35%, rgba(106,169,255,.08), transparent 35%), #0c0c11; color: #efecf3; }
.oauth-callback-card { width: min(430px,100%); display: grid; justify-items: center; gap: 12px; border: 1px solid rgba(106,169,255,.28); border-radius: 14px; padding: 38px; background: #17171f; box-shadow: 0 30px 100px rgba(0,0,0,.55); text-align: center; }
.oauth-callback-card h1 { margin: 4px 0 0; font-size: 27px; letter-spacing: -.035em; }
.oauth-callback-card p { margin: 0; color: #9895a2; font-size: 12px; line-height: 1.55; }
.oauth-callback-card a { margin-top: 8px; border: 1px solid rgba(201,255,74,.35); border-radius: 7px; padding: 10px 15px; color: var(--accent); font-size: 11px; text-decoration: none; }

/* Recovery and execution budget controls. */
.export-refresh,.workflow-request-budget{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:14px;line-height:1.5;margin:14px 0;color:var(--text,#e5e7eb)}.workflow-request-budget input{width:85px;padding:8px;background:#171d25;color:#eef2f7;border:1px solid #465363;border-radius:6px}.workflow-request-budget small{display:block;width:100%;color:#aab6c4}.export-refresh input{width:18px;height:18px}#exportVersionNotice{font-size:14px;color:#efd093}#openTrash,#openCheckpoints{margin:10px 8px 8px 0}

/* Compact inspector: keep actions readable and current notices visible while scrolling. */
.rail-disclosure > summary { cursor: pointer; display: list-item; list-style: disclosure-closed inside; margin: 0; padding: 4px 0; }
.rail-disclosure[open] > summary { list-style-type: disclosure-open; margin-bottom: 10px; }
.rail-disclosure { flex-shrink: 0; }
.inspector .setup-zone-title { height: 44px; }
.inspector-collapse { top: 6px; }
.inspector .detail-kicker { margin-top: 12px; font-size: 12px; }
.inspector-content h2 { margin: 6px 0 9px; font-size: 23px; }
.inspector .detail-status { padding: 4px 8px; margin-bottom: 10px; }
.detail-node-controls { margin-bottom: 12px; }
.detail-lock, .detail-reset, .detail-bypass { min-height: 42px; padding: 7px; grid-template-rows: auto; }
.detail-lock b, .detail-reset b, .detail-bypass b { font-size: 12px; }
.detail-node-controls small { display: none; }
.inspector .node-workspace { padding: 10px !important; }
.inspector .workspace-heading { align-items: center; margin-bottom: 8px; }
.inspector .workspace-heading .eyebrow { display: none; }
.inspector .workspace-heading h3 { font-size: 13px !important; margin: 0 !important; }
.inspector .workspace-state { font-size: 10px; padding: 4px 6px; }
.inspector .generation-summary { padding: 8px 10px; margin-bottom: 8px; }
.inspector .generation-summary small { display: none; }
.inspector .asset-library { margin-top: 16px; gap: 10px; }
.inspector .asset-library section { padding: 10px 0 0; }
.inspector .asset-purpose-group { padding: 8px !important; }
.inspector .reference-group > summary { cursor: pointer; padding: 8px 0; }
.inspector .asset-card img, .inspector .asset-card video { aspect-ratio: 4 / 3; max-height: 140px; object-fit: contain; }
.inspector .asset-actions { grid-template-columns: 1fr 28px 28px; }
.inspector .asset-actions button[data-toggle-result], .inspector .asset-actions button[data-toggle-reference] { grid-column: 1 / -1; grid-row: 1; height: 28px; font-size: 11px; }
.inspector .asset-actions .asset-count { min-width: 0; }
.inspector .asset-actions > * { height: 28px; }
.inspector .asset-title { font-size: 11px; }
#inspectorNotice { position: sticky; top: 44px; z-index: 5; padding: 8px 12px; background: #15151d; }
#inspectorNotice[hidden], .inspector-collapsed #inspectorNotice { display: none; }
#workspaceBody > [data-live-error], #workspaceBody > .workspace-error { display: none; }
.inspector-notice { padding: 10px 12px; border: 1px solid; border-radius: 8px; font-size: 13px; line-height: 1.45; }
.inspector-notice.error { border-color: #ff8176; background: #2b1e23; color: #ffd5d0; }
.inspector-notice.review { border-color: #ed9cdb; background: #291f2b; color: #f5d6ed; }
.inspector-notice > b { font-size: 13px; }
.inspector-notice p { margin: 4px 0; max-height: 128px; overflow: auto; overflow-wrap: anywhere; }
.inspector-notice > div { display: flex; gap: 5px; flex-wrap: wrap; }
.inspector-notice button { font: inherit; font-size: 12px; padding: 4px 6px; color: inherit; background: transparent; border: 1px solid currentColor; border-radius: 4px; cursor: pointer; }
.node.needs-review, .node.needs-review.active { border: 2px solid #ed9cdb; box-shadow: 0 0 0 2px rgba(237,156,219,.14); }
.node.needs-review .node-code { color: #ed9cdb; }
.node.needs-review .node-code::after { content: ' ◇'; }
.workspace-state.review { border-color: #ed9cdb; color: #f5bfeb; }
.generation-attempt-history .generation-attempt { display: block; border: 1px solid #36333f; border-radius: 6px; background: #17171e; }
.generation-attempt-history .generation-attempt > summary { display: grid; grid-template-columns: 1fr auto; gap: 4px 8px; padding: 9px; font-size: 11px; }
.generation-attempt > summary > span { font-size: 10px; font-weight: 400; color: #aaa6b3; }
.generation-attempt > div { padding: 0 9px 9px; }
.generation-attempt-history .generation-attempt b { color: #c2bfcc; font-size: 11px; }
.generation-attempt-history .generation-attempt.error { border-color: #ad625f; }
.generation-attempt-history .generation-attempt.error b { color: #ffaaa2; }
.generation-attempt-history .generation-attempt.success b { color: #bddd80; }
.generation-attempt-history .generation-attempt p { color: #c2bfcc; font-size: 12px; margin: 6px 0; }
.generation-attempt-history .generation-attempt.error p { color: #ffd5d0; }
.generation-attempt > summary::before { content: '▸'; grid-row: 1 / 3; }
.generation-attempt[open] > summary::before { content: '▾'; }
.generation-attempt-history .generation-attempt > summary { grid-template-columns: 10px 1fr auto; }
.generation-attempt > summary > span { grid-column: 2 / -1; }
