/* 纸质审批邪典视觉系统；覆盖开场、问卷、抽卡和结果四种状态。 */
:root {
  --desk: #d8d0bd;
  --paper: #f5f0df;
  --paper-deep: #eae4d2;
  --ink: #222820;
  --blue: #263f57;
  --green: #44624b;
  --red: #a72f25;
  --gold: #9d762f;
  --line: #9e9a89;
  --soft-line: #cbc5b3;
}

* { box-sizing: border-box; }
html { min-width: 320px; background: var(--desk); }
body { margin: 0; min-height: 100vh; color: var(--ink); font-family: "FangSong", "Microsoft YaHei", serif; letter-spacing: 0; }
button { color: inherit; font: inherit; }
img { max-width: 100%; }

.desk {
  min-height: 100vh;
  display: grid;
  place-items: center;
  padding: 24px;
  background-color: var(--desk);
  background-image: linear-gradient(rgba(70, 58, 37, .045) 1px, transparent 1px), linear-gradient(90deg, rgba(70, 58, 37, .035) 1px, transparent 1px);
  background-size: 28px 28px;
}

.document {
  position: relative;
  width: min(1360px, 100%);
  min-height: min(860px, calc(100vh - 48px));
  display: grid;
  grid-template-rows: auto 1fr auto;
  overflow: hidden;
  background: var(--paper);
  border: 1px solid #847d6a;
  box-shadow: 12px 16px 0 rgba(61, 51, 35, .17), 0 28px 70px rgba(61, 51, 35, .2);
}

.document::after {
  content: "INTERNAL / 人事适配材料";
  position: absolute;
  top: 45%;
  right: -118px;
  transform: rotate(90deg);
  color: rgba(167, 47, 37, .7);
  font: 700 11px Consolas, monospace;
  letter-spacing: 4px;
  pointer-events: none;
}

.document-header {
  min-height: 112px;
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  gap: 24px;
  padding: 22px 34px 24px;
  border-bottom: 3px double var(--ink);
}

.department, .form-label {
  margin: 0 0 7px;
  color: var(--blue);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 3px;
}

.brand-line { display: flex; align-items: center; gap: 20px; }
.brand-mark { font: 900 30px "Microsoft YaHei UI", "Microsoft YaHei", sans-serif; }
.brand-home-button { border: 0; background: transparent; color: inherit; cursor: pointer; text-align: left; }
.brand-home-button:focus-visible { outline: 3px solid var(--red); outline-offset: 5px; }
.document-code { color: var(--green); font: 700 11px Consolas, monospace; }
.header-stamp {
  padding: 9px 16px;
  border: 4px double var(--red);
  color: var(--red);
  font-weight: 900;
  transform: rotate(-5deg);
}
.approved-stamp { display: none !important; }

.screen { display: none; min-height: 0; animation: paper-in .38s ease-out; }
.screen.active { display: grid; }

.intro-screen { grid-template-columns: minmax(0, 1.05fr) minmax(360px, .75fr); }
.intro-copy { padding: clamp(36px, 5vw, 76px); border-right: 1px dashed var(--line); }
.intro-copy h1 {
  margin: 8px 0 24px;
  color: var(--blue);
  font: 900 clamp(54px, 6.5vw, 96px)/.98 "Microsoft YaHei UI", "Microsoft YaHei", sans-serif;
  text-wrap: balance;
}
.intro-lead { max-width: 660px; margin: 0; font-size: 18px; line-height: 1.75; text-wrap: pretty; }
.consent-list { margin: 30px 0 24px; border-top: 1px solid var(--ink); }
.consent-list span { min-height: 42px; display: flex; align-items: center; gap: 12px; border-bottom: 1px solid var(--soft-line); font-size: 14px; }
.consent-list span::before { content: "□"; color: var(--blue); font-weight: 900; }

.primary-action, .secondary-action, .text-action {
  min-height: 54px;
  border-radius: 0;
  cursor: pointer;
  transition: transform .16s, background .16s, color .16s, opacity .16s;
}
.primary-action { padding: 12px 22px; border: 2px solid var(--red); background: transparent; color: var(--red); font-weight: 900; }
.primary-action:hover:not(:disabled) { background: var(--red); color: var(--paper); }
.primary-action:active:not(:disabled), .secondary-action:active, .text-action:active { transform: translateY(2px); }
.primary-action:disabled { cursor: not-allowed; opacity: .35; }
.secondary-action { padding: 12px 18px; border: 1px solid var(--blue); background: transparent; color: var(--blue); font-weight: 800; }
.secondary-action:hover:not(:disabled) { background: var(--blue); color: var(--paper); }
.secondary-action:disabled { cursor: not-allowed; opacity: .38; }
.text-action { padding: 10px 6px; border: 0; background: transparent; color: var(--blue); text-decoration: underline; text-underline-offset: 5px; }
.fine-print { margin: 13px 0 0; color: #6b675b; font-size: 12px; }

.intro-evidence { position: relative; padding: 38px; overflow: hidden; }
.paperclip { position: absolute; z-index: 5; top: 13px; right: 62px; width: 50px; height: 118px; border: 5px solid #8a887f; border-bottom-color: transparent; border-radius: 28px 28px 0 0; transform: rotate(8deg); }
.evidence-label { color: var(--green); font-size: 11px; font-weight: 700; letter-spacing: 2px; }
.card-fan { position: relative; height: min(52vh, 480px); margin: 34px 0 24px; }
.card-fan img { position: absolute; left: 50%; top: 50%; width: min(75%, 350px); aspect-ratio: 1; object-fit: cover; border: 1px solid var(--ink); box-shadow: 4px 7px 0 rgba(42, 37, 28, .13); }
.card-fan img:nth-child(1) { transform: translate(-68%, -48%) rotate(-8deg); filter: saturate(.62); }
.card-fan img:nth-child(2) { z-index: 2; transform: translate(-50%, -53%) rotate(1deg); }
.card-fan img:nth-child(3) { transform: translate(-30%, -46%) rotate(9deg); filter: saturate(.62); }
.redacted-line { display: grid; grid-template-columns: 100px 1fr; gap: 18px; padding: 10px 0; border-top: 1px solid var(--line); font-size: 13px; }
.redacted-line b { color: var(--red); }

.quiz-screen { grid-template-columns: minmax(0, 1.35fr) minmax(300px, .55fr); }
.quiz-main { padding: clamp(28px, 4vw, 52px); border-right: 1px dashed var(--line); }
.form-meta { display: grid; grid-template-columns: repeat(3, 1fr); border: 1px solid var(--ink); }
.form-meta > div { min-height: 54px; padding: 8px 11px; border-right: 1px solid var(--ink); font-size: 13px; }
.form-meta > div:last-child { border-right: 0; }
.form-meta b { display: block; margin-bottom: 3px; color: var(--green); font-size: 10px; }
.quiz-progress { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 12px; margin: 0 0 28px; }
.progress-ruler { display: grid; grid-template-columns: repeat(10, minmax(0, 1fr)); gap: 5px; height: 6px; overflow: hidden; background: transparent; }
.progress-ruler i { display: block; width: 100%; height: 100%; background: rgba(167, 47, 37, .13); transition: background .18s, transform .18s; }
.progress-ruler i.done { background: var(--red); }
.progress-ruler i.current { background: repeating-linear-gradient(90deg, var(--red) 0 7px, rgba(167, 47, 37, .28) 7px 11px); transform: translateY(-1px); }
.quiz-progress > span { min-width: 30px; color: var(--green); font-size: 11px; font-weight: 800; line-height: 1; text-align: right; font-variant-numeric: tabular-nums; }
.question-id { margin: 0; color: var(--green); font-size: 11px; font-weight: 700; letter-spacing: 2px; }
.quiz-main h2 { margin: 15px 0 24px; max-width: 850px; color: var(--blue); font-size: clamp(25px, 3vw, 42px); line-height: 1.35; text-wrap: pretty; }
.answer-list { border-top: 1px solid var(--ink); }
.answer-option { width: 100%; min-height: 68px; display: grid; grid-template-columns: 54px 1fr 26px; align-items: center; gap: 10px; padding: 10px 13px; text-align: left; border: 0; border-bottom: 1px solid var(--line); border-radius: 0; background: transparent; cursor: pointer; }
.answer-option:hover { background: rgba(68, 98, 75, .08); }
.answer-option.selected { color: var(--ink); background: rgba(68, 98, 75, .07); }
.option-code { color: var(--blue); font-weight: 800; }
.option-box { position: relative; width: 18px; height: 18px; border: 1px solid var(--ink); }
.answer-option.selected .option-box { border-color: var(--green); }
.answer-option.selected .option-box::after { content: ""; position: absolute; left: 4px; top: -1px; width: 7px; height: 13px; border-right: 3px solid var(--green); border-bottom: 3px solid var(--green); transform: rotate(43deg); }
.question-note { margin: 18px 0 0; padding: 12px 14px; border-left: 5px solid var(--green); background: rgba(68, 98, 75, .07); font-size: 13px; line-height: 1.5; }
.quiz-actions { display: flex; justify-content: space-between; align-items: center; gap: 18px; margin-top: 22px; }
.next-action { min-width: 210px; }

.audit-strip { padding: 34px 28px; background: rgba(234, 228, 210, .45); }
.strip-title { margin: 0 0 20px; color: var(--blue); font-size: 12px; font-weight: 700; letter-spacing: 3px; }
.silhouette-file { height: 220px; display: grid; place-items: center; align-content: center; border: 1px solid var(--line); background: rgba(255, 255, 255, .22); }
.silhouette-head { width: 64px; height: 74px; background: var(--soft-line); clip-path: polygon(22% 0, 78% 0, 100% 24%, 82% 100%, 18% 100%, 0 24%); }
.silhouette-body { width: 116px; height: 70px; margin-top: -4px; background: var(--soft-line); clip-path: polygon(22% 0, 78% 0, 100% 100%, 0 100%); }
.silhouette-file span { margin-top: 14px; color: #777266; font-size: 11px; }
.profile-level { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 10px; margin-top: 20px; }
.profile-level > b { color: var(--blue); font: 900 16px Consolas, monospace; }
.profile-level > div { height: 7px; overflow: hidden; border: 1px solid var(--ink); background: rgba(255, 255, 255, .28); }
.profile-level i { display: block; width: var(--profile-exp, 0%); height: 100%; background: var(--gold); transition: width .38s ease; }
.profile-level > span { color: var(--green); font: 700 10px Consolas, monospace; }
.axis-readout { margin-top: 16px; border-top: 1px solid var(--ink); }
.axis-item { padding: 10px 0; border-bottom: 1px solid var(--soft-line); }
.axis-item > div:first-child { display: grid; grid-template-columns: 1fr auto auto; align-items: center; gap: 8px; font-size: 12px; }
.axis-item b { min-width: 48px; color: var(--blue); font: 700 10px Consolas, monospace; text-align: right; }
.axis-item em { min-width: 24px; color: var(--red); font: 900 12px Consolas, monospace; text-align: right; }
.axis-item.guard em { color: var(--green); }
.stat-meter { height: 6px; margin-top: 7px; overflow: hidden; background: rgba(158, 154, 137, .28); }
.stat-meter i { display: block; width: var(--stat-value, 0%); height: 100%; background: var(--red); transition: width .38s ease; }
.axis-item.guard .stat-meter i { background: var(--green); }
.axis-item.changed em { animation: stat-pop .5s ease-out; }
.strip-warning { margin: 20px 0 0; color: var(--red); font-size: 12px; line-height: 1.6; }

.processing-screen { grid-template-columns: 1fr 1fr; place-items: center; padding: clamp(40px, 7vw, 90px); }
.processing-copy h2 { margin: 12px 0 20px; color: var(--blue); font-size: clamp(42px, 5vw, 74px); line-height: 1.05; }
.processing-copy p:not(.form-label) { color: var(--red); font-size: 14px; }
.processing-meter { width: min(440px, 100%); height: 12px; margin-top: 28px; border: 1px solid var(--ink); }
.processing-meter i { display: block; width: 0; height: 100%; background: var(--red); transition: width .45s; }
.generating-receive { min-height: 20px; color: var(--green); font: 12px Consolas, monospace; }
.paper-machine { position: relative; width: min(420px, 100%); height: 470px; }
.machine-body { position: absolute; left: 10%; top: 17%; width: 80%; height: 52%; display: grid; place-items: center; background: #c7c2b2; border: 3px solid var(--ink); box-shadow: 8px 10px 0 rgba(61, 51, 35, .18); }
.machine-body span { color: var(--blue); font: 900 26px/1.3 "Microsoft YaHei", sans-serif; text-align: center; }
.machine-slot { position: absolute; z-index: 2; left: 20%; top: 12%; width: 60%; height: 24px; background: #1d211d; border: 3px solid var(--ink); }
.output-paper { position: absolute; z-index: 3; left: 25%; bottom: 2%; width: 50%; height: 49%; display: flex; flex-direction: column; align-items: center; justify-content: flex-end; gap: 12px; padding-bottom: 22px; background: var(--paper); border: 1px solid var(--ink); animation: print-paper 1.4s ease-in-out infinite alternate; }
.output-paper b { color: var(--blue); font-size: 22px; }
.output-paper span { color: var(--red); }

.result-screen { padding: 24px 34px 20px; }
.result-heading { display: flex; justify-content: space-between; align-items: center; gap: 24px; padding-bottom: 18px; border-bottom: 1px solid var(--ink); }
.result-heading .form-label { margin-bottom: 4px; color: var(--green); }
.result-heading h2 { margin: 0; color: var(--blue); font-size: clamp(32px, 3.6vw, 52px); line-height: 1.12; }
.result-explainer { max-width: 100%; min-height: 1.6em; margin: 10px 0 0; color: var(--blue); font-size: clamp(14px, 1.15vw, 17px); line-height: 1.6; letter-spacing: .02em; white-space: nowrap; }
.result-explainer::after { content: ""; display: inline-block; width: 2px; height: 1.05em; margin-left: 5px; vertical-align: -.12em; background: var(--red); animation: typewriter-caret .8s steps(1) infinite; }
.result-layout { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(300px, .55fr); gap: 30px; margin-top: 26px; }
.team-stage { min-height: 500px; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); align-items: center; gap: 12px; padding: 22px 18px; border: 1px solid var(--line); background: rgba(255, 255, 255, .2); }
.team-card-track { display: contents; }
.leader-result { position: relative; margin: 0; padding: 8px 8px 14px; background: #fffdf4; border: 1px solid var(--ink); box-shadow: 4px 6px 0 rgba(61, 51, 35, .12); text-align: center; transition: transform .25s; }
.leader-image-button { position: relative; display: block; width: 100%; padding: 0; border: 0; background: transparent; color: inherit; cursor: zoom-in; }
.leader-image-button:focus-visible { outline: 3px solid var(--red); outline-offset: 4px; }
.leader-image-button img { display: block; width: 100%; aspect-ratio: 1; object-fit: cover; transition: filter .2s, transform .2s; }
.leader-image-button .damage-state-image { position: absolute; z-index: 1; inset: 0; width: 100%; height: 100%; aspect-ratio: auto; object-fit: cover; opacity: 1; pointer-events: none; }
.leader-image-button .damage-state-image[hidden] { display: none; }
.leader-image-button:hover img { filter: brightness(.94); transform: scale(1.015); }
.image-zoom-hint { position: absolute; right: 8px; bottom: 8px; padding: 4px 7px; border: 1px solid var(--ink); background: rgba(255, 253, 244, .9); color: var(--blue); font-size: 10px; font-weight: 800; opacity: 0; transform: translateY(4px); transition: opacity .2s, transform .2s; }
.leader-image-button:hover .image-zoom-hint, .leader-image-button:focus-visible .image-zoom-hint { opacity: 1; transform: none; }
.leader-result strong { display: block; margin-top: 10px; font: 900 clamp(17px, 1.7vw, 24px)/1.16 "Microsoft YaHei", sans-serif; }
.leader-summary { margin-top: 9px; padding-top: 8px; border-top: 1px dashed var(--soft-line); text-align: left; }
.leader-summary > span { display: inline-block; padding: 3px 6px; border: 1px solid var(--green); color: var(--green); font-size: 10px; font-weight: 900; letter-spacing: 1px; }
.leader-summary p { min-height: 34px; margin: 7px 0 0; color: #676257; font-size: 11px; line-height: 1.55; }
.boss-talk { position: absolute; z-index: 6; left: 50%; top: -45px; width: min(190px, 90%); padding: 7px 10px; border: 1px solid var(--ink); border-radius: 14px 14px 14px 3px; background: #fffdf4; color: var(--blue); font-size: 11px; line-height: 1.4; text-align: left; opacity: 0; transform: translateX(-50%) rotate(-2deg) scale(.92); transform-origin: bottom center; pointer-events: none; }
.boss-talk { pointer-events: auto; cursor: grab; }
.boss-talk i { position: absolute; left: 22%; bottom: -8px; width: 13px; height: 13px; border-right: 1px solid var(--ink); border-bottom: 1px solid var(--ink); background: #fffdf4; transform: rotate(45deg); }
.leader-result.revealed .boss-talk { opacity: .96; animation: talk-pop .45s .3s both; }
.boss-talk.talk-pop { animation: talk-pop .42s both; }
.boss-talk.is-discarded { opacity: 0 !important; transform: translateX(-50%) translateY(-10px) rotate(-4deg) scale(.7); pointer-events: none; transition: opacity .25s, transform .25s; }
.team-carousel-tools, .team-swipe-hint { display: none; }
.team-stage { position: relative; }
.team-stage > .result-relief { position: absolute; z-index: 8; inset: 0; pointer-events: none; }
.leader-result[data-rarity="rare"] { border: 3px double var(--green); box-shadow: 6px 8px 0 rgba(68, 98, 75, .18); }
.leader-result[data-rarity="rare"]::after { content: "稀有编制"; position: absolute; right: 8px; top: 8px; padding: 4px 7px; color: var(--green); background: rgba(255, 253, 244, .9); border: 1px solid currentColor; font-size: 10px; font-weight: 800; transform: rotate(3deg); }
.leader-result[data-rarity="hidden"] { border: 5px double var(--red); box-shadow: 7px 9px 0 rgba(167, 47, 37, .2); }
.leader-result[data-rarity="hidden"]::after { content: "隐藏人事关系"; position: absolute; right: 7px; top: 7px; padding: 5px 8px; color: var(--red); background: rgba(255, 253, 244, .92); border: 2px solid currentColor; font-size: 10px; font-weight: 900; transform: rotate(4deg); }
.role-label { position: absolute; z-index: 2; top: -15px; left: 12px; padding: 5px 9px; background: var(--paper); border: 1px solid var(--ink); color: var(--blue); font-size: 11px; font-weight: 800; }
.support-card { transform: rotate(-3deg) translateY(18px); }
.primary-card { z-index: 2; transform: scale(1.07); border-width: 3px; }
.primary-card strong { color: var(--blue); font-size: clamp(23px, 2.2vw, 32px); }
.primary-card .role-label { border-color: var(--red); color: var(--red); }
.support-card strong, .latent-card strong { color: var(--green); font-size: clamp(16px, 1.5vw, 21px); }
.latent-card { transform: rotate(3deg) translateY(18px); }
.reveal-seal { position: absolute; z-index: 4; right: 10px; bottom: 44px; display: block; padding: 5px 7px; border: 3px double var(--red); color: var(--red); background: rgba(255, 253, 244, .92); font-size: 11px; font-style: normal; font-weight: 900; opacity: 0; transform: rotate(-8deg) scale(1.8); }
.primary-card .reveal-seal::before { content: "直属确认"; }
.latent-card .reveal-seal { right: 7px; top: 44px; bottom: auto; transform: rotate(8deg) scale(1.8); }
.latent-card .reveal-seal::before { content: "异常插入"; }
.team-stage.is-revealing .leader-result:not(.revealed) { pointer-events: none; }
.team-stage.is-revealing .leader-result:not(.revealed) { opacity: 0; }
.team-stage.is-revealing .support-card:not(.revealed) { transform: rotate(-9deg) translate(-34px, -78px) scale(.9); }
.team-stage.is-revealing .primary-card:not(.revealed) { transform: translateY(-18px) scale(.82); }
.team-stage.is-revealing .latent-card:not(.revealed) { transform: rotate(12deg) translate(76px, 30px) scale(.86); }
.team-stage.is-revealing .leader-result.revealed { opacity: 1; transition: opacity .28s ease, transform .5s cubic-bezier(.2, .85, .25, 1.12); }
.leader-result.revealed .reveal-seal { animation: reveal-stamp .36s .18s both; }
.leader-result[data-rarity="rare"].revealed { animation: rare-card-flash .62s .28s both; }
.leader-result[data-rarity="hidden"].revealed { animation: hidden-paper-shake .58s .32s both; }
.leader-result[data-rarity="rare"].revealed::before,
.leader-result[data-rarity="hidden"].revealed::before { content: ""; position: absolute; z-index: 3; inset: 0; pointer-events: none; opacity: 0; }
.leader-result[data-rarity="rare"].revealed::before { border: 4px solid rgba(68, 98, 75, .42); animation: rarity-glint .7s .22s ease-out; }
.leader-result[data-rarity="hidden"].revealed::before { border: 5px double rgba(167, 47, 37, .64); animation: rarity-glint 1s .18s ease-out; }
.primary-card.replacement-reveal { animation: primary-replacement .55s ease-out both; }
.appointment-file { border-top: 4px double var(--ink); }
.file-number { margin: 0; padding: 10px 0; border-bottom: 1px solid var(--line); color: var(--green); font: 700 11px Consolas, monospace; }
.result-relief { border: 0; }
.relief-backdrop, .relief-close, .relief-head, .relief-target-chip, .relief-status, .relief-impact-layer, .relief-group-thanks, .trash-burst-papers { display: none; }
.relief-scene, .relief-controls { display: contents; }
.woodfish-button, .trash-drop { position: absolute; bottom: 12px; width: 58px; height: 58px; min-height: 0; padding: 0; border: 1px solid rgba(31, 58, 78, .42); background-color: rgba(245, 240, 223, .94); box-shadow: 3px 4px 0 rgba(35, 35, 31, .16); color: var(--red); cursor: pointer; pointer-events: auto; outline: none; transition: transform .18s, filter .18s, opacity .18s; }
.woodfish-button { left: 12px; display: grid; place-items: end center; background: url("assets/ui/woodfish-relief-v2.png") center / 54px 54px no-repeat, rgba(245, 240, 223, .94); transform: rotate(-3deg); }
.woodfish-button span, .trash-drop > span { position: absolute; left: 50%; bottom: -8px; z-index: 2; padding: 2px 4px; background: var(--paper); font: 900 9px/1 "Microsoft YaHei", sans-serif; white-space: nowrap; transform: translateX(-50%); }
.woodfish-button strong, .trash-drop > b { position: absolute; z-index: 3; right: -6px; top: -7px; min-width: 21px; padding: 2px 3px; border: 1px solid var(--red); background: var(--paper); color: var(--red); font: 900 11px/1 Consolas, monospace; text-align: center; }
.woodfish-button:hover:not(:disabled), .woodfish-button:focus-visible:not(:disabled), .trash-drop:hover:not(:disabled), .trash-drop:focus-visible:not(:disabled) { transform: translateY(-3px) rotate(1deg) scale(1.04); filter: drop-shadow(0 5px 0 rgba(167, 47, 37, .16)); }
.woodfish-button:disabled, .trash-drop:disabled { cursor: not-allowed; filter: grayscale(1) opacity(.42); }
.woodfish-button:not(:disabled):not(.is-struck)::before { content: ""; position: absolute; inset: 2px; border: 1px solid rgba(167, 47, 37, .48); opacity: 0; pointer-events: none; animation: relief-entry-pulse 2.4s ease-in-out infinite; }
.woodfish-button.is-struck { background-image: url("assets/ui/woodfish-relief-strike-v3.png"); animation: woodfish-strike .34s cubic-bezier(.2, .8, .25, 1); }
.woodfish-button.is-struck::after { content: "✦"; position: absolute; left: 50%; top: 18%; color: var(--red); font: 900 20px Georgia, serif; animation: impact-star .34s ease-out both; pointer-events: none; }
.trash-drop { right: 12px; border-style: solid; background: url("assets/ui/emotion-trash-bin.png") center / 58px 58px no-repeat, rgba(245, 240, 223, .94); color: var(--green); }
.trash-drop[data-fill="0"] { filter: saturate(.55); }
.trash-drop[data-fill="1"] { filter: saturate(.78); }
.trash-drop[data-fill="2"] { filter: saturate(1); }
.trash-drop[data-fill="3"] { filter: saturate(1.2) contrast(1.05); }
.trash-drop::after { content: ""; position: absolute; inset: 22% 20%; border: 2px solid var(--red); opacity: 0; pointer-events: none; transform: scale(.3) rotate(45deg); }
.trash-lid, .trash-body { display: none; }
.trash-drop:not(.is-exploding) .trash-lid { position: absolute; z-index: 2; left: 27%; top: 18%; display: block; width: 46%; height: 9px; border: 1px solid var(--green); border-radius: 3px 3px 1px 1px; background: rgba(245, 240, 223, .9); transform-origin: 16% 100%; animation: trash-lid-invite 2.2s ease-in-out infinite; }
.trash-drop.is-drag-over { background: rgba(167, 47, 37, .12); border-color: var(--red); transform: rotate(-1deg); }
.quote-rack { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
.quote-slip { max-width: 100%; padding: 6px 8px; border: 1px solid var(--line); background: #fffdf4; color: #5f5b50; cursor: grab; font: 12px/1.35 "Microsoft YaHei", sans-serif; text-align: left; transform: rotate(-1deg); }
.quote-slip:nth-child(2n) { transform: rotate(2deg); background: #f0ead9; }
.quote-slip:hover, .quote-slip:focus-visible { border-color: var(--red); color: var(--red); }
.relief-status { min-height: 18px; margin: 10px 0 0; color: var(--paper); font-size: 12px; line-height: 1.45; text-align: center; }
.leader-result { cursor: pointer; }
.leader-result:focus-visible { outline: 3px solid var(--red); outline-offset: 3px; }
.leader-result:not(.relief-ready) { cursor: default; }
.leader-result.is-target { outline: 3px solid var(--red); outline-offset: 4px; }
.leader-damage { position: absolute; left: 8px; top: 8px; z-index: 4; min-height: 15px; padding: 3px 5px; color: var(--red); background: rgba(255, 253, 244, .9); font: 900 10px Consolas, monospace; }
.damage-marks { position: absolute; z-index: 4; inset: 18% 15% 34%; pointer-events: none; opacity: 0; }
.damage-marks::before, .damage-marks::after { content: ""; position: absolute; width: 18%; aspect-ratio: 1.25; border-radius: 50%; background: rgba(131, 44, 45, .52); filter: blur(1px); }
.damage-marks::before { left: 26%; top: 35%; transform: rotate(-14deg); }
.damage-marks::after { right: 26%; top: 39%; transform: rotate(12deg); }
.leader-result[data-damage-stage="2"] .damage-marks, .leader-result[data-damage-stage="3"] .damage-marks { opacity: .9; }
.leader-result[data-damage-stage="3"] .damage-marks { filter: saturate(1.25); transform: rotate(-3deg) scale(1.08); }
.leader-thanks { position: absolute; z-index: 6; left: 50%; top: 43%; padding: 7px 11px; border: 2px solid var(--red); background: var(--paper); color: var(--red); font: 900 18px "Microsoft YaHei", sans-serif; opacity: 0; pointer-events: none; transform: translate(-50%, -50%) rotate(-8deg) scale(.55); }
.leader-result[data-damage-stage="1"] img { filter: saturate(.7) contrast(1.06); transform: rotate(-1deg); }
.leader-result[data-damage-stage="2"] img { filter: saturate(.5) sepia(.18) contrast(1.12); transform: rotate(2deg) scale(.98); }
.leader-result[data-damage-stage="3"] img { filter: saturate(.42) sepia(.3) contrast(1.15); transform: rotate(-3deg) scale(.96); }
.leader-result.damage-hit { animation: relief-hit .22s ease-out; }
.damage-sticker-layer { position: absolute; z-index: 5; inset: 0; pointer-events: none; overflow: hidden; }
.damage-sticker { position: absolute; display: block; width: 34%; height: auto; object-fit: contain; opacity: 0; filter: drop-shadow(0 2px 0 rgba(35, 35, 31, .16)); animation: sticker-pop .38s .04s cubic-bezier(.2, .9, .2, 1.2) forwards; }
.damage-sticker-1 { left: 8%; top: 21%; transform: rotate(-12deg); }
.damage-sticker-2 { right: 5%; top: 13%; width: 28%; transform: rotate(12deg); }
.damage-sticker-3 { left: 35%; bottom: 24%; width: 36%; transform: rotate(-8deg); }
.damage-sticker-4 { left: 8%; bottom: 10%; width: 46%; transform: rotate(8deg); }
.damage-sticker-5 { right: 4%; bottom: 8%; width: 48%; transform: rotate(-7deg); }
.damage-sticker-6 { left: 20%; top: 31%; width: 60%; opacity: .38; transform: rotate(4deg); }
.damage-labels { position: absolute; z-index: 6; left: 50%; bottom: 7%; padding: 4px 6px; border: 1px solid var(--green); background: rgba(255, 253, 244, .9); color: var(--red); font: 900 10px/1.2 "Microsoft YaHei", sans-serif; white-space: nowrap; transform: translateX(-50%) rotate(-3deg); animation: sticker-pop .38s .12s both; }
.leader-result.thanks-visible .leader-thanks { animation: thanks-pop .95s .1s both; }
.result-relief.is-exploded .trash-drop { animation: trash-burst .8s ease-out both; }
.result-relief.is-exploded .trash-drop::after { animation: trash-paper-pop .8s ease-out both; }
.team-stage.relief-explosion .leader-result { animation: group-thanks-shake .7s ease-out both; }
.team-stage.relief-explosion .leader-result:nth-child(2) { animation-delay: .06s; }
.team-stage.relief-explosion .leader-result:nth-child(3) { animation-delay: .12s; }

/* 解压工具全屏层：默认只显示舞台左右下角的两个小入口。 */
body.relief-modal-open { overflow: hidden; }
.team-stage > .result-relief.is-open { position: fixed; z-index: 120; inset: 0; display: grid; place-items: center; padding: 20px; pointer-events: auto; }
.result-relief.is-open .relief-backdrop { position: absolute; z-index: 0; inset: 0; display: block; width: 100%; height: 100%; border: 0; background: rgba(16, 25, 22, .88); cursor: zoom-out; backdrop-filter: blur(5px); }
.result-relief.is-open .relief-close { position: fixed; z-index: 5; right: max(18px, env(safe-area-inset-right)); top: max(16px, env(safe-area-inset-top)); display: grid; place-items: center; width: 44px; height: 44px; padding: 0; border: 1px solid rgba(245, 240, 223, .72); border-radius: 50%; background: rgba(16, 25, 22, .6); color: var(--paper); font: 300 28px/1 Arial, sans-serif; cursor: pointer; }
.result-relief.is-open .relief-head { position: fixed; z-index: 3; left: 50%; top: max(22px, env(safe-area-inset-top)); display: grid; justify-items: center; gap: 4px; color: var(--paper); transform: translateX(-50%); }
.result-relief.is-open .relief-head span { color: #d8caa8; font-size: 12px; font-weight: 900; letter-spacing: 3px; }
.result-relief.is-open .relief-head b { max-width: min(70vw, 520px); overflow: hidden; color: var(--paper); font-size: 13px; text-overflow: ellipsis; white-space: nowrap; }
.result-relief.is-open .relief-scene { position: relative; z-index: 2; display: grid; place-items: center; width: min(760px, calc(100vw - 36px)); height: min(700px, calc(100vh - 110px)); min-height: 430px; isolation: isolate; }
.result-relief.is-open .relief-scene::before, .result-relief.is-open .relief-scene::after { content: ""; position: absolute; z-index: -1; border: 1px solid rgba(216, 202, 168, .16); border-radius: 50%; pointer-events: none; }
.result-relief.is-open .relief-scene::before { width: min(68vw, 560px); aspect-ratio: 1; }
.result-relief.is-open .relief-scene::after { width: min(86vw, 710px); aspect-ratio: 1; border-style: dashed; animation: relief-orbit 18s linear infinite; }
.result-relief.is-open .relief-target-chip { position: absolute; left: 50%; top: 8%; display: grid; justify-items: center; gap: 4px; color: var(--paper); transform: translateX(-50%); }
.relief-target-chip span { color: #ad9c79; font-size: 10px; font-weight: 900; letter-spacing: 2px; }
.relief-target-chip strong { max-width: 70vw; overflow: hidden; font-size: clamp(18px, 3vw, 30px); text-overflow: ellipsis; white-space: nowrap; }
.result-relief.is-open .relief-controls { display: grid; place-items: center; }
.result-relief.is-open .woodfish-button, .result-relief.is-open .trash-drop { position: relative; inset: auto; width: clamp(250px, 44vmin, 390px); height: clamp(250px, 44vmin, 390px); border: 0; box-shadow: none; background-color: transparent; filter: drop-shadow(0 22px 16px rgba(0, 0, 0, .34)); transform: none; }
.result-relief.is-open .woodfish-button { background-size: 96% 96%; }
.result-relief.is-open .trash-drop { background-size: 96% 96%; }
.result-relief.is-open .woodfish-button span, .result-relief.is-open .trash-drop > span { bottom: 2%; padding: 6px 10px; border: 1px solid rgba(245, 240, 223, .36); background: rgba(16, 25, 22, .7); color: var(--paper); font-size: 12px; letter-spacing: 2px; }
.result-relief.is-open .woodfish-button strong, .result-relief.is-open .trash-drop > b { right: 7%; top: 8%; min-width: 42px; padding: 6px 8px; border: 2px solid var(--red); background: var(--paper); font-size: 20px; }
.result-relief.is-open.mode-woodfish .trash-drop, .result-relief.is-open.mode-trash .woodfish-button { display: none; }
.result-relief.is-open .woodfish-button:not(:disabled):not(.is-struck)::before { animation: relief-entry-pulse 1.65s ease-in-out infinite; }
.result-relief.is-open .woodfish-button.is-struck { animation: woodfish-full-strike .32s cubic-bezier(.2, .8, .25, 1); }
.result-relief.is-open .trash-drop:not(.is-exploding) .trash-lid { left: 28%; top: 20%; width: 44%; height: 32px; border-width: 2px; }
.result-relief.is-open.mode-trash .trash-drop:not(:disabled) .trash-lid { animation: trash-lid-full-invite 1.8s ease-in-out infinite; }
.result-relief.is-open .relief-status { position: fixed; z-index: 3; left: 50%; bottom: max(22px, env(safe-area-inset-bottom)); display: block; width: min(620px, calc(100vw - 48px)); margin: 0; transform: translateX(-50%); }
.result-relief.is-open .quote-rack { position: absolute; z-index: 4; left: 50%; top: 15%; width: min(620px, 92%); height: auto; display: none; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; overflow: visible; clip-path: none; transform: translateX(-50%); }
.result-relief.is-open.mode-trash .quote-rack { display: grid; }
.result-relief.is-open .quote-slip { min-height: 74px; display: grid; place-items: center; padding: 12px; border: 1px solid #d8caa8; box-shadow: 4px 6px 0 rgba(0, 0, 0, .2); font-size: 13px; text-align: center; }
.result-relief.is-open .relief-impact-layer { position: absolute; z-index: 6; left: 50%; top: 55%; display: block; width: 1px; height: 1px; pointer-events: none; }
.relief-impact-layer span { position: absolute; left: 0; top: 0; padding: 5px 8px; border: 1px solid var(--red); background: var(--paper); color: var(--red); font: 900 14px/1 "Microsoft YaHei", sans-serif; white-space: nowrap; animation: relief-word-fly .72s ease-out both; }
.result-relief.is-open .trash-burst-papers { position: absolute; z-index: 7; inset: 0; pointer-events: none; }
.trash-burst-papers i { position: absolute; left: 50%; top: 52%; width: 22px; height: 30px; border: 1px solid rgba(31, 58, 78, .52); background: var(--paper); opacity: 0; }
.result-relief.is-exploded .trash-burst-papers i { animation: relief-paper-burst 1.05s cubic-bezier(.15, .72, .25, 1) both; }
.trash-burst-papers i:nth-child(1) { --paper-x: -270px; --paper-y: -180px; --paper-r: -42deg; }
.trash-burst-papers i:nth-child(2) { --paper-x: -170px; --paper-y: -250px; --paper-r: 18deg; animation-delay: .04s !important; }
.trash-burst-papers i:nth-child(3) { --paper-x: -58px; --paper-y: -290px; --paper-r: -12deg; animation-delay: .08s !important; }
.trash-burst-papers i:nth-child(4) { --paper-x: 95px; --paper-y: -265px; --paper-r: 37deg; animation-delay: .03s !important; }
.trash-burst-papers i:nth-child(5) { --paper-x: 235px; --paper-y: -190px; --paper-r: 68deg; animation-delay: .09s !important; }
.trash-burst-papers i:nth-child(6) { --paper-x: 300px; --paper-y: -30px; --paper-r: 92deg; }
.trash-burst-papers i:nth-child(7) { --paper-x: 250px; --paper-y: 170px; --paper-r: 132deg; animation-delay: .06s !important; }
.trash-burst-papers i:nth-child(8) { --paper-x: 95px; --paper-y: 245px; --paper-r: 166deg; animation-delay: .02s !important; }
.trash-burst-papers i:nth-child(9) { --paper-x: -70px; --paper-y: 260px; --paper-r: -156deg; animation-delay: .08s !important; }
.trash-burst-papers i:nth-child(10) { --paper-x: -220px; --paper-y: 190px; --paper-r: -118deg; }
.trash-burst-papers i:nth-child(11) { --paper-x: -300px; --paper-y: 65px; --paper-r: -86deg; animation-delay: .05s !important; }
.trash-burst-papers i:nth-child(12) { --paper-x: -310px; --paper-y: -70px; --paper-r: -62deg; animation-delay: .1s !important; }
.result-relief.is-open .relief-group-thanks { position: absolute; z-index: 9; inset: 12% 4%; align-items: center; justify-content: space-between; pointer-events: none; }
.relief-group-thanks span { padding: 8px 12px; border: 3px double var(--red); background: var(--paper); color: var(--red); font: 900 clamp(18px, 4vw, 30px)/1 "Microsoft YaHei", sans-serif; opacity: 0; }
.relief-group-thanks span::before { content: "辛苦了"; }
.relief-group-thanks span:nth-child(1) { transform: rotate(-12deg); }
.relief-group-thanks span:nth-child(2) { transform: translateY(-80px) rotate(4deg); }
.relief-group-thanks span:nth-child(3) { transform: rotate(10deg); }
.result-relief.is-open .relief-group-thanks.is-visible { display: flex; }
.relief-group-thanks.is-visible span { animation: thanks-overlay-pop .8s cubic-bezier(.2, .9, .25, 1.15) both; }
.relief-group-thanks.is-visible span:nth-child(2) { animation-delay: .08s; }
.relief-group-thanks.is-visible span:nth-child(3) { animation-delay: .16s; }

@keyframes relief-orbit { to { transform: rotate(360deg); } }
@keyframes woodfish-full-invite { 0%, 100% { transform: rotate(-2deg) translateY(0); } 46% { transform: rotate(1deg) translateY(-7px); } 58% { transform: rotate(-3deg) translateY(3px); } }
@keyframes woodfish-full-strike { 0%, 100% { transform: rotate(-2deg) scale(1); } 25% { transform: rotate(4deg) scale(.91); filter: brightness(1.25) drop-shadow(0 9px 8px rgba(0, 0, 0, .3)); } 58% { transform: rotate(-4deg) scale(1.05); } }
@keyframes relief-entry-pulse { 0%, 100% { opacity: 0; transform: scale(.84); } 48% { opacity: .65; transform: scale(1); } 62% { opacity: 0; transform: scale(1.08); } }
@keyframes trash-full-invite { 0%, 100% { transform: translateY(0) rotate(-1deg); } 52% { transform: translateY(-6px) rotate(1deg); } 65% { transform: translateY(1px) rotate(-2deg); } }
@keyframes trash-lid-full-invite { 0%, 100% { transform: rotate(0); } 42% { transform: rotate(0); } 56% { transform: rotate(-24deg) translate(-5px, -8px); } 72% { transform: rotate(-13deg) translate(-3px, -5px); } 84% { transform: rotate(0); } }
@keyframes relief-word-fly { 0% { opacity: 0; transform: translate(-50%, -50%) scale(.55); } 18% { opacity: 1; } 100% { opacity: 0; transform: translate(-50%, calc(-50% - var(--impact-distance))) rotate(var(--impact-angle)) scale(1.08); } }
@keyframes relief-paper-burst { 0% { opacity: 0; transform: translate(-50%, -50%) scale(.4) rotate(0); } 18% { opacity: 1; } 100% { opacity: 0; transform: translate(calc(-50% + var(--paper-x)), calc(-50% + var(--paper-y))) scale(1.1) rotate(var(--paper-r)); } }
@keyframes thanks-overlay-pop { 0% { opacity: 0; scale: 1.9; } 55% { opacity: 1; scale: .92; } 100% { opacity: 1; scale: 1; } }
.metric-table div { display: grid; grid-template-columns: 1fr auto; gap: 16px; padding: 10px 0; border-bottom: 1px solid var(--soft-line); color: #676257; font-size: 12px; }
.metric-table b { color: var(--red); }
.talent-file { margin-top: 16px; padding: 13px 14px; border-left: 5px solid var(--green); background: rgba(68, 98, 75, .07); }
.talent-file b { display: block; margin: 6px 0 4px; color: var(--blue); font-size: 18px; }
.result-actions { display: flex; justify-content: flex-end; align-items: center; gap: 12px; margin-top: 22px; }
.screen-nav-actions { display: flex; justify-content: space-between; align-items: center; gap: 12px; max-width: 780px; margin: 24px auto 0; }
.screen-back { padding-left: 0; }

.document-footer { min-height: 48px; display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 20px; padding: 9px 34px; border-top: 3px double var(--ink); color: var(--blue); font-size: 11px; }
.stamp-flash { position: fixed; z-index: 20; left: 50%; top: 50%; padding: 20px 28px; border: 8px double var(--red); color: var(--red); background: rgba(245, 240, 223, .92); font: 900 48px "Microsoft YaHei", sans-serif; opacity: 0; pointer-events: none; transform: translate(-50%, -50%) rotate(-12deg) scale(1.8); transition: .26s; }
.stamp-flash.show { opacity: .96; transform: translate(-50%, -50%) rotate(-12deg) scale(1); }
.toast { position: fixed; z-index: 21; left: 50%; bottom: 24px; max-width: calc(100vw - 32px); padding: 12px 18px; background: var(--ink); color: var(--paper); opacity: 0; pointer-events: none; transform: translate(-50%, 18px); transition: .22s; text-align: center; }
.toast.show { opacity: 1; transform: translate(-50%, 0); }

/* 同页查看领导卡大图，避免遮挡时必须离开结果页。 */
.leader-lightbox { position: fixed; z-index: 40; inset: 0; display: grid; place-items: center; padding: 24px; }
.leader-lightbox-backdrop { position: absolute; inset: 0; background: rgba(24, 27, 24, .78); cursor: zoom-out; }
.leader-lightbox-dialog { position: relative; z-index: 1; width: min(680px, 94vw); max-height: 94vh; overflow: auto; padding: 22px; background: var(--paper); border: 2px solid var(--ink); box-shadow: 12px 14px 0 rgba(0, 0, 0, .25); text-align: center; }
.leader-lightbox-dialog p { margin: 0 0 6px; color: var(--green); font-size: 12px; font-weight: 900; letter-spacing: 2px; }
.leader-lightbox-dialog h2 { margin: 0 0 16px; color: var(--blue); font-size: clamp(28px, 5vw, 48px); }
.leader-lightbox-dialog img { display: block; width: 100%; max-height: 72vh; object-fit: contain; background: #fffdf4; border: 1px solid var(--line); }
.leader-lightbox-close { position: absolute; z-index: 2; top: 8px; right: 8px; width: 38px; height: 38px; border: 1px solid var(--ink); background: var(--paper); color: var(--ink); cursor: pointer; font-size: 28px; line-height: 1; }
.leader-lightbox-close:focus-visible { outline: 3px solid var(--red); outline-offset: 2px; }

@keyframes paper-in { from { opacity: 0; transform: translateY(10px); } }
@keyframes print-paper { from { transform: translateY(-46px); } to { transform: translateY(6px); } }
@keyframes stat-pop { from { opacity: 0; transform: translateY(7px) scale(1.35); } to { opacity: 1; transform: none; } }
@keyframes reveal-stamp { from { opacity: 0; transform: rotate(-8deg) scale(1.8); } to { opacity: 1; transform: rotate(-8deg) scale(1); } }
@keyframes rare-card-flash { 0%, 100% { filter: none; } 45% { filter: brightness(1.2) sepia(.25); } }
@keyframes hidden-paper-shake { 0%, 100% { translate: 0; } 20% { translate: -7px 2px; } 40% { translate: 7px -2px; } 60% { translate: -4px 1px; } 80% { translate: 3px -1px; } }
@keyframes rarity-glint { 0% { opacity: 0; transform: scale(.9); } 35% { opacity: .9; } 100% { opacity: 0; transform: scale(1.08); } }
@keyframes primary-replacement { 0% { opacity: .2; translate: 0 -28px; } 65% { translate: 0 4px; } 100% { opacity: 1; translate: 0; } }
@keyframes relief-hit { 0%, 100% { translate: 0; } 35% { translate: -6px 2px; rotate: -1deg; } 70% { translate: 5px -1px; rotate: 1deg; } }
@keyframes woodfish-strike { 0%, 100% { transform: rotate(-2deg) translateY(0); } 28% { transform: rotate(3deg) translateY(4px) scale(.97); } 55% { transform: rotate(-4deg) translateY(-2px) scale(1.02); } }
@keyframes woodfish-invite { 0%, 100% { transform: rotate(-2deg) translateY(0); } 48% { transform: rotate(1deg) translateY(-2px); } 58% { transform: rotate(-4deg) translateY(2px); } }
@keyframes trash-lid-invite { 0%, 100% { transform: rotate(0); } 42% { transform: rotate(0); } 55% { transform: rotate(-18deg) translate(-2px, -3px); } 70% { transform: rotate(-10deg) translate(-1px, -2px); } 82% { transform: rotate(0); } }
@keyframes impact-star { 0% { opacity: 0; transform: translate(-50%, 8px) scale(.45) rotate(-20deg); } 35% { opacity: 1; transform: translate(-50%, -2px) scale(1.1) rotate(8deg); } 100% { opacity: 0; transform: translate(-50%, -18px) scale(1.3) rotate(25deg); } }
@keyframes sticker-pop { 0% { opacity: 0; scale: .55; } 65% { opacity: .98; scale: 1.06; } 100% { opacity: .9; scale: 1; } }
@keyframes thanks-pop { 0% { opacity: 0; transform: translate(-50%, -50%) rotate(-8deg) scale(.55); } 32% { opacity: 1; transform: translate(-50%, -50%) rotate(5deg) scale(1.08); } 100% { opacity: .92; transform: translate(-50%, -50%) rotate(-3deg) scale(1); } }
@keyframes trash-burst { 0% { transform: rotate(0) scale(1); filter: none; } 22% { transform: rotate(-7deg) scale(1.08); filter: brightness(1.2); } 48% { transform: rotate(8deg) scale(.94); } 72% { transform: rotate(-3deg) scale(1.04); } 100% { transform: rotate(0) scale(1); } }
@keyframes trash-paper-pop { 0% { opacity: 0; transform: scale(.3) rotate(45deg); } 32% { opacity: .95; transform: scale(1.2) rotate(12deg); } 100% { opacity: 0; transform: scale(1.8) rotate(-12deg); } }
@keyframes group-thanks-shake { 0%, 100% { translate: 0; } 24% { translate: -5px -2px; } 48% { translate: 6px 2px; } 72% { translate: -3px 1px; } }
@keyframes talk-pop { 0% { opacity: 0; transform: translateX(-50%) translateY(5px) rotate(-2deg) scale(.88); } 100% { opacity: .96; transform: translateX(-50%) rotate(-2deg) scale(1); } }

@media (max-width: 980px) {
  .intro-screen, .quiz-screen, .result-layout { grid-template-columns: 1fr; }
  .intro-copy, .quiz-main { border-right: 0; }
  .intro-evidence, .audit-strip { border-top: 1px dashed var(--line); }
  .card-fan { height: 420px; }
  .audit-strip { display: grid; grid-template-columns: 220px 1fr; gap: 24px; }
  .strip-title, .strip-warning { grid-column: 1 / -1; }
  .silhouette-file { grid-column: 1; grid-row: 1 / span 2; }
  .profile-level { grid-column: 2; grid-row: 1; margin-top: 0; }
  .axis-readout { grid-column: 2; grid-row: 2; margin-top: 0; }
  .result-layout { gap: 22px; }
  .appointment-file { padding-bottom: 10px; }
}

@media (max-width: 680px) {
  .desk { display: block; padding: 0; }
  .document { min-height: 100vh; border: 0; box-shadow: none; }
  .document::after { display: none; }
  .document-header { min-height: 74px; padding: 14px 18px 12px; }
  .department { font-size: 10px; letter-spacing: 2px; }
  .brand-mark { font-size: 24px; }
  .document-code { display: none; }
  .header-stamp { padding: 7px 10px; font-size: 13px; }
  .intro-screen { display: none; }
  .intro-screen.active { display: block; }
  .intro-copy { padding: 34px 20px 28px; }
  .intro-copy h1 { font-size: clamp(50px, 16vw, 68px); }
  .intro-lead { font-size: 16px; }
  .intro-evidence { padding: 26px 20px 34px; }
  .card-fan { height: 330px; margin-top: 24px; }
  .card-fan img { width: min(72%, 290px); }
  .quiz-screen.active { display: block; }
  .quiz-main { padding: 24px 18px 28px; }
  .form-meta { grid-template-columns: 1fr; }
  .form-meta > div { min-height: 46px; border-right: 0; border-bottom: 1px solid var(--ink); }
  .form-meta > div:last-child { border-bottom: 0; }
  .quiz-main h2 { font-size: 27px; }
  .answer-option { grid-template-columns: 38px 1fr 24px; min-height: 72px; padding-left: 6px; }
  .quiz-actions { align-items: stretch; flex-direction: column-reverse; }
  .next-action { width: 100%; }
  .audit-strip { display: none; }
  .processing-screen.active { display: block; padding: 40px 20px; }
  .processing-copy h2 { font-size: 48px; }
  .paper-machine { height: 360px; margin: 24px auto 0; }
  .machine-body span { font-size: 21px; }
  .result-screen.active { display: block; padding: 22px 16px 24px; }
  .result-heading { align-items: flex-start; }
  .result-heading h2 { font-size: 38px; }
  .result-layout { position: relative; }
  .team-stage { position: relative; min-height: 0; display: block; padding: 58px 10px 86px; overflow: hidden; }
  .team-card-track { display: flex; align-items: stretch; gap: 14px; overflow-x: auto; scroll-snap-type: x mandatory; scroll-behavior: smooth; scrollbar-width: none; }
  .team-card-track::-webkit-scrollbar { display: none; }
  .team-carousel-tools { position: absolute; z-index: 9; left: 50%; top: 12px; display: flex; align-items: center; gap: 14px; color: var(--red); font: 900 12px Consolas, monospace; transform: translateX(-50%); }
  .carousel-arrow { width: 30px; height: 30px; border: 1px solid var(--red); background: var(--paper); color: var(--red); cursor: pointer; font: 900 22px/1 Georgia, serif; }
  .team-swipe-hint { position: absolute; left: 50%; bottom: 14px; display: block; color: var(--green); font-size: 10px; letter-spacing: 1px; transform: translateX(-50%); white-space: nowrap; }
  .leader-result { flex: 0 0 calc(100% - 20px); scroll-snap-align: center; scroll-snap-stop: always; }
  .primary-card, .support-card, .latent-card { width: auto; transform: none; }
  .leader-result:not(.mobile-active) { opacity: .48; }
  .leader-result.mobile-active { opacity: 1; }
  .boss-talk { top: -49px; width: min(240px, 88%); font-size: 12px; }
  .leader-summary p { min-height: 42px; font-size: 12px; }
  .team-stage > .result-relief { inset: 0; }
  .leader-result strong { font-size: 19px; }
  .result-actions { align-items: stretch; flex-direction: column; }
  .result-actions button { width: 100%; }
  .document-footer { padding: 9px 16px; font-size: 10px; }
  .document-footer span:first-child { max-width: 240px; }
  .stamp-flash { font-size: 36px; }
}

/* 互动小说界面：保持纸张、蓝黑标题、绿色表格线和红色盖章层级。 */
.result-subtitle { margin: 10px 0 0; color: #6b675b; font-size: 14px; }
.prep-screen, .generating-screen, .error-screen { min-height: 610px; padding: clamp(34px, 7vw, 88px); align-items: center; }
.prep-screen { grid-template-columns: minmax(0, 1fr) minmax(320px, .72fr); gap: 50px; }
.prep-copy h2, .generating-copy h2, .error-screen h2 { margin: 14px 0 20px; color: var(--blue); font-size: clamp(38px, 5vw, 68px); line-height: 1.12; }
.prep-copy > p:not(.form-label) { max-width: 610px; font-size: 18px; line-height: 1.8; }
.prep-notes { margin: 28px 0; border-top: 1px solid var(--ink); max-width: 610px; }
.prep-notes div { display: grid; grid-template-columns: 105px 1fr; gap: 16px; padding: 14px 0; border-bottom: 1px solid var(--soft-line); font-size: 14px; }
.prep-notes b { color: var(--green); font-size: 12px; }
.prep-stack { position: relative; min-height: 420px; }
.mini-leader { position: absolute; width: 220px; padding: 8px 8px 14px; background: #fffdf4; border: 1px solid var(--ink); box-shadow: 6px 8px 0 rgba(61, 51, 35, .14); text-align: center; }
.mini-leader:nth-child(1) { left: 30%; top: 2%; transform: rotate(2deg); z-index: 3; }
.mini-leader:nth-child(2) { left: 4%; top: 21%; transform: rotate(-8deg); }
.mini-leader:nth-child(3) { right: 3%; top: 25%; transform: rotate(8deg); }
.mini-leader img { display: block; width: 100%; aspect-ratio: 1; object-fit: cover; margin: 8px 0; }
.mini-leader span { display: block; color: var(--green); font-size: 11px; letter-spacing: 2px; }
.mini-leader b { font: 900 20px "Microsoft YaHei", sans-serif; }
.generating-screen { grid-template-columns: 1fr 1fr; }
.generating-copy p:not(.form-label) { color: var(--red); font-size: 15px; }
.generating-preview { max-width: 680px; margin-top: 28px; padding-top: 18px; border-top: 1px solid var(--ink); }
.streaming-label { margin: 0 0 10px; color: var(--green) !important; font-size: 11px !important; font-weight: 900; letter-spacing: 2px; text-transform: uppercase; }
.streaming-story { position: relative; min-height: 86px; max-height: 280px; overflow: hidden; color: #2b302b; font-size: 16px; line-height: 1.9; white-space: pre-wrap; }
.streaming-story::after { content: ""; display: inline-block; width: 2px; height: 1.05em; margin-left: 4px; vertical-align: -.12em; background: var(--red); animation: streaming-caret .9s steps(1, end) infinite; }
.streaming-story.streaming-update { animation: streaming-reveal .22s ease-out both; }
.streaming-story:empty::after { display: none; }
@keyframes streaming-caret { 0%, 45% { opacity: 1; } 46%, 100% { opacity: 0; } }
@keyframes streaming-reveal { from { opacity: .62; filter: blur(1px); } to { opacity: 1; filter: blur(0); } }
.story-screen { display: block; padding: clamp(24px, 5vw, 64px); }
.story-top { display: flex; justify-content: space-between; align-items: end; gap: 20px; padding-bottom: 20px; border-bottom: 1px solid var(--ink); }
.story-top h2 { margin: 8px 0 0; color: var(--blue); font-size: clamp(32px, 4vw, 58px); line-height: 1.16; }
.act-count { color: var(--red); font: 700 13px Consolas, monospace; white-space: nowrap; }
.story-paper { max-width: 920px; margin: 34px auto 0; padding: clamp(24px, 5vw, 58px); background: rgba(255, 253, 244, .64); border: 1px solid var(--line); box-shadow: 8px 10px 0 rgba(61, 51, 35, .1); }
.cast-intro { margin: 0 0 28px; color: var(--green); font-size: 15px; line-height: 1.7; }
.prose, .ending-prose { color: #2b302b; font-size: 17px; line-height: 2; text-align: left; }
.dialogues { margin: 30px 0; border-top: 2px solid var(--green); }
.dialogues p { display: grid; grid-template-columns: 110px 1fr; gap: 12px; margin: 0; padding: 13px 0; border-bottom: 1px solid var(--soft-line); font-size: 15px; line-height: 1.65; }
.dialogues b { color: var(--red); font-size: 13px; }
.choice-box { margin-top: 34px; padding: 22px; border-left: 5px solid var(--red); background: rgba(167, 47, 37, .06); }
.choice-box h3 { margin: 0 0 15px; color: var(--blue); font-size: 19px; }
.choice-option { display: block; width: 100%; padding: 14px 16px; margin-top: 9px; text-align: left; border: 1px solid var(--blue); border-radius: 0; background: var(--paper); cursor: pointer; }
.choice-option:hover { background: var(--blue); color: var(--paper); }
.story-continue { display: none; margin-top: 26px; }
.ending-screen { display: block; min-height: 760px; padding: clamp(30px, 6vw, 74px) clamp(18px, 7vw, 96px) 84px; background: #f0ead9; }
.ending-heading { max-width: 780px; margin: 0 auto; padding-bottom: 22px; border-bottom: 1px solid var(--line); }
.ending-heading h2 { max-width: 720px; margin: 0; color: var(--blue); font-size: clamp(38px, 4.6vw, 66px); line-height: 1.14; }
.ending-story { max-width: 780px; margin: 28px auto 0; padding: clamp(30px, 5vw, 58px) clamp(24px, 6vw, 68px) 34px; background: #fbf8ed; border-top: 3px solid var(--blue); box-shadow: 10px 12px 0 rgba(61, 51, 35, .1); }
.chapter-marker { display: flex; align-items: center; gap: 16px; margin-bottom: 30px; color: var(--red); font-size: 12px; font-weight: 900; letter-spacing: 3px; }
.chapter-marker i { flex: 1; height: 1px; background: var(--soft-line); }
.ending-prose { font-size: 18px; line-height: 2.05; }
.ending-prose p { margin: 0 0 1.35em; }
.ending-prose p:first-child::first-letter { float: left; padding: 5px 9px 0 0; color: var(--red); font-size: 42px; line-height: .9; font-weight: 900; }
.story-end-mark { width: max-content; margin: 34px 0 0 auto; padding: 5px 10px; border: 2px double var(--red); color: var(--red); font-size: 11px; font-weight: 900; transform: rotate(-3deg); }
.ending-review { max-width: 980px; margin: 78px auto 0; padding-top: 42px; border-top: 3px double var(--ink); }
.review-heading { display: grid; grid-template-columns: minmax(150px, .6fr) 1.4fr; gap: 36px; align-items: end; margin-bottom: 30px; }
.review-heading span { color: var(--red); font-size: 12px; font-weight: 900; letter-spacing: 2px; }
.review-heading h3 { margin: 0; color: var(--blue); font-size: clamp(24px, 3vw, 38px); line-height: 1.25; }
.reflection-file { display: grid; grid-template-columns: 1fr 1fr; gap: 46px; padding: 0; border: 0; background: transparent; }
.reflection-block { padding-top: 18px; border-top: 1px solid var(--green); }
.reflection-block > span { color: var(--green); font-size: 11px; font-weight: 900; letter-spacing: 2px; }
.reflection-block h3 { margin: 12px 0 13px; color: var(--ink); font-size: 18px; }
.reflection-block p, .reflection-block li { font-size: 15px; line-height: 1.85; }
.reflection-block ul { display: grid; gap: 10px; padding-left: 20px; margin: 0; }
.ending-exit { max-width: 980px; margin: 70px auto 0; padding-top: 36px; border-top: 1px solid var(--ink); }
.share-preview { position: relative; max-width: 760px; padding: 26px 30px 28px; border: 1px solid var(--red); background: rgba(167, 47, 37, .045); }
.ending-exit .share-preview > span { display: block !important; color: var(--red); font-size: 11px; font-weight: 900; letter-spacing: 2px; }
.share-preview strong { display: block; margin: 11px 0 9px; color: var(--blue); font-size: clamp(21px, 2.4vw, 30px); line-height: 1.35; }
.share-preview em { color: #5f5a4e; font-size: 15px; line-height: 1.7; }
.ending-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 28px; }
.error-screen { display: grid; place-items: center; text-align: center; }

/* 只有当前状态参与布局，避免隐藏页面被专用 display 样式重新撑开页面。 */
.screen:not(.active) { display: none !important; }
[hidden] { display: none !important; }
.error-screen p:not(.form-label) { max-width: 560px; margin: 0 auto 26px; line-height: 1.8; }
.settings-drawer { position: fixed; z-index: 30; top: 0; right: 0; width: min(440px, 100%); height: 100vh; padding: 30px; overflow-y: auto; background: var(--paper); border-left: 1px solid var(--ink); box-shadow: -12px 0 40px rgba(61, 51, 35, .2); transform: translateX(105%); transition: transform .25s ease; }
.settings-drawer[hidden] { display: none; }
.settings-drawer.open { transform: translateX(0); }
.drawer-backdrop { position: fixed; z-index: 29; inset: 0; display: none; background: rgba(35, 34, 28, .35); }
.drawer-backdrop.show { display: block; }
.drawer-head { display: flex; justify-content: space-between; align-items: start; border-bottom: 1px solid var(--ink); padding-bottom: 20px; }
.drawer-head h2 { margin: 8px 0 0; color: var(--blue); font-size: 32px; }
.icon-button { width: 36px; height: 36px; border: 1px solid var(--ink); background: transparent; cursor: pointer; font-size: 25px; line-height: 1; }
.drawer-note { padding: 12px; background: rgba(68, 98, 75, .08); font-size: 13px; line-height: 1.6; }
.settings-drawer > label, .settings-drawer fieldset { display: block; margin-top: 18px; color: var(--green); font-size: 12px; font-weight: 700; }
.settings-drawer input:not([type="radio"]) { width: 100%; min-height: 44px; margin-top: 7px; padding: 9px 11px; border: 1px solid var(--line); border-radius: 0; background: #fffdf4; color: var(--ink); font: inherit; }
.key-row { display: grid; grid-template-columns: 1fr auto auto; gap: 5px; align-items: end; }
.key-row input { min-width: 0; }
.settings-drawer fieldset { padding: 0; border: 0; }
.settings-drawer legend { margin-bottom: 8px; }
.model-choice { display: flex; align-items: center; gap: 10px; padding: 11px; border: 1px solid var(--soft-line); margin-top: 6px; cursor: pointer; }
.model-choice:has(input:checked) { border-color: var(--green); background: rgba(68, 98, 75, .08); }
.model-choice span { display: grid; gap: 3px; color: var(--ink); }
.model-choice small { color: #777266; font: 11px Consolas, monospace; }
.connection-status { min-height: 42px; margin-top: 18px; padding: 11px; border-left: 4px solid var(--line); color: #6b675b; font-size: 13px; line-height: 1.5; }
.connection-status.success { border-color: var(--green); color: var(--green); }
.connection-status.failure { border-color: var(--red); color: var(--red); }
.drawer-button { width: 100%; margin-top: 12px; }
.selection-count { display: block; margin-top: 10px; color: #777266; font-size: 12px; }
.scenario-step { margin-bottom: 24px; }
.scenario-step h3 { margin: 0 0 8px; color: var(--green); font-size: 14px; }
.scenario-step .answer-option { min-height: 52px; }
.ranking-list { border-top: 1px solid var(--ink); }
.ranking-row { display: grid; grid-template-columns: 34px 1fr 34px 34px; gap: 8px; align-items: center; min-height: 55px; border-bottom: 1px solid var(--line); cursor: grab; transition: background .16s ease, opacity .16s ease; }
.ranking-row:active { cursor: grabbing; }
.ranking-row.is-dragging { opacity: .42; }
.ranking-row.is-drag-over { outline: 1px dashed var(--green); outline-offset: -2px; background: rgba(68, 98, 75, .1); }
.ranking-row > b { color: var(--red); text-align: center; }
.ranking-row button { width: 30px; height: 30px; border: 1px solid var(--line); background: transparent; cursor: pointer; }
.ranking-row button:disabled { opacity: .3; cursor: not-allowed; }
.answer-list textarea { width: 100%; min-height: 170px; padding: 14px; resize: vertical; border: 1px solid var(--line); border-radius: 0; background: #fffdf4; color: var(--ink); font: inherit; line-height: 1.7; }

@media (max-width: 760px) {
  .intro-screen, .quiz-screen, .prep-screen, .generating-screen { grid-template-columns: 1fr; }
  .intro-copy, .quiz-main { border-right: 0; border-bottom: 1px dashed var(--line); }
  .audit-strip { padding: 24px; }
  .prep-stack { min-height: 360px; }
  .mini-leader { width: 170px; }
  .mini-leader b { font-size: 16px; }
  .story-top { align-items: start; flex-direction: column; }
  .story-paper { margin-top: 22px; padding: 22px 18px; }
  .generating-preview { margin-top: 24px; }
  .streaming-story { max-height: 230px; font-size: 15px; line-height: 1.85; }
  .prose, .ending-prose { font-size: 16px; line-height: 1.9; text-align: left; }
  .dialogues p { grid-template-columns: 1fr; gap: 3px; }
  .ending-screen { padding: 30px 14px 56px; }
  .ending-story { padding: 28px 20px 28px; }
  .ending-prose { font-size: 17px; line-height: 1.95; }
  .ending-review { margin-top: 54px; padding-top: 30px; }
  .review-heading, .reflection-file { grid-template-columns: 1fr; gap: 24px; }
  .review-heading { margin-bottom: 24px; }
  .ending-exit { margin-top: 50px; padding-top: 28px; }
  .share-preview { padding: 22px 18px; }
  .ending-actions { display: grid; grid-template-columns: 1fr; }
  .ending-actions button { width: 100%; }
  .result-actions { flex-wrap: wrap; }
}

/* 全局降噪：隐藏档案元信息和系统解释，只保留玩法内容与生成反馈。 */
.department,
.document-code,
.form-label,
.intro-lead,
.consent-list,
.fine-print,
.evidence-label,
.redacted-line,
.form-meta,
.question-id,
.question-note,
.audit-strip .strip-title,
.silhouette-file > span,
.strip-warning,
.result-subtitle,
.file-number,
.prep-summary,
.prep-notes,
.ending-summary,
.share-preview > span,
.document-footer > span:first-child { display: none !important; }

.intro-copy h1 { margin-bottom: 34px; }
.intro-evidence { padding-top: 28px; }
.quiz-main { padding-top: 34px; }
.audit-strip { padding-top: 34px; }
.prep-copy h2 { margin-top: 0; }
.generating-copy h2 { margin-top: 0; }
.ending-heading h2 { margin-top: 0; }

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation: none !important; transition: none !important; }
  .team-stage.is-revealing .leader-result { opacity: 1 !important; }
  .leader-result .reveal-seal { opacity: 1; transform: rotate(-8deg) scale(1); }
}

/* 故事页单独进入阅读模式：减少档案噪声，把节奏留给正文和选择。 */
.document.story-reading { max-width: 1180px; }
.document.story-reading .document-header { min-height: 78px; padding: 14px 28px 16px; }
.document.story-reading .brand-mark { font-size: 31px; }
.document.story-reading .header-stamp,
.document.story-reading .document-footer,
.document.story-reading::after { display: none; }
.story-screen { min-height: 760px; padding: clamp(28px, 5vw, 60px) clamp(18px, 6vw, 82px) 80px; background: #f0ead9; }
.story-top { max-width: 980px; margin: 0 auto; align-items: start; padding-bottom: 24px; border-bottom: 1px solid var(--line); }
.story-top h2 { max-width: 720px; margin: 9px 0 0; font-size: clamp(36px, 4.4vw, 62px); letter-spacing: 0; }
.act-title { margin: 12px 0 0; color: var(--red); font-size: 16px; }
.story-progress { display: grid; justify-items: end; gap: 12px; padding-top: 4px; }
.act-count { color: var(--blue); font-size: 12px; }
.act-dots { display: flex; gap: 7px; }
.act-dots i { display: block; width: 28px; height: 4px; background: var(--soft-line); }
.act-dots i.done { background: var(--green); }
.act-dots i.current { background: var(--red); }
.story-cast { max-width: 780px; margin: 26px auto 0; display: flex; flex-wrap: wrap; gap: 8px 22px; color: var(--green); font-size: 13px; }
.story-cast span::before { content: "·"; margin-right: 7px; color: var(--red); font-weight: 900; }
.story-paper { max-width: 780px; margin: 20px auto 0; padding: clamp(28px, 5vw, 54px) clamp(22px, 5vw, 64px) 42px; background: #fbf8ed; border: 0; border-top: 3px solid var(--blue); box-shadow: 10px 12px 0 rgba(61, 51, 35, .1); }
.cast-intro { margin: 0 0 30px; padding-bottom: 22px; border-bottom: 1px solid var(--soft-line); color: var(--green); font-size: 14px; line-height: 1.8; }
.prose { color: #252a26; font-size: 18px; line-height: 2.05; text-align: left; }
.prose p { margin: 0 0 1.2em; }
.prose p:first-child::first-letter { float: left; padding: 5px 9px 0 0; color: var(--red); font-size: 42px; line-height: .9; font-weight: 900; }
.prose-block { position: relative; margin: 0 0 1em; padding-left: 0; animation: prose-block-in .28s ease-out both; }
.prose-block--action { color: inherit; }
.prose-block--thought { color: #59695b; font-style: italic; }
.prose-block--dialogue { display: grid; grid-template-columns: max-content 1fr; gap: 10px; padding: 0; border: 0; background: transparent; }
.prose-block--dialogue b { color: var(--red); font-size: 14px; }
.prose-block--dialogue span { color: #252a26; }
.prose-block--turning_point { color: #252a26; font-weight: 750; letter-spacing: 0; }
.prose-block--system { color: var(--green); font: 14px/1.8 Consolas, monospace; }
.prose-block--emphasis { color: inherit; font-weight: 750; font-size: 1em; }
@keyframes prose-block-in { from { opacity: 0; transform: translateY(5px); } to { opacity: 1; transform: none; } }
.story-read-more { display: inline-flex; min-height: 42px; margin: 2px 0 18px; padding: 8px 16px; border: 1px solid var(--blue); background: transparent; color: var(--blue); cursor: pointer; font-size: 13px; font-weight: 800; }
.story-read-more:hover { background: var(--blue); color: var(--paper); }
.dialogues { margin: 26px 0 0; border-top: 2px solid var(--green); }
.dialogues p { grid-template-columns: 96px 1fr; gap: 16px; padding: 15px 0; font-size: 15px; line-height: 1.75; }
.dialogues b { color: var(--red); font-size: 12px; }
.dialogues.is-muted, .choice-box.is-muted { opacity: .35; pointer-events: none; }
.choice-box { margin-top: 30px; padding: 22px 22px 20px; border: 1px solid var(--red); border-left-width: 5px; background: rgba(167, 47, 37, .055); }
.choice-box h3 { margin: 0 0 14px; color: var(--blue); font-size: 18px; line-height: 1.5; }
.choice-option { min-height: 48px; margin-top: 9px; padding: 12px 15px; border: 1px solid var(--blue); background: #fffdf4; font-size: 15px; line-height: 1.45; }
.choice-option:hover { background: var(--blue); color: var(--paper); }
.choice-option:disabled { cursor: default; opacity: .55; }
.choice-option.chosen { border-color: var(--green); background: rgba(68, 98, 75, .12); color: var(--green); opacity: 1; }
.choice-feedback { min-height: 24px; margin: 14px 0 0; color: var(--green); font-size: 13px; }
.story-continue { margin-top: 22px; }

/* 结局页保留阅读宽度，但将正文、复盘和离场操作分成三个独立区段。 */
.document.ending-reading { max-width: 1180px; }
.document.ending-reading .document-header { min-height: 78px; padding: 14px 28px 16px; }
.document.ending-reading .brand-mark { font-size: 31px; }
.document.ending-reading .header-stamp,
.document.ending-reading .document-footer,
.document.ending-reading::after { display: none; }

@media (max-width: 760px) {
  .document.story-reading .document-header { min-height: 70px; padding: 12px 18px 14px; }
  .document.story-reading .brand-mark { font-size: 27px; }
  .document.ending-reading .document-header { min-height: 70px; padding: 12px 18px 14px; }
  .document.ending-reading .brand-mark { font-size: 27px; }
  .story-screen { min-height: 720px; padding: 26px 14px 54px; }
  .story-top { flex-direction: column; gap: 16px; }
  .story-top h2 { font-size: 38px; }
  .story-progress { width: 100%; display: flex; justify-content: space-between; align-items: center; }
  .story-paper { margin-top: 18px; padding: 26px 20px 30px; }
  .prose { font-size: 17px; line-height: 1.95; }
  .prose-block--dialogue { grid-template-columns: 1fr; gap: 4px; }
  .dialogues p { grid-template-columns: 1fr; gap: 4px; }
  .choice-option { font-size: 14px; }
}

@media (max-width: 680px) {
  .quiz-screen.active { display: flex; flex-direction: column; }
  .audit-strip { order: -1; display: block; padding: 14px 18px 12px; border-top: 0; border-bottom: 1px dashed var(--line); }
  .silhouette-file { display: none; }
  .profile-level { margin-top: 0; }
  .axis-readout { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 8px; margin-top: 12px; border-top: 0; }
  .axis-item { position: relative; min-width: 0; padding: 0 0 7px; border-bottom: 0; }
  .axis-item > div:first-child { display: grid; grid-template-columns: 1fr; gap: 2px; }
  .axis-item > div:first-child > span { overflow: hidden; font-size: 10px; white-space: nowrap; }
  .axis-item b { min-width: 0; font-size: 9px; text-align: left; }
  .axis-item em { position: absolute; right: 0; top: 0; min-width: 0; padding-left: 2px; background: var(--paper-deep); font-size: 10px; }
  .stat-meter { height: 4px; margin-top: 5px; }
}

/* 品牌字标：深色撕纸拼字，SB、boss、shit 三组依次跳动。 */
.brand-mark { position: relative; display: inline-flex; align-items: center; min-height: 1.5em; padding: .18em .38em .28em; isolation: isolate; font: 900 38px "Arial Black", "Microsoft YaHei UI", sans-serif; overflow: visible; }
.brand-mark::after { content: ""; position: absolute; z-index: 0; left: -.04em; right: -.04em; top: .02em; bottom: .08em; border: .055em solid rgba(167, 47, 37, .72); border-left-color: transparent; border-radius: 50%; transform: rotate(-3deg); pointer-events: none; }
.brand-letter { --tilt: 0deg; --motion-tilt: 3deg; --fall-order: 0; position: relative; z-index: 1; display: inline-grid; place-items: center; min-width: .62em; height: 1.08em; margin-left: -.015em; padding: 0 .055em; color: #19231f; background: repeating-linear-gradient(0deg, rgba(38, 63, 87, .1) 0 1px, transparent 1px 5px), #b8a584; clip-path: polygon(3% 5%, 96% 0, 100% 91%, 8% 100%, 0 38%); filter: drop-shadow(.07em .08em 0 rgba(32, 41, 35, .3)); transform: rotate(var(--tilt)); transform-origin: center bottom; }
.brand-letter:nth-child(1) { --tilt: -3deg; --motion-tilt: 2deg; }
.brand-letter:nth-child(2) { --tilt: 2deg; --motion-tilt: -2deg; background-color: #c0ad8c; }
.brand-letter:nth-child(3) { --tilt: -1deg; --motion-tilt: 2deg; }
.brand-letter:nth-child(4) { --tilt: 2deg; --motion-tilt: -3deg; }
.brand-letter:nth-child(5) { --tilt: -2deg; --motion-tilt: 4deg; --fall-order: 0; background-color: #a99472; }
.brand-letter:nth-child(6) { --tilt: 1deg; --motion-tilt: -4deg; --fall-order: 1; }
.brand-letter:nth-child(7) { --tilt: -2deg; --motion-tilt: 5deg; --fall-order: 2; min-width: .42em; }
.brand-letter:nth-child(8) { --tilt: 3deg; --motion-tilt: -5deg; --fall-order: 3; }
.brand-mark[data-phase="sb"] .brand-letter.is-active { z-index: 4; animation: brand-stamp-slam .7s cubic-bezier(.2, .82, .2, 1); }
.brand-mark[data-phase="boss"] .brand-letter.is-active { z-index: 4; animation: brand-boss-pressure .72s ease-in-out; }
.brand-mark[data-phase="shit"] .brand-letter.is-active { z-index: 4; animation: brand-shit-fall .82s cubic-bezier(.2, .72, .22, 1) calc(var(--fall-order) * .055s); }
@keyframes brand-stamp-slam { 0% { opacity: .35; transform: translateY(-.5em) rotate(var(--motion-tilt)) scale(1.18); } 55% { opacity: 1; transform: translateY(.1em) rotate(var(--tilt)) scale(.94); filter: drop-shadow(0 .16em 0 rgba(167, 47, 37, .55)); } 78% { transform: translateY(-.04em) rotate(var(--tilt)) scale(1.03); } 100% { transform: translateY(0) rotate(var(--tilt)) scale(1); } }
@keyframes brand-boss-pressure { 0%, 100% { transform: translateX(0) rotate(var(--tilt)) scale(1); } 20% { transform: translateX(-.1em) rotate(var(--motion-tilt)) scaleX(1.08); } 40% { transform: translateX(.09em) rotate(var(--tilt)) scaleX(.94); } 62% { transform: translateX(-.055em) rotate(var(--motion-tilt)) scaleX(1.05); color: var(--paper); background-color: var(--blue); } 82% { transform: translateX(.035em) rotate(var(--tilt)) scaleX(.98); } }
@keyframes brand-shit-fall { 0% { transform: translateY(-.3em) rotate(var(--motion-tilt)) scale(1.06); opacity: .45; } 45% { transform: translateY(.16em) rotate(var(--motion-tilt)) scale(.96); opacity: 1; color: var(--paper); background-color: var(--red); } 72% { transform: translateY(-.05em) rotate(var(--tilt)) scale(1.02); } 100% { transform: translateY(0) rotate(var(--tilt)) scale(1); } }
.intro-screen { position: relative; min-height: 700px; overflow: hidden; background: #f5f0df; }
.intro-screen.active { display: block; }
.intro-doodle { position: absolute; z-index: 1; inset: 0 38% 0 0; color: var(--blue); opacity: .72; }
.intro-doodle::before { content: ""; position: absolute; left: 8%; top: 14%; width: 45%; height: 37%; border: 2px solid rgba(38, 63, 87, .32); border-radius: 50%; transform: rotate(-11deg); }
.intro-doodle::after { content: ""; position: absolute; right: 2%; bottom: 17%; width: 38%; height: 22%; border: 2px solid rgba(167, 47, 37, .34); border-left-color: transparent; border-radius: 50%; transform: rotate(7deg); }
.doodle-window { position: absolute; left: 9%; top: 11%; width: 190px; height: 130px; display: grid; grid-template-columns: 1fr 1fr; border: 3px solid var(--blue); transform: rotate(-2deg); }
.doodle-window i { border-right: 1px solid var(--blue); border-bottom: 1px solid var(--blue); }
.doodle-window i:nth-child(even) { border-right: 0; }
.doodle-window i:nth-child(n+3) { border-bottom: 0; }
.doodle-clock { position: absolute; right: 8%; top: 11%; width: 94px; aspect-ratio: 1; border: 3px solid var(--red); border-radius: 50%; transform: rotate(8deg); }
.doodle-clock::before { content: ""; position: absolute; left: 46px; top: 17px; width: 3px; height: 31px; background: var(--red); transform-origin: bottom; transform: rotate(-28deg); }
.doodle-clock::after { content: ""; position: absolute; left: 46px; top: 44px; width: 28px; height: 3px; background: var(--red); transform-origin: left; transform: rotate(21deg); }
.doodle-desk { position: absolute; left: 14%; right: 4%; bottom: 30%; height: 3px; background: var(--blue); transform: rotate(-1deg); }
.doodle-desk::before, .doodle-desk::after { content: ""; position: absolute; top: 0; width: 3px; height: 150px; background: var(--blue); }
.doodle-desk::before { left: 8%; transform: rotate(3deg); }
.doodle-desk::after { right: 7%; transform: rotate(-4deg); }
.doodle-person { position: absolute; left: 51%; bottom: 30%; width: 210px; height: 260px; transform: translateX(-50%) rotate(1deg) scale(.92); transform-origin: bottom center; }
.doodle-person::before { content: ""; position: absolute; left: 66px; top: 0; width: 76px; height: 86px; border: 4px solid var(--ink); border-radius: 46% 54% 43% 57%; background: var(--paper); }
.doodle-person::after { content: ""; position: absolute; left: 29px; bottom: 0; width: 146px; height: 155px; border: 4px solid var(--ink); border-bottom: 0; transform: skew(-7deg); }
.doodle-person i { position: absolute; z-index: 2; left: 101px; top: 96px; width: 4px; height: 92px; background: var(--red); transform: rotate(13deg); }
.doodle-person i::before { content: ""; position: absolute; left: -13px; top: -5px; width: 28px; height: 28px; border: 3px solid var(--red); transform: rotate(45deg); }
.doodle-chair { position: absolute; left: 22%; bottom: 11%; width: 116px; height: 170px; border: 3px solid var(--green); border-bottom: 0; border-radius: 48px 48px 0 0; transform: rotate(-8deg); }
.doodle-chair::before { content: ""; position: absolute; left: 56px; bottom: -64px; width: 3px; height: 64px; background: var(--green); }
.doodle-chair::after { content: ""; position: absolute; left: 15px; bottom: -65px; width: 86px; height: 3px; background: var(--green); transform: rotate(3deg); }
.doodle-papers { position: absolute; right: 3%; bottom: 30%; width: 160px; height: 116px; }
.doodle-papers i { position: absolute; inset: auto 0 0; height: 74px; border: 2px solid var(--green); background: var(--paper); }
.doodle-papers i:nth-child(1) { transform: translate(-14px, -22px) rotate(-8deg); }
.doodle-papers i:nth-child(2) { transform: translate(10px, -10px) rotate(5deg); }
.doodle-papers i:nth-child(3) { transform: rotate(-1deg); }
.doodle-cable { position: absolute; left: 28%; bottom: 18%; width: 62%; height: 80px; border-bottom: 3px solid var(--ink); border-radius: 50%; transform: rotate(2deg); }
.doodle-mark { position: absolute; color: var(--red); font: 900 42px Georgia, serif; }
.mark-one { left: 41%; top: 12%; transform: rotate(13deg); }
.mark-two { right: 10%; top: 20%; transform: rotate(-9deg); }
.mark-three { left: 17%; bottom: 39%; transform: rotate(-12deg); }
.mark-four { right: 3%; bottom: 39%; color: var(--green); transform: rotate(8deg); }
.intro-card-scatter { position: absolute; z-index: 3; top: 5%; right: 1.5%; width: 59%; height: 85%; perspective: 1200px; pointer-events: none; }
.intro-card-scatter img { position: absolute; width: clamp(150px, 17vw, 250px); aspect-ratio: 1; object-fit: cover; border: 1px solid rgba(38, 63, 87, .52); border-radius: 0; background: #fffdf4; box-shadow: 9px 11px 0 rgba(61, 51, 35, .12); transform-origin: center bottom; }
.intro-card-scatter img:nth-child(1) { z-index: 1; left: 8%; top: 2%; opacity: .48; transform: rotate(-13deg) scale(.68) translateZ(-140px); }
.intro-card-scatter img:nth-child(2) { z-index: 2; right: 1%; top: 4%; opacity: .58; transform: rotate(12deg) scale(.72) translateZ(-100px); }
.intro-card-scatter img:nth-child(3) { z-index: 3; left: 0; top: 28%; opacity: .78; transform: rotate(-10deg) scale(.82) translateZ(-50px); }
.intro-card-scatter img:nth-child(4) { z-index: 4; right: 2%; top: 27%; opacity: .84; transform: rotate(10deg) scale(.86) translateZ(-30px); }
.intro-card-scatter img:nth-child(5) { z-index: 5; left: 32%; top: 10%; opacity: .92; transform: rotate(2deg) scale(.9); }
.intro-card-scatter img:nth-child(6) { z-index: 7; left: 14%; bottom: 0; transform: rotate(-6deg) scale(1.03); }
.intro-card-scatter img:nth-child(7) { z-index: 8; right: 7%; bottom: -1%; transform: rotate(7deg) scale(1.08); }
.intro-entry { position: absolute; z-index: 4; left: 10%; bottom: 9%; }
.intro-entry .primary-action { min-width: 230px; min-height: 62px; background: var(--red); color: var(--paper); font: 900 20px "Microsoft YaHei UI", sans-serif; box-shadow: 6px 7px 0 rgba(61, 51, 35, .16); }
.intro-entry .primary-action:hover { background: var(--blue); border-color: var(--blue); transform: translateY(-2px); }

@media (max-width: 680px) {
  .document-header { min-height: 88px; padding: 16px 18px 18px; }
  .brand-mark { font-size: 29px; padding: .16em .28em .26em; }
  .intro-screen { min-height: calc(100vh - 74px); }
  .intro-doodle { inset: 0; opacity: .36; }
  .doodle-window { left: 7%; top: 9%; width: 112px; height: 82px; }
  .doodle-clock { right: 8%; top: 9%; width: 66px; }
  .doodle-clock::before { left: 31px; top: 11px; height: 22px; }
  .doodle-clock::after { left: 31px; top: 31px; width: 20px; }
  .doodle-person { left: 42%; bottom: 30%; transform: translateX(-50%) scale(.58); transform-origin: bottom center; }
  .doodle-desk { left: 6%; right: 6%; bottom: 31%; }
  .doodle-chair { left: 10%; bottom: 15%; transform: rotate(-8deg) scale(.72); transform-origin: bottom left; }
  .doodle-papers { right: 7%; bottom: 31%; transform: scale(.7); transform-origin: bottom right; }
  .doodle-cable { left: 20%; bottom: 18%; width: 60%; }
  .doodle-mark { font-size: 30px; }
  .intro-card-scatter { top: 5%; right: -4%; width: 92%; height: 69%; }
  .intro-card-scatter img { width: clamp(116px, 37vw, 156px); box-shadow: 5px 6px 0 rgba(61, 51, 35, .11); }
  .intro-card-scatter img:nth-child(1) { left: 11%; top: 0; transform: rotate(-12deg) scale(.64); }
  .intro-card-scatter img:nth-child(2) { right: 0; top: 3%; transform: rotate(12deg) scale(.67); }
  .intro-card-scatter img:nth-child(3) { left: 1%; top: 26%; transform: rotate(-10deg) scale(.76); }
  .intro-card-scatter img:nth-child(4) { right: 0; top: 27%; transform: rotate(10deg) scale(.79); }
  .intro-card-scatter img:nth-child(5) { left: 38%; top: 12%; transform: rotate(2deg) scale(.84); }
  .intro-card-scatter img:nth-child(6) { left: 14%; bottom: 2%; transform: rotate(-7deg) scale(.92); }
  .intro-card-scatter img:nth-child(7) { right: 7%; bottom: 0; transform: rotate(7deg) scale(.97); }
  .intro-entry { left: 18px; right: 18px; bottom: 7%; width: auto; }
  .intro-entry .primary-action { width: 100%; min-width: 0; }
}

/* 首页全屏中心舞台：卡片围绕品牌字标缓慢运行。 */
body:has(.desk.intro-stage) { overflow: hidden; }
.desk.intro-stage { min-height: 100vh; padding: 0; background: #101612; }
.document.intro-home { width: 100vw; max-width: none; min-height: 100vh; height: 100vh; border: 0; box-shadow: none; background: #101612; }
.document.intro-home .document-header,
.document.intro-home .document-footer { display: none; }
.intro-screen { position: relative; min-height: 100vh; height: 100vh; overflow: hidden; isolation: isolate; background: #101612; color: var(--paper); }
.intro-screen::before { content: ""; position: absolute; z-index: -2; inset: 0; opacity: .22; background-image: linear-gradient(rgba(245, 240, 223, .16) 1px, transparent 1px), linear-gradient(90deg, rgba(245, 240, 223, .1) 1px, transparent 1px); background-size: 46px 46px; mask-image: radial-gradient(ellipse at center, black 0 38%, transparent 78%); }
.intro-screen::after { content: none; }
.intro-orbits { position: absolute; z-index: 1; inset: 0; overflow: hidden; pointer-events: none; }
.intro-orbit { --orbit-size: 72vw; --orbit-speed: 48s; position: absolute; left: 50%; top: 50%; width: var(--orbit-size); aspect-ratio: 1; border: 1px dashed rgba(245, 240, 223, .24); border-radius: 50%; transform: translate(-50%, -50%); animation: intro-orbit-cw var(--orbit-speed) linear infinite; }
.intro-orbit::before, .intro-orbit::after { content: ""; position: absolute; border-radius: 50%; pointer-events: none; }
.intro-orbit::before { inset: 7%; border: 1px solid rgba(167, 47, 37, .22); border-left-color: transparent; border-bottom-color: transparent; }
.intro-orbit::after { inset: 18%; border: 1px dotted rgba(68, 98, 75, .3); border-right-color: transparent; border-top-color: transparent; }
.intro-orbit--outer { --orbit-size: min(1100px, 122vw, 122vh); --orbit-speed: 58s; border-color: rgba(245, 240, 223, .2); }
.intro-orbit--middle { --orbit-size: min(790px, 91vw, 91vh); --orbit-speed: -42s; border-color: rgba(167, 47, 37, .27); }
.intro-orbit--inner { --orbit-size: min(535px, 63vw, 63vh); --orbit-speed: 31s; border-color: rgba(68, 98, 75, .32); }
.intro-orbit img { position: absolute; width: clamp(76px, 9vw, 132px); aspect-ratio: 1; padding: 4px; object-fit: cover; border: 1px solid rgba(245, 240, 223, .52); background: #f5f0df; box-shadow: 7px 9px 0 rgba(0, 0, 0, .24); transform: translate(-50%, -50%) rotate(var(--card-tilt, 0deg)); transform-origin: center; }
.intro-orbit--outer img:nth-child(1) { left: 96.5%; top: 56.5%; --card-tilt: 8deg; }
.intro-orbit--outer img:nth-child(2) { left: 43.5%; top: 96.5%; --card-tilt: -12deg; }
.intro-orbit--outer img:nth-child(3) { left: 3.5%; top: 43.5%; --card-tilt: -8deg; }
.intro-orbit--outer img:nth-child(4) { left: 56.5%; top: 3.5%; --card-tilt: 12deg; }
.intro-orbit--middle img:nth-child(1) { left: 87.3%; top: 75.2%; --card-tilt: 12deg; }
.intro-orbit--middle img:nth-child(2) { left: 12.7%; top: 24.8%; --card-tilt: -12deg; }
.intro-orbit--inner img:nth-child(1) { left: 17.1%; top: 77.6%; --card-tilt: -5deg; }
.intro-orbit--outer img { filter: blur(2.5px) saturate(.54); opacity: .46; }
.intro-orbit--middle img { width: clamp(88px, 10vw, 148px); filter: blur(1.35px) saturate(.68); opacity: .66; }
.intro-orbit--inner img { width: clamp(98px, 11vw, 164px); filter: blur(.55px) saturate(.82); opacity: .8; }
.intro-orbit img.home-orbit-card.is-locked { filter: grayscale(1) blur(2.6px) saturate(.35); opacity: .28; }
.intro-orbit img.home-orbit-card.is-unlocked { filter: blur(0) saturate(.95) contrast(1.02); opacity: .96; }
.intro-orbit img.home-orbit-card.is-damaged { filter: blur(0) saturate(.72) contrast(1.08); border-color: rgba(178, 68, 48, .78); box-shadow: 0 0 0 2px rgba(178, 68, 48, .24), 7px 9px 0 rgba(0, 0, 0, .25); }
.intro-orbit img.home-orbit-card.is-evolved { border-color: rgba(211, 161, 75, .95); box-shadow: 0 0 0 3px rgba(211, 161, 75, .32), 8px 10px 0 rgba(0, 0, 0, .28); animation: evolved-card-pulse 2.2s ease-in-out infinite; }
.intro-center { position: absolute; z-index: 5; left: 50%; top: 50%; width: min(620px, 90vw); display: flex; flex-direction: column; align-items: center; gap: 18px; text-align: center; transform: translate(-50%, -50%); }
.intro-center::before { content: ""; position: absolute; z-index: -1; width: min(570px, 82vw); aspect-ratio: 1; border: 1px solid rgba(245, 240, 223, .1); border-radius: 50%; background: transparent; box-shadow: none; }
.intro-center::after { content: ""; position: absolute; z-index: -1; width: min(475px, 72vw); aspect-ratio: 1; border: 1px dashed rgba(167, 47, 37, .3); border-radius: 50%; animation: intro-center-ring 19s linear infinite reverse; }
.intro-kicker { color: #b4c5a8; font: 700 11px Consolas, monospace; letter-spacing: 3px; }
.intro-brand { font-size: clamp(58px, 8.8vw, 112px); filter: drop-shadow(0 10px 0 rgba(0, 0, 0, .28)); }
.intro-explainer { width: min(420px, 84vw); margin-top: 2px; color: rgba(245, 240, 223, .82); text-align: center; text-shadow: 0 0 18px rgba(245, 240, 223, .14); }
.intro-explainer > span { display: block; color: #c6d7b9; font: 800 13px/1.4 Consolas, "Microsoft YaHei UI", sans-serif; letter-spacing: .18em; animation: explainer-glow 2.6s ease-in-out infinite; }
.intro-explainer > p { margin: 7px auto 0; font-size: 15px; line-height: 1.75; letter-spacing: .04em; }
.intro-brand::after { border-color: rgba(167, 47, 37, .9); }
.brand-lockup { position: relative; display: inline-flex; align-items: center; min-height: 1.5em; padding: .18em .38em .28em; isolation: isolate; font: 900 38px "Arial Black", "Microsoft YaHei UI", sans-serif; overflow: visible; }
.brand-lockup::after { content: ""; position: absolute; z-index: 0; left: -.04em; right: -.04em; top: .02em; bottom: .08em; border: .055em solid rgba(167, 47, 37, .72); border-left-color: transparent; border-radius: 50%; transform: rotate(-3deg); pointer-events: none; }
.intro-brand-letter { --tilt: 0deg; --motion-tilt: 3deg; --fall-order: 0; position: relative; z-index: 1; display: inline-grid; place-items: center; min-width: .62em; height: 1.08em; margin-left: -.015em; padding: 0 .055em; color: #19231f; background: repeating-linear-gradient(0deg, rgba(38, 63, 87, .1) 0 1px, transparent 1px 5px), #b8a584; clip-path: polygon(3% 5%, 96% 0, 100% 91%, 8% 100%, 0 38%); filter: drop-shadow(.07em .08em 0 rgba(32, 41, 35, .3)); transform: rotate(var(--tilt)); transform-origin: center bottom; }
.intro-brand-letter:nth-child(1) { --tilt: -3deg; --motion-tilt: 2deg; }
.intro-brand-letter:nth-child(2) { --tilt: 2deg; --motion-tilt: -2deg; background-color: #c0ad8c; }
.intro-brand-letter:nth-child(3) { --tilt: -1deg; --motion-tilt: 2deg; }
.intro-brand-letter:nth-child(4) { --tilt: 2deg; --motion-tilt: -3deg; }
.intro-brand-letter:nth-child(5) { --tilt: -2deg; --motion-tilt: 4deg; --fall-order: 0; background-color: #a99472; }
.intro-brand-letter:nth-child(6) { --tilt: 1deg; --motion-tilt: -4deg; --fall-order: 1; }
.intro-brand-letter:nth-child(7) { --tilt: -2deg; --motion-tilt: 5deg; --fall-order: 2; min-width: .42em; }
.intro-brand-letter:nth-child(8) { --tilt: 3deg; --motion-tilt: -5deg; --fall-order: 3; }
.brand-lockup[data-phase="sb"] .intro-brand-letter.is-active { z-index: 4; animation: brand-stamp-slam .7s cubic-bezier(.2, .82, .2, 1); }
.brand-lockup[data-phase="boss"] .intro-brand-letter.is-active { z-index: 4; animation: brand-boss-pressure .72s ease-in-out; }
.brand-lockup[data-phase="shit"] .intro-brand-letter.is-active { z-index: 4; animation: brand-shit-fall .82s cubic-bezier(.2, .72, .22, 1) calc(var(--fall-order) * .055s); }
.brand-lockup.intro-brand { font-size: clamp(58px, 8.8vw, 112px); }
.intro-tagline { color: rgba(245, 240, 223, .78); font-size: clamp(14px, 1.5vw, 18px); letter-spacing: 2px; }
.intro-entry { position: relative; left: auto; right: auto; top: auto; bottom: auto; width: 100%; display: flex; justify-content: center; margin-top: 4px; }
.intro-entry .primary-action { min-width: 218px; min-height: 58px; border-color: var(--red); background: var(--red); color: var(--paper); font: 900 19px "Microsoft YaHei UI", sans-serif; box-shadow: 6px 7px 0 rgba(0, 0, 0, .28); }
.intro-entry .primary-action:hover { border-color: var(--paper); background: var(--paper); color: var(--red); transform: translateY(-3px); }
.intro-crosshair { position: absolute; z-index: 4; left: 50%; top: 50%; width: min(700px, 94vw); aspect-ratio: 1; pointer-events: none; transform: translate(-50%, -50%); opacity: .42; }
.intro-crosshair i { position: absolute; left: 50%; top: 50%; display: block; width: 1px; height: 22px; background: var(--paper); transform-origin: 50% 230px; }
.intro-crosshair i:nth-child(1) { transform: translate(-50%, -50%) rotate(0deg); }
.intro-crosshair i:nth-child(2) { transform: translate(-50%, -50%) rotate(90deg); }
.intro-crosshair i:nth-child(3) { transform: translate(-50%, -50%) rotate(180deg); }
.intro-crosshair i:nth-child(4) { transform: translate(-50%, -50%) rotate(270deg); }
@keyframes intro-orbit-cw { from { transform: translate(-50%, -50%) rotate(0deg); } to { transform: translate(-50%, -50%) rotate(360deg); } }
@keyframes intro-center-ring { from { transform: rotate(0deg); } to { transform: rotate(360deg); } }
@keyframes typewriter-caret { 0%, 45% { opacity: 1; } 46%, 100% { opacity: 0; } }
@keyframes explainer-glow { 0%, 100% { opacity: .72; text-shadow: 0 0 4px rgba(198, 215, 185, .08); } 50% { opacity: 1; text-shadow: 0 0 16px rgba(198, 215, 185, .34); } }
@keyframes evolved-card-pulse { 0%, 100% { filter: saturate(1) contrast(1.03) drop-shadow(0 0 0 rgba(211, 161, 75, 0)); } 50% { filter: saturate(1.3) contrast(1.08) drop-shadow(0 0 12px rgba(211, 161, 75, .7)); } }

@media (max-width: 680px) {
  .intro-screen::before { background-size: 32px 32px; }
  .intro-orbit--outer { --orbit-size: min(132vw, 720px); }
  .intro-orbit--middle { --orbit-size: min(100vw, 540px); }
  .intro-orbit--inner { --orbit-size: min(74vw, 410px); }
  .intro-orbit--outer img { width: clamp(62px, 19vw, 92px); filter: blur(2px) saturate(.54); }
  .intro-orbit--middle img { width: clamp(72px, 21vw, 108px); }
  .intro-orbit--inner img { width: clamp(80px, 23vw, 118px); }
  .intro-center { gap: 14px; width: 94vw; }
  .intro-center::before { width: 84vw; }
  .intro-center::after { width: 72vw; }
  .brand-lockup.intro-brand { font-size: clamp(42px, 13vw, 72px); }
  .intro-tagline { max-width: 250px; font-size: 13px; line-height: 1.6; }
  .intro-explainer { width: min(330px, 88vw); }
  .intro-explainer > p { font-size: 13px; line-height: 1.65; }
  .result-explainer { min-height: auto; font-size: 16px; line-height: 1.65; white-space: normal; }
  .intro-entry .primary-action { min-width: 190px; min-height: 54px; font-size: 17px; }
  .intro-crosshair { width: 96vw; }
  .intro-crosshair i { transform-origin: 50% 43vw; }
}

@media (prefers-reduced-motion: reduce) {
  .intro-orbit, .intro-center::after, .intro-orbit img.home-orbit-card.is-evolved { animation: none; }
  .intro-explainer > span, .result-explainer::after { animation: none; }
}

/* 已发现的首页卡片可直接查看，锁定卡片仍保持纯背景装饰。 */
.intro-orbits .home-orbit-card.is-unlocked { pointer-events: auto; cursor: zoom-in; }
.intro-orbits .home-orbit-card.is-unlocked:hover { filter: brightness(1.08) saturate(1.08) drop-shadow(0 0 10px rgba(245, 240, 223, .38)); }
.intro-orbits .home-orbit-card.is-unlocked:focus-visible { outline: 3px solid var(--red); outline-offset: 5px; }

/* 领导详情弹窗补充稀有度和一句话行为画像。 */
.leader-lightbox-rarity { display: inline-block; margin: -6px 0 12px; padding: 4px 9px; border: 1px solid var(--green); color: var(--green); font-size: 11px; font-weight: 900; letter-spacing: 2px; }
.leader-lightbox-behavior { max-width: 520px; margin: 0 auto 16px; color: #676257; font-size: 14px; line-height: 1.7; }

/* 结果页手机端保持单卡视口，解压工具收在视口底部两侧。 */
@media (max-width: 680px) {
  .team-stage { overscroll-behavior-x: contain; }
  .woodfish-button, .trash-drop { bottom: 14px; width: 52px; height: 52px; }
  .woodfish-button { left: 12px; background-size: 49px 49px; }
  .trash-drop { right: 12px; background-size: 52px 52px; }
  .result-relief.is-open { padding: 12px; }
  .result-relief.is-open .relief-scene { width: calc(100vw - 24px); height: calc(100dvh - 92px); min-height: 410px; }
  .result-relief.is-open .relief-head { top: max(16px, env(safe-area-inset-top)); }
  .result-relief.is-open .relief-target-chip { top: 9%; }
  .result-relief.is-open .woodfish-button, .result-relief.is-open .trash-drop { width: min(72vw, 310px); height: min(72vw, 310px); }
  .result-relief.is-open .quote-rack { top: 17%; grid-template-columns: 1fr; gap: 7px; width: min(82vw, 320px); }
  .result-relief.is-open .quote-slip { min-height: 0; padding: 8px 10px; font-size: 11px; }
  .result-relief.is-open.mode-trash .trash-drop { translate: 0 15%; }
  .result-relief.is-open .relief-group-thanks { inset: 14% 1%; }
  .relief-group-thanks span { padding: 7px 8px; font-size: 17px; }
  .relief-group-thanks span:nth-child(2) { transform: translateY(-58px) rotate(4deg); }
}
