.war-shell {
    --war-bg: #0b1110;
    --war-panel: #13201f;
    --war-panel-soft: #1d2a2c;
    --war-panel-strong: #223338;
    --war-text: #f4f7f5;
    --war-muted: #b6c5c0;
    --war-soft-text: #dce7e2;
    --war-accent: #5eead4;
    --war-accent-strong: #86efac;
    --war-danger: #f59e0b;
    --war-line: #314447;
    background: radial-gradient(circle at 50% 0, #172c2a 0, var(--war-bg) 42%);
    color: var(--war-text);
    font-family: inherit;
    margin: 0 auto;
    max-width: 960px;
    padding: 18px;
    box-sizing: border-box;
}

.war-shell * {
    box-sizing: border-box;
}

.war-modal-is-open {
    overflow: hidden;
}

.war-modal-launch {
    display: flex;
    justify-content: flex-start;
}

.war-modal-overlay {
    align-items: flex-start;
    background: rgba(5, 10, 12, 0.72);
    display: flex;
    inset: 0;
    justify-content: center;
    overflow-y: auto;
    padding: max(16px, env(safe-area-inset-top)) 16px 16px;
    position: fixed;
    z-index: 999999;
}

.war-modal-overlay[hidden] {
    display: none;
}

.war-modal-window {
    background: #0b1110;
    border: 1px solid rgba(94, 234, 212, 0.28);
    border-radius: 10px;
    box-shadow: 0 24px 80px rgba(0, 0, 0, 0.42);
    min-height: min(760px, calc(100svh - 32px));
    overflow: hidden;
    position: relative;
    width: min(1120px, 100%);
}

.war-modal-window .war-shell-chat {
    --war-chat-height: calc(100svh - 32px);
    height: calc(100svh - 32px);
    max-height: calc(100svh - 32px);
    max-width: none;
    min-height: min(520px, calc(100svh - 32px));
    overflow: hidden;
}

.war-modal-close {
    align-items: center;
    background: rgba(255, 255, 255, 0.08);
    border: 1px solid rgba(255, 255, 255, 0.18);
    border-radius: 999px;
    color: #f4f7f5;
    cursor: pointer;
    display: inline-flex;
    font-size: 26px;
    font-weight: 500;
    height: 38px;
    justify-content: center;
    line-height: 1;
    position: absolute;
    right: 14px;
    top: 14px;
    width: 38px;
    z-index: 5;
}

.war-modal-close:hover,
.war-modal-close:focus {
    background: rgba(94, 234, 212, 0.18);
    border-color: rgba(94, 234, 212, 0.48);
}

.war-shell-report {
    --war-bg: #fff;
    --war-panel: #fff;
    --war-panel-soft: #f9fafb;
    --war-panel-strong: #f3f4f6;
    --war-text: #111827;
    --war-muted: #374151;
    --war-soft-text: #1f2937;
    --war-line: #d1d5db;
    background: #fff;
    color: #111827;
    line-height: 1.55;
    max-width: 1040px;
    padding: 32px;
}

.war-shell-report .war-report-meta div,
.war-shell-report .war-gap,
.war-shell-report .war-product-card,
.war-shell-report .war-upgrade-actions {
    border-color: #d1d5db;
}

.war-shell-report .war-report-cover {
    border-bottom-color: #d1d5db;
}

.war-shell-report .war-tags li {
    background: #f3f4f6;
    color: #374151;
}

.war-shell-report .war-product-card.is-recommended {
    border-color: #059669;
}

.war-shell-report .war-report {
    color: var(--war-text);
    font-size: 16px;
}

.war-shell-report .war-report h2 {
    color: #0f172a;
    font-size: 34px;
    font-weight: 750;
    letter-spacing: 0;
    line-height: 1.18;
    margin: 0 0 24px;
}

.war-shell-report .war-report h3 {
    color: #111827;
    font-size: 23px;
    font-weight: 730;
    letter-spacing: 0;
    line-height: 1.28;
    margin: 32px 0 14px;
}

.war-shell-report .war-report h4 {
    color: #1f2937;
    font-size: 18px;
    font-weight: 720;
    letter-spacing: 0;
    line-height: 1.35;
    margin: 22px 0 10px;
}

.war-shell-report .war-report p,
.war-shell-report .war-report li,
.war-shell-report .war-report dd {
    color: #1f2937;
    font-size: 16px;
    line-height: 1.62;
}

.war-shell-report .war-report p {
    margin: 0 0 14px;
}

.war-shell-report .war-report ul,
.war-shell-report .war-report ol {
    margin: 0 0 18px 22px;
    padding: 0;
}

.war-shell-report .war-summary,
.war-shell-report .war-cta,
.war-shell-report .war-report-cover p {
    font-size: 16px;
    line-height: 1.62;
}

.war-shell-report .war-report-cover h3 {
    font-size: 26px;
    margin-top: 0;
}

.war-shell-report .war-report-cover h4 {
    font-size: 19px;
    margin-top: 22px;
}

.war-shell-report .war-gap {
    margin-bottom: 16px;
}

.war-shell-report .war-gap-header h4 {
    margin: 0;
}

.war-shell-report .war-muted,
.war-shell-report .war-disclaimer {
    color: #4b5563;
}

.war-shell-chat {
    align-self: start;
    display: grid;
    margin-top: 0;
    min-height: 0;
    overflow: visible;
    padding: 14px;
    scroll-margin-top: 0;
}

.war-survey {
    display: grid;
    gap: 16px;
}

.war-survey.is-natural-chat {
    align-items: stretch;
    gap: 14px;
    grid-template-rows: auto auto auto;
    min-height: auto;
}

.war-modal-window .war-survey.is-natural-chat {
    grid-template-rows: auto minmax(0, 1fr) auto;
    min-height: 100%;
}

.war-assistant-header {
    align-items: center;
    background: rgba(13, 23, 23, 0.8);
    border: 1px solid var(--war-line);
    border-radius: 8px 8px 0 0;
    display: grid;
    column-gap: 12px;
    grid-template-columns: 42px minmax(0, 1fr);
    row-gap: 4px;
    padding: 14px 16px;
}

.war-clue-panel {
    display: inline-flex;
    min-width: 88px;
}

.war-clue-panel[hidden] {
    display: inline-flex;
    visibility: hidden;
}

.war-survey.is-natural-chat .war-assistant-header {
    align-self: start;
    background: rgba(13, 23, 23, 0.62);
    border-radius: 8px;
    grid-row: 1;
    height: auto !important;
    min-height: 0 !important;
    padding: 12px 14px;
}

.war-survey.is-natural-chat .war-clue-panel {
    height: auto;
    min-height: 18px;
    overflow: hidden;
}

.war-survey.is-natural-chat .war-clue-panel[hidden] {
    display: inline-flex;
    visibility: hidden;
}

.war-clue-list {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.war-activity-status {
    color: var(--war-accent);
    display: inline-flex;
    font-size: 13px;
    font-style: italic;
    font-weight: 700;
    line-height: 1.35;
    white-space: nowrap;
}

.war-clue-chip {
    background: rgba(94, 234, 212, 0.1);
    border: 1px solid rgba(94, 234, 212, 0.34);
    border-radius: 999px;
    color: var(--war-soft-text);
    font-size: 12px;
    font-weight: 700;
    line-height: 1.25;
    padding: 6px 9px;
}

.war-assistant-avatar {
    align-items: center;
    background: #e4fff7;
    border: 1px solid rgba(94, 234, 212, 0.55);
    border-radius: 50%;
    color: #07312c;
    display: inline-flex;
    font-size: 12px;
    font-weight: 800;
    height: 42px;
    justify-content: center;
    letter-spacing: 0;
    width: 42px;
}

.war-assistant-avatar-small {
    box-shadow: 0 10px 24px rgba(0, 0, 0, 0.24);
    flex: 0 0 38px;
    font-size: 11px;
    height: 38px;
    margin-top: 4px;
    width: 38px;
}

.war-assistant-heading {
    min-width: 0;
}

.war-assistant-heading p {
    color: var(--war-accent);
    font-size: 15px;
    font-weight: 800;
    letter-spacing: 0;
    margin: 0 0 2px;
}

.war-assistant-subline {
    align-items: baseline;
    display: flex;
    gap: 16px;
    min-height: 18px;
}

.war-assistant-status {
    color: var(--war-muted);
    display: inline-flex;
    font-size: 13px;
    line-height: 1.3;
    margin: 0;
}

.war-assistant-progress {
    display: grid;
    gap: 8px;
}

.war-survey.is-natural-chat .war-assistant-progress {
    display: none;
}

.war-progress-text {
    color: var(--war-muted);
    font-size: 13px;
    font-weight: 700;
    text-align: right;
}

.war-progress-track {
    background: rgba(244, 247, 245, 0.12);
    border-radius: 999px;
    height: 8px;
    overflow: hidden;
}

.war-progress-bar {
    background: linear-gradient(90deg, var(--war-accent), var(--war-accent-strong));
    border-radius: inherit;
    display: block;
    height: 100%;
    transition: width 180ms ease;
    width: 10%;
}

.war-step {
    border: 0;
    display: none;
    margin: 0;
    padding: 0;
}

.war-step.is-skipped {
    display: none;
}

.war-step.is-active {
    display: block;
}

.war-survey.is-natural-chat .war-step.is-active {
    align-self: stretch;
    grid-row: 2;
    height: auto;
    min-height: 0;
}

.war-modal-window .war-survey.is-natural-chat .war-step.is-active {
    height: auto;
    min-height: 0;
}

.war-survey.is-natural-chat .war-step.is-active.is-answer-submitted .war-assistant-turn {
    opacity: 0;
    pointer-events: none;
    transform: translateY(-8px);
    transition: opacity 180ms ease, transform 180ms ease;
}

.war-step-label {
    border: 0;
    clip: rect(0 0 0 0);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    white-space: nowrap;
    width: 1px;
}

.war-assistant-turn {
    align-items: flex-start;
    display: flex;
    gap: 14px;
}

.war-survey.is-natural-chat .war-assistant-turn {
    height: auto;
    min-height: 0;
    width: 100%;
}

.war-modal-window .war-survey.is-natural-chat .war-assistant-turn {
    height: auto;
}

.war-assistant-bubble {
    background: rgba(19, 32, 31, 0.94);
    border: 1px solid var(--war-line);
    border-radius: 8px;
    box-shadow: 0 18px 36px rgba(0, 0, 0, 0.2);
    min-width: 0;
    padding: 22px;
    width: 100%;
}

.war-survey.is-natural-chat .war-assistant-bubble {
    align-content: start;
    display: flex;
    flex-direction: column;
    flex: 0 1 760px;
    gap: 10px;
    height: auto;
    justify-content: flex-start;
    box-shadow: none;
    max-width: 760px;
    min-height: 0;
    overflow: visible;
    padding: 20px;
    width: min(760px, calc(100% - 52px));
}

.war-modal-window .war-survey.is-natural-chat .war-assistant-bubble {
    height: auto;
    min-height: 0;
    overflow: visible;
}

.war-assistant-bubble h3 {
    color: var(--war-text);
    font-size: 22px;
    font-weight: 700;
    line-height: 1.2;
    margin: 0 0 8px;
}

.war-survey.is-natural-chat .war-assistant-bubble h3 {
    border: 0;
    clip: rect(0 0 0 0);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    white-space: nowrap;
    width: 1px;
}

.war-assistant-prompt {
    color: var(--war-soft-text);
    font-size: 16px;
    line-height: 1.55;
    margin: 0 0 20px;
}

.war-survey.is-natural-chat .war-assistant-prompt {
    font-size: 18px;
    margin: 0 !important;
    opacity: 1;
    visibility: visible;
}

.war-answer-panel {
    display: grid;
    gap: 2px;
}

.war-survey.is-natural-chat .war-answer-panel {
    align-content: start;
    display: flex !important;
    flex: 0 0 auto;
    flex-direction: column;
    gap: 0;
    min-height: 0;
    overflow-y: visible;
    padding-right: 4px;
    justify-content: flex-start;
    margin: 0 !important;
}

.war-modal-window .war-survey.is-natural-chat .war-answer-panel {
    max-height: min(58svh, 520px);
    overflow-y: auto;
}

.war-screen-reader-text {
    border: 0;
    clip: rect(0 0 0 0);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    white-space: nowrap;
    width: 1px;
}

.war-field {
    display: grid;
    gap: 8px;
    margin-bottom: 18px;
}

.war-survey.is-natural-chat .war-field,
.war-survey.is-natural-chat .war-chat-capture,
.war-survey.is-natural-chat .war-check {
    margin-top: 0 !important;
}

.war-contact-fields {
    align-content: start;
    align-items: stretch;
    display: flex !important;
    flex-direction: column !important;
    gap: 16px !important;
    margin: 0 !important;
    width: 100%;
}

.war-contact-fields .war-field {
    align-content: start;
    align-items: stretch;
    display: flex !important;
    flex-direction: column !important;
    gap: 6px !important;
    height: auto !important;
    margin: 0 !important;
    min-height: 0 !important;
    width: 100%;
}

.war-contact-fields input {
    min-height: 42px;
}

.war-field > span,
.war-check > span {
    color: var(--war-muted);
    font-size: 15px;
    line-height: 1.4;
}

.war-survey.is-natural-chat .war-field > span {
    border: 0;
    clip: rect(0 0 0 0);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    white-space: nowrap;
    width: 1px;
}

.war-survey.is-natural-chat .war-contact-fields .war-field > span,
.war-survey.is-natural-chat .war-speed-fields .war-field > span {
    clip: auto;
    color: var(--war-muted);
    font-size: 14px;
    font-weight: 700;
    height: auto;
    margin: 0;
    overflow: visible;
    position: static;
    white-space: normal;
    width: auto;
}

.war-survey.is-natural-chat [data-contact-details-capture].is-current-question {
    align-self: start;
    display: block !important;
    margin: 0 !important;
}

.war-survey.is-natural-chat [data-contact-details-capture].is-current-question .war-contact-fields {
    margin-top: 0 !important;
}

.war-survey.is-natural-chat [data-contact-details-capture].is-current-question .war-field {
    gap: 6px;
}

.war-speed-fields {
    display: block;
    width: 100%;
}

.war-speed-help {
    color: var(--war-soft-text);
    display: grid;
    gap: 12px;
    line-height: 1.5;
    max-width: 100%;
}

.war-speed-help p,
.war-speed-help ol {
    margin: 0;
}

.war-speed-help ol {
    padding-left: 1.25rem;
}

.war-speed-links {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.war-speed-links a {
    border: 1px solid var(--war-line);
    border-radius: 999px;
    color: var(--war-accent-strong);
    font-size: 14px;
    font-weight: 800;
    line-height: 1.2;
    padding: 8px 11px;
    text-decoration: none;
}

.war-speed-links a:focus,
.war-speed-links a:hover {
    border-color: var(--war-accent);
    color: var(--war-accent);
}

.war-survey.is-natural-chat [data-speed-router-results-capture].is-current-question .war-speed-fields,
.war-survey.is-natural-chat [data-speed-worst-results-capture].is-current-question .war-speed-fields,
.war-survey.is-natural-chat [data-speed-wired-results-capture].is-current-question .war-speed-fields {
    align-content: start !important;
    align-items: stretch !important;
    border: 0;
    border-radius: 0;
    display: flex !important;
    flex-flow: row nowrap !important;
    gap: 0 !important;
    justify-content: space-between !important;
    margin: 0 !important;
    padding: 0 !important;
    width: 100% !important;
}

.war-survey.is-natural-chat [data-speed-router-results-capture].is-current-question .war-speed-fields > p,
.war-survey.is-natural-chat [data-speed-worst-results-capture].is-current-question .war-speed-fields > p,
.war-survey.is-natural-chat [data-speed-wired-results-capture].is-current-question .war-speed-fields > p {
    color: var(--war-soft-text);
    font-size: 15px;
    font-weight: 800;
    grid-column: 1 / -1;
    line-height: 1.3;
    margin: 0;
}

.war-survey.is-natural-chat [data-speed-router-results-capture].is-current-question .war-speed-fields > .war-field,
.war-survey.is-natural-chat [data-speed-worst-results-capture].is-current-question .war-speed-fields > .war-field,
.war-survey.is-natural-chat [data-speed-wired-results-capture].is-current-question .war-speed-fields > .war-field {
    flex: 0 0 30% !important;
    margin: 0 !important;
    max-width: 30% !important;
    width: 30% !important;
}

@media (max-width: 640px) {
    .war-survey.is-natural-chat [data-speed-router-results-capture].is-current-question .war-speed-fields,
    .war-survey.is-natural-chat [data-speed-worst-results-capture].is-current-question .war-speed-fields,
    .war-survey.is-natural-chat [data-speed-wired-results-capture].is-current-question .war-speed-fields {
        display: grid !important;
        gap: 12px !important;
        grid-template-columns: 1fr !important;
        justify-content: stretch !important;
    }

    .war-survey.is-natural-chat [data-speed-router-results-capture].is-current-question .war-speed-fields > .war-field,
    .war-survey.is-natural-chat [data-speed-worst-results-capture].is-current-question .war-speed-fields > .war-field,
    .war-survey.is-natural-chat [data-speed-wired-results-capture].is-current-question .war-speed-fields > .war-field {
        flex-basis: auto !important;
        max-width: 100% !important;
        width: 100% !important;
    }
}

.war-field input,
.war-field select,
.war-field textarea {
    background: #0d1717;
    border: 1px solid var(--war-line);
    border-radius: 6px;
    color: var(--war-text);
    min-height: 44px;
    outline: none;
    padding: 10px 12px;
    width: 100%;
}

.war-field input:focus,
.war-field select:focus,
.war-field textarea:focus {
    border-color: var(--war-accent);
    box-shadow: 0 0 0 3px rgba(94, 234, 212, 0.16);
}

.war-field input::placeholder,
.war-field textarea::placeholder {
    color: #7f948f;
}

.war-field textarea {
    line-height: 1.5;
    min-height: 112px;
    resize: vertical;
}

.war-field-chat {
    margin-bottom: 10px;
}

.war-chat-capture {
    display: grid;
    gap: 12px;
}

.war-inferred-symptoms {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 0;
    min-height: 20px;
}

.war-survey.is-natural-chat .war-inferred-symptoms {
    display: none;
}

.war-detected-label {
    color: var(--war-muted);
    font-size: 13px;
    font-weight: 700;
    line-height: 1.35;
}

.war-detected-chip {
    background: rgba(134, 239, 172, 0.14);
    border: 1px solid rgba(134, 239, 172, 0.45);
    border-radius: 999px;
    color: var(--war-accent-strong);
    font-size: 13px;
    font-weight: 800;
    line-height: 1.25;
    padding: 6px 10px;
}

.war-qualifier {
    border-left: 3px solid var(--war-accent);
    display: grid;
    gap: 10px;
    padding-left: 14px;
}

.war-qualifier[hidden] {
    display: none;
}

.war-qualifier p {
    color: var(--war-soft-text);
    font-size: 15px;
    line-height: 1.45;
    margin: 0;
}

.war-qualifier-options {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.war-qualifier-options button {
    background: #0d1717;
    border: 1px solid var(--war-line);
    border-radius: 999px;
    color: var(--war-text);
    cursor: pointer;
    font: inherit;
    font-size: 14px;
    font-weight: 700;
    min-height: 36px;
    padding: 7px 12px;
}

.war-qualifier-options button:hover,
.war-qualifier-options button:focus,
.war-qualifier-options button.is-selected {
    background: rgba(94, 234, 212, 0.16);
    border-color: var(--war-accent);
}

.war-check-grid {
    display: grid;
    gap: 10px;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
}

.war-check {
    align-items: flex-start;
    background: #0d1717;
    border: 1px solid var(--war-line);
    border-radius: 6px;
    display: flex;
    gap: 10px;
    padding: 12px;
}

.war-check input {
    accent-color: var(--war-accent);
    margin-top: 2px;
}

.war-chat-composer {
    align-items: center;
    background: rgba(13, 23, 23, 0.8);
    border: 1px solid var(--war-line);
    border-radius: 0 0 8px 8px;
    display: flex;
    gap: 10px;
    justify-content: flex-end;
    margin-top: 0;
    padding: 14px 16px;
}

.war-survey.is-natural-chat .war-chat-composer {
    background: linear-gradient(180deg, rgba(11, 17, 16, 0), rgba(11, 17, 16, 0.96) 30%);
    border: 0;
    border-radius: 0;
    grid-row: 3;
    justify-content: flex-start;
    padding: 8px 0 0 52px;
    position: sticky;
    bottom: 0;
    z-index: 2;
}

.war-survey.is-natural-chat .war-chat-composer .war-send {
    width: min(160px, 100%);
}

.war-question-hidden {
    display: none !important;
}

.is-current-question {
    margin-bottom: 0;
}

.war-survey.is-natural-chat .is-current-question {
    opacity: 1;
    visibility: visible;
}

.war-chat-composer .war-send {
    min-width: 120px;
}

.war-survey.is-compiling {
    grid-template-rows: auto minmax(0, 1fr);
}

.war-survey.is-compiling .war-step,
.war-survey.is-compiling .war-chat-composer {
    display: none;
}

.war-compile-panel {
    align-items: center;
    align-self: stretch;
    background: rgba(13, 23, 23, 0.76);
    border: 1px solid var(--war-line);
    border-radius: 8px;
    display: grid;
    gap: 18px;
    grid-template-columns: 54px minmax(0, 1fr);
    min-height: 100%;
    padding: 28px;
}

.war-compile-panel[hidden] {
    display: none;
}

.war-compile-panel h3 {
    color: var(--war-text);
    font-size: 28px;
    margin: 0 0 8px;
}

.war-compile-panel p {
    color: var(--war-soft-text);
    font-size: 17px;
    line-height: 1.5;
    margin: 0 0 18px;
}

.war-compile-progress {
    background: rgba(244, 247, 245, 0.08);
    border: 1px solid var(--war-line);
    border-radius: 999px;
    height: 14px;
    overflow: hidden;
}

.war-compile-progress span {
    background: linear-gradient(90deg, var(--war-accent), var(--war-accent-strong));
    display: block;
    height: 100%;
    transition: width 0.7s ease;
    width: 8%;
}

.war-button {
    background: var(--war-accent);
    border: 0;
    border-radius: 6px;
    color: #082f49;
    cursor: pointer;
    font-weight: 700;
    min-height: 42px;
    padding: 10px 18px;
}

.war-button:hover,
.war-button:focus {
    filter: brightness(1.05);
}

.war-submit {
    background: var(--war-accent-strong);
    color: #052e16;
    display: none;
}

.war-report h2,
.war-report h3,
.war-report h4 {
    color: var(--war-text);
}

.war-summary,
.war-cta {
    color: var(--war-text);
    font-size: 18px;
    line-height: 1.55;
}

.war-report-cover {
    border-bottom: 1px solid #29364d;
    margin: 0 0 28px;
    padding: 0 0 24px;
}

.war-report-cover p {
    color: var(--war-text);
    font-size: 19px;
    line-height: 1.55;
    max-width: 860px;
}

.war-report-meta {
    display: grid;
    gap: 12px;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    margin: 22px 0;
}

.war-report-actions {
    align-items: center;
    display: flex;
    justify-content: flex-end;
    margin: 0 0 18px;
}

.war-report-meta div,
.war-gap,
.war-product-card,
.war-upgrade-actions {
    background: var(--war-panel);
    border: 1px solid #29364d;
    border-radius: 8px;
    padding: 16px;
}

.war-report-meta dt {
    color: var(--war-muted);
    font-size: 13px;
    margin-bottom: 6px;
}

.war-report-meta dd {
    color: var(--war-text);
    font-weight: 700;
    margin: 0;
}

.war-gap-list,
.war-product-options {
    display: grid;
    gap: 14px;
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
}

.war-gap-header {
    align-items: flex-start;
    display: flex;
    gap: 12px;
    justify-content: space-between;
}

.war-gap-header span,
.war-badge {
    background: var(--war-danger);
    border-radius: 999px;
    color: #fff7ed;
    font-size: 12px;
    font-weight: 700;
    padding: 5px 8px;
}

.war-muted,
.war-disclaimer {
    color: var(--war-muted);
}

.war-warning {
    background: #431407;
    border-left: 4px solid var(--war-danger);
    color: #ffedd5;
    padding: 10px 12px;
}

.war-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    list-style: none;
    margin: 12px 0 0;
    padding: 0;
}

.war-tags li {
    background: #0f172a;
    border-radius: 999px;
    color: var(--war-muted);
    font-size: 12px;
    padding: 6px 9px;
}

.war-product-card.is-recommended {
    border-color: var(--war-accent-strong);
}

.war-notice {
    background: #7c2d12;
    border-radius: 6px;
    color: #ffedd5;
    margin-bottom: 16px;
    padding: 12px;
}

.war-upgrade-actions {
    margin-top: 18px;
}

@media print {
    .war-report-actions,
    .war-upgrade-actions {
        display: none;
    }

    .war-shell {
        --war-bg: #fff;
        --war-panel: #fff;
        --war-panel-soft: #f9fafb;
        --war-panel-strong: #f3f4f6;
        --war-text: #111827;
        --war-muted: #374151;
        --war-soft-text: #1f2937;
        --war-line: #d1d5db;
        background: #fff;
        color: #111827;
        max-width: none;
        padding: 0;
    }

    .war-report-cover {
        break-after: page;
        page-break-after: always;
    }

    .war-report h2 {
        font-size: 28px;
    }

    .war-report h3 {
        font-size: 21px;
    }

    .war-report h4 {
        font-size: 17px;
    }

    .war-report p,
    .war-report li,
    .war-report dd {
        font-size: 12pt;
        line-height: 1.5;
    }
}

@media (max-width: 640px) {
    .war-shell {
        padding: 18px;
    }

    .war-shell-chat {
        min-height: 0;
    }

    .war-modal-window .war-shell-chat {
        min-height: min(420px, calc(100svh - 24px));
    }

    .war-assistant-header {
        align-items: start;
        grid-template-columns: 44px minmax(0, 1fr);
    }

    .war-assistant-avatar {
        height: 44px;
        width: 44px;
    }

    .war-assistant-progress {
        grid-column: 1 / -1;
    }

    .war-progress-text {
        text-align: left;
    }

    .war-assistant-turn {
        gap: 10px;
    }

    .war-assistant-avatar-small {
        height: 32px;
        width: 32px;
    }

    .war-assistant-bubble {
        padding: 16px;
    }

    .war-survey.is-natural-chat .war-assistant-bubble {
        max-width: none;
        padding: 16px;
        width: 100%;
    }

    .war-chat-composer {
        align-items: stretch;
        flex-direction: column;
    }

    .war-survey.is-natural-chat .war-chat-composer {
        padding-left: 42px;
    }

    .war-compile-panel {
        grid-template-columns: 1fr;
        padding: 18px;
    }

    .war-compile-panel h3 {
        font-size: 22px;
    }

    .war-report-actions {
        justify-content: stretch;
    }

    .war-shell-report {
        padding: 22px;
    }

    .war-shell-report .war-report h2 {
        font-size: 28px;
    }

    .war-shell-report .war-report h3 {
        font-size: 21px;
    }

    .war-button {
        width: 100%;
    }
}

/*
 * Compact conversation reset.
 * The shell/modal may be tall, but each question should read like a normal
 * assistant message with the answer controls immediately underneath.
 */
.war-shell-chat,
.war-modal-window .war-shell-chat {
    height: auto !important;
    max-height: none !important;
    min-height: 0 !important;
    overflow: visible !important;
}

.war-modal-window {
    max-height: calc(100svh - 32px);
    overflow-y: auto;
}

.war-survey.is-natural-chat,
.war-modal-window .war-survey.is-natural-chat {
    align-content: start !important;
    align-items: start !important;
    display: grid !important;
    gap: 14px !important;
    grid-template-rows: auto auto auto !important;
    min-height: 0 !important;
}

.war-survey.is-natural-chat .war-assistant-header {
    height: auto !important;
    min-height: 0 !important;
    padding: 12px 14px !important;
}

.war-survey.is-natural-chat .war-step.is-active,
.war-modal-window .war-survey.is-natural-chat .war-step.is-active,
.war-survey.is-natural-chat .war-assistant-turn,
.war-modal-window .war-survey.is-natural-chat .war-assistant-turn {
    align-self: start !important;
    height: auto !important;
    min-height: 0 !important;
}

.war-survey.is-natural-chat .war-assistant-bubble,
.war-modal-window .war-survey.is-natural-chat .war-assistant-bubble {
    align-content: start !important;
    display: block !important;
    height: auto !important;
    min-height: 0 !important;
    overflow: visible !important;
    padding: 20px !important;
}

.war-survey.is-natural-chat .war-assistant-prompt {
    display: block !important;
    margin: 0 0 12px !important;
}

.war-survey.is-natural-chat .war-answer-panel,
.war-modal-window .war-survey.is-natural-chat .war-answer-panel {
    display: none !important;
    height: 0 !important;
    max-height: none !important;
    min-height: 0 !important;
    overflow: hidden !important;
    padding: 0 !important;
}

.war-current-answer-slot {
    align-content: start;
    align-items: stretch;
    display: grid;
    gap: 10px;
    grid-auto-rows: max-content;
    margin: 0 !important;
    max-width: 100%;
    min-height: 0;
    width: 100%;
}

.war-current-answer-slot > .is-current-question {
    align-self: start !important;
    height: auto !important;
    margin: 0 !important;
    min-height: 0 !important;
}

.war-survey.is-natural-chat .is-current-question {
    display: block !important;
    height: auto !important;
    margin: 0 !important;
    min-height: 0 !important;
}

.war-survey.is-natural-chat .war-chat-capture.war-question-hidden,
.war-survey.is-natural-chat .war-current-answer-slot > .war-question-hidden {
    display: none !important;
}

.war-current-answer-slot .war-contact-fields {
    align-content: start !important;
    align-items: stretch !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 10px !important;
    margin: 0 !important;
    width: 100% !important;
}

.war-survey.is-natural-chat .war-field,
.war-survey.is-natural-chat .war-check {
    align-content: start !important;
    align-items: start !important;
    height: auto !important;
    margin: 0 0 10px !important;
    min-height: 0 !important;
}

.war-current-answer-slot .war-field {
    gap: 6px !important;
    width: 100% !important;
}

.war-current-answer-slot .war-speed-fields {
    align-content: start !important;
    align-items: stretch !important;
    display: flex !important;
    flex-flow: row nowrap !important;
    gap: 0 !important;
    justify-content: space-between !important;
    margin: 0 !important;
    width: 100% !important;
}

.war-survey.is-natural-chat .war-field-chat,
.war-survey.is-natural-chat .war-field-chat textarea {
    margin: 0 !important;
}

/*
 * Browser writing assistants can inject mirror elements with large inline
 * margins. Keep those generated layers from changing the assessment layout.
 */
.war-shell [class^="lt-"],
.war-shell [class*=" lt-"],
.war-shell [data-lt-tmp-id],
.war-shell grammarly-extension,
.war-shell grammarly-desktop-integration,
.war-shell [data-grammarly-part] {
    display: none !important;
    height: 0 !important;
    margin: 0 !important;
    max-height: 0 !important;
    max-width: 0 !important;
    min-height: 0 !important;
    min-width: 0 !important;
    opacity: 0 !important;
    overflow: hidden !important;
    pointer-events: none !important;
    position: absolute !important;
    visibility: hidden !important;
    width: 0 !important;
}

.war-assessment-embed [class^="lt-mirror"],
.war-assessment-embed [class*=" lt-mirror"],
.war-assessment-embed [data-lt-tmp-id],
.war-assessment-embed grammarly-extension,
.war-assessment-embed grammarly-desktop-integration,
.war-assessment-embed [data-grammarly-part] {
    display: none !important;
    height: 0 !important;
    margin: 0 !important;
    max-height: 0 !important;
    max-width: 0 !important;
    min-height: 0 !important;
    min-width: 0 !important;
    opacity: 0 !important;
    overflow: hidden !important;
    pointer-events: none !important;
    position: absolute !important;
    visibility: hidden !important;
    width: 0 !important;
}

/*
 * Embedded assessment sizing.
 * Keep the avatar and answer bubble inside the iframe/card width.
 */
.war-survey.is-natural-chat .war-step.is-active,
.war-survey.is-natural-chat .war-assistant-turn,
.war-survey.is-natural-chat .war-assistant-bubble,
.war-survey.is-natural-chat .war-current-answer-slot,
.war-survey.is-natural-chat .war-chat-capture,
.war-survey.is-natural-chat .war-field {
    max-width: 100% !important;
    min-width: 0 !important;
}

.war-survey.is-natural-chat .war-assistant-turn {
    align-items: start !important;
    display: grid !important;
    gap: 14px !important;
    grid-template-columns: 42px minmax(0, 1fr) !important;
    width: 100% !important;
}

.war-survey.is-natural-chat .war-assistant-avatar-small {
    grid-column: 1 !important;
    margin-top: 4px !important;
}

.war-survey.is-natural-chat .war-assistant-bubble,
.war-modal-window .war-survey.is-natural-chat .war-assistant-bubble {
    flex: none !important;
    grid-column: 2 !important;
    max-width: none !important;
    overflow: hidden !important;
    overflow-wrap: anywhere !important;
    width: 100% !important;
}

.war-survey.is-natural-chat .war-field input,
.war-survey.is-natural-chat .war-field select,
.war-survey.is-natural-chat .war-field textarea {
    max-width: 100% !important;
    min-width: 0 !important;
}

@media (max-width: 640px) {
    .war-survey.is-natural-chat .war-assistant-turn {
        gap: 10px !important;
        grid-template-columns: 32px minmax(0, 1fr) !important;
    }

    .war-survey.is-natural-chat .war-chat-composer {
        padding-left: 42px !important;
    }
}

/*
 * Compact multi-field questions.
 * Contact details should not stretch into tall, sparse panels on home-page embeds.
 */
.war-survey.is-natural-chat [data-contact-details-capture].is-current-question,
.war-survey.is-natural-chat [data-speed-router-results-capture].is-current-question,
.war-survey.is-natural-chat [data-speed-worst-results-capture].is-current-question,
.war-survey.is-natural-chat [data-speed-wired-results-capture].is-current-question {
    align-content: start !important;
    display: block !important;
    height: auto !important;
}

.war-survey.is-natural-chat [data-contact-details-capture].is-current-question .war-contact-fields {
    align-content: start !important;
    align-items: stretch !important;
    column-gap: 0 !important;
    display: flex !important;
    flex-flow: row nowrap !important;
    justify-content: space-between !important;
    margin: 0 !important;
    max-width: none !important;
    row-gap: 12px !important;
    width: 100% !important;
}

.war-survey.is-natural-chat [data-contact-details-capture].is-current-question .war-field {
    display: flex !important;
    flex-direction: column !important;
    flex: 0 0 30% !important;
    gap: 6px !important;
    margin: 0 !important;
    max-width: 30% !important;
    min-height: 0 !important;
    width: 30% !important;
}

.war-survey.is-natural-chat [data-contact-details-capture].is-current-question .war-field input {
    height: 44px !important;
    min-height: 44px !important;
    width: 100% !important;
}

@media (max-width: 700px) {
    .war-survey.is-natural-chat [data-contact-details-capture].is-current-question .war-contact-fields {
        display: grid !important;
        gap: 12px !important;
        grid-template-columns: 1fr !important;
        justify-content: stretch !important;
    }

    .war-survey.is-natural-chat [data-contact-details-capture].is-current-question .war-field {
        flex-basis: auto !important;
        max-width: 100% !important;
        width: 100% !important;
    }
}

.war-survey.is-natural-chat [data-speed-router-results-capture].is-current-question .war-speed-fields,
.war-survey.is-natural-chat [data-speed-worst-results-capture].is-current-question .war-speed-fields,
.war-survey.is-natural-chat [data-speed-wired-results-capture].is-current-question .war-speed-fields {
    display: flex !important;
    flex-flow: row nowrap !important;
    gap: 0 !important;
    justify-content: space-between !important;
    width: 100% !important;
}

.war-survey.is-natural-chat [data-speed-router-results-capture].is-current-question .war-speed-fields > .war-field,
.war-survey.is-natural-chat [data-speed-worst-results-capture].is-current-question .war-speed-fields > .war-field,
.war-survey.is-natural-chat [data-speed-wired-results-capture].is-current-question .war-speed-fields > .war-field {
    flex: 0 0 30% !important;
    margin: 0 !important;
    max-width: 30% !important;
    width: 30% !important;
}

@media (max-width: 640px) {
    .war-current-answer-slot .war-speed-fields,
    .war-survey.is-natural-chat [data-speed-router-results-capture].is-current-question .war-speed-fields,
    .war-survey.is-natural-chat [data-speed-worst-results-capture].is-current-question .war-speed-fields,
    .war-survey.is-natural-chat [data-speed-wired-results-capture].is-current-question .war-speed-fields {
        display: grid !important;
        gap: 12px !important;
        grid-template-columns: 1fr !important;
        justify-content: stretch !important;
    }

    .war-survey.is-natural-chat [data-speed-router-results-capture].is-current-question .war-speed-fields > .war-field,
    .war-survey.is-natural-chat [data-speed-worst-results-capture].is-current-question .war-speed-fields > .war-field,
    .war-survey.is-natural-chat [data-speed-wired-results-capture].is-current-question .war-speed-fields > .war-field {
        flex-basis: auto !important;
        max-width: 100% !important;
        width: 100% !important;
    }
}
