/* Couple year in review: steps bar, one question card at a time, goal picker, one-page summary. */
.tool .yr-wrap { display: flex; flex-direction: column; gap: 16px; max-width: 640px; margin: 0 auto; width: 100%; }
.tool .yr-steps { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 6px; }
.tool .yr-steps[hidden] { display: none; }
.tool .yr-steps button { width: 100%; display: flex; flex-direction: column; align-items: center; gap: 4px; padding: 6px 2px; min-height: 52px; border: 0; background: none; font: inherit; font-size: 12px; line-height: 16px; font-weight: 800; color: rgb(var(--ink) / .5); cursor: pointer; border-radius: 14px; }
.tool .yr-steps button:disabled { cursor: default; }
.tool .yr-dot { display: grid; place-items: center; width: 26px; height: 26px; border-radius: 50%; background: rgb(var(--ink) / .08); font-size: 13px; font-weight: 900; }
.tool .yr-dot .tool-icon { width: 14px; height: 14px; }
.tool .yr-steps .is-on button { color: rgb(var(--ink)); }
.tool .yr-steps .is-on .yr-dot { background: rgb(var(--accent)); color: #fff; }
.tool .yr-steps .is-done .yr-dot { background: rgb(var(--accent) / .18); color: var(--link); }
.tool .yr-hero { align-items: flex-start; text-align: left; padding: 24px 20px; }
.tool .yr-hero-big { font-size: clamp(26px, 7.4vw, 34px); line-height: 1.12; font-weight: 950; letter-spacing: -.02em; text-wrap: balance; margin: 4px 0 6px; }
.tool .yr-card { align-items: flex-start; text-align: left; padding: 20px 20px 22px; min-height: 230px; justify-content: flex-start; }
.tool .yr-card-top { display: flex; width: 100%; justify-content: space-between; align-items: center; }
.tool .yr-cat { font-size: 13px; line-height: 18px; font-weight: 900; text-transform: uppercase; letter-spacing: .08em; opacity: .85; }
.tool .yr-count { font-size: 13px; line-height: 18px; font-weight: 800; opacity: .8; font-variant-numeric: tabular-nums; }
.tool .yr-q { font-size: clamp(24px, 6.6vw, 30px); line-height: 1.2; font-weight: 900; letter-spacing: -.015em; text-wrap: balance; margin: 18px 0 14px; outline: 0; }
.tool .yr-who { font-size: 15px; line-height: 21px; font-weight: 750; opacity: .9; margin-top: auto; }
.tool .yr-card[data-cat="hard"] { --c1: #9C8CFF; --c2: #5E3FD6; --c3: #2A1470; }
.tool .yr-card[data-cat="thanks"], .tool .yr-card[data-cat="fun"] { --c1: #FFB3C8; --c2: #E0569A; --c3: #7A1E5A; }
.tool .yr-card[data-cat="next"] { --c1: #FFD1A8; --c2: #FF8FA3; --c3: #B23A7A; }
.tool .yr-bar { display: block; height: 6px; border-radius: 3px; background: rgb(var(--ink) / .08); overflow: hidden; }
.tool .yr-bar > span { display: block; height: 100%; border-radius: 3px; background: rgb(var(--accent)); transition: width .4s var(--ease-out); }
.tool .yr-tools { flex-wrap: nowrap; }
.tool .yr-time { font-size: 14px; font-weight: 750; color: rgb(var(--ink) / .6); }
.tool .yr-icons { display: inline-flex; gap: 8px; }
.tool .yr-icons [aria-pressed="true"] { background: rgb(var(--accent) / .16); color: var(--link); }
.tool .yr-icons [aria-pressed="true"] .tool-icon path { fill: currentColor; }
.tool .yr-nav { display: grid; grid-template-columns: auto 1fr; gap: 8px; }
.tool .yr-nav .btn { width: 100%; }
.tool .yr-nav .btn-primary { display: inline-flex; align-items: center; justify-content: center; gap: 6px; }
.tool .yr-setup .tool-actions .btn { width: 100%; display: inline-flex; gap: 8px; align-items: center; justify-content: center; }
.tool .yr-setup .tool-actions .tool-icon, .tool .yr-nav .tool-icon { width: 18px; height: 18px; }
.tool .yr-notes textarea { min-height: 64px; }

/* Goals */
.tool .yr-ideas { list-style: none; margin: 0; padding: 0; display: grid; gap: 0; }
.tool .yr-ideas li { display: grid; grid-template-columns: 1fr 44px; gap: 12px; align-items: center; padding: 12px 0; border-top: 1px solid rgb(var(--ink) / .07); }
.tool .yr-ideas li:first-child { border-top: 0; }
.tool .yr-idea-text { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.tool .yr-idea-text b { font-size: 16px; line-height: 22px; font-weight: 900; color: rgb(var(--ink)); }
.tool .yr-idea-text span { font-size: 14px; line-height: 20px; font-weight: 600; color: rgb(var(--ink) / .72); }
.tool .yr-idea-text small { font-size: 13px; line-height: 18px; font-weight: 750; color: var(--link); }
.tool .yr-ideas .u03-icon-btn[aria-pressed="true"] { background: rgb(var(--accent) / .16); color: var(--link); }
.tool .yr-goal { display: flex; flex-direction: column; gap: 10px; padding: 16px; border-radius: 22px; background: var(--surface); box-shadow: 0 0 0 2px rgb(var(--accent) / .35); }
.tool .yr-goal > input { font-size: 18px; font-weight: 850; }
.tool .yr-goal-n { font-size: 13px; font-weight: 900; text-transform: uppercase; letter-spacing: .06em; color: var(--link); }
.tool .yr-goal .tool-row { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
.tool .yr-own { display: grid; grid-template-columns: 1fr auto; gap: 8px; }
.tool .yr-check { display: flex; flex-direction: column; gap: 6px; padding: 10px 0; border-top: 1px solid rgb(var(--ink) / .07); }
.tool .yr-check b { font-size: 16px; font-weight: 900; color: rgb(var(--ink)); }
.tool .yr-check small { font-size: 13px; font-weight: 700; color: rgb(var(--ink) / .6); }

/* Summary page on screen */
.tool .yr-page { padding: 22px 20px; border-radius: 24px; background: var(--surface); box-shadow: var(--shadow); display: flex; flex-direction: column; gap: 10px; }
.tool .yr-page-eyebrow { font-size: 13px; font-weight: 900; text-transform: uppercase; letter-spacing: .08em; color: var(--link); }
.tool .yr-page-word { font-size: clamp(32px, 9vw, 44px); line-height: 1.05; font-weight: 950; letter-spacing: -.03em; color: rgb(var(--ink)); text-wrap: balance; overflow-wrap: anywhere; }
.tool .yr-page h3 { font-size: 17px; line-height: 22px; font-weight: 900; margin-top: 8px; color: rgb(var(--ink)); }
.tool .yr-facts { display: grid; gap: 6px; margin: 0; }
.tool .yr-facts div { display: grid; grid-template-columns: 9em 1fr; gap: 10px; }
.tool .yr-facts dt { font-size: 14px; font-weight: 800; color: rgb(var(--ink) / .6); }
.tool .yr-facts dd { margin: 0; font-size: 15px; font-weight: 700; color: rgb(var(--ink)); overflow-wrap: anywhere; }
.tool .yr-goal-list { margin: 0; padding-left: 20px; display: grid; gap: 8px; }
.tool .yr-goal-list li, .tool .yr-notes-list li { display: flex; flex-direction: column; gap: 2px; font-size: 15px; line-height: 21px; font-weight: 650; color: rgb(var(--ink) / .85); }
.tool .yr-goal-list b, .tool .yr-notes-list b { font-weight: 900; color: rgb(var(--ink)); }
.tool .yr-goal-list small { font-size: 13px; color: rgb(var(--ink) / .6); font-weight: 700; }
.tool .yr-notes-list { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.tool .yr-done .u03-share .btn { width: 100%; }
@media (max-width: 599px) { .tool .yr-done .u03-share { grid-template-columns: 1fr; } }

/* All questions */
.tool .yr-all { margin-top: 16px; max-width: 640px; margin-left: auto; margin-right: auto; }
.tool .yr-browse { margin: 0; padding-left: 22px; display: grid; gap: 8px; }
.tool .yr-browse li { font-size: 15px; line-height: 21px; font-weight: 650; color: rgb(var(--ink) / .88); }
.tool .yr-browse small { display: block; font-size: 12px; font-weight: 800; color: rgb(var(--ink) / .45); }
.tool .yr-browse .yr-empty { list-style: none; margin-left: -22px; color: rgb(var(--ink) / .6); }
@media (prefers-reduced-motion: reduce) { .tool .yr-bar > span { transition: none; } }

/* Print: one page summary */
@media print {
  html.yr-printing body > *:not(.yr-doc) { display: none !important; }
  html.yr-printing .yr-doc.u03-print-target { display: block; position: static !important; font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; color: #000; padding: 0; }
  @page { margin: 14mm; }
  .yr-doc .yr-page-eyebrow { font-size: 10pt; text-transform: uppercase; letter-spacing: .08em; color: #6a3a99; margin: 0; }
  .yr-doc .yr-page-word { font-family: Georgia, 'Times New Roman', serif; font-size: 30pt; margin: 2pt 0 8pt; }
  .yr-doc h3 { font-size: 12pt; margin: 12pt 0 4pt; border-bottom: 1px solid #ccc; padding-bottom: 2pt; }
  .yr-doc dl { margin: 0; } .yr-doc dl div { display: flex; gap: 8pt; font-size: 10.5pt; margin: 2pt 0; } .yr-doc dt { font-weight: 700; min-width: 34mm; } .yr-doc dd { margin: 0; }
  .yr-doc ol, .yr-doc ul { margin: 0; padding-left: 16pt; font-size: 10.5pt; }
  .yr-doc li { margin: 3pt 0; break-inside: avoid; } .yr-doc li > * { display: block; }
  .yr-doc .yr-notes-list { list-style: none; padding: 0; }
  .yr-doc .yr-qs { font-size: 9pt; color: #333; columns: 2; column-gap: 10mm; }
  .yr-doc .yr-page-foot { margin-top: 12pt; font-size: 8.5pt; color: #555; }
  .yr-doc small { font-size: 9pt; color: #444; }
}
.tool .yr-goal textarea { min-height: 64px; }
@media (max-width: 420px) { .tool .yr-goal .tool-row { grid-template-columns: minmax(0, 1fr); } }
.tool .yr-goal-list { list-style: decimal; }
.tool .yr-goal-list li { display: list-item; }
.tool .yr-goal-list li > * { display: block; }
.tool .yr-nav .btn { min-width: 0; white-space: normal; padding-left: 14px; padding-right: 14px; }
.tool .yr-card.is-small { min-height: 0; padding: 16px 18px; }
.tool .yr-card.is-small .yr-q { font-size: clamp(19px, 5.2vw, 24px); margin: 8px 0 6px; }
.tool .yr-card.is-small .yr-who { font-size: 14px; line-height: 20px; }
.tool .yr-count { font-size: 15px; font-weight: 900; padding: 2px 10px; border-radius: 10px; background: rgb(255 255 255 / .2); }
.tool .yr-goal-all h4 { font-size: 15px; font-weight: 900; margin: 10px 0 4px; color: rgb(var(--ink)); }
.tool .yr-goal-all .yr-browse b { font-weight: 850; }
.tool .yr-check .u03-link { min-height: 36px; padding: 0; }
@media print {
  .yr-doc .yr-qs-blank { padding-left: 16pt; font-size: 10.5pt; }
  .yr-doc .yr-qs-blank li { margin: 0 0 8pt; break-inside: avoid; }
  .yr-doc .yr-line { display: block; height: 18pt; border-bottom: 1px solid #bbb; }
  .yr-doc .yr-line.is-inline { display: inline-block; width: 50mm; height: 12pt; vertical-align: bottom; }
  .yr-doc .yr-goalbox { border: 1px solid #999; border-radius: 4pt; padding: 6pt 8pt; margin: 0 0 8pt; display: grid; gap: 10pt; font-size: 10pt; break-inside: avoid; }
  .yr-doc .yr-goalbox span { border-bottom: 1px solid #ccc; padding-bottom: 8pt; }
}
.tool .yr-wrap [hidden] { display: none !important; }
.tool .yr-hero-link { margin-top: 12px; display: inline-flex; gap: 6px; align-items: center; min-height: 40px; padding: 0 14px; border: 0; border-radius: 20px; background: rgb(255 255 255 / .2); color: #fff; font: inherit; font-size: 14px; font-weight: 850; cursor: pointer; }
.tool .yr-hero-link .tool-icon { width: 16px; height: 16px; }
.tool .yr-textbtn { display: inline-flex; gap: 6px; align-items: center; min-height: 44px; padding: 0 14px; border: 0; border-radius: 14px; background: rgb(var(--ink) / .06); color: rgb(var(--ink) / .8); font: inherit; font-size: 14px; font-weight: 850; cursor: pointer; transition: transform .15s var(--ease-out); }
.tool .yr-textbtn:active { transform: scale(.96); }
.tool .yr-textbtn .tool-icon { width: 18px; height: 18px; }
.tool .yr-textbtn[aria-pressed="true"] { background: rgb(var(--accent) / .16); color: var(--link); }
.tool .yr-textbtn[aria-pressed="true"] .tool-icon path { fill: currentColor; }
.tool .yr-pause { align-self: center; color: rgb(var(--ink) / .6); }
.tool .yr-idea-area { font-size: 12px !important; font-weight: 850 !important; text-transform: uppercase; letter-spacing: .06em; color: var(--link) !important; }
.tool .yr-card .yr-count { font-size: 16px; }
.tool .yr-goal-n, .tool .yr-idea-text b { overflow-wrap: normal; word-break: keep-all; }
@media print {
  .yr-doc .yr-page-word { font-family: 'Google Sans Flex Rounded', 'Helvetica Neue', Arial, sans-serif; font-weight: 800; letter-spacing: -.02em; }
  .yr-doc .yr-line.is-inline.is-wide { width: 110mm; }
}
@media (max-width: 599px) { .tool .yr-card.is-small .yr-who { display: none; } .tool .yr-card.is-small .yr-q { font-size: 19px; line-height: 25px; } }
.tool .yr-steps .is-skip .yr-dot { background: rgb(var(--ink) / .05); color: rgb(var(--ink) / .4); }
.tool .yr-back { min-height: 48px; padding: 0 8px; color: rgb(var(--ink) / .65); }
.tool .yr-nav { align-items: center; }
.tool .yr-card .yr-count { background: rgb(255 255 255 / .28); color: #fff; opacity: 1; }
.tool .yr-areas.u03-scroll { -webkit-mask-image: linear-gradient(90deg, #000 85%, transparent); mask-image: linear-gradient(90deg, #000 85%, transparent); }
@media (min-width: 600px) { .tool .yr-areas.u03-scroll { -webkit-mask-image: none; mask-image: none; } }
.tool .yr-banner-btn { display: flex; width: 100%; margin-top: 10px; justify-content: center; }
.tool .yr-check input { margin-top: 4px; }
@media (max-width: 599px) { .tool .yr-hero .u03-sub { display: none; } .tool .yr-hero { padding: 18px 18px 16px; } .tool .yr-hero-big { font-size: 24px; } .tool .yr-setup .tool-row { grid-template-columns: 1fr 1fr; } }
@media print { .yr-doc .yr-line.is-named { height: 16pt; font-size: 8.5pt; color: #666; padding-top: 4pt; } }
.tool .yr-all[hidden] { display: none; }
