:root {
  --signals-bg: #071014;
  --signals-panel: #0c171b;
  --signals-rule: #25353a;
  --signals-rule-strong: #42565d;
  --signals-text: #edf3f2;
  --signals-muted: #9aacb0;
  --signals-accent: #78e5cd;
  --signals-warm: #e0b778;
  --signals-mono: "IBM Plex Mono", ui-monospace, monospace;
}

.signals-page { background: var(--signals-bg); color: var(--signals-text); min-width: 0; }
.signals-page * { box-sizing: border-box; }
.signals-page button,
.signals-page input,
.signals-page select,
.signals-page textarea { font: inherit; }
.signals-page button { cursor: pointer; }
.signals-page button:disabled { cursor: not-allowed; opacity: .38; }
.signals-page code { color: var(--signals-accent); font-family: var(--signals-mono); }

.signals-header {
  align-items: center;
  border-bottom: 1px solid var(--signals-rule);
  display: flex;
  justify-content: space-between;
  min-height: 88px;
  padding: 20px clamp(22px, 4vw, 68px);
}
.signals-header img { display: block; height: 31px; width: auto; }
.signals-header nav { display: flex; flex-wrap: wrap; gap: 26px; }
.signals-header nav a,
.signals-footer { color: var(--signals-muted); font: 500 10px/1.4 var(--signals-mono); letter-spacing: .08em; text-transform: uppercase; }

.signals-page main { overflow: hidden; }
.signals-hero,
.signals-boundary,
.signals-workbench,
.signals-results,
.signals-method { padding-left: clamp(22px, 6vw, 96px); padding-right: clamp(22px, 6vw, 96px); }
.signals-hero { display: grid; gap: clamp(38px, 8vw, 120px); grid-template-columns: minmax(0, 1.15fr) minmax(300px, .85fr); padding-bottom: 100px; padding-top: 110px; }
.signals-kicker,
.signals-workbench-head span,
.signals-results > div > span,
.signals-method > span,
.signals-boundary > div > span { color: var(--signals-accent); font: 500 10px/1.4 var(--signals-mono); letter-spacing: .13em; text-transform: uppercase; }
.signals-hero h1 { font-size: clamp(54px, 8vw, 122px); font-weight: 400; letter-spacing: -.055em; line-height: .88; margin: 24px 0 0; }
.signals-hero-copy { align-self: end; border-left: 1px solid var(--signals-rule); padding-left: clamp(24px, 4vw, 58px); }
.signals-hero-copy > p:first-child { color: #c6d2d3; font-size: clamp(18px, 2vw, 25px); line-height: 1.5; margin: 0 0 40px; }
.signals-capability-state { align-items: center; border-bottom: 1px solid var(--signals-rule); border-top: 1px solid var(--signals-rule); display: grid; gap: 12px; grid-template-columns: auto 1fr auto; padding: 18px 0; }
.signals-capability-state i { background: var(--signals-warm); border-radius: 50%; box-shadow: 0 0 14px color-mix(in srgb, var(--signals-warm) 55%, transparent); height: 8px; width: 8px; }
.signals-capability-state span { color: var(--signals-muted); font-size: 13px; }
.signals-capability-state strong { font: 500 11px var(--signals-mono); text-transform: uppercase; }
.signals-note,
.signals-help { color: var(--signals-muted); font-size: 12px; line-height: 1.6; }

.signals-boundary { border-bottom: 1px solid var(--signals-rule); border-top: 1px solid var(--signals-rule); display: grid; grid-template-columns: minmax(260px, .8fr) minmax(0, 1.2fr); padding-bottom: 70px; padding-top: 70px; }
.signals-boundary h2,
.signals-workbench h2,
.signals-results h2,
.signals-method h2 { font-size: clamp(32px, 4vw, 58px); font-weight: 400; letter-spacing: -.035em; line-height: 1.05; margin: 18px 0 0; }
.signals-boundary ul { display: grid; grid-template-columns: 1fr 1fr; list-style: none; margin: 0; padding: 0; }
.signals-boundary li { border-left: 1px solid var(--signals-rule); border-top: 1px solid var(--signals-rule); min-height: 130px; padding: 24px; }
.signals-boundary li:nth-child(-n+2) { border-top: 0; }
.signals-boundary li strong,
.signals-boundary li span { display: block; }
.signals-boundary li strong { color: var(--signals-text); font-size: 15px; margin-bottom: 12px; }
.signals-boundary li span { color: var(--signals-muted); font-size: 13px; line-height: 1.55; }

.signals-workbench { padding-bottom: 96px; padding-top: 96px; }
.signals-workbench-head { align-items: end; display: grid; gap: 70px; grid-template-columns: 1fr 1fr; margin-bottom: 55px; }
.signals-workbench-head > p { border-left: 2px solid var(--signals-warm); color: #c9d3d4; line-height: 1.65; margin: 0; padding-left: 24px; }
.signals-form { border: 1px solid var(--signals-rule); display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.signals-form fieldset { border: 0; margin: 0; min-width: 0; padding: 34px; }
.signals-form fieldset:nth-child(2n) { border-left: 1px solid var(--signals-rule); }
.signals-form fieldset:nth-child(n+3) { border-top: 1px solid var(--signals-rule); }
.signals-form legend { display: block; font-size: 17px; padding: 0 0 28px; width: 100%; }
.signals-form legend b { color: var(--signals-accent); font: 500 10px var(--signals-mono); margin-right: 12px; }
.signals-form label:not(.signals-consent) { color: #c5d1d2; display: block; font-size: 12px; margin: 16px 0 8px; }
.signals-form input,
.signals-form select,
.signals-form textarea { background: #071013; border: 1px solid var(--signals-rule-strong); border-radius: 0; color: var(--signals-text); padding: 12px; width: 100%; }
.signals-form textarea { font-family: var(--signals-mono); font-size: 12px; line-height: 1.6; resize: vertical; }
.signals-inline { display: grid; gap: 20px; grid-template-columns: 1fr 1fr; }
.signals-form button,
.signals-result-actions button,
.signals-result-actions a { background: transparent; border: 1px solid var(--signals-rule-strong); color: var(--signals-text); display: inline-flex; justify-content: center; margin-top: 20px; padding: 13px 18px; text-decoration: none; }
.signals-form button:not(:disabled):hover,
.signals-form button:not(:disabled):focus-visible,
.signals-result-actions a:hover,
.signals-result-actions a:focus-visible { border-color: var(--signals-accent); color: var(--signals-accent); }
.signals-readout { margin: 0; }
.signals-readout > div { border-top: 1px solid var(--signals-rule); display: grid; gap: 18px; grid-template-columns: 140px minmax(0, 1fr); padding: 13px 0; }
.signals-readout dt { color: var(--signals-muted); font-size: 11px; }
.signals-readout dd { font: 500 11px/1.5 var(--signals-mono); margin: 0; overflow-wrap: anywhere; text-align: right; }
.signals-consent { align-items: start; border-top: 1px solid var(--signals-rule); display: grid; gap: 12px; grid-template-columns: auto 1fr; margin-top: 22px; padding-top: 20px; }
.signals-consent input { margin: 3px 0 0; width: auto; }
.signals-consent span { color: var(--signals-muted); font-size: 12px; line-height: 1.55; }
.signals-actions { display: flex; flex-wrap: wrap; gap: 12px; }
.signals-status { border-left: 2px solid var(--signals-accent); color: var(--signals-muted); font-size: 12px; line-height: 1.55; margin: 22px 0 0; min-height: 40px; padding-left: 14px; }

.signals-results { border-top: 1px solid var(--signals-rule); display: grid; gap: 70px; grid-template-columns: .75fr 1.25fr; padding-bottom: 88px; padding-top: 88px; }
.signals-results > div > p,
.signals-method p { color: var(--signals-muted); line-height: 1.7; max-width: 720px; }
.signals-artifact,
#signals-artifacts li { border-top: 1px solid var(--signals-rule); color: #c4d0d1; padding: 15px 0; }
#signals-artifacts { list-style: decimal-leading-zero; margin: 0; padding-left: 36px; }
#signals-artifacts button { background: transparent; border: 0; color: var(--signals-accent); cursor: pointer; padding: 0; text-align: left; }
#signals-artifacts small { color: var(--signals-muted); display: block; font: 10px/1.6 var(--signals-mono); overflow-wrap: anywhere; }
.signals-result-actions { display: flex; flex-wrap: wrap; gap: 12px; }
.signals-method { border-top: 1px solid var(--signals-rule); padding-bottom: 100px; padding-top: 88px; }
.signals-footer { align-items: center; border-top: 1px solid var(--signals-rule); color: #b8c6c8; display: flex; justify-content: space-between; min-height: 88px; padding: 22px clamp(22px, 4vw, 68px); }
.signals-footer div { display: flex; flex-wrap: wrap; gap: 24px; }
.signals-footer a { color: #c7d2d3; }

@media (max-width: 860px) {
  .signals-hero,
  .signals-boundary,
  .signals-workbench-head,
  .signals-results { grid-template-columns: 1fr; }
  .signals-hero { padding-top: 70px; }
  .signals-hero-copy { border-left: 0; border-top: 1px solid var(--signals-rule); padding-left: 0; padding-top: 34px; }
  .signals-form { grid-template-columns: 1fr; }
  .signals-form fieldset:nth-child(2n) { border-left: 0; }
  .signals-form fieldset + fieldset { border-top: 1px solid var(--signals-rule); }
  .signals-boundary ul { margin-top: 36px; }
}

@media (max-width: 580px) {
  .signals-header { align-items: flex-start; flex-direction: column; gap: 18px; }
  .signals-header nav { gap: 16px; }
  .signals-boundary ul { grid-template-columns: 1fr; }
  .signals-boundary li { border-left: 0; }
  .signals-boundary li:nth-child(2) { border-top: 1px solid var(--signals-rule); }
  .signals-form fieldset { padding: 24px 18px; }
  .signals-inline { grid-template-columns: 1fr; }
  .signals-readout > div { grid-template-columns: 1fr; gap: 6px; }
  .signals-readout dd { text-align: left; }
  .signals-footer { align-items: flex-start; flex-direction: column; gap: 18px; }
}

@media (prefers-reduced-motion: reduce) { *, *::before, *::after { scroll-behavior: auto !important; } }
