:root {
  --tp-canvas: #f2efe7;
  --tp-surface: #fbfaf6;
  --tp-surface-2: #e8e4da;
  --tp-ink: #18211e;
  --tp-muted: #5d6862;
  --tp-line: #c9c8bd;
  --tp-line-strong: #929a92;
  --tp-pine: #173b32;
  --tp-accent: #347b62;
  --tp-accent-hover: #26644f;
  --tp-accent-soft: #dbe9e2;
  --tp-amber: #a76514;
  --tp-amber-soft: #f4e6cc;
  --tp-error: #984938;
  --tp-error-soft: #f1ddd8;
  --tp-focus: #1478a6;
  --tp-radius: 4px;
  --tp-mono: "IBM Plex Mono", ui-monospace, monospace;
  --tp-sans: "IBM Plex Sans", system-ui, sans-serif;
}

[data-theme="dark"] {
  --tp-canvas: #111815;
  --tp-surface: #19231f;
  --tp-surface-2: #222f2a;
  --tp-ink: #eef0e8;
  --tp-muted: #aab5ae;
  --tp-line: #34433d;
  --tp-line-strong: #64726c;
  --tp-pine: #d6e6dd;
  --tp-accent: #68a98d;
  --tp-accent-hover: #82bda3;
  --tp-accent-soft: #203d33;
  --tp-amber: #e2a755;
  --tp-amber-soft: #3d311e;
  --tp-error: #e88f7c;
  --tp-error-soft: #442a25;
  --tp-focus: #64c6f1;
}

.tp-v2 { margin: 0; background: var(--tp-canvas); color: var(--tp-ink); font-family: var(--tp-sans); }
.tp-v2 *, .tp-v2 *::before, .tp-v2 *::after { box-sizing: border-box; }
.tp-v2 :where(button, input, select, textarea, a):focus-visible { outline: 3px solid var(--tp-focus); outline-offset: 3px; }
.tp-v2 :where(button, input, select) { min-height: 44px; }
.tp-v2 button, .tp-v2 input, .tp-v2 select, .tp-v2 textarea { font: inherit; }
.tp-v2 button, .tp-v2 a { -webkit-tap-highlight-color: transparent; }
.tp-v2 .mono, .tp-v2 code, .tp-v2 .app-kicker { font-family: var(--tp-mono); }
.tp-v2 img:not(.radargram-image):not([data-scientific-image]) { max-width: 100%; }
.tp-skip-link { position: fixed; left: 12px; top: 12px; z-index: 10000; transform: translateY(-150%); padding: 10px 14px; color: white; background: #111; }
.tp-skip-link:focus { transform: translateY(0); }

/* Shared primitives */
.tp-button { display: inline-flex; min-height: 44px; align-items: center; justify-content: center; gap: 10px; border: 1px solid var(--tp-line-strong); border-radius: var(--tp-radius); padding: 10px 16px; color: var(--tp-ink); background: transparent; font-weight: 650; line-height: 1; text-decoration: none; cursor: pointer; }
.tp-button-primary, .tp-v2 .btn-primary { border-color: var(--tp-accent); background: var(--tp-accent); color: #fff; }
.tp-button-primary:hover, .tp-v2 .btn-primary:hover { background: var(--tp-accent-hover); }
.tp-button-secondary { background: var(--tp-surface); }
.tp-button-quiet { border-color: transparent; }
.tp-overline { color: var(--tp-accent); font: 600 .75rem/1.3 var(--tp-mono); letter-spacing: .1em; }

/* Public landing */
.tp-landing { min-height: 100vh; overflow: clip; }
.tp-public-nav { position: sticky; top: 0; z-index: 40; display: flex; justify-content: space-between; align-items: center; gap: 16px; min-height: 72px; padding: 0 clamp(18px, 4vw, 64px); border-bottom: 1px solid color-mix(in srgb, var(--tp-line) 72%, transparent); background: color-mix(in srgb, var(--tp-canvas) 90%, transparent); backdrop-filter: blur(14px); }
.tp-brand { display: flex; align-items: center; gap: 9px; color: var(--tp-ink); font-size: 1.1rem; font-weight: 700; text-decoration: none; }
.tp-brand img { width: 31px; height: 31px; }
.tp-brand span span { color: var(--tp-accent); }
.tp-public-footer a { color: var(--tp-muted); text-decoration: none; }
.tp-public-footer a:hover { color: var(--tp-ink); }
.tp-public-actions { display: flex; align-items: center; gap: 8px; margin-left: auto; }
.tp-v2 .theme-toggle { min-width: 44px; border: 1px solid var(--tp-line); border-radius: var(--tp-radius); color: var(--tp-ink); background: var(--tp-surface); }
.tp-hero { display: grid; grid-template-columns: minmax(0, 1fr) minmax(420px, .88fr); gap: clamp(42px, 7vw, 110px); align-items: center; min-height: calc(100vh - 72px); padding: clamp(68px, 9vw, 132px) clamp(20px, 6vw, 96px); background-image: linear-gradient(var(--tp-line) 1px, transparent 1px), linear-gradient(90deg, var(--tp-line) 1px, transparent 1px); background-size: 40px 40px; background-position: -1px -1px; }
.tp-hero-copy { max-width: 780px; padding: 30px 0; background: radial-gradient(circle at 40% 50%, var(--tp-canvas) 0 55%, transparent 80%); }
.tp-hero h1 { max-width: 760px; margin: 18px 0 24px; font-size: clamp(3.1rem, 7vw, 6.7rem); line-height: .92; letter-spacing: -.065em; }
.tp-hero-copy > p { max-width: 670px; margin: 0; color: var(--tp-muted); font-size: clamp(1.05rem, 1.6vw, 1.25rem); line-height: 1.65; }
.tp-hero-actions { display: flex; flex-wrap: wrap; gap: 10px; margin: 34px 0 40px; }
.tp-proof-strip { display: grid; grid-template-columns: repeat(3, 1fr); max-width: 680px; margin: 0; border-block: 1px solid var(--tp-line); }
.tp-proof-strip div { padding: 18px 20px 18px 0; }
.tp-proof-strip div + div { padding-left: 20px; border-left: 1px solid var(--tp-line); }
.tp-proof-strip dt { font: 600 1.65rem/1 var(--tp-mono); }
.tp-proof-strip dd { margin: 6px 0 0; color: var(--tp-muted); font-size: .86rem; }
.tp-instrument { border: 1px solid #3c4b45; border-radius: 6px; color: #e9eee9; background: #17221e; box-shadow: 18px 18px 0 color-mix(in srgb, var(--tp-accent) 15%, transparent); }
.tp-instrument > header, .tp-instrument > footer { display: flex; justify-content: space-between; padding: 13px 16px; font: 500 .7rem/1 var(--tp-mono); letter-spacing: .06em; }
.tp-instrument > header { border-bottom: 1px solid #394740; }
.tp-instrument > footer { border-top: 1px solid #394740; color: #9ba8a1; }
.tp-live-dot { color: #8ac6a8; }
.tp-trace-field { height: 130px; border-bottom: 1px solid #394740; opacity: .52; background: repeating-radial-gradient(ellipse at 55% 110%, transparent 0 7px, #77a18e 8px 9px, transparent 10px 17px), linear-gradient(90deg, #17221e, #24362f); }
.tp-graph { margin: 0; padding: 0; list-style: none; }
.tp-graph li { display: grid; grid-template-columns: 34px 1fr auto; gap: 12px; align-items: center; min-height: 70px; padding: 10px 15px; border-top: 1px solid #2d3c35; }
.tp-graph li > span, .tp-graph li > b { font: 500 .68rem var(--tp-mono); color: #8ca198; }
.tp-graph strong, .tp-graph small { display: block; }
.tp-graph small { margin-top: 5px; color: #9ba8a1; }
.tp-graph-gate { background: #312b1e; }
.tp-graph-gate > b { color: #e2a755 !important; }
.tp-section-heading { max-width: 750px; margin-bottom: 48px; }
.tp-section-heading h2, .tp-final-cta h2 { margin: 12px 0 14px; font-size: clamp(2.2rem, 4.6vw, 4.2rem); line-height: 1; letter-spacing: -.045em; }
.tp-section-heading p, .tp-final-cta p { color: var(--tp-muted); font-size: 1.08rem; }
.tp-workflow { padding: clamp(78px, 10vw, 150px) clamp(20px, 6vw, 96px); background: var(--tp-surface); }
.tp-stage-rail { display: grid; grid-template-columns: repeat(5, 1fr); margin: 0; padding: 0; border-top: 1px solid var(--tp-line-strong); list-style: none; }
.tp-stage-rail li { position: relative; padding: 26px 22px 10px 0; border-top: 3px solid transparent; }
.tp-stage-rail li::before { content: ""; position: absolute; width: 8px; height: 8px; top: -5px; left: 0; border-radius: 50%; background: var(--tp-accent); }
.tp-stage-rail span { font: 600 .72rem var(--tp-mono); color: var(--tp-accent); }
.tp-stage-rail h3 { margin: 34px 0 8px; font-size: 1.15rem; }
.tp-stage-rail p { color: var(--tp-muted); line-height: 1.55; }
.tp-final-cta { padding: clamp(80px, 12vw, 180px) 20px; text-align: center; }
.tp-final-cta h2 { max-width: 900px; margin-inline: auto; }
.tp-final-cta > div { display: flex; justify-content: center; gap: 10px; margin-top: 28px; }
.tp-public-footer { display: flex; justify-content: space-between; padding: 28px clamp(20px, 6vw, 96px); border-top: 1px solid var(--tp-line); color: var(--tp-muted); font-size: .88rem; }
.tp-public-footer nav { display: flex; gap: 22px; }

/* Existing application modernization */
.tp-v2 .navbar { border-bottom: 1px solid var(--tp-line); background: color-mix(in srgb, var(--tp-canvas) 93%, transparent); box-shadow: none; backdrop-filter: blur(14px); }
.tp-v2 .nav-inner { max-width: 1600px; }
.tp-v2 .app-shell, .tp-v2 .workspace-shell { background: var(--tp-canvas); }
.tp-v2 .app-main { max-width: 1500px; }
.tp-v2 .workspace-app .workspace-main,
.tp-v2 .gres-workspace .workspace-main { max-width: none; width: auto; flex: 1; margin: 0; }
.tp-v2 .workspace-app.gres-workspace,
.tp-v2 .workspace-app {
  width: 100%;
  max-width: none;
  margin: 0;
  background: #fff;
}
.tp-v2 .workspace-app.gres-workspace .workspace-content,
.tp-v2 .workspace-app.gres-workspace .workspace-main {
  background: #fff;
}
.tp-v2 .workspace-app .tp-context-bar { display: none !important; }
.tp-v2:has(.workspace-app) { background: #fff; }
.tp-v2 :where(.app-card, .workspace-card, .panel, .data-card, .processing-card, .auth-card) { border: 1px solid var(--tp-line); border-radius: var(--tp-radius); background: var(--tp-surface); box-shadow: none; }
.tp-v2 :where(.btn-primary, .btn-secondary, .btn-ghost, .button, button, input, select, textarea) { border-radius: var(--tp-radius); }
.tp-v2 :where(input, select, textarea) { border-color: var(--tp-line-strong); background: var(--tp-surface); color: var(--tp-ink); }
.tp-v2 :where(input, select, textarea)::placeholder { color: var(--tp-muted); }
.tp-v2 .workspace-nav, .tp-v2 .workspace-sidebar { border-right: 1px solid var(--tp-line); background: var(--tp-surface); }
.tp-v2 .workspace-tabs [data-workspace-tab-button] { min-height: 34px; border-radius: 0; }
.tp-v2 .workspace-tabs [data-workspace-tab-button].active { border-left-color: var(--tp-accent); background: var(--tp-accent-soft); color: var(--tp-ink); }
.tp-v2 .workspace-app.gres-workspace :where(button, .gres-cta, .gres-ghost) { min-height: 0; }
.tp-v2 .workspace-app.gres-workspace .gres-cta {
  align-self: center;
  flex: 0 0 auto;
  min-height: 28px;
  height: auto;
  padding: 6px 10px;
  font: 800 8px/1 "IBM Plex Mono", monospace;
  letter-spacing: 1px;
  white-space: nowrap;
}
.tp-v2 .workspace-app.gres-workspace .gres-page-head > .gres-cta {
  margin-top: 2px;
}
.tp-v2 .workspace-app.gres-workspace .workspace-content,
.tp-v2 .workspace-app.gres-workspace [data-workspace-tab],
.tp-v2 .workspace-app.gres-workspace [data-workspace-tab].active {
  background: #fff !important;
  border-left-color: transparent;
  min-height: 0;
}
.tp-context-bar { position: sticky; top: 72px; z-index: 20; display: grid; grid-template-columns: auto 1fr auto; gap: 18px; align-items: center; min-height: 64px; padding: 10px 18px; border: 1px solid var(--tp-line); background: color-mix(in srgb, var(--tp-surface) 94%, transparent); backdrop-filter: blur(12px); }
.tp-context-stage { color: var(--tp-accent); font: 600 .7rem var(--tp-mono); letter-spacing: .08em; }
.tp-context-bar strong, .tp-context-bar small { display: block; }
.tp-context-bar small { margin-top: 3px; color: var(--tp-muted); }
.tp-v2 [role="tablist"] { gap: 2px; border-bottom-color: var(--tp-line); }
.tp-v2 [role="tab"] { min-height: 44px; }
.tp-v2 [role="tab"][aria-selected="true"], .tp-v2 [role="tab"].active { color: var(--tp-ink); border-color: var(--tp-accent); background: var(--tp-accent-soft); }
.tp-v2 .processing-mode-tabs { position: sticky; top: 136px; z-index: 15; padding: 6px; border: 1px solid var(--tp-line); background: var(--tp-surface); }
.tp-v2 .processing-mode-tabs[hidden] { display: none !important; }
.tp-v2 .workspace-app.gres-workspace .processing-toolbar-btn { min-height: 28px; }
.tp-v2 .workspace-app.gres-workspace .gres-processing--studio .gres-cta { min-height: 28px; }
.tp-processing-search { display: grid; gap: 6px; margin: 14px 0; }
.tp-processing-search label { font-weight: 650; }
.tp-structured-fallback { margin-block: 16px; border: 1px solid var(--tp-line); background: var(--tp-surface-2); }
.tp-structured-fallback summary { min-height: 44px; padding: 12px; cursor: pointer; font-weight: 650; }
.tp-readiness-note { padding: 14px; border-left: 3px solid var(--tp-amber); background: var(--tp-amber-soft); color: var(--tp-ink); }

/* Projects registry — G-RES dashboard chrome */
.visually-hidden { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.tp-registry-topbar { position: sticky; top: 0; z-index: 50; display: flex; align-items: center; gap: 16px; height: 48px; padding: 0 24px; border-bottom: 1px solid var(--tp-line); background: var(--tp-surface); }
.tp-registry-brand { display: flex; align-items: center; gap: 8px; margin-right: auto; color: var(--tp-ink); text-decoration: none; }
.tp-registry-logo-wrap { display: inline-flex; align-items: center; padding: 3px 5px; border-radius: 4px; background: #fff; }
.tp-registry-logo-wrap img { height: 22px; width: auto; display: block; }
.tp-registry-brand strong { display: block; font-size: 12px; font-weight: 600; letter-spacing: .3px; }
.tp-registry-brand small { display: block; font: 700 8px/1.2 var(--tp-mono); letter-spacing: 1.5px; color: var(--tp-muted); }
.tp-registry-search-shell { display: flex; align-items: center; min-width: 200px; }
.tp-registry-search-shell .registry-search { width: 220px; max-width: 28vw; min-height: 34px; padding: 5px 12px; border-radius: 4px; background: var(--tp-canvas); font-size: 10px; }
.tp-registry-new { display: inline-flex; align-items: center; min-height: 34px; padding: 5px 13px; border-radius: 4px; background: var(--tp-accent); color: #fff; font: 600 10px/1 var(--tp-mono); letter-spacing: 1.5px; text-decoration: none; }
.tp-registry-new:hover { background: var(--tp-accent-hover); }
.tp-registry-topbar .theme-toggle { min-width: 34px; min-height: 34px; padding: 5px 8px; border: 1px solid var(--tp-line); border-radius: 3px; color: var(--tp-muted); background: transparent; }
.tp-registry-user { width: 26px; height: 26px; display: grid; place-items: center; border-radius: 50%; background: var(--tp-accent); color: #fff; font: 700 10px var(--tp-mono); text-decoration: none; }
.tp-v2 .tp-registry-shell { max-width: none; min-height: calc(100vh - 48px); padding: 18px 20px 40px; }
.tp-v2 .tp-registry-shell .project-registry-host { padding-top: 0; }
.tp-v2 .tp-registry-shell .app-empty { display: none; }
.tp-v2 .registry-title-row h1 { font-family: var(--tp-sans); font-size: 18px; font-weight: 600; letter-spacing: 0; }
.tp-v2 .registry-card { overflow: visible; border-radius: 7px; background: var(--tp-surface); border-color: var(--tp-line); }
.tp-v2 .registry-stat, .tp-v2 .registry-rail-card { background: var(--tp-surface); border-color: var(--tp-line); border-radius: 5px; }
.tp-v2 .registry-filter { border-radius: 4px; min-height: 28px; padding: 5px 9px; font-size: 8px; letter-spacing: .1em; }
.tp-v2 .registry-menu-panel { background: var(--tp-surface); border-color: var(--tp-line); z-index: 100; }
.tp-v2.gres-workspace .workspace-rail,
.tp-v2 .gres-workspace .workspace-rail { background: var(--tp-surface); border-color: var(--tp-line); }
.tp-v2 .gres-workspace .workspace-topbar { background: var(--tp-surface); border-color: var(--tp-line); }
.tp-v2 .gres-panel, .tp-v2 .gres-stat, .tp-v2 .gres-evidence-panel { background: var(--tp-surface); border-color: var(--tp-line); }
.tp-v2 .gres-cta { background: var(--tp-accent); color: #fff; }
.tp-v2 .workspace-tabs button.active { background: var(--tp-accent-soft); border-left-color: var(--tp-accent); }

/* Aurora Guide — G-RES-aligned drawer */
@keyframes auroraGuideIn { from { opacity: 0; transform: translateX(18px); } to { opacity: 1; transform: none; } }
@keyframes auroraGuideSpin { to { transform: rotate(360deg); } }
.aurora-guide-trigger { position: fixed; z-index: 1000; right: max(18px, env(safe-area-inset-right)); bottom: max(18px, env(safe-area-inset-bottom)); display: inline-flex; align-items: center; gap: 11px; min-height: 60px; padding: 6px 18px 6px 7px; border: 1px solid var(--tp-accent); border-radius: 999px !important; color: var(--tp-accent); background: var(--tp-surface); box-shadow: 0 14px 38px rgba(0, 0, 0, .2); font-size: 13px; font-weight: 700; cursor: pointer; }
.aurora-guide-mark { display: grid; place-items: center; width: 46px; height: 46px; border-radius: 50%; background: #fff; padding: 4px; }
.aurora-guide-mark img { width: 100%; height: 100%; object-fit: contain; }
.aurora-guide-backdrop { position: fixed; z-index: 1090; inset: 0; background: rgba(3, 18, 13, .55); backdrop-filter: blur(2px); }
.aurora-guide { position: fixed; z-index: 1100; top: 0; right: 0; bottom: 0; display: flex; flex-direction: column; width: min(430px, 100vw); color: var(--tp-ink); background: var(--tp-surface); border-left: 1px solid var(--tp-line); box-shadow: -24px 0 70px rgba(0, 0, 0, .26); animation: auroraGuideIn .24s cubic-bezier(.22, 1, .36, 1) both; }
.aurora-guide[hidden], .aurora-guide-backdrop[hidden], .aurora-guide-nudge[hidden], .aurora-guide-thinking[hidden], .aurora-guide-progress[hidden] { display: none !important; }
.aurora-guide-header { display: flex; align-items: center; gap: 11px; padding: 18px 18px 14px; border-bottom: 1px solid var(--tp-line); background: var(--tp-surface); }
.aurora-guide-logo { width: 50px; height: 50px; object-fit: contain; border-radius: 11px; background: #fff; padding: 5px; flex-shrink: 0; }
.aurora-guide-stage { font: 700 9px/1.3 var(--tp-mono); letter-spacing: 1.5px; color: var(--tp-accent); text-transform: uppercase; }
.aurora-guide-title { margin: 3px 0 0; font-size: 18px; line-height: 1.2; }
.aurora-guide-close { width: 44px; height: 44px; margin-left: auto; border: 0; border-radius: 50%; background: transparent; color: var(--tp-muted); font-size: 20px; cursor: pointer; }
.aurora-guide-tools { display: flex; gap: 7px; padding: 10px 14px; border-bottom: 1px solid var(--tp-line); overflow-x: auto; scrollbar-width: thin; }
.aurora-guide-tool, .aurora-guide-prompt, .aurora-guide-action { min-height: 44px; border: 1px solid var(--tp-line); border-radius: 7px; background: var(--tp-surface-2); color: var(--tp-muted); padding: 10px 13px; font-size: 12px; line-height: 1.35; font-weight: 700; cursor: pointer; text-align: left; }
.aurora-guide-tool { white-space: nowrap; }
.aurora-guide-action { border-color: var(--tp-accent); color: var(--tp-accent); background: var(--tp-surface); }
.aurora-guide-body { flex: 1; min-height: 0; overflow-y: auto; padding: 16px; display: flex; flex-direction: column; gap: 12px; }
.aurora-guide-welcome { padding: 14px; border: 1px solid var(--tp-line); border-radius: 8px; background: var(--tp-surface-2); font-size: 11px; line-height: 1.65; color: var(--tp-muted); }
.aurora-guide-welcome strong { display: block; color: var(--tp-ink); font-size: 13px; }
.aurora-guide-welcome p { margin: 6px 0 0; }
.aurora-guide-progress { margin-top: 10px; padding-top: 10px; border-top: 1px solid var(--tp-line); white-space: pre-wrap; color: var(--tp-ink); font: 600 10px/1.55 var(--tp-mono); }
.aurora-guide-prompts { display: flex; gap: 7px; flex-wrap: wrap; }
.aurora-guide-prompt { border-color: var(--tp-accent); color: var(--tp-accent); background: var(--tp-accent-soft); }
.aurora-guide-messages { display: flex; flex-direction: column; gap: 12px; }
.aurora-guide-message { max-width: 90%; padding: 10px 12px; border: 1px solid var(--tp-line); border-radius: 8px; font-size: 11px; line-height: 1.65; white-space: pre-wrap; overflow-wrap: anywhere; background: var(--tp-canvas); color: var(--tp-muted); align-self: flex-start; }
.aurora-guide-message.is-user { align-self: flex-end; background: var(--tp-accent); border-color: var(--tp-accent); color: #fff; }
.aurora-guide-actions { display: flex; gap: 6px; flex-wrap: wrap; margin-top: 8px; }
.aurora-guide-thinking { display: flex; align-items: center; gap: 7px; color: var(--tp-muted); font-size: 10px; }
.aurora-guide-thinking::before { content: ""; width: 12px; height: 12px; border: 2px solid var(--tp-line); border-top-color: var(--tp-accent); border-radius: 50%; animation: auroraGuideSpin .7s linear infinite; }
.aurora-guide-form { padding: 13px 14px max(14px, env(safe-area-inset-bottom)); border-top: 1px solid var(--tp-line); background: var(--tp-surface); }
.aurora-guide-form label { display: block; margin-bottom: 7px; font: 700 9px var(--tp-mono); letter-spacing: 1px; color: var(--tp-muted); text-transform: uppercase; }
.aurora-guide-composer-row { display: flex; gap: 7px; align-items: stretch; }
.aurora-guide-form input { flex: 1; min-width: 0; min-height: 46px; border: 1px solid var(--tp-line); border-radius: 7px; background: var(--tp-canvas); color: var(--tp-ink); padding: 10px 12px; font-size: 12px; }
.aurora-guide-send { width: 48px; min-height: 46px; border: 1px solid var(--tp-accent); border-radius: 7px; background: var(--tp-accent); color: #fff; font-size: 18px; cursor: pointer; }
.aurora-guide-send:disabled { opacity: .5; cursor: wait; }
.aurora-guide-form p, #auroraGuideError { display: block; margin: 7px 0 0; color: var(--tp-muted); font-size: 10px; line-height: 1.55; }
.aurora-guide-nudge { position: fixed; z-index: 999; right: max(18px, env(safe-area-inset-right)); bottom: max(76px, calc(env(safe-area-inset-bottom) + 76px)); width: min(300px, calc(100vw - 36px)); padding: 12px 40px 12px 13px; border: 1px solid var(--tp-accent); border-radius: 9px; background: var(--tp-surface); box-shadow: 0 14px 38px rgba(0, 0, 0, .18); color: var(--tp-muted); font-size: 10px; line-height: 1.55; }
.aurora-guide-nudge strong { display: block; color: var(--tp-accent); margin-bottom: 3px; }
.aurora-guide-nudge button { position: absolute; right: 5px; top: 5px; width: 32px; height: 32px; border: 0; background: transparent; color: var(--tp-muted); font-size: 17px; cursor: pointer; }

@media (max-width: 980px) {
  .tp-hero { grid-template-columns: 1fr; min-height: auto; }
  .tp-instrument { max-width: 680px; }
  .tp-stage-rail { grid-template-columns: repeat(2, 1fr); row-gap: 22px; }
  .tp-context-bar { position: static; }
  .tp-v2 .processing-mode-tabs { top: 0; }
}

@media (max-width: 640px) {
  .tp-public-nav { min-height: 64px; padding-inline: 14px; }
  .tp-public-actions .tp-button-quiet { display: none; }
  .tp-public-actions .tp-button-primary { padding-inline: 12px; font-size: .82rem; }
  .tp-hero { padding: 58px 18px 70px; }
  .tp-hero h1 { font-size: clamp(2.8rem, 14vw, 4.2rem); }
  .tp-proof-strip { grid-template-columns: 1fr; }
  .tp-proof-strip div + div { padding-left: 0; border-left: 0; border-top: 1px solid var(--tp-line); }
  .tp-workflow { padding: 72px 18px; }
  .tp-stage-rail { grid-template-columns: 1fr; }
  .tp-final-cta > div, .tp-public-footer { flex-direction: column; }
  .tp-public-footer { gap: 16px; }
  .tp-registry-topbar { padding: 0 12px; gap: 8px; }
  .tp-registry-search-shell { display: none; }
  .tp-registry-brand small { display: none; }
  .tp-v2 .tp-registry-shell { padding: 14px 12px 32px; }
  .aurora-guide { top: 42px; width: 100%; border-left: 0; border-top: 1px solid var(--tp-line); border-radius: 16px 16px 0 0; }
  .aurora-guide-message { max-width: 94%; }
  .aurora-guide-trigger { right: max(12px, env(safe-area-inset-right)); bottom: max(12px, env(safe-area-inset-bottom)); min-height: 56px; }
  .aurora-guide-nudge { right: 12px; bottom: max(72px, calc(env(safe-area-inset-bottom) + 72px)); }
  .tp-context-bar { grid-template-columns: 1fr; }
}

@media (prefers-reduced-motion: reduce) {
  .tp-v2 *, .tp-v2 *::before, .tp-v2 *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
  .aurora-guide { animation: none; }
  .aurora-guide-thinking::before { animation: none; }
}
