/* Task 836: annual-tarot-only Moonlight Prism visual system. */
body {
  --annual-page: #f7f7fa;
  --annual-surface: #fdfdff;
  --annual-surface-soft: #f0f0f6;
  --annual-surface-muted: #e8e8f1;
  --annual-text: #171625;
  --annual-muted: #625f72;
  --annual-primary: #5143bd;
  --annual-secondary: #7ac7c4;
  --annual-accent: #6a55d9;
  --annual-accent-ink: #493ab0;
  --annual-on-primary: #f8f7fc;
  --annual-border: rgb(36 33 61 / 0.13);
  --annual-border-strong: rgb(36 33 61 / 0.24);
  --annual-focus: #6a55d9;
  --annual-success: #317b78;
  --annual-warning: #8a5b25;
  --annual-error: #a1435b;
  --annual-primary-rgb: 81 67 189;
  --annual-secondary-rgb: 122 199 196;
  --annual-accent-rgb: 106 85 217;
  --annual-text-rgb: 23 22 37;
  --annual-surface-rgb: 255 255 255;
  --annual-shadow: rgb(36 33 61 / 0.16);
  --annual-shadow-raised: 0 22px 54px -42px rgb(36 33 61 / 0.34);
  --annual-font-display: -apple-system, BlinkMacSystemFont, "SF Pro Display", "PingFang SC", "Microsoft YaHei", "Noto Sans SC", "Helvetica Neue", Arial, sans-serif;
  --annual-font-reading: "Source Serif 4", "Source Han Serif SC", "Noto Serif SC", "Songti SC", Georgia, serif;
  --annual-font-ui: -apple-system, BlinkMacSystemFont, "SF Pro Text", "PingFang SC", "Microsoft YaHei", "Noto Sans SC", "Helvetica Neue", Arial, sans-serif;
  --page: var(--annual-page);
  --paper: var(--annual-surface);
  --ink: var(--annual-text);
  --muted: var(--annual-muted);
  --line: var(--annual-border);
  --line-strong: var(--annual-border-strong);
  --forest: var(--annual-primary);
  --rose-text: var(--annual-primary);
  --gold-text: var(--annual-accent-ink);
  --gold: var(--annual-accent);
  background-color: var(--annual-page);
  background-image: radial-gradient(circle at 82% 4%, rgb(var(--annual-secondary-rgb) / 0.13), transparent 31rem);
  color: var(--annual-text);
}

html[data-theme="night"] body {
  --annual-page: #12121c;
  --annual-surface: #1b1a29;
  --annual-surface-soft: #24223a;
  --annual-surface-muted: #2d2a46;
  --annual-text: #f2f1f8;
  --annual-muted: #b6b2c8;
  --annual-primary: #b7acf2;
  --annual-secondary: #83cecb;
  --annual-accent: #a998ee;
  --annual-accent-ink: #c7bcf6;
  --annual-on-primary: #171625;
  --annual-border: rgb(218 216 232 / 0.16);
  --annual-border-strong: rgb(218 216 232 / 0.3);
  --annual-focus: #b7acf2;
  --annual-success: #83cecb;
  --annual-warning: #e0b26f;
  --annual-error: #f19ab0;
  --annual-primary-rgb: 183 172 242;
  --annual-secondary-rgb: 131 206 203;
  --annual-accent-rgb: 169 152 238;
  --annual-text-rgb: 242 241 248;
  --annual-surface-rgb: 27 26 41;
  --annual-shadow: rgb(0 0 0 / 0.4);
  --annual-shadow-raised: 0 24px 58px -38px rgb(0 0 0 / 0.68);
  background-color: var(--annual-page);
  background-image: radial-gradient(circle at 82% 4%, rgb(var(--annual-secondary-rgb) / 0.1), transparent 31rem);
}

body::before {
  display: none;
}

body main,
body[data-annual-view="draw"] main,
html[data-theme="night"] body[data-annual-view="draw"] main {
  background-color: var(--annual-page);
  background-image: none;
}

.annual-auth-state,
.annual-shell {
  width: min(1180px, calc(100vw - 48px));
  font-family: var(--annual-font-ui);
}

.annual-shell {
  padding-top: 12px;
}

.annual-heading {
  padding: 22px 0 20px;
  border: 0;
  border-bottom: 1px solid var(--annual-border);
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.annual-heading::before,
.annual-heading::after {
  display: none;
}

.annual-heading .eyebrow,
.annual-stage-kicker,
.annual-report-cover-copy .eyebrow {
  color: var(--annual-accent-ink);
  font-family: var(--annual-font-ui);
  font-size: 0.72rem;
  font-weight: 760;
  letter-spacing: 0.08em;
}

.annual-heading h1,
.annual-intro-copy h2,
.annual-profile-head h2,
.annual-legacy-profile h2,
.annual-stage-entry h3,
.annual-draw-summary h2,
.annual-subhead h2,
.annual-report-cover-copy h2,
.annual-report-band > h2,
.annual-card-overview-group h3,
.annual-month-copy h3,
.annual-domain-item h3,
.annual-snapshot-heading h2 {
  font-family: var(--annual-font-display);
  font-weight: 680;
  letter-spacing: -0.035em;
}

html[lang="zh-CN"] .annual-heading h1,
html[lang="zh-CN"] .annual-intro-copy h2,
html[lang="zh-CN"] .annual-report-cover-copy h2,
html[lang="zh-CN"] .annual-report-band > h2,
html[lang="zh-CN"] .annual-month-copy h3,
html[lang="zh-CN"] .annual-domain-item h3 {
  letter-spacing: -0.035em;
}

.annual-heading h1 {
  margin-top: 5px;
  font-size: clamp(1.72rem, 3vw, 2.35rem);
  line-height: 1.08;
}

.annual-period {
  margin-top: 8px;
  font-family: var(--annual-font-ui);
  font-size: 0.83rem;
  font-variant-numeric: tabular-nums;
}

.annual-back-link,
.annual-primary,
.annual-secondary,
.annual-quiet,
.annual-retry,
.annual-wheel-controls button,
.annual-sound-toggle {
  border-radius: 12px;
}

.annual-back-link {
  min-height: 44px;
  padding: 10px 14px;
  border-color: var(--annual-border);
  background: rgb(var(--annual-surface-rgb) / 0.72);
  box-shadow: none;
}

.annual-primary,
.annual-ritual-actions .annual-primary,
.annual-shell[data-annual-view="draw"] .annual-stage-entry .annual-primary,
.annual-pdf-controls .annual-primary {
  min-height: 50px;
  border: 1px solid #24213d;
  background: #24213d;
  color: #f8f7fc;
  box-shadow: 0 14px 30px -19px rgb(36 33 61 / 0.72);
}

html[data-theme="night"] .annual-primary,
html[data-theme="night"] .annual-ritual-actions .annual-primary,
html[data-theme="night"] .annual-shell[data-annual-view="draw"] .annual-stage-entry .annual-primary,
html[data-theme="night"] .annual-pdf-controls .annual-primary {
  border-color: #d8d3f6;
  background: #d8d3f6;
  color: #171625;
}

.annual-primary:hover:not(:disabled),
.annual-ritual-actions .annual-primary:hover:not(:disabled) {
  transform: translateY(-1px);
  background: #332e53;
  box-shadow: 0 18px 34px -19px rgb(36 33 61 / 0.78);
}

html[data-theme="night"] .annual-primary:hover:not(:disabled),
html[data-theme="night"] .annual-ritual-actions .annual-primary:hover:not(:disabled) {
  background: #e5e1fa;
}

.annual-primary:active:not(:disabled),
.annual-secondary:active:not(:disabled),
.annual-quiet:active:not(:disabled) {
  transform: translateY(1px) scale(0.99);
}

.annual-secondary,
.annual-quiet,
.annual-retry {
  border-color: var(--annual-border-strong);
  background: rgb(var(--annual-surface-rgb) / 0.76);
  color: var(--annual-text);
  box-shadow: none;
}

.annual-intro {
  position: relative;
  min-height: 510px;
  grid-template-columns: minmax(0, 1.12fr) minmax(310px, 0.72fr);
  gap: 56px;
  align-items: center;
  margin: 0;
  padding: clamp(42px, 6vw, 76px) 0 clamp(46px, 6vw, 72px);
  border: 0;
  border-bottom: 1px solid var(--annual-border);
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.annual-intro::before {
  display: none;
}

.annual-intro-copy {
  max-width: 650px;
}

.annual-intro-copy h2 {
  max-width: 11ch;
  margin: 10px 0 0;
  font-size: clamp(2.85rem, 5.3vw, 4.7rem);
  line-height: 1.02;
  text-wrap: balance;
}

.annual-intro-lead {
  max-width: 39ch;
  margin-top: 22px;
  color: var(--annual-muted);
  font-family: var(--annual-font-ui);
  font-size: clamp(1rem, 1.4vw, 1.12rem);
  line-height: 1.75;
}

.annual-intro-price {
  min-height: auto;
  margin-top: 20px;
  padding: 2px 0 2px 13px;
  border: 0;
  border-left: 3px solid var(--annual-accent);
  border-radius: 0;
  background: transparent;
  color: var(--annual-text);
  font-size: 0.92rem;
  font-weight: 720;
}

.annual-intro-state {
  margin-top: 13px;
  color: var(--annual-muted);
}

.annual-intro-actions {
  margin-top: 22px;
}

.annual-intro-actions .annual-primary {
  min-width: min(100%, 320px);
}

.annual-intro-note {
  margin-top: 13px;
  color: var(--annual-muted);
}

.annual-intro-deck {
  position: relative;
  isolation: isolate;
  min-height: 410px;
}

.annual-intro-deck::before {
  content: "";
  position: absolute;
  inset: 50% auto auto 50%;
  width: 350px;
  aspect-ratio: 1;
  z-index: 0;
  border-radius: 50%;
  background: repeating-conic-gradient(from -1deg, rgb(var(--annual-primary-rgb) / 0.58) 0 1deg, transparent 1deg 30deg);
  -webkit-mask: radial-gradient(circle, transparent 0 68%, #000 68.5% 70%, transparent 70.5% 100%);
  mask: radial-gradient(circle, transparent 0 68%, #000 68.5% 70%, transparent 70.5% 100%);
  transform: translate(-50%, -50%);
  animation: annual-prism-enter 620ms cubic-bezier(0.16, 1, 0.3, 1) both;
}

.annual-intro-deck::after {
  content: "";
  position: absolute;
  inset: 50% auto auto 50%;
  width: 286px;
  aspect-ratio: 1;
  z-index: 0;
  border: 1px solid rgb(var(--annual-secondary-rgb) / 0.5);
  border-radius: 50%;
  background: transparent;
  box-shadow: none;
  transform: translate(-50%, -50%);
}

.annual-intro-deck .annual-intro-card {
  top: 50%;
  left: 50%;
  width: 150px;
  border: 1px solid rgb(216 211 246 / 0.58);
  border-radius: 12px;
  background-color: #24213d;
  background-image: var(--annual-card-back), linear-gradient(145deg, #24213d, #171625);
  background-position: center;
  background-size: cover;
  box-shadow: 0 32px 62px -28px rgb(23 22 37 / 0.72);
}

.annual-intro-deck .annual-intro-card-left,
.annual-intro-deck .annual-intro-card-right {
  z-index: 1;
  width: 142px;
  opacity: 0.13;
  filter: saturate(0.6);
  box-shadow: none;
}

.annual-intro-deck .annual-intro-card-left {
  transform: translate(-68%, -48%) rotate(-4deg);
}

.annual-intro-deck .annual-intro-card-right {
  transform: translate(-32%, -48%) rotate(7deg);
}

.annual-intro-deck .annual-intro-card-center {
  z-index: 2;
  transform: translate(-50%, -50%) rotate(2.5deg);
}

.annual-profile,
.annual-legacy-profile,
.annual-workspace,
.annual-generation,
.annual-ready {
  margin-top: 28px;
  padding: clamp(24px, 4vw, 42px);
  border: 1px solid var(--annual-border);
  border-radius: 18px;
  background: rgb(var(--annual-surface-rgb) / 0.9);
  box-shadow: var(--annual-shadow-raised);
}

.annual-profile-head {
  padding-bottom: 18px;
  border-bottom: 1px solid var(--annual-border);
}

.annual-profile-head h2,
.annual-stage-entry h3,
.annual-draw-summary h2,
.annual-subhead h2 {
  line-height: 1.1;
}

.annual-profile-track,
.annual-progress-track {
  height: 5px;
  border-radius: 3px;
  background: rgb(var(--annual-primary-rgb) / 0.11);
}

.annual-profile-track span,
.annual-progress-track span {
  background: var(--annual-accent);
}

.annual-profile-reuse {
  border: 1px solid var(--annual-border);
  border-left: 3px solid var(--annual-accent);
  border-radius: 12px;
  background: rgb(var(--annual-secondary-rgb) / 0.08);
}

.annual-choice-grid label {
  border-color: var(--annual-border);
  border-radius: 10px;
  background: rgb(var(--annual-surface-rgb) / 0.72);
  box-shadow: none;
}

.annual-choice-grid label:has(input:checked) {
  border-color: rgb(var(--annual-primary-rgb) / 0.68);
  background: rgb(var(--annual-primary-rgb) / 0.075);
  box-shadow: inset 3px 0 var(--annual-accent);
}

.annual-open-context textarea,
.annual-followup-question textarea,
.annual-pdf-controls input {
  border-color: var(--annual-border-strong);
  border-radius: 10px;
  background: var(--annual-surface);
  color: var(--annual-text);
}

.annual-reuse-dialog {
  border-color: var(--annual-border-strong);
  border-radius: 16px;
  background: var(--annual-surface);
}

.annual-workspace-tools {
  padding: 10px 0 18px;
  border: 0;
  border-bottom: 1px solid var(--annual-border);
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.annual-workspace-nav button,
.annual-workspace-utilities button {
  border-radius: 10px;
}

.annual-stage-entry {
  min-height: 380px;
  border: 0;
  border-bottom: 1px solid var(--annual-border);
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.annual-stage-entry-deck::before {
  background: repeating-conic-gradient(from -1deg, rgb(var(--annual-primary-rgb) / 0.48) 0 1deg, transparent 1deg 30deg);
  -webkit-mask: radial-gradient(circle, transparent 0 67%, #000 67.5% 69%, transparent 69.5% 100%);
  mask: radial-gradient(circle, transparent 0 67%, #000 67.5% 69%, transparent 69.5% 100%);
}

.annual-stage-entry-deck::after {
  display: none;
}

.annual-stage-entry-deck span,
.annual-shuffle-stack::before,
.annual-shuffle-stack::after,
.annual-cut-board button,
.annual-card-pick,
.annual-card-flight-back {
  border-color: rgb(216 211 246 / 0.55);
  border-radius: 10px;
  background-color: #24213d;
  background-image: var(--annual-card-back), linear-gradient(145deg, #24213d, #171625);
  background-position: center;
  background-size: cover;
}

.annual-draw-stage,
body[data-annual-view="draw"] .atd-stage {
  border: 1px solid var(--annual-border);
  border-radius: 18px;
  background: var(--annual-surface);
  box-shadow: var(--annual-shadow-raised);
}

.annual-ritual-steps li > span {
  border-color: var(--annual-border-strong);
  background: var(--annual-surface-soft);
  color: var(--annual-text);
}

.annual-ritual-steps li[data-state="active"] > span,
.annual-ritual-steps li[data-state="complete"] > span {
  border-color: var(--annual-accent);
  background: var(--annual-accent);
  color: #f8f7fc;
}

.annual-tabletop {
  border-color: var(--annual-border);
  border-radius: 16px;
  background-color: var(--annual-surface-soft);
  background-image: linear-gradient(145deg, rgb(var(--annual-surface-rgb) / 0.82), rgb(var(--annual-secondary-rgb) / 0.08));
  box-shadow: inset 0 1px 0 rgb(var(--annual-surface-rgb) / 0.72);
}

.annual-table-rings {
  opacity: 0.34;
  filter: saturate(0.78);
}

.annual-revealed-card {
  border-radius: 12px;
  background: transparent;
}

.annual-ready,
.annual-generation {
  width: min(820px, 100%);
  margin-inline: auto;
}

.annual-purchase-confirm,
html[data-theme="night"] .annual-purchase-confirm {
  border: 1px solid var(--annual-border);
  border-left: 3px solid var(--annual-accent);
  border-radius: 12px;
  background: rgb(var(--annual-surface-rgb) / 0.72);
}

.annual-purchase-confirm strong,
.annual-purchase-confirm p,
html[data-theme="night"] .annual-purchase-confirm strong,
html[data-theme="night"] .annual-purchase-confirm p {
  color: var(--annual-text);
}

.annual-generation-overview {
  padding: 22px 0 20px;
  border: 0;
  border-top: 1px solid var(--annual-border);
  border-bottom: 1px solid var(--annual-border);
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.annual-generation-progress {
  height: 7px;
  background: rgb(var(--annual-primary-rgb) / 0.1);
}

.annual-generation-progress > span {
  background: var(--annual-accent);
}

.annual-segment-row {
  min-height: 68px;
  border: 0;
  border-bottom: 1px solid var(--annual-border);
  border-radius: 0;
  background: transparent;
}

.annual-segment-row:last-child {
  border-bottom: 0;
}

.annual-segment-index {
  border-radius: 8px;
}

.annual-report {
  margin-top: 34px;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
}

.annual-report-cover {
  min-height: 420px;
  padding: clamp(34px, 5vw, 62px);
  border: 1px solid var(--annual-border);
  border-top: 4px solid var(--annual-accent);
  border-radius: 18px;
  background-color: var(--annual-surface-soft);
  background-image: linear-gradient(118deg, transparent 0 68%, rgb(var(--annual-secondary-rgb) / 0.14) 68% 100%);
  box-shadow: var(--annual-shadow-raised);
}

.annual-report-cover::before {
  display: none;
}

.annual-report-cover-copy .eyebrow,
.annual-report-cover-copy h2,
.annual-report-cover-copy > p,
.annual-report-cover-copy > span,
.annual-report-cover-copy .annual-report-theme-preview,
.annual-report-theme-preview {
  color: var(--annual-text);
}

.annual-report-cover-copy .eyebrow,
.annual-report-continue {
  color: var(--annual-accent-ink);
}

.annual-report-cover-copy h2 {
  max-width: 9ch;
  font-size: clamp(2.7rem, 5.2vw, 4.8rem);
  line-height: 0.98;
}

.annual-report-theme-preview {
  max-width: 38ch;
  font-family: var(--annual-font-reading);
}

html[lang="zh-CN"] .annual-report-theme-preview,
html[lang="zh-CN"] .annual-prose-paragraph,
html[lang="zh-CN"] .annual-report-band > p,
html[lang="zh-CN"] .annual-report-band > ul,
html[lang="zh-CN"] .annual-report-band > ol,
html[lang="zh-CN"] .annual-report-band li,
html[lang="zh-CN"] .annual-month-copy p,
html[lang="zh-CN"] .annual-domain-item p,
html[lang="zh-CN"] .annual-card-overview-heading p,
html[lang="zh-CN"] .annual-key-month-item p {
  font-family: var(--annual-font-ui);
  line-height: 1.76;
}

html[lang="zh-CN"] .annual-prose-paragraph strong,
html[lang="zh-CN"] .annual-report-theme-preview strong,
html[lang="zh-CN"] .annual-month-copy strong,
html[lang="zh-CN"] .annual-domain-item strong {
  font-family: inherit;
  font-weight: 720;
}

.annual-year-card img,
.annual-card-overview-item img,
.annual-month-card img {
  border-color: var(--annual-border-strong);
  border-radius: 10px;
  box-shadow: 0 20px 42px -28px var(--annual-shadow);
}

.annual-report-snapshot {
  border-color: var(--annual-border);
  border-radius: 16px;
  background: var(--annual-surface);
  box-shadow: var(--annual-shadow-raised);
}

.annual-snapshot-keywords span {
  border-radius: 8px;
  background: rgb(var(--annual-primary-rgb) / 0.07);
  color: var(--annual-text);
}

.annual-report-band {
  border-color: var(--annual-border);
}

.annual-report > .annual-report-band:nth-of-type(even),
.annual-month-item:nth-child(even),
.annual-domain-item:nth-child(odd) {
  border-left-color: var(--annual-border);
  background: transparent;
  background-image: none;
}

.annual-month-item::before {
  border-color: var(--annual-surface);
  background: var(--annual-accent);
  box-shadow: 0 0 0 1px var(--annual-accent);
}

.annual-followup-form,
.annual-pdf-tools {
  border-color: var(--annual-border);
  border-radius: 16px;
  background: var(--annual-surface);
  box-shadow: var(--annual-shadow-raised);
}

.mobile-tabbar .mobile-tab.is-active {
  color: var(--annual-accent-ink);
}

.mobile-tabbar .mobile-tab.is-active .mobile-tab-ic {
  background: rgb(var(--annual-primary-rgb) / 0.1);
}

/* Task 837: Moonlight Prism commercial refinement. */
.annual-heading {
  align-items: center;
  padding-block: 18px 16px;
}

.annual-heading h1 span {
  white-space: nowrap;
}

.annual-heading h1 span + span::before {
  content: " ";
}

.annual-back-link {
  position: relative;
  flex: 0 0 auto;
  min-width: 112px;
  padding-inline: 38px 15px;
  border-color: var(--annual-border-strong);
  background: var(--annual-surface);
  font-weight: 680;
  white-space: nowrap;
}

.annual-back-link::before {
  content: "";
  position: absolute;
  left: 14px;
  top: 50%;
  width: 14px;
  height: 14px;
  background: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M9.8 3.1 4.9 8l4.9 4.9M5.2 8h7' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M9.8 3.1 4.9 8l4.9 4.9M5.2 8h7' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat;
  transform: translateY(-50%);
}

.annual-intro {
  min-height: 472px;
  grid-template-columns: minmax(0, 0.94fr) minmax(370px, 0.78fr);
  gap: clamp(28px, 4vw, 52px);
  padding-block: clamp(30px, 4vw, 48px);
}

.annual-intro-copy {
  position: relative;
  z-index: 2;
  max-width: 680px;
}

.annual-intro-copy h2 {
  max-width: 12ch;
  font-size: clamp(3rem, 4.8vw, 4.45rem);
  line-height: 1.01;
}

.annual-intro-lead {
  max-width: 42ch;
  margin-top: 18px;
}

.annual-scope-strip {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  width: min(100%, 620px);
  margin-top: 22px;
  border-block: 1px solid var(--annual-border);
}

.annual-scope-strip > div {
  min-width: 0;
  padding: 13px 14px 13px 0;
}

.annual-scope-strip > div + div {
  padding-left: 14px;
  border-left: 1px solid var(--annual-border);
}

.annual-scope-strip strong,
.annual-scope-strip span {
  display: block;
  font-family: var(--annual-font-ui);
  line-height: 1.25;
}

.annual-scope-strip strong {
  color: var(--annual-text);
  font-size: 1.08rem;
  font-variant-numeric: tabular-nums;
  font-weight: 760;
  letter-spacing: -0.025em;
}

.annual-scope-strip span {
  margin-top: 4px;
  color: var(--annual-muted);
  font-size: 0.76rem;
}

.annual-intro-price {
  display: inline-flex;
  align-items: center;
  min-height: 42px;
  margin-top: 18px;
  padding: 8px 14px;
  border: 1px solid var(--annual-border-strong);
  border-left: 3px solid var(--annual-accent);
  border-radius: 10px;
  background: rgb(var(--annual-surface-rgb) / 0.78);
  font-variant-numeric: tabular-nums;
  letter-spacing: 0.01em;
}

.annual-intro-state {
  min-height: 1.4em;
  margin-top: 10px;
  font-size: 0.88rem;
}

.annual-intro-actions {
  margin-top: 17px;
}

.annual-intro-actions .annual-primary {
  position: relative;
  min-width: min(100%, 350px);
  padding-inline: 20px 48px;
  overflow: hidden;
  text-align: left;
}

.annual-intro-actions .annual-primary::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(112deg, transparent 0 43%, rgb(255 255 255 / 0.13) 50%, transparent 57% 100%);
  transform: translateX(-118%);
  transition: transform 520ms ease;
}

.annual-intro-actions .annual-primary::after {
  content: "";
  position: absolute;
  right: 18px;
  top: 50%;
  width: 17px;
  height: 17px;
  background: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 18'%3E%3Cpath d='M4 9h9.5M10 5.5 13.5 9 10 12.5' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 18'%3E%3Cpath d='M4 9h9.5M10 5.5 13.5 9 10 12.5' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat;
  transform: translateY(-50%);
  transition: transform 180ms ease;
}

.annual-intro-actions .annual-primary:hover::before {
  transform: translateX(118%);
}

.annual-intro-actions .annual-primary:hover::after {
  transform: translate(3px, -50%);
}

.annual-intro-deck {
  z-index: 1;
  min-height: 390px;
}

.annual-intro-deck::before {
  width: 388px;
}

.annual-intro-deck::after {
  display: none;
}

.annual-intro-deck .annual-intro-card {
  width: 188px;
  border-color: rgb(210 226 239 / 0.66);
  box-shadow: 0 38px 68px -30px rgb(23 22 37 / 0.78), 0 0 0 1px rgb(var(--annual-secondary-rgb) / 0.18);
}

.annual-intro-deck .annual-intro-card-left,
.annual-intro-deck .annual-intro-card-right {
  width: 174px;
  opacity: 0.1;
}

.annual-profile,
.annual-legacy-profile,
.annual-workspace,
.annual-generation,
.annual-ready,
.annual-draw-stage,
.annual-report-snapshot,
.annual-followup-form,
.annual-pdf-tools {
  border-radius: 14px;
  box-shadow: 0 20px 48px -40px var(--annual-shadow);
}

.annual-profile-track,
.annual-progress-track,
.annual-generation-progress {
  height: 5px;
  border-radius: 3px;
}

.annual-workspace-tools {
  align-items: center;
  padding-block: 8px 16px;
}

.annual-workspace-nav button,
.annual-workspace-utilities button,
.annual-wheel-controls button {
  min-height: 44px;
  border-color: var(--annual-border-strong);
  background: var(--annual-surface);
}

.annual-stage-summary {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  border-block: 1px solid var(--annual-border);
  background: transparent;
}

.annual-stage-summary > span,
.annual-report-nav > a {
  min-width: 0;
  min-height: 46px;
  padding: 12px 14px;
  color: var(--annual-muted);
  font-family: var(--annual-font-ui);
  font-size: 0.8rem;
  font-weight: 680;
  line-height: 1.35;
  text-align: center;
}

.annual-stage-summary > span + span,
.annual-report-nav > a + a {
  border-left: 1px solid var(--annual-border);
}

.annual-stage-summary > span[aria-current="step"],
.annual-stage-summary > span.is-active,
.annual-report-nav > a:hover,
.annual-report-nav > a:focus-visible {
  color: var(--annual-accent-ink);
  background: rgb(var(--annual-primary-rgb) / 0.06);
}

.annual-report-nav {
  display: flex;
  counter-reset: annual-report-nav;
  overflow-x: auto;
  margin: 20px 0 28px;
  border-block: 1px solid var(--annual-border);
  scrollbar-width: none;
}

.annual-report-nav > a {
  counter-increment: annual-report-nav;
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  min-height: 48px;
  padding: 11px 20px 11px 0;
  color: var(--annual-muted);
  font-size: 0.8rem;
  font-weight: 680;
  text-decoration: none;
}

.annual-report-nav > a::before {
  content: "0" counter(annual-report-nav);
  margin-right: 8px;
  color: var(--annual-accent-ink);
  font-size: 0.67rem;
  font-variant-numeric: tabular-nums;
  letter-spacing: 0.04em;
}

.annual-report-nav > a + a {
  border-left: 0;
}

.annual-report-nav > a:hover,
.annual-report-nav > a:focus-visible {
  color: var(--annual-text);
  background: transparent;
}

.annual-report-nav::-webkit-scrollbar {
  display: none;
}

#annual-report-overview,
#annual-report-months,
#annual-report-domains,
#annual-report-pdf {
  scroll-margin-top: 24px;
}

.annual-generation-overview,
.annual-pdf-tools {
  border-color: var(--annual-border);
}

.annual-primary:focus-visible,
.annual-secondary:focus-visible,
.annual-quiet:focus-visible,
.annual-back-link:focus-visible,
.annual-report-nav a:focus-visible {
  outline: 3px solid rgb(var(--annual-primary-rgb) / 0.28);
  outline-offset: 3px;
}

@keyframes annual-prism-enter {
  from { opacity: 0; transform: translate(-50%, -47%) scale(0.94); }
  to { opacity: 1; transform: translate(-50%, -50%) scale(1); }
}

@media (max-width: 680px) {
  .annual-auth-state,
  .annual-shell {
    width: min(100% - 28px, 1180px);
  }

  .annual-shell {
    padding-top: 2px;
  }

  .annual-heading {
    padding: 18px 0 16px;
  }

  .annual-heading h1 {
    max-width: none;
    font-size: 1.6rem;
    line-height: 1.04;
  }

  .annual-heading h1 span {
    display: block;
  }

  .annual-heading h1 span + span {
    margin-top: 2px;
  }

  .annual-heading h1 span + span::before {
    content: none;
  }

  html[lang="en"] .annual-heading {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 12px;
  }

  html[lang="en"] .annual-heading .annual-back-link {
    justify-self: end;
    width: max-content;
    min-width: 142px;
  }

  .annual-intro {
    min-height: 0;
    grid-template-columns: 1fr;
    gap: 8px;
    padding: 24px 0 30px;
  }

  .annual-intro-copy h2,
  html[lang="en"] .annual-intro-copy h2 {
    max-width: 14ch;
    font-size: clamp(2.2rem, 10.4vw, 2.8rem);
    line-height: 1.03;
  }

  .annual-intro-lead {
    max-width: 35ch;
    margin-top: 16px;
    font-size: 0.98rem;
    line-height: 1.68;
  }

  .annual-scope-strip {
    margin-top: 16px;
  }

  .annual-scope-strip > div {
    padding: 11px 8px 11px 0;
  }

  .annual-scope-strip > div + div {
    padding-left: 8px;
  }

  .annual-scope-strip strong {
    font-size: 0.94rem;
  }

  .annual-scope-strip span {
    font-size: 0.66rem;
  }

  html[lang="en"] .annual-scope-strip span {
    font-size: 0.63rem;
  }

  .annual-intro-price {
    width: 100%;
    margin-top: 14px;
  }

  .annual-intro-actions .annual-primary,
  .annual-intro-actions .annual-secondary {
    width: 100%;
  }

  .annual-intro-deck {
    min-height: 232px;
    margin-top: -34px;
  }

  .annual-intro-deck::before {
    width: 268px;
  }

  .annual-intro-deck::after {
    width: 216px;
  }

  .annual-intro-deck .annual-intro-card {
    width: 106px;
  }

  .annual-intro-deck .annual-intro-card-left,
  .annual-intro-deck .annual-intro-card-right {
    width: 98px;
  }

  .annual-profile,
  .annual-legacy-profile,
  .annual-workspace,
  .annual-generation,
  .annual-ready {
    padding: 20px 16px;
    border-radius: 14px;
  }

  .annual-profile-head {
    display: grid;
  }

  .annual-stage-entry {
    min-height: 330px;
    padding-inline: 0;
  }

  .annual-draw-stage {
    border-radius: 14px;
  }

  .annual-workspace-tools {
    padding-top: 0;
  }

  .annual-generation-overview {
    padding: 18px 0;
  }

  .annual-stage-summary {
    overflow-x: auto;
    grid-template-columns: repeat(3, minmax(108px, 1fr));
    scrollbar-width: none;
  }

  .annual-report-nav {
    margin-block: 14px 22px;
  }

  .annual-stage-summary::-webkit-scrollbar,
  .annual-report-nav::-webkit-scrollbar {
    display: none;
  }

  .annual-report-cover {
    min-height: 0;
    padding: 28px 22px;
    border-radius: 14px;
    background-image: linear-gradient(160deg, transparent 0 73%, rgb(var(--annual-secondary-rgb) / 0.13) 73% 100%);
  }

  .annual-report-cover-copy h2,
  html[lang="en"] .annual-report-cover-copy h2 {
    max-width: 9ch;
    font-size: clamp(2.5rem, 13vw, 3.45rem);
  }

  .annual-report-snapshot {
    width: 100%;
    border-radius: 14px;
  }

  .annual-month-item {
    grid-template-columns: 64px minmax(0, 1fr);
  }
}

@media (prefers-reduced-motion: reduce) {
  .annual-intro-deck::before {
    animation: none;
  }

  .annual-primary,
  .annual-secondary,
  .annual-quiet,
  .annual-card-pick,
  .annual-progress-track span,
  .annual-profile-track span {
    transition: none;
  }

  .annual-intro-actions .annual-primary::before {
    display: none;
  }

  .annual-intro-actions .annual-primary::after {
    transition: none;
  }
}

@media print {
  .annual-intro-deck::before,
  .annual-intro-deck::after,
  .annual-report-cover::before {
    display: none;
  }
}
