:root {
  color-scheme: dark;
  --c-orange: #ff5c00;
  --c-orange-hover: #eb5100;
  --c-orange-soft: #2d1b12;
  --c-red: #f04452;
  --c-pixel-shadow: #070504;
  --c-dark: #120c09;
  --c-dark-brown: #29231e;
  --c-bg: #0e0b09;
  --c-surface: #1b1511;
  --c-border: #423227;
  --c-text: #f5eee8;
  --c-text-muted: #c5b6aa;
  --c-danger: #ff9a8d;
  --c-danger-bg: #301512;
  --c-success: #94d3a9;
  --c-success-bg: #14271b;
  --c-warn: #e8b969;
  --c-warn-bg: #2e2112;
  --radius-sm: 0;
  --radius-md: 0;
  --radius-lg: 0;
  --font-sans: Arial, Helvetica, system-ui, sans-serif;
  --font-mono: ui-monospace, SFMono-Regular, Consolas, monospace;
}

*, *::before, *::after { box-sizing: border-box; }
[hidden] { display: none !important; }
html { scroll-behavior: smooth; scroll-padding-top: 20px; font-family: var(--font-sans); color: var(--c-text); background: var(--c-bg); font-size: 17px; line-height: 1.5; }
body { margin: 0; min-width: 280px; min-height: 100vh; display: flex; flex-direction: column; }
button, input, textarea { font: inherit; }
a { color: inherit; }
button, a, textarea { -webkit-tap-highlight-color: transparent; }
button { touch-action: manipulation; }
:focus-visible { outline: 3px solid var(--c-orange); outline-offset: 4px; }
.container { width: min(100%, 1440px); margin-inline: auto; padding-inline: 18px; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.skip-link { position: fixed; z-index: 20; top: 10px; left: 12px; padding: 12px 18px; background: var(--c-dark); color: white; transform: translateY(-160%); }
.skip-link:focus { transform: none; }

/* Mobile first: a short, usable introduction before the live workspace. */
.site-nav { background: var(--c-bg); border-bottom: 2px solid var(--c-border); }
.site-nav > .container { min-height: 60px; display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.site-nav a { text-decoration: none; }
.site-nav__brand { display: inline-flex; align-items: center; gap: 13px; font: 900 17px/1.3 var(--font-mono); letter-spacing: -0.045em; }
.site-nav__brand::before { content: ''; flex: 0 0 16px; width: 16px; height: 20px; background: linear-gradient(var(--c-orange),var(--c-orange)) 0 0 / 8px 4px, linear-gradient(var(--c-orange),var(--c-orange)) 4px 4px / 8px 4px, linear-gradient(var(--c-red),var(--c-red)) 8px 8px / 8px 4px, linear-gradient(var(--c-orange),var(--c-orange)) 4px 12px / 8px 4px, linear-gradient(var(--c-orange),var(--c-orange)) 0 16px / 8px 4px; background-repeat: no-repeat; }
.site-nav__brand span { display: none; }
.site-nav__links { font: 700 12px/1.4 var(--font-mono); text-transform: uppercase; }
.site-nav__links a { display: inline-flex; align-items: center; min-height: 44px; }
.site-nav__links a:hover { color: #ff9b62; }
.hero { background-color: var(--c-bg); background-image: linear-gradient(#ff6a2206 1px,transparent 1px),linear-gradient(90deg,#ff6a2206 1px,transparent 1px); background-size: 24px 24px; padding-block: 28px 26px; }
.hero__grid { display: grid; gap: 34px; }
.hero__content { min-width: 0; }
.hero__status-bar { display: flex; flex-wrap: wrap; align-items: center; gap: 7px 18px; margin-bottom: 23px; }
.status-badge { display: inline-flex; align-items: center; gap: 7px; color: var(--c-text-muted); font: 600 12px/1.5 var(--font-mono); }
.status-badge::before { content: ''; width: 6px; height: 6px; background: currentColor; flex: 0 0 auto; box-shadow: 0 0 0 2px var(--c-bg),0 0 0 3px currentColor; margin-inline: 3px; }
.status-badge--ready { color: var(--c-success); }
.status-badge--offline { color: var(--c-warn); }
.mode-tag { color: var(--c-text-muted); font: 500 12px/1.5 var(--font-mono); letter-spacing: 0.035em; text-transform: uppercase; }
.hero__title { margin: 0 0 20px; color: var(--c-text); font-size: clamp(44px, 13.7vw, 66px); font-weight: 900; line-height: 0.87; letter-spacing: -0.06em; text-transform: uppercase; }
.hero__title-line { display: block; text-shadow: 3px 3px 0 #503024; }
.hero__title-line:last-child { color: var(--c-orange); text-shadow: 3px 3px 0 #6b231b; }
.hero__title-line + .hero__title-line { margin-top: 3px; }
.hero__title--pixel { max-width: 690px; }
.hero__pixel-title { display: block; width: 100%; height: auto; overflow: visible; color: var(--c-orange); fill: currentColor; shape-rendering: crispEdges; }
.hero__pixel-title-top { fill: var(--c-text); }
.hero__subtitle { max-width: 450px; margin: 0 0 22px; font-size: 18px; line-height: 1.4; letter-spacing: -0.025em; }
.hero__steps { list-style: none; padding: 0; margin: 0 0 23px; display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 8px 12px; }
.hero__step { display: flex; align-items: center; gap: 8px; font: 600 14px/1.5 var(--font-mono); text-transform: uppercase; }
.hero__step span { display: grid; place-items: center; flex: 0 0 30px; height: 30px; color: #ff9b62; font-size: 19px; font-weight: 700; border: 1px solid #7f4024; background: #21140f; box-shadow: 2px 2px 0 var(--c-pixel-shadow); }
.hero__actions { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; }
.hero__actions .btn { padding-inline: 9px; font-size: 16px; }
.hero__actions .btn--primary { grid-column: 1 / -1; font-size: 16px; min-height: 48px; }
.hero__visual { display: none; min-width: 0; }
.phone-mockup { position: relative; width: 100%; max-width: 360px; padding: 24px 22px; color: white; background: var(--c-dark); border: 2px solid #76513a; box-shadow: 6px 6px 0 var(--c-pixel-shadow); border-radius: 0; }
.phone-mockup::before { content: ''; position: absolute; top: -2px; left: 22px; width: 40px; height: 4px; background: var(--c-orange); box-shadow: 44px 0 0 #85351e,56px 0 0 #85351e; pointer-events: none; }
.phone-mockup__notch { display: none; }
.phone-mockup__header { display: flex; align-items: center; gap: 11px; padding-bottom: 17px; margin-bottom: 18px; border-bottom: 1px solid #554235; }
.phone-mockup__avatar { width: 36px; height: 36px; flex: 0 0 auto; display: grid; place-items: center; background: var(--c-orange); color: var(--c-dark); font: 900 14px/1 var(--font-mono); clip-path: polygon(4px 0,calc(100% - 4px) 0,calc(100% - 4px) 4px,100% 4px,100% calc(100% - 4px),calc(100% - 4px) calc(100% - 4px),calc(100% - 4px) 100%,4px 100%,4px calc(100% - 4px),0 calc(100% - 4px),0 4px,4px 4px); }
.phone-mockup__name { font-size: 16px; font-weight: 700; }
.phone-mockup__meta { color: #c1b7aa; font: 12px/1.6 var(--font-mono); }
.phone-mockup__chat { display: flex; flex-direction: column; gap: 12px; }
.chat-bubble { max-width: 94%; padding: 12px 14px; font-size: 14px; line-height: 1.45; border-radius: 0; overflow-wrap: anywhere; clip-path: polygon(4px 0,100% 0,100% calc(100% - 4px),calc(100% - 4px) calc(100% - 4px),calc(100% - 4px) 100%,0 100%,0 4px,4px 4px); }
.chat-bubble--user { align-self: flex-end; background: #30241a; color: #e8e0d6; }
.chat-bubble--investor { align-self: flex-start; background: var(--c-orange); color: var(--c-dark); font-weight: 700; }

/* Pixel bevels are decorative; focus outlines and hit areas stay rectangular. */
.btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 44px; padding: 12px 17px; border: 2px solid transparent; border-radius: 0; box-shadow: 4px 4px 0 var(--c-pixel-shadow); font-size: 16px; font-weight: 700; line-height: 1.35; text-align: center; text-decoration: none; cursor: pointer; transition: background-color 150ms ease, border-color 150ms ease, color 150ms ease; }
.btn:active:not(:disabled) { box-shadow: 2px 2px 0 var(--c-pixel-shadow),inset 2px 2px 0 #0004; }
.btn:disabled { opacity: 0.55; cursor: wait; }
.btn--primary { background: var(--c-orange); color: var(--c-dark); border-color: #ff9c5b #b83b08 #b83b08 #ff9c5b; }
.btn--primary:hover:not(:disabled) { background: var(--c-orange-hover); }
.btn--secondary { background: #2d241d; color: var(--c-text); border-color: #615043; }
.btn--secondary:hover:not(:disabled) { background: #3c2d22; }
.btn--outline-orange { color: #ffb080; background: transparent; border-color: #a95629; }
.btn--outline-orange:hover:not(:disabled) { background: var(--c-orange-soft); }
.btn--ghost-light { background: transparent; color: var(--c-text); border-color: #705a49; }
.btn--ghost-light:hover:not(:disabled) { background: #2e2118; border-color: #a5866e; }
.btn--sm { min-height: 44px; padding: 9px 12px; font-size: 16px; }
.btn--lg { min-height: 50px; font-size: 17px; padding: 14px 20px; }

.workspace { flex: 1; padding-block: 27px 56px; scroll-margin-top: 12px; }
.stepper { margin-bottom: 26px; }
.stepper__list { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 6px; list-style: none; margin: 0; padding: 0; }
.stepper__item { min-width: 0; min-height: 66px; padding: 13px 10px; display: flex; align-items: center; gap: 9px; border: 1px solid var(--c-border); background: var(--c-surface); box-shadow: inset 0 -3px 0 #090605; color: #c5b6aa; font-size: 14px; font-weight: 700; }
.stepper__num { display: grid; place-items: center; flex: 0 0 34px; height: 34px; border: 1px solid #634431; background: var(--c-dark); font: 600 19px/1 var(--font-mono); color: #b7a596; }
.stepper__item--active { background: var(--c-orange); border-color: var(--c-orange); color: var(--c-dark); }
.stepper__item--active .stepper__num { color: #ff9e66; border-color: var(--c-dark); }
.stepper__item--done { background: #30241a; color: var(--c-text); }
.stepper__item--done .stepper__num { color: #ffac79; }
.card { position: relative; min-width: 0; padding: 22px 18px; background: var(--c-surface); border: 1px solid var(--c-border); border-radius: 0; box-shadow: 4px 4px 0 var(--c-pixel-shadow); }
.card::before,.card::after { content: ''; position: absolute; width: 12px; height: 12px; border-color: #8e4927; border-style: solid; pointer-events: none; }
.card::before { left: -1px; top: -1px; border-width: 3px 0 0 3px; }
.card::after { right: -1px; bottom: -1px; border-width: 0 3px 3px 0; }
.stage-panel__header { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-start; gap: 16px; margin-bottom: 18px; }
.stage-panel__header > div { min-width: 0; }
.stage-panel__header-btns { display: flex; flex-wrap: wrap; gap: 7px; }
.eyebrow { display: block; margin-bottom: 9px; color: #ffac79; font: 600 12px/1.4 var(--font-mono); letter-spacing: 0.09em; text-transform: uppercase; }
.eyebrow::before { content: ''; display: inline-block; width: 5px; height: 5px; margin-right: 11px; vertical-align: 1px; background: var(--c-orange); box-shadow: 3px 3px 0 #84321c; }
.stage-panel__title { margin: 0; color: var(--c-text); font-size: clamp(25px,6.7vw,34px); line-height: 1.08; font-weight: 700; letter-spacing: -0.045em; }
.stage-panel__lead { max-width: 780px; margin: 0 0 24px; color: var(--c-text-muted); font-size: 18px; line-height: 1.6; }
.privacy-note { margin: 0 0 18px; max-width: 780px; color: #b6a99c; font-size: 16px; line-height: 1.6; }
.field { margin-bottom: 22px; }
.field__label { display: block; margin-bottom: 9px; color: var(--c-text); font-size: 17px; font-weight: 700; }
.field__textarea { display: block; width: 100%; min-height: 180px; padding: 15px; resize: vertical; border: 1px solid #716052; border-radius: 0; box-shadow: inset 3px 3px 0 #070504; background: #100c09; color: var(--c-text); font-size: 18px; line-height: 1.55; transition: border-color 150ms ease; }
.field__textarea::placeholder { color: #ad9d8e; }
.field__textarea:focus { border-color: #ff8b45; outline: 2px solid #ff8b45; outline-offset: 2px; }
.field__textarea--invalid { border-color: var(--c-danger); background: #301512; }
.field__footer { display: flex; flex-wrap: wrap; align-items: flex-start; justify-content: space-between; gap: 12px; margin-top: 10px; }
.field__hint { color: var(--c-text-muted); font-size: 16px; line-height: 1.65; }
.field__counter { flex: 0 0 auto; color: #b6a99c; font: 500 14px/1.6 var(--font-mono); }
.field__counter--invalid { color: var(--c-danger); }
.form-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; }
.form-actions > .btn { width: 100%; }

.persona-selector { min-width: 0; margin: 0 0 24px; padding: 0; border: 0; }
.persona-selector__title { padding: 0; color: var(--c-text); font-size: 23px; line-height: 1.25; font-weight: 700; letter-spacing: -0.025em; }
.persona-selector > .field__hint { max-width: 780px; margin: 10px 0 18px; }
.persona-options { display: grid; grid-template-columns: minmax(0, 1fr); gap: 10px; }
.persona-option { position: relative; display: block; min-width: 0; cursor: pointer; }
.persona-option__radio { position: absolute; top: 12px; right: 12px; z-index: 1; width: 20px; height: 20px; margin: 0; accent-color: var(--c-orange); cursor: inherit; }
.persona-option__body { display: flex; align-items: flex-start; gap: 13px; min-width: 0; height: 100%; padding: 12px 38px 12px 12px; border: 2px solid #5c493b; background: #160f0b; box-shadow: 3px 3px 0 var(--c-pixel-shadow); }
.persona-option__portrait { flex: 0 0 64px; display: block; width: 64px; height: 64px; object-fit: contain; background: #100c09; image-rendering: pixelated; }
.persona-option__copy { display: flex; min-width: 0; flex-direction: column; gap: 7px; overflow-wrap: anywhere; }
.persona-option__number { color: #bba794; font: 500 11px/1.45 var(--font-mono); }
.persona-option__name { color: var(--c-text); font-size: 18px; line-height: 1.2; }
.persona-option__trait { color: #ffb685; font-size: 15px; line-height: 1.45; }
.persona-option__focus { color: var(--c-text-muted); font-size: 14px; line-height: 1.5; }
.persona-option:hover .persona-option__body { border-color: #a76c45; }
.persona-option__radio:checked + .persona-option__body { border-color: var(--c-orange); background: #2a1b10; box-shadow: 3px 3px 0 #8d360d; }
.persona-option__radio:focus-visible + .persona-option__body { outline: 3px solid #ffe1bf; outline-offset: 3px; }
.persona-selector:disabled .persona-option { cursor: default; }
.persona-preview { margin-top: 0; }
.round-persona { margin: 0 0 18px; padding: 13px 16px; border-left: 3px solid var(--c-orange); background: var(--c-surface); color: #ffb685; font-size: 16px; line-height: 1.5; }

@media (min-width: 720px) {
  .persona-options { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .persona-option__portrait { flex-basis: 80px; width: 80px; height: 80px; }
}

@media (min-width: 1120px) {
  .persona-options { grid-template-columns: repeat(5, minmax(0, 1fr)); }
  .persona-option__body { flex-direction: column; gap: 15px; padding: 14px; }
  .persona-option__portrait { flex-basis: auto; align-self: center; width: min(100%, 150px); height: auto; aspect-ratio: 1; }
  .persona-option__copy { gap: 9px; }
  .persona-option__name { min-height: 44px; }
}

.banner { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 15px; margin-bottom: 22px; padding: 18px; border: 1px solid var(--c-border); border-left-width: 4px; border-radius: 0; }
.banner__body { flex: 1 1 280px; min-width: 0; }
.banner__title { display: block; margin-bottom: 5px; font-size: 17px; line-height: 1.45; font-weight: 700; }
.banner__desc { margin: 0; font-size: 16px; line-height: 1.6; }
.banner__actions { display: flex; flex-wrap: wrap; gap: 8px; }
.banner--demo { background: var(--c-warn-bg); border-color: #806035; color: #f0ca82; }
.banner--error { background: var(--c-danger-bg); border-color: #a44c40; color: #ffc1b6; }
.banner--stamp { background: var(--c-dark); border-color: var(--c-border); color: #ffbf8e; font-size: 16px; }
.api-demo-notice { border-left-color: #d89a3c; }

.criteria-preview { margin-top: 30px; padding-top: 24px; border-top: 1px solid var(--c-border); }
.criteria-preview__title { margin: 0 0 16px; font-size: 17px; font-weight: 700; line-height: 1.5; }
.criteria-preview__list { list-style: none; display: grid; grid-template-columns: 1fr; margin: 0; padding: 0; border-top: 1px solid var(--c-border); }
.criteria-preview__item { display: flex; align-items: baseline; gap: 12px; padding: 11px 0; border-bottom: 1px solid var(--c-border); font-size: 16px; line-height: 1.5; }
.criteria-preview__num { flex: 0 0 20px; color: #ffac79; font: 500 18px/1.5 var(--font-mono); }
#persona-name { margin: 0 0 8px; font-size: 20px; letter-spacing: -0.025em; }
#persona-intro { margin: 0 0 8px; font-size: 17px; color: var(--c-text-muted); }
#persona-scoring { font-size: 16px; color: var(--c-text-muted); }
#facts-panel { margin-block: 24px; }
#facts-panel h3, #facts-panel h4 { font-size: 18px; }
#facts-panel ul { padding-left: 18px; font-size: 17px; color: var(--c-text-muted); }
#facts-panel li + li { margin-top: 7px; }

.qa-progress { position: relative; height: 12px; margin-bottom: 26px; background: #413024; overflow: hidden; box-shadow: 0 0 0 1px #67412b,0 3px 0 var(--c-pixel-shadow); }
.qa-progress::after { content: ''; position: absolute; inset: 0; background: repeating-linear-gradient(90deg,transparent 0,transparent calc(20% - 4px),var(--c-surface) calc(20% - 4px),var(--c-surface) 20%); pointer-events: none; }
.qa-progress__fill { height: 100%; width: 20%; background: var(--c-orange); transition: width 260ms ease; }
.chat-history { display: flex; flex-direction: column; gap: 13px; max-height: 370px; overflow-y: auto; margin-bottom: 24px; padding: 15px 10px; background: #241b15; border: 1px solid var(--c-border); scrollbar-width: thin; scrollbar-color: #705a49 #241b15; }
.chat-history:empty { display: none; }
.chat-history--compact { max-height: none; margin-top: 18px; margin-bottom: 0; }
.history-msg { max-width: 94%; padding: 13px 14px; border: 1px solid transparent; border-radius: 0; box-shadow: 3px 3px 0 #120b08; }
.history-msg--user { align-self: flex-end; background: var(--c-dark); color: #f4eee5; }
.history-msg--investor { align-self: flex-start; background: #27170f; border-color: #825031; color: var(--c-text); }
.history-msg__meta { display: block; margin-bottom: 5px; font: 500 12px/1.5 var(--font-mono); letter-spacing: 0.05em; text-transform: uppercase; opacity: 0.7; }
.history-msg__text { margin: 0; font-size: 17px; line-height: 1.6; white-space: pre-wrap; overflow-wrap: anywhere; }
.question-box { padding: 20px 17px; margin-bottom: 24px; border: 1px solid #7b4624; border-left: 4px solid var(--c-orange); background: var(--c-orange-soft); border-radius: 0; box-shadow: 4px 4px 0 var(--c-pixel-shadow); }
.question-box__badge-row { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 12px; margin-bottom: 17px; }
.question-box__speaker { font: 600 12px/1.5 var(--font-mono); letter-spacing: 0.035em; text-transform: uppercase; color: #ffac79; }
.question-box__step { flex: 0 0 auto; padding: 6px 8px; background: var(--c-dark); border: 1px solid #8e4927; box-shadow: 2px 2px 0 #070504; font: 700 18px/1 var(--font-mono); }
.question-box__title { margin: 0 0 13px; font-size: 22px; line-height: 1.15; letter-spacing: -0.035em; }
.question-box__text { margin: 0 0 20px; font-size: 18px; line-height: 1.55; white-space: pre-wrap; overflow-wrap: anywhere; }
.question-box__hint { padding-top: 13px; border-top: 1px solid #63432e; color: #d1bba9; font-size: 16px; line-height: 1.6; }
.question-box__hint-label { color: #f1d3bc; }

.stage-panel-group { display: flex; flex-direction: column; gap: 24px; }
.result-hero { display: grid; grid-template-columns: 1fr; gap: 25px; background: var(--c-dark); border-color: var(--c-border); color: #fffefa; }
.result-hero .stage-panel__title { color: #fffefa; }
.result-hero .eyebrow { color: #ff9e66; }
.result-hero__main { min-width: 0; }
.result-hero__summary { margin: 18px 0 0; color: #d9d0c4; font-size: 17px; line-height: 1.7; white-space: pre-wrap; overflow-wrap: anywhere; }
.score-ring { display: flex; align-items: baseline; justify-content: space-between; flex-wrap: wrap; gap: 12px; padding-top: 20px; border-top: 1px solid #51483d; }
.score-ring__label { color: #d9c3af; font: 500 12px/1.5 var(--font-mono); text-transform: uppercase; }
.score-ring__numbers { font-weight: 700; line-height: 1; letter-spacing: -0.05em; font-variant-numeric: tabular-nums; }
.score-ring__value { color: #ff772b; font-size: 80px; text-shadow: 3px 3px 0 #6b231b; }
.score-ring__sep, .score-ring__max { color: #b1a79c; font-size: 28px; }
.result-tabs-bar { display: flex; flex-wrap: wrap; gap: 8px; }
.result-block__header { margin-bottom: 24px; }
.result-block__title { margin: 0; font-size: 25px; line-height: 1.1; font-weight: 700; letter-spacing: -0.04em; }
.score-legend { max-width: 740px; margin-top: 16px; }
.criteria-grid { display: grid; grid-template-columns: 1fr; gap: 0; border-top: 1px solid var(--c-border); }
.criterion-card { min-width: 0; display: flex; flex-direction: column; gap: 12px; padding: 22px 0; border-bottom: 1px solid var(--c-border); }
.criterion-card__top { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-start; gap: 16px; }
.criterion-card__name { margin: 0; font-size: 18px; line-height: 1.3; letter-spacing: -0.02em; font-weight: 700; }
.criterion-card__score { flex: 0 0 auto; white-space: nowrap; align-self: flex-start; padding: 4px 7px; background: var(--c-dark); color: white; box-shadow: 2px 2px 0 var(--c-pixel-shadow); font: 600 16px/1.3 var(--font-mono); }
.criterion-card__score--high { background: #235a3b; }
.criterion-card__score--mid { background: var(--c-orange); color: var(--c-dark); }
.criterion-card__score--low { background: #421f18; color: #ffb4a1; }
.criterion-card__bar { position: relative; height: 8px; overflow: hidden; background: #423227; }
.criterion-card__bar::after { content: ''; position: absolute; inset: 0; background: repeating-linear-gradient(90deg,transparent 0,transparent calc(10% - 3px),var(--c-surface) calc(10% - 3px),var(--c-surface) 10%); pointer-events: none; }
.criterion-card__bar-fill { height: 100%; background: var(--c-orange); }
.criterion-card__comment { margin: 0; color: var(--c-text-muted); font-size: 17px; line-height: 1.65; }
.criterion-card__evidence { margin: 0; padding-left: 16px; color: var(--c-text-muted); font-size: 16px; }
.tips-list { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: 1fr; gap: 0; border-top: 1px solid var(--c-border); }
.tip-card { min-width: 0; padding: 23px 0; border-bottom: 1px solid var(--c-border); }
.tip-card__num { display: inline-block; margin-bottom: 15px; padding: 6px 9px; border: 1px solid #8e4927; box-shadow: 3px 3px 0 var(--c-pixel-shadow); color: #ffac79; background: #26160e; font: 700 18px/1.4 var(--font-mono); text-transform: uppercase; }
.tip-card__title { margin: 0 0 13px; font-size: 21px; font-weight: 700; line-height: 1.12; letter-spacing: -0.035em; }
.tip-card__text { margin: 0; font-size: 17px; line-height: 1.7; color: #c5b6aa; }
.transcript-details__summary { min-height: 44px; padding-block: 11px; cursor: pointer; font-size: 16px; font-weight: 700; line-height: 1.5; }
.result-footer-actions { display: flex; flex-wrap: wrap; gap: 9px; }
.result-footer-actions > .btn { width: 100%; }

.footer { padding-block: 27px; border-top: 2px solid var(--c-border); background: var(--c-dark); color: #bdb4a8; }
.footer__inner { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-start; gap: 24px; }
.footer__brand { display: flex; flex-direction: column; gap: 8px; max-width: 340px; }
.footer__brand strong { color: #fffefa; font-size: 21px; line-height: 1; font-weight: 700; letter-spacing: -0.04em; }
.footer__brand > span { font-size: 16px; line-height: 1.6; }
.footer__meta { display: flex; flex-direction: column; gap: 10px; font: 500 12px/1.6 var(--font-mono); }
.footer__meta a { display: inline-flex; align-items: center; min-height: 44px; color: #ffad7c; text-underline-offset: 4px; }

.stepper__label { min-width: 0; overflow-wrap: anywhere; }

@media (max-width: 359px) {
  .hero__steps, .stepper__list, .hero__actions { grid-template-columns: 1fr; }
  .score-ring__value { font-size: 72px; }
}

@media (min-width: 480px) {
  .container { padding-inline: 26px; }
  .hero__actions { display: flex; flex-wrap: wrap; }
  .hero__actions .btn { padding-inline: 15px; min-height: 45px; font-size: 16px; }
  .hero__steps { grid-template-columns: repeat(2, minmax(0,1fr)); gap: 12px; }
  .hero__step { font-size: 14px; }
  .form-actions > .btn, .result-footer-actions > .btn { width: auto; }
  .card { padding: 30px 26px; }
}

@media (min-width: 720px) {
  .site-nav > .container { min-height: 72px; }
  .site-nav__brand span { display: inline; font-size: 12px; font-weight: 500; letter-spacing: -0.015em; }
  .hero { padding-block: 48px; }
  .hero__title { font-size: clamp(72px, 10.5vw, 116px); }
  .hero__subtitle { font-size: 18px; }
  .hero__steps { grid-template-columns: repeat(4,minmax(0,1fr)); max-width: 680px; gap: 16px; }
  .hero__step { font-size: 14px; }
  .hero__status-bar { margin-bottom: 31px; }
  .mode-tag { font-size: 12px; }
  .status-badge { font-size: 12px; }
  .workspace { padding-block: 38px 80px; }
  .stepper__list { grid-template-columns: repeat(4,minmax(0,1fr)); }
  .stepper__item { min-height: 80px; padding: 18px; font-size: 14px; }
  .criteria-preview__list { grid-template-columns: repeat(2,minmax(0,1fr)); column-gap: 25px; }
  .stage-panel__title { font-size: 36px; }
  .stage-panel__lead { font-size: 18px; }
  .field__textarea { padding: 19px; }
  .field__label { font-size: 17px; }
  .field__hint { font-size: 16px; }
  .banner { padding: 21px 24px; }
  .question-box { padding: 27px; }
  .question-box__title { font-size: 28px; }
  .question-box__text { font-size: 18px; }
  .chat-history { padding: 20px; }
  .history-msg { max-width: 80%; padding: 16px 20px; }
  .history-msg__text { font-size: 17px; }
  .result-hero { grid-template-columns: minmax(0,1fr) 240px; align-items: center; gap: 36px; }
  .score-ring { display: block; text-align: right; border-top: 0; border-left: 1px solid #51483d; padding: 12px 0 12px 24px; }
  .score-ring__label { display: block; margin-bottom: 20px; }
  .score-ring__value { font-size: 96px; }
  .result-block__title { font-size: 32px; }
  .criteria-grid { grid-template-columns: repeat(2,minmax(0,1fr)); column-gap: 34px; }
  .criterion-card { padding-block: 26px; }
  .criterion-card__name { font-size: 18px; }
  .criterion-card__comment { font-size: 17px; }
  .tips-list { grid-template-columns: repeat(3,minmax(0,1fr)); column-gap: 28px; }
  .tip-card__title { font-size: 23px; }
  .footer { padding-block: 37px; }
}

@media (min-width: 1040px) {
  .container { padding-inline: 42px; }
  .hero { padding-block: 54px 60px; }
  .hero__grid { grid-template-columns: minmax(0,1.7fr) minmax(280px,0.8fr); align-items: end; gap: 48px; }
  .hero__title { font-size: clamp(98px,8.1vw,118px); margin-bottom: 28px; }
  .hero__subtitle { max-width: 520px; margin-bottom: 29px; }
  .hero__visual { display: flex; justify-content: flex-end; padding-left: 28px; border-left: 1px solid var(--c-border); }
  .phone-mockup { margin-bottom: 0; }
  .hero__steps { gap: 19px; margin-bottom: 30px; }
  .hero__actions { gap: 9px; }
  .hero__actions .btn { min-height: 48px; font-size: 16px; }
  .workspace { padding-block: 45px 88px; }
  .card { padding: 38px; }
  .stage-panel__title { font-size: 42px; }
  .stage-panel__lead { max-width: 820px; margin-bottom: 28px; }
  .criteria-preview__list { grid-template-columns: repeat(2,minmax(0,1fr)); column-gap: 40px; }
  .result-hero { grid-template-columns: minmax(0,1fr) 240px; gap: 48px; }
  .result-hero__summary { font-size: 17px; max-width: 880px; }
  .score-ring__value { font-size: 96px; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .btn, .field__textarea, .qa-progress__fill { transition: none; }
}
