/* Year Reset — /review/ angle only (engine: assets/review.js). Shares tokens and components with yr.css. */
.rv-field { margin: 14px 0 6px; }
.rv-input { width: 100%; font: inherit; font-size: 1.05rem; padding: 14px 16px; border-radius: 14px; border: 1.5px solid var(--line, #d9dde6); background: var(--card, #fff); color: inherit; outline: none; transition: border-color .15s, box-shadow .15s; }
.rv-input:focus { border-color: var(--accent, #2f6df6); box-shadow: 0 0 0 4px color-mix(in srgb, var(--accent, #2f6df6) 18%, transparent); }
.rv-goals { list-style: none; margin: 0; padding: 0; display: grid; gap: 12px; text-align: left; }
.rv-goal { display: grid; grid-template-columns: 34px 1fr; gap: 12px; align-items: start; padding: 14px 16px; border-radius: 16px; background: var(--card, #fff); border: 1px solid var(--line, #e3e6ee); }
.rv-goal b { display: block; font-size: 1.02rem; margin-bottom: 3px; }
.rv-goal p { margin: 0; color: var(--muted, #5b6472); font-size: .95rem; line-height: 1.45; }
.rv-ico { display: inline-grid; place-items: center; width: 34px; height: 34px; border-radius: 10px; background: color-mix(in srgb, var(--accent, #2f6df6) 12%, transparent); color: var(--accent, #2f6df6); font-weight: 700; }
.rv-in { opacity: 0; transform: translateY(10px); animation: rvIn .5s cubic-bezier(.2,.7,.2,1) forwards; }
@keyframes rvIn { to { opacity: 1; transform: none; } }
.rv-theme, .rv-behind { margin: 14px 0 0; display: flex; flex-wrap: wrap; gap: 6px 12px; align-items: baseline; }
.rv-theme span, .rv-behind span { font-size: .78rem; letter-spacing: .06em; text-transform: uppercase; color: var(--muted, #5b6472); }
.rv-theme b { font-size: 1.6rem; letter-spacing: -.01em; }
.rv-guide { margin: 16px 0 0; color: var(--muted, #5b6472); font-size: .95rem; line-height: 1.5; }
.rv-card { margin-top: 18px; padding: 16px 18px; border-radius: 18px; border: 1px dashed var(--line, #d9dde6); text-align: left; }
/* the result card (.result.moment) centres its text; the goal cards and the theme card read as a list and stay left-aligned on every width */
.result.moment .rv-goals, .result.moment .rv-goal, .result.moment .rv-card { text-align: left; }
.rv-goal > div { min-width: 0; overflow-wrap: anywhere; }
/* hero example card (sits in the navy .hero-panel used by the wheel landing) */
.rv-hero-panel { display: block; padding: 22px 22px 18px; min-width: 0; }
.rv-hero-card { color: #eef2f7; font-size: .92rem; line-height: 1.35; text-align: left; width: 100%; max-width: 400px; min-width: 0; margin: 0 auto; overflow-wrap: anywhere; }
.rv-hero-head { display: flex; align-items: baseline; gap: 10px; margin: 0 0 12px; font-weight: 700; font-size: 1.15rem; letter-spacing: .02em; }
.rv-hero-head i { font-style: normal; color: #f59e0b; }
.rv-hero-head span:last-child { color: #f59e0b; }
.rv-hero-lines { list-style: none; margin: 0; padding: 0; display: grid; gap: 7px; }
.rv-hero-lines li { display: grid; grid-template-columns: 132px 1fr; gap: 8px; align-items: baseline; }
.rv-hero-lines span { font-size: .7rem; letter-spacing: .07em; text-transform: uppercase; color: #aeb8c8; }
.rv-hero-lines b { color: #34d399; font-size: 1.05rem; }
.rv-hero-drafts { list-style: none; margin: 14px 0 0; padding: 12px 0 0; border-top: 1px solid rgba(255,255,255,.14); display: grid; gap: 7px; }
.rv-hero-drafts li { display: grid; grid-template-columns: 22px 1fr; gap: 8px; align-items: baseline; }
.rv-hero-drafts em { font-style: normal; color: #f59e0b; font-weight: 700; }
@media (max-width: 420px) { .rv-hero-panel { padding: 18px 14px 14px; } .rv-hero-lines li { grid-template-columns: 92px minmax(0, 1fr); } .rv-hero-drafts li { grid-template-columns: 22px minmax(0, 1fr); } .rv-hero-card { font-size: .86rem; } }
@media (prefers-reduced-motion: reduce) { .rv-in { animation: none; opacity: 1; transform: none; } }
