:root {
  --paper: #f5f0e6;
  --ink: #171717;
  --yellow: #ffd84d;
  --coral: #ff6655;
  --mint: #65d6a6;
  --blue: #5d72f2;
  --white: #fffdf8;
  --shadow: 7px 7px 0 var(--ink);
  --radius: 18px;
  --font: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "PingFang SC", "Microsoft YaHei", sans-serif;
}

* { box-sizing: border-box; }

html { scroll-behavior: smooth; }

body {
  margin: 0;
  min-width: 320px;
  min-height: 100vh;
  overflow-x: hidden;
  color: var(--ink);
  background:
    radial-gradient(circle at 8% 20%, rgba(255, 102, 85, .12), transparent 19rem),
    radial-gradient(circle at 93% 70%, rgba(93, 114, 242, .12), transparent 24rem),
    var(--paper);
  font-family: var(--font);
}

button, input { font: inherit; }
button { color: inherit; }

.grain {
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: 20;
  opacity: .18;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.08'/%3E%3C/svg%3E");
}

.cursor-dot {
  position: fixed;
  width: 18px;
  height: 18px;
  border: 2px solid var(--ink);
  border-radius: 50%;
  transform: translate(-50%, -50%);
  pointer-events: none;
  z-index: 40;
  opacity: 0;
  transition: width .15s, height .15s, background .15s, opacity .2s;
}

body.has-pointer.pointer-ready .cursor-dot { opacity: 1; }
body.has-pointer .cursor-dot.is-hovering { width: 34px; height: 34px; background: rgba(255, 216, 77, .55); }

.site-header {
  position: relative;
  z-index: 10;
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: min(1180px, calc(100% - 48px));
  margin: 0 auto;
  padding: 24px 0 18px;
  border-bottom: 2px solid var(--ink);
}

.brand {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 0;
  border: 0;
  background: transparent;
  color: inherit;
  text-decoration: none;
  text-align: left;
  cursor: pointer;
}

.brand-mark {
  display: grid;
  place-items: center;
  width: 40px;
  height: 40px;
  border: 2px solid var(--ink);
  border-radius: 50% 45% 48% 42%;
  background: var(--yellow);
  font-size: 20px;
  font-weight: 950;
  transform: rotate(-6deg);
}

.brand strong, .brand small { display: block; }
.brand strong { font-size: 16px; letter-spacing: .08em; }
.brand small { margin-top: 2px; font-size: 8px; font-weight: 800; letter-spacing: .12em; }

.header-status {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 12px;
  font-weight: 800;
}

.pulse { width: 8px; height: 8px; border-radius: 50%; background: #29af69; box-shadow: 0 0 0 4px rgba(41,175,105,.13); }
.archive-count { margin-left: 16px; padding-left: 16px; border-left: 1px solid var(--ink); }

.view { display: none; width: min(1180px, calc(100% - 48px)); margin: 0 auto; animation: view-in .48s cubic-bezier(.2,.8,.2,1); }
.view.is-active { display: block; }

@keyframes view-in {
  from { opacity: 0; transform: translateY(18px) rotate(.15deg); }
  to { opacity: 1; transform: translateY(0); }
}

.hero-grid {
  display: grid;
  grid-template-columns: 1.08fr .92fr;
  gap: clamp(34px, 7vw, 92px);
  align-items: center;
  min-height: 660px;
  padding: 72px 0 64px;
}

.eyebrow { display: flex; align-items: center; gap: 8px; margin-bottom: 24px; }
.eyebrow span { padding: 6px 9px; border: 1.5px solid var(--ink); font-size: 10px; font-weight: 900; letter-spacing: .09em; text-transform: uppercase; }
.eyebrow span:first-child { background: var(--yellow); transform: rotate(-2deg); }

.hero-copy h1 {
  margin: 0;
  max-width: 720px;
  font-size: clamp(48px, 6vw, 84px);
  line-height: 1.03;
  letter-spacing: -.075em;
  font-weight: 950;
}

.hero-copy h1 em { position: relative; z-index: 0; font-style: normal; }
.hero-copy h1 em::after { content: ""; position: absolute; z-index: -1; left: -1%; right: -3%; bottom: .04em; height: .33em; background: var(--yellow); transform: rotate(-1.5deg); }

.hero-note { max-width: 540px; margin: 30px 0 28px; font-size: 16px; line-height: 1.8; font-weight: 650; }
.hero-actions { display: flex; align-items: center; gap: 18px; }

.lab-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 30px;
  min-height: 54px;
  padding: 13px 20px;
  border: 2px solid var(--ink);
  border-radius: 9px;
  background: var(--white);
  font-weight: 900;
  cursor: pointer;
  transition: transform .16s, box-shadow .16s, background .16s;
}

.lab-button:hover { transform: translate(-3px, -3px); box-shadow: 5px 5px 0 var(--ink); }
.lab-button:active { transform: translate(1px, 1px); box-shadow: none; }
.lab-button--primary { background: var(--yellow); }
.lab-button--dark { width: 100%; background: var(--ink); color: var(--white); }
.lab-button--ghost { background: transparent; }
.lab-button b { font-size: 20px; }
.hand-note { max-width: 135px; font-family: cursive; font-size: 12px; line-height: 1.25; transform: rotate(-4deg); }

.featured-card {
  position: relative;
  display: flex;
  flex-direction: column;
  min-height: 520px;
  padding: 26px;
  overflow: visible;
  border: 2px solid var(--ink);
  border-radius: 26px 19px 24px 18px;
  background: var(--yellow);
  box-shadow: var(--shadow);
  text-align: left;
  cursor: pointer;
  transform: rotate(1.8deg);
  transition: transform .25s cubic-bezier(.2,.9,.2,1), box-shadow .25s;
}

.featured-card:hover { transform: rotate(-.6deg) translateY(-8px); box-shadow: 13px 13px 0 var(--ink); }
.featured-meta, .featured-footer { display: flex; justify-content: space-between; align-items: center; font-size: 11px; font-weight: 900; letter-spacing: .08em; }
.live-badge { padding: 5px 8px; border: 1.5px solid var(--ink); border-radius: 999px; background: var(--mint); }
.tape { position: absolute; z-index: 2; padding: 8px 18px; background: rgba(245,240,230,.9); border: 1px solid rgba(23,23,23,.45); font-family: cursive; font-size: 13px; }
.tape--top { top: -20px; left: 50%; transform: translateX(-50%) rotate(-3deg); }

.specimen {
  position: relative;
  width: 190px;
  height: 190px;
  margin: 44px auto 26px;
  border: 3px solid var(--ink);
  border-radius: 45% 52% 46% 48%;
  background: var(--white);
  transform: rotate(-5deg);
}
.specimen::before, .specimen::after { content: ""; position: absolute; top: -18px; width: 42px; height: 55px; border: 3px solid var(--ink); background: var(--coral); z-index: -1; }
.specimen::before { left: 20px; border-radius: 70% 20%; transform: rotate(-23deg); }
.specimen::after { right: 18px; border-radius: 20% 70%; transform: rotate(27deg); }
.specimen-eye { position: absolute; top: 72px; width: 17px; height: 23px; border-radius: 50%; background: var(--ink); }
.specimen-eye--left { left: 51px; } .specimen-eye--right { right: 51px; }
.specimen-mouth { position: absolute; left: 70px; top: 121px; width: 48px; height: 18px; border-bottom: 3px solid var(--ink); border-radius: 50%; }
.specimen-label { position: absolute; right: -26px; bottom: 12px; padding: 5px 10px; border: 2px solid var(--ink); background: var(--blue); color: white; font-size: 11px; font-weight: 950; transform: rotate(8deg); }

.featured-copy p { margin: 0 0 8px; font-size: 11px; font-weight: 900; letter-spacing: .05em; }
.featured-copy h2 { margin: 0 0 8px; font-size: clamp(33px, 4vw, 48px); line-height: 1; letter-spacing: -.06em; }
.featured-copy > span { font-size: 14px; font-weight: 650; }
.featured-footer { margin-top: auto; padding-top: 21px; border-top: 2px solid var(--ink); }
.round-arrow { display: grid; place-items: center; width: 42px; height: 42px; border: 2px solid var(--ink); border-radius: 50%; background: var(--white); font-size: 22px; }

.archive-heading { display: flex; justify-content: space-between; align-items: end; padding: 28px 0 17px; border-bottom: 2px solid var(--ink); }
.archive-heading h2 { margin: 0; font-size: 28px; letter-spacing: -.04em; }
.archive-heading p { margin: 0; font-family: cursive; font-size: 13px; transform: rotate(2deg); }
.project-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; padding: 22px 0 100px; }
.project-card { position: relative; min-height: 250px; padding: 19px; border: 2px solid var(--ink); border-radius: 13px; text-align: left; cursor: pointer; transition: transform .18s, box-shadow .18s; }
.project-card:hover { transform: translateY(-5px) rotate(-.7deg); box-shadow: 5px 5px 0 var(--ink); }
.project-card--yellow { background: var(--yellow); }.project-card--coral { background: var(--coral); }.project-card--blue { background: var(--blue); color: white; }.project-card--mint { background: var(--mint); }
.project-number, .project-state { font-size: 10px; font-weight: 900; letter-spacing: .08em; }
.project-state { float: right; padding: 4px 7px; border: 1.5px solid currentColor; border-radius: 999px; }
.project-card h3 { margin: 60px 0 8px; font-size: 24px; line-height: 1.05; letter-spacing: -.04em; }
.project-card p { margin: 0; max-width: 85%; font-size: 13px; line-height: 1.55; font-weight: 650; }
.project-icon { position: absolute; right: 18px; bottom: 12px; font-size: 37px; font-weight: 950; }
.is-locked::after { content: "即将开始"; position: absolute; inset: 0; display: grid; place-items: center; border-radius: 10px; background: rgba(245,240,230,.88); color: var(--ink); font-family: cursive; font-size: 18px; opacity: 0; transition: opacity .2s; }
.is-locked:hover::after { opacity: 1; }
.site-footer { display: flex; justify-content: space-between; gap: 20px; margin: -64px 0 28px; padding: 18px 0; border-top: 2px solid var(--ink); font-size: 10px; font-weight: 850; letter-spacing: .05em; }
.site-footer a { color: inherit; }

.intro-stage { display: grid; justify-items: center; min-height: calc(100vh - 86px); padding: 62px 0 80px; }
.serial-strip { margin-bottom: 25px; font-size: 10px; font-weight: 900; letter-spacing: .18em; }
.product-tag { position: relative; width: min(520px, 100%); padding: 48px 52px 39px; border: 3px solid var(--ink); border-radius: 20px 31px 18px 26px; background: var(--yellow); box-shadow: 10px 10px 0 var(--ink); transform: rotate(-1deg); }
.tag-hole { position: absolute; top: 19px; left: 50%; width: 18px; height: 18px; border: 3px solid var(--ink); border-radius: 50%; background: var(--paper); transform: translateX(-50%); }
.tag-code { padding-top: 12px; font-size: 10px; font-weight: 900; letter-spacing: .08em; text-align: center; }
.tag-face { position: relative; width: 105px; height: 95px; margin: 27px auto 18px; border: 3px solid var(--ink); border-radius: 48% 44% 52% 47%; background: var(--white); }
.tag-face i, .result-avatar i { position: absolute; top: 35%; width: 10px; height: 15px; border-radius: 50%; background: var(--ink); }
.tag-face i:first-child, .result-avatar i:first-child { left: 27%; }.tag-face i:nth-child(2), .result-avatar i:nth-child(2) { right: 27%; }
.tag-face b, .result-avatar b { position: absolute; left: 35%; bottom: 22%; width: 30%; height: 13px; border-bottom: 3px solid var(--ink); border-radius: 50%; }
.product-tag h1 { margin: 0 0 27px; font-size: clamp(46px, 7vw, 70px); line-height: .96; letter-spacing: -.08em; text-align: center; }
.product-tag dl { margin: 0 0 24px; border-top: 2px solid var(--ink); }
.product-tag dl div { display: flex; justify-content: space-between; padding: 10px 0; border-bottom: 1.5px solid var(--ink); font-size: 13px; }
.product-tag dt { font-weight: 900; }.product-tag dd { margin: 0; font-family: cursive; }
.product-tag > small { display: block; margin-top: 14px; font-size: 9px; font-weight: 700; text-align: center; }
.resume-button { display: flex; justify-content: space-between; width: 100%; margin-top: 10px; padding: 11px 13px; border: 2px dashed var(--ink); border-radius: 7px; background: rgba(255,255,255,.5); font-size: 12px; font-weight: 900; cursor: pointer; }
.resume-button[hidden] { display: none; }
.resume-button:hover { background: var(--white); }
.text-button { margin-top: 27px; padding: 6px; border: 0; border-bottom: 1px solid currentColor; background: transparent; font-size: 12px; font-weight: 750; cursor: pointer; }
.stamp-button:active { transform: scale(.96) rotate(-1deg); }

.quiz-shell { width: min(820px, 100%); min-height: calc(100vh - 86px); margin: 0 auto; padding: 65px 0 70px; }
.quiz-topline { display: flex; justify-content: space-between; margin-bottom: 10px; font-size: 11px; font-weight: 900; letter-spacing: .06em; }
.quiz-topline span:last-child { font-family: cursive; font-weight: 500; }
.progress-track { height: 11px; overflow: hidden; border: 2px solid var(--ink); border-radius: 99px; background: var(--white); }
.progress-track span { display: block; width: 12.5%; height: 100%; background: var(--yellow); transition: width .35s cubic-bezier(.2,.8,.2,1); }
.question-card { position: relative; margin-top: 34px; min-height: 525px; padding: 46px; overflow: hidden; border: 2px solid var(--ink); border-radius: 19px 29px 15px 22px; background: var(--white); box-shadow: 8px 8px 0 var(--ink); }
.question-card.is-leaving { animation: card-out .25s ease both; }
.question-card.is-entering { animation: card-in .32s ease both; }
@keyframes card-out { to { opacity: 0; transform: translateX(-22px) rotate(-1deg); } }
@keyframes card-in { from { opacity: 0; transform: translateX(30px) rotate(1deg); } }
.question-index { position: absolute; top: 25px; right: 28px; font-size: 34px; font-weight: 950; letter-spacing: -.06em; color: var(--coral); }
.question-context { display: inline-block; margin: 0 0 17px; padding: 5px 9px; background: var(--ink); color: white; font-size: 10px; font-weight: 900; letter-spacing: .1em; }
.question-card h1 { max-width: 660px; margin: 0 0 32px; padding-right: 65px; font-size: clamp(31px, 5vw, 48px); line-height: 1.12; letter-spacing: -.055em; }
.answers { display: grid; grid-template-columns: 1fr 1fr; gap: 13px; }
.answer-button { position: relative; min-height: 82px; padding: 17px 18px 17px 49px; border: 2px solid var(--ink); border-radius: 11px; background: var(--paper); text-align: left; font-weight: 750; cursor: pointer; transition: transform .15s, box-shadow .15s, background .15s; }
.answer-button::before { content: attr(data-letter); position: absolute; left: 14px; top: 50%; display: grid; place-items: center; width: 25px; height: 25px; border: 1.5px solid var(--ink); border-radius: 50%; transform: translateY(-50%); font-size: 11px; font-weight: 950; }
.answer-button:hover { background: var(--yellow); transform: translate(-2px,-2px); box-shadow: 3px 3px 0 var(--ink); }
.answer-button.is-selected { background: var(--yellow); transform: scale(.98); }
.sample-stamp { position: absolute; right: 24px; bottom: 22px; padding: 7px 12px; border: 3px double var(--coral); border-radius: 5px; color: var(--coral); font-size: 17px; font-weight: 950; transform: rotate(-12deg) scale(2); opacity: 0; }
.question-card.is-stamped .sample-stamp { animation: stamp .3s cubic-bezier(.2,1.4,.4,1) forwards; }
@keyframes stamp { to { opacity: .88; transform: rotate(-12deg) scale(1); } }
.quiz-controls { display: flex; justify-content: space-between; align-items: center; margin-top: 24px; }
.quiz-controls .text-button { margin-top: 0; }
#previous-button[disabled] { opacity: .3; cursor: not-allowed; }
.quiz-exit { margin-left: auto; }

.result-layout { display: grid; grid-template-columns: .82fr 1.18fr; gap: clamp(36px, 6vw, 86px); align-items: start; padding: 60px 0 100px; }
.result-summary { position: sticky; top: 35px; padding-top: 30px; }
.result-kicker { margin: 0 0 10px; font-size: 13px; font-weight: 900; }
.shared-result-note { width: fit-content; margin: -8px 0 22px; padding: 7px 10px; border: 1.5px dashed var(--ink); background: var(--mint); font-size: 11px; font-weight: 900; transform: rotate(-1deg); }
.result-summary h1 { margin: 0; font-size: clamp(50px, 6vw, 78px); line-height: .96; letter-spacing: -.08em; }
.result-summary > p:last-of-type { margin: 23px 0 31px; max-width: 470px; font-size: 17px; line-height: 1.7; font-weight: 650; }
.result-actions { display: grid; gap: 12px; width: min(360px, 100%); }
.result-actions .lab-button { width: 100%; }

.manual-sheet { position: relative; padding: 34px; overflow: hidden; border: 3px solid var(--ink); background: var(--white); box-shadow: 12px 12px 0 var(--ink); transform: rotate(.45deg); }
.manual-sheet::before { content: "ORIGINAL"; position: absolute; top: 50%; left: 50%; color: rgba(23,23,23,.035); font-size: 100px; font-weight: 950; transform: translate(-50%,-50%) rotate(-28deg); }
.sheet-header { display: flex; justify-content: space-between; align-items: start; padding-bottom: 18px; border-bottom: 4px solid var(--ink); }
.sheet-header span { display: block; margin-bottom: 5px; font-size: 9px; font-weight: 900; letter-spacing: .07em; }
.sheet-header strong { font-size: 31px; letter-spacing: -.05em; }
.model-code { padding: 8px; border: 2px solid var(--ink); background: var(--yellow); font-size: 12px; font-weight: 950; line-height: 1.05; text-align: right; }
.sheet-warning { margin: 14px 0; padding: 8px 10px; background: var(--ink); color: var(--white); font-size: 11px; font-weight: 900; }
.sheet-profile { display: grid; grid-template-columns: 112px 1fr; gap: 20px; align-items: center; padding: 19px 0; border-bottom: 2px solid var(--ink); }
.result-avatar { position: relative; width: 105px; height: 105px; border: 3px solid var(--ink); border-radius: 52% 46% 44% 51%; background: var(--coral); }
.sheet-profile small { font-size: 9px; font-weight: 900; }.sheet-profile h2 { margin: 5px 0 3px; font-size: 27px; line-height: 1; letter-spacing: -.05em; }.sheet-profile p { margin: 0; font-size: 9px; font-weight: 900; letter-spacing: .1em; }
.manual-grid { display: grid; grid-template-columns: 1fr 1fr; border-bottom: 2px solid var(--ink); }
.manual-grid section { min-height: 128px; padding: 17px 15px 14px 0; border-bottom: 1.5px solid var(--ink); }
.manual-grid section:nth-child(odd) { padding-right: 18px; border-right: 1.5px solid var(--ink); }.manual-grid section:nth-child(even) { padding-left: 18px; }.manual-grid section:nth-child(n+3) { border-bottom: 0; }
.manual-grid span, .trait-block > span { font-size: 9px; font-weight: 950; letter-spacing: .07em; }.manual-grid p { margin: 12px 0 0; font-size: 13px; line-height: 1.55; font-weight: 700; }
.trait-block { padding: 18px 0; border-bottom: 2px solid var(--ink); }
.trait-row { display: grid; grid-template-columns: 72px 1fr 28px; gap: 9px; align-items: center; margin-top: 11px; font-size: 10px; font-weight: 850; }
.trait-row > i { height: 9px; overflow: hidden; border: 1.5px solid var(--ink); background: var(--paper); }.trait-row > i b { display: block; height: 100%; background: var(--result-color, var(--coral)); transition: width .7s .2s ease; }.trait-row em { font-style: normal; text-align: right; }
.manual-sheet footer { display: flex; align-items: center; gap: 18px; padding-top: 17px; font-size: 9px; font-weight: 800; }.manual-sheet footer strong { margin-left: auto; padding: 5px; border: 2px solid var(--coral); color: var(--coral); line-height: .9; transform: rotate(-7deg); }

.toast { position: fixed; left: 50%; bottom: 26px; z-index: 50; padding: 11px 17px; border: 2px solid var(--ink); border-radius: 9px; background: var(--ink); color: var(--white); box-shadow: 4px 4px 0 var(--yellow); font-size: 12px; font-weight: 800; transform: translate(-50%, 30px); opacity: 0; pointer-events: none; transition: .24s; }
.toast.is-visible { transform: translate(-50%,0); opacity: 1; }

.poster-dialog { width: min(580px, calc(100% - 28px)); max-height: calc(100vh - 32px); padding: 22px; overflow: auto; border: 3px solid var(--ink); border-radius: 17px; background: var(--paper); box-shadow: 10px 10px 0 var(--ink); }
.poster-dialog::backdrop { background: rgba(23,23,23,.68); backdrop-filter: blur(4px); }
.dialog-close { position: sticky; z-index: 2; top: 0; float: right; display: grid; place-items: center; width: 37px; height: 37px; border: 2px solid var(--ink); border-radius: 50%; background: var(--white); font-size: 24px; font-weight: 900; cursor: pointer; }
.poster-dialog-copy { padding: 7px 45px 15px 0; }
.poster-dialog-copy span, .poster-dialog-copy strong { display: block; }
.poster-dialog-copy span { font-size: 11px; font-weight: 900; letter-spacing: .08em; }
.poster-dialog-copy strong { margin-top: 5px; font-size: 22px; }
.poster-dialog img { display: block; width: 100%; border: 2px solid var(--ink); background: var(--white); }
.dialog-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; padding-top: 15px; }

@media (max-width: 900px) {
  .hero-grid, .result-layout { grid-template-columns: 1fr; }
  .hero-grid { padding-top: 55px; }
  .featured-card { width: min(520px, 94%); margin: 0 auto; }
  .project-grid { grid-template-columns: 1fr 1fr; }
  .result-summary { position: static; }
  .result-actions { grid-template-columns: 1fr 1fr; width: 100%; }
}

@media (max-width: 620px) {
  .site-header, .view { width: min(100% - 28px, 1180px); }
  .site-header { padding-top: 15px; }
  .brand small, .archive-count { display: none; }
  .header-status { font-size: 10px; }
  .hero-grid { min-height: auto; gap: 55px; padding: 48px 0 60px; }
  .hero-copy h1 { font-size: clamp(45px, 14vw, 62px); }
  .hero-note { font-size: 14px; }
  .hero-actions { align-items: flex-start; flex-direction: column; }
  .hand-note { margin-left: 14px; }
  .featured-card { min-height: 470px; width: calc(100% - 8px); padding: 20px; transform: rotate(.7deg); box-shadow: 6px 6px 0 var(--ink); }
  .specimen { width: 160px; height: 160px; margin-top: 40px; }
  .specimen-eye { top: 60px; }.specimen-eye--left { left: 43px; }.specimen-eye--right { right: 43px; }.specimen-mouth { left: 59px; top: 101px; width: 42px; }
  .project-grid { grid-template-columns: 1fr; }.project-card { min-height: 210px; }.project-card h3 { margin-top: 45px; }
  .site-footer { flex-wrap: wrap; margin-top: -70px; }.site-footer span:last-child { width: 100%; }
  .archive-heading p { display: none; }
  .product-tag { padding: 44px 25px 30px; box-shadow: 6px 6px 0 var(--ink); }
  .intro-stage { padding-top: 42px; }
  .quiz-shell { padding-top: 40px; }
  .quiz-topline span:last-child { display: none; }
  .question-card { min-height: 580px; padding: 35px 20px 28px; box-shadow: 5px 5px 0 var(--ink); }
  .question-card h1 { padding-right: 34px; }
  .question-index { right: 18px; top: 16px; font-size: 25px; }
  .answers { grid-template-columns: 1fr; }.answer-button { min-height: 67px; }
  .result-layout { padding-top: 30px; }
  .result-summary h1 { font-size: clamp(48px, 15vw, 67px); }
  .result-actions { grid-template-columns: 1fr; }
  .manual-sheet { padding: 20px; box-shadow: 6px 6px 0 var(--ink); }
  .sheet-header strong { font-size: 24px; }.sheet-profile { grid-template-columns: 80px 1fr; gap: 13px; }.result-avatar { width: 76px; height: 76px; }.sheet-profile h2 { font-size: 21px; }
  .manual-grid { grid-template-columns: 1fr; }.manual-grid section, .manual-grid section:nth-child(odd), .manual-grid section:nth-child(even) { min-height: auto; padding: 15px 0; border-right: 0; border-bottom: 1.5px solid var(--ink); }.manual-grid section:last-child { border-bottom: 0; }
  .manual-sheet footer span:first-child { display: none; }
  .dialog-actions { grid-template-columns: 1fr; }
}

@media (pointer: coarse) { .cursor-dot { display: none; } }

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
  .cursor-dot { display: none; }
}
