:root {
  color-scheme: light;
  --ink: #173047;
  --muted: #61758a;
  --line: #d9e6ef;
  --paper: #ffffff;
  --wash: #eef5f8;
  --brand: #397ea3;
  --brand-dark: #225d7e;
  --accent: #7bc8b2;
  --warning-bg: #fff7e8;
  --warning-ink: #73511e;
  font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
[hidden] { display: none !important; }

/* 个人版主页：全部量表直接展示 */
.compact-library { max-width: 920px; }
.direct-scale-section { margin-top: 30px; }
.direct-scale-list { list-style: none; counter-reset: scale; display: grid; gap: 12px; padding: 0; margin: 0; }
.direct-scale-list li { counter-increment: scale; }
.direct-scale-list a { display: flex; align-items: center; gap: 14px; padding: 17px 20px; border-radius: 18px; background: #fff; color: #173f55; text-decoration: none; font-weight: 750; box-shadow: 0 10px 28px rgba(31,101,136,.09); border: 1px solid rgba(31,101,136,.1); }
.direct-scale-list a::before { content: counter(scale, decimal-leading-zero); display: grid; place-items: center; flex: 0 0 42px; height: 42px; border-radius: 13px; background: linear-gradient(135deg,#2a8ab3,#69c3bc); color: white; font-size: .88rem; }
.direct-scale-list a:hover { transform: translateY(-2px); box-shadow: 0 14px 34px rgba(31,101,136,.14); }

/* 初筛资料 */
.profile-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; margin: 24px 0; }
.profile-wide { grid-column: 1 / -1; }
.text-field { display: grid; gap: 8px; color: #244b5d; font-weight: 700; }
.text-field input,.text-field select { width: 100%; min-height: 48px; border: 1px solid #c7dce3; border-radius: 13px; padding: 10px 13px; background: #fff; color: #173f55; font: inherit; box-sizing: border-box; }
.text-field small { color: var(--muted); font-weight: 500; }
.admin-entry-link,.text-button { color: var(--brand-dark); background: none; border: 0; text-decoration: none; font-weight: 750; cursor: pointer; }
.admin-login-panel { width: min(100%,520px); margin: auto; }
.admin-login-panel form,.compact-form { display: grid; gap: 16px; }
.admin-section { margin-top: 18px; }
.admin-identity { padding: 11px 14px; border-radius: 12px; background: #edf6fa; color: var(--brand-dark); font-weight: 700; }
.invite-list { display: grid; gap: 16px; }
.invite-form { padding: 18px; border: 1px solid var(--line); border-radius: 16px; background: #f8fbfc; }
.invite-fields { display: grid; grid-template-columns: 1fr 2fr; gap: 12px; }
.invite-form fieldset { margin: 14px 0; border: 1px solid var(--line); border-radius: 12px; }
.invite-form legend { color: var(--muted); font-weight: 700; }
.scale-check-grid { display: grid; grid-template-columns: repeat(5,1fr); gap: 8px; }
.scale-check-grid label,.active-toggle { display: flex; align-items: center; gap: 6px; color: var(--muted); font-weight: 650; }
.scale-check-grid input,.active-toggle input { width: 18px; height: 18px; accent-color: var(--brand); }
.inline-actions { display: flex; gap: 10px; margin-top: 14px; }
.danger-ghost-btn { border: 1px solid #c56c73; border-radius: 12px; padding: 9px 14px; background: transparent; color: #983c45; font-weight: 700; cursor: pointer; }
.new-invite { margin-top: 18px; }
.new-invite summary { color: var(--brand-dark); font-weight: 800; cursor: pointer; }
.new-invite .invite-form { margin-top: 12px; }
.form-message { min-height: 1.4em; margin: 8px 0 0; color: var(--brand-dark); font-weight: 700; }
.referral-field { margin: 24px 0 8px; padding-top: 22px; border-top: 1px solid var(--line); }
.access-notice { margin: 28px 0 0; padding: 18px 20px; border-radius: 18px; background: rgba(255,255,255,.82); color: var(--muted); line-height: 1.65; text-align: center; }
.history-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin: 20px 0 14px; }
.history-toolbar label { font-weight: 700; color: var(--muted); }
.history-toolbar input,.history-check input { width: 19px; height: 19px; accent-color: var(--brand); }
.danger-btn { min-height: 42px; padding: 8px 15px; border: 0; border-radius: 12px; background: #a7464f; color: #fff; font-weight: 750; cursor: pointer; }
.history-list { display: grid; gap: 12px; }
.history-card { display: grid; grid-template-columns: auto 1fr; align-items: center; gap: 12px; padding: 15px; border: 1px solid var(--line); border-radius: 16px; background: #f8fbfc; }
.history-check { display: grid; place-items: center; }
.history-card a { display: grid; gap: 5px; min-width: 0; color: var(--ink); text-decoration: none; }
.history-card a strong { color: var(--brand-dark); font-size: 1.08rem; }
.history-card a span,.history-card time { color: var(--muted); font-size: .88rem; line-height: 1.45; overflow-wrap: anywhere; }
.history-card time { font-size: .78rem; }
.report-result > time { grid-column: 1 / -1; }

/* 新增量表沿用原始单页测评的全屏卡片语言 */
.quiz-page { min-height: 100vh; min-height: 100dvh; margin: 0; overflow-y: auto; background: linear-gradient(145deg,#d9f4f4 0%,#f7e8ef 48%,#e4effb 100%); }
.legacy-quiz-shell { width: min(760px,100%); min-height: 100vh; min-height: 100dvh; margin: auto; padding: max(22px,env(safe-area-inset-top)) 22px max(22px,env(safe-area-inset-bottom)); box-sizing: border-box; display: flex; flex-direction: column; }
.legacy-quiz-head { display: flex; justify-content: space-between; gap: 16px; margin-bottom: 12px; color: #255e78; font-weight: 700; }
.legacy-quiz-head a { color: inherit; text-decoration: none; }
.legacy-progress { height: 8px; border-radius: 8px; background: rgba(255,255,255,.7); overflow: hidden; margin-bottom: 16px; }
.legacy-progress i { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg,#2b9eb3,#ef91a9); transition: width .2s ease; }
.legacy-card { margin: auto 0; padding: clamp(24px,5vw,46px); border-radius: 28px; background: rgba(255,255,255,.95); box-shadow: 0 20px 60px rgba(40,82,104,.16); }
.legacy-card h1 { margin: 4px 0 10px; color: #174d68; font-size: clamp(1.45rem,4vw,2.2rem); }
.legacy-kicker { margin: 0; color: #39839a; font-size: .82rem; font-weight: 800; letter-spacing: .03em; }
.legacy-instruction { color: #607984; }
.question-screen { display: flex; flex-direction: column; }
.legacy-question { display: grid; align-content: center; gap: 10px; height: 190px; min-height: 190px; margin: 24px 0 20px; padding: 24px; overflow-y: auto; border-radius: 20px; background: linear-gradient(135deg,#f1fbfc,#fff4f7); color: #163f52; }
.legacy-question small { color: #4a8ba0; font-weight: 800; }
.legacy-question strong { font-size: clamp(1.1rem,3vw,1.4rem); line-height: 1.65; }
.legacy-options { display: grid; grid-template-columns: repeat(auto-fit,minmax(120px,1fr)); gap: 12px; }
.wellbeing-scale-line { display: grid; grid-template-columns: minmax(0,1fr) minmax(110px,1.25fr) minmax(0,1fr); align-items: center; gap: 8px; width: 100%; text-align: center; }
.double-arrow { width: 100%; color: #2f8097; font-size: clamp(.9rem,3vw,1.1rem); font-weight: 500; letter-spacing: -1px; line-height: 1; white-space: nowrap; }
.wellbeing-options { grid-template-columns: repeat(7,minmax(0,1fr)); gap: 8px; }
.wellbeing-options button { min-width: 0; min-height: 48px; padding: 0; }
.legacy-options button,.legacy-nav button { min-height: 50px; border: 1px solid #bddde2; border-radius: 15px; background: #fff; color: #24576a; font: inherit; font-weight: 750; cursor: pointer; }
.legacy-options button:hover,.legacy-options button.selected { border-color: #2b9eb3; background: #e5f8f8; color: #17677c; transform: translateY(-1px); }
.legacy-nav { display: flex; justify-content: space-between; gap: 12px; margin-top: 22px; }
.legacy-nav button { padding: 0 22px; }
.legacy-nav button:disabled { opacity: .4; cursor: default; }
.legacy-score { display: grid; place-items: center; gap: 8px; margin: 28px auto; width: min(260px,100%); padding: 24px; border-radius: 22px; background: linear-gradient(135deg,#e5f8f8,#fff0f4); color: #174d68; }
.legacy-score strong { font-size: clamp(2rem,7vw,3.2rem); text-align: center; }
.legacy-score span { font-weight: 800; }
.legacy-result-lines { padding: 18px 22px; border-radius: 18px; background: #f5fafb; color: #355b6a; }
.legacy-result-lines p { margin: 8px 0; }
.result-time,.report-count { color: #708891; font-size: .9rem; }

@media (max-width: 620px) {
  .profile-grid { grid-template-columns: 1fr; }
  .profile-wide { grid-column: auto; }
  .legacy-quiz-shell { padding: max(10px,env(safe-area-inset-top)) 10px max(12px,env(safe-area-inset-bottom)); }
  .legacy-card { margin: 0; padding: 20px 14px; border-radius: 22px; }
  .legacy-card h1 { font-size: 1.35rem; }
  .legacy-instruction { max-height: 3.2em; margin: 6px 0; overflow-y: auto; font-size: .88rem; line-height: 1.55; }
  .legacy-question { height: 160px; min-height: 160px; margin: 14px 0; padding: 16px; }
  .legacy-question strong { font-size: 1.03rem; line-height: 1.5; }
  .legacy-options:not(.wellbeing-options) { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; }
  .legacy-options button,.legacy-nav button { min-height: 44px; }
  .wellbeing-options { gap: 5px; }
  .wellbeing-options button { min-height: 44px; border-radius: 12px; }
  .wellbeing-scale-line { grid-template-columns: minmax(0,1fr) 94px minmax(0,1fr); gap: 4px; }
  .double-arrow { font-size: .82rem; }
  .legacy-nav { margin-top: 12px; }
  .invite-fields { grid-template-columns: 1fr; }
  .scale-check-grid { grid-template-columns: repeat(3,1fr); }
}

* { box-sizing: border-box; }

body {
  margin: 0;
  min-height: 100vh;
  color: var(--ink);
  background:
    radial-gradient(circle at 15% 10%, rgba(123, 200, 178, .28), transparent 30%),
    radial-gradient(circle at 90% 90%, rgba(110, 165, 210, .22), transparent 32%),
    var(--wash);
}

button, input { font: inherit; }
button { -webkit-tap-highlight-color: transparent; }

.app-shell,
.library-shell {
  width: min(100%, 760px);
  min-height: 100vh;
  margin: 0 auto;
  padding: max(20px, env(safe-area-inset-top)) 18px max(24px, env(safe-area-inset-bottom));
}

.app-shell { display: flex; flex-direction: column; }

.topbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 18px;
}

.home-link {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  color: var(--brand-dark);
  text-decoration: none;
  font-weight: 700;
}

.privacy-pill,
.brand-pill {
  display: inline-flex;
  align-items: center;
  padding: 7px 11px;
  border-radius: 999px;
  background: rgba(255, 255, 255, .75);
  color: var(--muted);
  font-size: .82rem;
  font-weight: 650;
  border: 1px solid rgba(210, 227, 238, .9);
}
.report-pill, .report-shortcut { text-decoration: none; }
.hero-tools { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.report-shortcut { display: inline-flex; align-items: center; min-height: 44px; color: var(--brand-dark); font-weight: 750; }

.panel {
  background: rgba(255, 255, 255, .94);
  border: 1px solid rgba(213, 228, 238, .95);
  border-radius: 28px;
  box-shadow: 0 22px 55px rgba(42, 78, 101, .12);
  padding: clamp(22px, 5vw, 38px);
}

.eyebrow {
  margin: 0 0 10px;
  color: var(--brand);
  font-weight: 800;
  letter-spacing: .08em;
  font-size: .78rem;
  text-transform: uppercase;
}

h1, h2, p { margin-top: 0; }
h1 { font-size: clamp(1.8rem, 5vw, 2.55rem); line-height: 1.16; }
h2 { font-size: clamp(1.35rem, 4vw, 1.8rem); line-height: 1.35; }
.lead { color: var(--muted); font-size: 1.03rem; line-height: 1.75; }

.meta-row {
  display: flex;
  flex-wrap: wrap;
  gap: 9px;
  margin: 20px 0;
}

.meta-chip {
  padding: 7px 11px;
  border-radius: 10px;
  background: #edf6fa;
  color: #316b89;
  font-size: .88rem;
  font-weight: 700;
}

.notice {
  padding: 14px 16px;
  border-radius: 15px;
  background: var(--warning-bg);
  color: var(--warning-ink);
  line-height: 1.65;
  font-size: .92rem;
}

.primary-btn,
.secondary-btn {
  border: 0;
  border-radius: 14px;
  min-height: 48px;
  padding: 12px 20px;
  cursor: pointer;
  font-weight: 750;
}

.primary-btn {
  color: white;
  background: linear-gradient(135deg, var(--brand), var(--brand-dark));
  box-shadow: 0 8px 20px rgba(45, 111, 148, .24);
}
.secondary-btn { background: #eaf2f6; color: var(--brand-dark); }
.primary-btn:hover { filter: brightness(1.05); }
.primary-btn:focus-visible,
.secondary-btn:focus-visible,
.option-btn:focus-visible,
.home-link:focus-visible,
.scale-card:focus-visible { outline: 3px solid #f0ad4e; outline-offset: 3px; }

.actions { display: flex; gap: 12px; margin-top: 24px; }
.actions > * { flex: 1; }

.progress-head {
  display: flex;
  justify-content: space-between;
  gap: 14px;
  color: var(--muted);
  font-size: .92rem;
  font-weight: 700;
}

.progress-track {
  height: 9px;
  margin: 9px 0 28px;
  background: #e7eff3;
  border-radius: 999px;
  overflow: hidden;
}
.progress-fill { height: 100%; background: linear-gradient(90deg, var(--accent), var(--brand)); transition: width .25s ease; }

.question-number { color: var(--brand); font-weight: 850; margin-bottom: 10px; }
.question-text { min-height: 3.4em; }
.question-help { color: var(--muted); margin: -8px 0 18px; line-height: 1.55; }

.options { display: grid; gap: 11px; }
.option-btn {
  width: 100%;
  min-height: 53px;
  padding: 12px 16px;
  border-radius: 15px;
  border: 2px solid var(--line);
  color: var(--ink);
  background: var(--paper);
  cursor: pointer;
  text-align: left;
  transition: border-color .15s, transform .15s, background .15s;
}
.option-btn:hover { border-color: #8ab9cf; transform: translateY(-1px); }
.option-btn.selected { border-color: var(--brand); background: #eaf6fb; box-shadow: inset 0 0 0 1px var(--brand); }

.error-text { min-height: 1.4em; margin: 14px 0 0; color: #b33d45; font-weight: 700; }

.score-orb {
  width: 142px;
  height: 142px;
  margin: 18px auto;
  border-radius: 50%;
  display: grid;
  place-items: center;
  text-align: center;
  color: white;
  background: linear-gradient(145deg, #7bc8b2, #327ba2);
  box-shadow: 0 18px 34px rgba(52, 122, 153, .25);
}
.score-orb strong { display: block; font-size: 2.15rem; }
.score-orb span { font-size: .82rem; opacity: .92; }

.result-title { text-align: center; }
.result-summary { font-size: 1.08rem; line-height: 1.8; }
.result-detail { padding: 16px; border-radius: 15px; background: #eff7f8; line-height: 1.7; }
.result-detail ul { margin-bottom: 0; padding-left: 1.3em; }
.session-note { color: var(--muted); font-size: .88rem; line-height: 1.55; }
.session-note a { color: var(--brand-dark); font-weight: 750; }
.library-hero { padding: 28px 0 18px; }
.library-hero h1 { margin: 14px 0 10px; }
.library-hero p { color: var(--muted); line-height: 1.7; }
.scale-grid { display: grid; gap: 16px; margin: 24px 0; }
.scale-card {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 6px 14px;
  padding: 22px;
  border-radius: 22px;
  color: var(--ink);
  background: rgba(255,255,255,.92);
  text-decoration: none;
  border: 1px solid rgba(215, 229, 238, .95);
  box-shadow: 0 14px 36px rgba(44, 79, 102, .09);
  transition: transform .18s, box-shadow .18s;
}
.scale-card:hover { transform: translateY(-3px); box-shadow: 0 18px 42px rgba(44, 79, 102, .14); }
.card-icon { grid-row: span 3; font-size: 2rem; }
.card-kicker { color: var(--muted); font-size: .82rem; font-weight: 700; }
.scale-card strong { font-size: 1.18rem; }
.scale-card > span:last-child { color: var(--muted); line-height: 1.5; }
.scale-card.mint { border-left: 6px solid #79c8ae; }
.scale-card.blue { border-left: 6px solid #72a9d1; }
.scale-card.peach { border-left: 6px solid #e5aa82; }
.scale-card.rose { border-left: 6px solid #d98ba0; }
.scale-card.amber { border-left: 6px solid #deb76c; }
.scale-card.violet { border-left: 6px solid #9d8dd1; }
.scale-card.night { border-left: 6px solid #6784ad; }
.scale-card.teal { border-left: 6px solid #5aaeb0; }

.intake-card {
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 16px;
  padding: 24px;
  color: white;
  text-decoration: none;
  border-radius: 24px;
  background: linear-gradient(135deg, #327ba2, #55a693);
  box-shadow: 0 18px 40px rgba(45, 110, 137, .22);
}
.report-entry-card { margin-top: 14px; background: linear-gradient(135deg, #5d78a7, #6ca8a8); }
.intake-card > span:nth-child(2) { display: grid; gap: 5px; }
.intake-card small { opacity: .82; font-weight: 700; }
.intake-card strong { font-size: 1.28rem; }
.intake-card span span { opacity: .9; line-height: 1.5; }
.intake-icon { font-size: 2.1rem; }
.card-arrow { font-size: 1.5rem; }

.section-heading { display: flex; align-items: end; justify-content: space-between; gap: 16px; margin: 38px 0 16px; }
.section-heading h2 { margin-bottom: 0; }
.section-heading .eyebrow { margin-bottom: 7px; }

.category-hero { padding: 24px 4px 8px; }
.category-icon { display: block; margin-bottom: 12px; font-size: 2.4rem; }
.topic-chips { display: flex; flex-wrap: wrap; gap: 9px; margin-top: 18px; }
.topic-chips span { padding: 8px 11px; border-radius: 999px; background: rgba(255,255,255,.8); color: var(--muted); font-size: .88rem; font-weight: 700; }
.empty-state { padding: 28px; border-radius: 20px; background: rgba(255,255,255,.72); color: var(--muted); text-align: center; }
.empty-state strong { color: var(--ink); }

.form-section { margin: 26px 0; padding: 20px; border: 1px solid var(--line); border-radius: 18px; }
.form-section legend { padding: 0 8px; font-size: 1.08rem; font-weight: 800; color: var(--ink); }
.field-help { color: var(--muted); font-size: .9rem; }
.choice-row { display: flex; gap: 11px; align-items: flex-start; margin: 10px 0; padding: 12px 13px; border-radius: 13px; background: #f5f9fb; cursor: pointer; line-height: 1.5; }
.choice-row:has(input:checked) { background: #e7f4f7; box-shadow: inset 0 0 0 2px #6faabf; }
.choice-row input { width: 19px; height: 19px; margin: 2px 0 0; accent-color: var(--brand); flex: 0 0 auto; }
.risk-section { border-color: #e9c98c; background: #fffaf0; }
.consent-row { display: flex; gap: 11px; align-items: flex-start; padding: 15px; border-radius: 14px; background: #edf5f7; color: var(--muted); line-height: 1.55; }
.consent-row input { width: 19px; height: 19px; margin-top: 2px; accent-color: var(--brand); flex: 0 0 auto; }
.consent-row a { color: var(--brand-dark); font-weight: 750; }
.full-btn { width: 100%; }
.urgent-box { margin: 18px 0; padding: 18px; border-radius: 16px; background: #fff0f0; color: #8a2830; border: 1px solid #efb8bc; line-height: 1.65; }
.urgent-box p { margin: 8px 0; }
.recommend-list { display: grid; gap: 14px; margin: 22px 0; }
.recommend-card { display: grid; grid-template-columns: auto 1fr; gap: 14px; padding: 18px; border: 1px solid var(--line); border-radius: 18px; }
.recommend-card p { color: var(--muted); line-height: 1.55; }
.inline-btn, .button-link { display: inline-flex; align-items: center; justify-content: center; text-decoration: none; }
.intake-summary p { margin: 5px 0; }

.report-panel { padding: clamp(20px, 4vw, 34px); }
.report-header { padding-bottom: 16px; border-bottom: 1px solid var(--line); }
.report-header h1 { margin-bottom: 8px; }
.report-header p:last-child { color: var(--muted); margin-bottom: 0; }
.priority-banner { display: grid; gap: 5px; margin: 20px 0; padding: 16px; border-radius: 15px; }
.priority-banner span { font-size: .88rem; }
.priority-red { color: #842832; background: #ffecee; border: 1px solid #efb6bb; }
.priority-orange { color: #81501d; background: #fff3df; border: 1px solid #e7c38a; }
.priority-yellow { color: #64591d; background: #fffbe4; border: 1px solid #e2d68a; }
.report-block { margin: 25px 0; }
.report-block h2 { padding-bottom: 8px; border-bottom: 1px solid var(--line); }
.report-facts { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.report-facts > div { padding: 12px; border-radius: 12px; background: #f3f8fa; }
.report-facts .wide { grid-column: 1 / -1; }
.report-facts dt { color: var(--muted); font-size: .8rem; font-weight: 700; }
.report-facts dd { margin: 4px 0 0; font-weight: 750; }
.report-results { display: grid; gap: 12px; }
.report-result { display: grid; grid-template-columns: 1fr auto; gap: 10px 16px; padding: 16px; border: 1px solid var(--line); border-radius: 16px; }
.report-result h3 { margin: 5px 0 0; }
.report-result p { grid-column: 1 / -1; color: var(--muted); line-height: 1.6; margin-bottom: 0; }
.report-detail-list { grid-column: 1 / -1; margin: 4px 0 0; padding-left: 1.25rem; color: var(--muted); line-height: 1.65; }
.report-detail-list li { margin: 5px 0; }
.urgent-result { border-color: #e6a4aa; background: #fff7f7; }
.report-scale { color: var(--brand); font-size: .78rem; font-weight: 850; }
.mini-score { text-align: right; }
.mini-score strong { display: block; max-width: 210px; overflow-wrap: anywhere; font-size: 1.5rem; color: var(--brand-dark); }
.mini-score span { color: var(--muted); font-size: .72rem; }
.interview-list { padding-left: 1.35em; line-height: 1.7; }
.interview-list li { margin: 8px 0; }
.report-disclaimer { margin-top: 28px; padding: 16px; border-radius: 14px; background: #f2f4f5; color: var(--muted); font-size: .84rem; line-height: 1.65; }
.muted-copy { color: var(--muted); }
.text-link { display: inline-flex; align-items: center; min-height: 44px; color: var(--brand-dark); font-weight: 750; }
.policy-page { line-height: 1.75; }
.policy-page h2 { margin-top: 28px; }
.policy-page li { margin: 8px 0; }
.policy-page code { padding: 2px 6px; border-radius: 6px; background: #edf3f6; }

.safety-note { margin: 30px 0; padding: 18px 20px; background: rgba(255,255,255,.7); border-radius: 18px; color: var(--muted); line-height: 1.7; }
.safety-note p { margin: 6px 0 0; }

@media (max-width: 520px) {
  .app-shell, .library-shell { padding-left: 12px; padding-right: 12px; }
  .panel { padding: 22px 17px; border-radius: 23px; }
  .privacy-pill { display: none; }
  .actions { flex-direction: column-reverse; }
  .actions > * { width: 100%; }
  .hero-tools { align-items: flex-start; flex-direction: column; }
  .report-facts { grid-template-columns: 1fr; }
  .report-facts .wide { grid-column: auto; }
  .report-result { grid-template-columns: 1fr; }
  .mini-score { text-align: left; }
  .mini-score strong { max-width: none; }
}

@media print {
  body { background: white; }
  .topbar, .actions, .privacy-pill { display: none !important; }
  .app-shell { width: 100%; padding: 0; }
  .panel { box-shadow: none; border: 0; }
}

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