:root{--fg:15 15 18;--muted:100 100 110;--bg:250 250 252;--surface:255 255 255;--border:220 220 228;--input-bg:255 255 255;--accent:99 102 241;--on-accent:255 255 255;--chip-bg:238 238 246;--chip-fg:70 70 85;--ok:22 163 74;--err:220 38 38;font-family:SF Pro Text,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;line-height:1.45;color:rgb(var(--fg));background:rgb(var(--bg));font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}@media (prefers-color-scheme:dark){:root{--fg:245 245 248;--muted:160 160 175;--bg:18 18 22;--surface:28 28 34;--border:55 55 65;--input-bg:22 22 28;--chip-bg:45 45 55;--chip-fg:200 200 210}}body,html{min-height:100dvh}body{margin:0}*{box-sizing:border-box}.app{max-width:42rem;margin:0 auto;padding:1.25rem 1rem 2.5rem;text-align:left}.hero{margin-bottom:2rem}.eyebrow{font-size:.75rem;text-transform:uppercase;letter-spacing:.12em;color:rgb(var(--muted)/.95);margin:0 0 .5rem}.hero h1{font-size:1.75rem;line-height:1.15;letter-spacing:-.02em;margin:0 0 .75rem;color:rgb(var(--fg))}.lede{margin:0;color:rgb(var(--muted));line-height:1.5;font-size:.95rem}.section h2{font-size:1.1rem;margin:0 0 1rem;color:rgb(var(--fg))}.grid{list-style:none;margin:0;padding:0;display:grid;grid-gap:.75rem;gap:.75rem}@media (min-width:520px){.grid{grid-template-columns:1fr 1fr}}.card{width:100%;text-align:left;border:1px solid rgb(var(--border));border-radius:12px;padding:1rem 1rem .9rem;background:rgb(var(--surface));color:inherit;font:inherit;cursor:pointer;transition:border-color .15s ease,box-shadow .15s ease}.card:hover{border-color:rgb(var(--accent)/.45)}.card--active{border-color:rgb(var(--accent));box-shadow:0 0 0 1px rgb(var(--accent)/.35)}.card__price{font-size:.8rem;color:rgb(var(--accent))}.card__price,.card__title{display:block;font-weight:600;margin-bottom:.35rem}.card__title{font-size:1rem;color:rgb(var(--fg))}.card__blurb{display:block;font-size:.85rem;color:rgb(var(--muted));line-height:1.45;margin-bottom:.65rem}.card__tags{display:flex;flex-wrap:wrap;gap:.35rem}.tag{font-size:.7rem;padding:.2rem .45rem;border-radius:6px;background:rgb(var(--chip-bg));color:rgb(var(--chip-fg))}.section--form{margin-top:2.25rem;padding-top:1.5rem;border-top:1px solid rgb(var(--border))}.selected-line{margin:0 0 1rem;font-size:.9rem;color:rgb(var(--muted))}.selected-line strong{color:rgb(var(--fg))}.hint{margin:0 0 1rem;color:rgb(var(--muted));font-size:.9rem}.form{gap:1rem}.field,.form{display:flex;flex-direction:column}.field{gap:.35rem;font-size:.85rem}.field span{color:rgb(var(--muted))}.field input,.field select,.field textarea{font:inherit;font-size:1rem;padding:.6rem .65rem;border-radius:10px;border:1px solid rgb(var(--border));background:rgb(var(--input-bg));color:rgb(var(--fg))}.field textarea{resize:vertical;min-height:5rem}.file-hint{margin:0;font-size:.8rem;color:rgb(var(--muted));line-height:1.45}.submit{font:inherit;font-size:1rem;font-weight:600;padding:.85rem 1rem;border:none;border-radius:12px;background:rgb(var(--accent));color:rgb(var(--on-accent));cursor:pointer;margin-top:.25rem}.submit:disabled{opacity:.45;cursor:not-allowed}.feedback{margin:0;font-size:.9rem;line-height:1.45}.feedback--ok{color:rgb(var(--ok))}.feedback--err{color:rgb(var(--err))}.foot{margin-top:2.5rem;padding-top:1.25rem;border-top:1px solid rgb(var(--border))}.foot p{margin:0;font-size:.75rem;color:rgb(var(--muted));line-height:1.5}