/* Exact font files and type scale from Chóca app/src/lib/theme.ts and components/ui.tsx. */
@font-face{font-family:Rubik;src:url('assets/fonts/Rubik_600SemiBold.ttf') format('truetype');font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:Rubik;src:url('assets/fonts/Rubik_700Bold.ttf') format('truetype');font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:Manrope;src:url('assets/fonts/Manrope_500Medium.ttf') format('truetype');font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:Manrope;src:url('assets/fonts/Manrope_600SemiBold.ttf') format('truetype');font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:Manrope;src:url('assets/fonts/Manrope_700Bold.ttf') format('truetype');font-weight:700;font-style:normal;font-display:swap}
body{font-family:Manrope,system-ui,sans-serif;font-weight:500;font-size:15px;line-height:21px;-webkit-font-smoothing:antialiased}
h1,.hero h1,.page-intro h1{font-family:Rubik,system-ui,sans-serif;font-weight:700;font-size:28px;line-height:33px;letter-spacing:0}
h2,.route-heading h2{font-family:Rubik,system-ui,sans-serif;font-weight:600;font-size:19px;line-height:24px;letter-spacing:0}
h3,.document-card h3,.review-card h3,.review-tip h3{font-family:Rubik,system-ui,sans-serif;font-weight:600;font-size:19px;line-height:24px}
.brand{font-family:Rubik,system-ui,sans-serif;font-weight:700;font-size:37px;line-height:.94}
.brand-caption,.sidebar-bottom p,.breadcrumb,.source-note,footer,.saved-note{font-size:12px;line-height:18px;font-weight:500}
.nav-label,.mini-label,.eyebrow,.hero .eyebrow,.route-heading .eyebrow,.step-body h4,.sidebar-bottom>span{font-family:Manrope,system-ui,sans-serif;font-weight:600;font-size:12px;line-height:17px;letter-spacing:.6px}
.nav-item,.family-pill{font-size:15px;line-height:21px;font-weight:600;min-height:44px}.nav-item{gap:10px}.nav-item small{font-size:11.5px;line-height:17px}
.hero p,.hero-copy p,.page-intro p,.step-body p,.step-body li,.check,.outcome,.soft-card p,.review-tip p,.form-grid input,.form-grid select,.comment-box{font-family:Manrope,system-ui,sans-serif;font-weight:500;font-size:15px;line-height:21px}
.primary,.secondary,.complete{font-family:Manrope,system-ui,sans-serif;font-size:15px;line-height:21px;font-weight:700;min-height:50px;padding:14px 16px}
.step-head strong{font-family:Rubik,system-ui,sans-serif;font-weight:600;font-size:17px;line-height:22px}.step-head small{font-size:13px;line-height:18px;font-weight:500}.step-number{font-family:Manrope,system-ui,sans-serif;font-weight:700;font-size:13px}
.group-title{font-family:Rubik,system-ui,sans-serif;font-weight:600;font-size:17px;line-height:22px}.group-count{font-family:Manrope,system-ui,sans-serif;font-weight:500;font-size:12px;line-height:18px}
.stats strong{font-family:Manrope,system-ui,sans-serif;font-size:15px;line-height:21px;font-weight:700}.stats p{font-size:12px;line-height:18px}.stats>div{align-items:flex-start}
.filters button,.search input,.text-button,.route-heading .text-button{font-size:13px;line-height:18px;font-weight:600}.filters .selected{font-weight:700}.search{min-height:44px}.search input{font-weight:500;width:190px}
.tag,.tag.added{font-size:11.5px;line-height:17px;font-weight:600}.note,.step-body .note,.context-hints p,.muted,.dependencies,.soft-card small,.sources a,.soft-card a,.document-card .go-step,.review-card .go-step{font-size:13px;line-height:18px;font-weight:500}
.form-grid label{font-size:12px;line-height:17px;font-weight:600}.form-grid small{font-size:12px;line-height:18px}.date-row{font-size:15px;line-height:21px}.year-mark{font-family:Rubik,system-ui,sans-serif;font-weight:700;font-size:30px;line-height:36px;letter-spacing:0}.year-mark span{font-size:19px;line-height:24px}
#toast,#family-saved{font-size:14px;line-height:20px}.empty{font-size:15px;line-height:21px}.empty strong{font-family:Rubik,system-ui,sans-serif;font-size:19px;line-height:24px;font-weight:600}
@media(max-width:1100px){.stats>div{gap:8px}.stats strong{font-size:15px}.stats p{font-size:12px}.toolbar{align-items:stretch}.search{flex:1}.search input{width:100%}.sidebar{width:220px}.hero-copy{max-width:100%}.hero-art{width:160px}}
@media(max-width:850px){.sidebar{width:200px}.hero-art{opacity:.25}.family-pill{font-size:13px}.route-heading{flex-wrap:wrap}.hero{padding:24px}}
@media(max-width:640px){.sidebar{width:100%}.brand{font-size:23px}.nav-item{font-size:11.5px;line-height:15px;min-height:58px}.family-pill{font-size:12px;line-height:18px;min-height:36px}.breadcrumb{font-size:11px}.hero{padding:24px 20px}.hero p{font-size:15px;line-height:21px}.stats{grid-template-columns:1fr}.stats>div{align-items:center}.stats>div:last-child{display:flex}.stats strong{font-size:15px}.stats p{font-size:12px}.hero-art{opacity:.18}.filters{gap:4px;justify-content:flex-start}.filters button{font-size:12px;padding:7px 9px}.route-heading .text-button{max-width:none;font-size:13px}.step-head strong{font-size:17px;line-height:22px}.step-head small{font-size:13px;line-height:18px}.step-head{align-items:flex-start}.step-number{margin-top:2px}.step-actions{align-items:flex-start;flex-wrap:wrap}.form-card,.document-card,.review-card{padding:18px}.date-row{font-size:13px;line-height:18px}.year-mark{font-size:30px}.search input{font-size:13px}}

.brand-caption,.breadcrumb{font-size:15px;line-height:21px}.nav-label{font-size:14px;line-height:20px}@media(max-width:640px){.breadcrumb{font-size:14px;line-height:20px;flex-wrap:wrap}}
