:root{--ground:#F5F2ED;--surface:#FFFFFF;--surface-2:#FAF8F5;--ink:#1E1C1A;--muted:#5E5A55;--line:#E4DED5;--line-2:#DDD6CC;--accent:#2F5D50;--accent-ink:#234840;--accent-soft:#E3ECE8;--placeholder:#F0ECE6;--serif:"Fraunces",Georgia,serif;--sans:"Inter",system-ui,-apple-system,sans-serif}*{box-sizing:border-box}body,html{margin:0;padding:0;background:var(--ground);color:var(--ink);font-family:var(--sans)}a{color:var(--accent)}button{font-family:var(--sans);cursor:pointer}img{display:block;max-width:100%}.app{max-width:480px;margin:0 auto;min-height:100dvh;display:flex;flex-direction:column}.screen{flex:1 1;display:flex;flex-direction:column;gap:14px;padding:16px 20px 24px}.grow{flex:1 1}.topbar{justify-content:space-between}.iconbtn,.topbar{display:flex;align-items:center}.iconbtn{width:44px;height:44px;justify-content:center;border:0;background:transparent;color:var(--ink);text-decoration:none}.step{font-size:13px;color:var(--muted)}.progress{background:var(--line)}.progress,.progress>div{height:4px;border-radius:4px}.progress>div{background:var(--accent)}h1{margin:0;font-family:var(--serif);font-weight:400;font-size:27px;line-height:1.15}.lead{margin:0;line-height:1.5;color:var(--muted)}.label,.lead{font-size:14px}.label{font-weight:600}.small{font-size:12px}.eyebrow,.small{color:var(--muted)}.eyebrow{font-size:11px;letter-spacing:.06em;text-transform:uppercase}.btn,.eyebrow{font-weight:600}.btn{height:52px;border-radius:16px;border:1px solid var(--line-2);background:var(--surface);color:var(--ink);font-size:15px;display:flex;align-items:center;justify-content:center;gap:8px;text-decoration:none;padding:0 18px}.btn.primary{background:var(--accent);border-color:var(--accent);color:#FFFFFF}.btn:disabled{opacity:.5;cursor:default}.row{display:flex;gap:10px}.row>*{flex:1 1}.card{background:var(--surface);border:1px solid var(--line);border-radius:14px}.pad{padding:14px}.chip{height:36px;padding:0 14px;flex-shrink:0;border-radius:999px;border:1px solid var(--line-2);background:var(--surface);color:var(--ink);font-size:13px;font-weight:500}.chip.on{background:var(--ink);border-color:var(--ink);color:#FFFFFF;font-weight:600}.scroller{display:flex;gap:8px;overflow-x:auto;margin-right:-20px;padding-right:20px;scrollbar-width:none}.field{display:flex;flex-direction:column;gap:4px}.field label{font-size:12px;color:var(--muted)}.field input{height:44px;width:100%;padding:0 10px;border-radius:10px;border:1px solid var(--line-2);font:500 16px var(--sans);color:var(--ink);background:var(--surface-2)}.grid3{grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:8px}.grid2,.grid3{display:grid;gap:8px}.grid2{grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:8px}.switch{position:relative;width:48px;height:28px;border-radius:999px;border:0;padding:0;flex-shrink:0;background:#CFC8BE}.switch span{position:absolute;top:3px;left:3px;width:22px;height:22px;border-radius:50%;background:#FFFFFF;box-shadow:0 1px 2px #00000033;transition:left .15s}.switch[aria-checked=true]{background:var(--accent)}.switch[aria-checked=true] span{left:23px}.thumb{width:60px;height:60px;border-radius:10px;object-fit:cover;background:var(--placeholder);flex-shrink:0}.thumb.empty{justify-content:center;font-size:10px;color:#6E665D;text-align:center}.bottombar,.thumb.empty{display:flex;align-items:center}.bottombar{position:-webkit-sticky;position:sticky;bottom:0;gap:12px;padding:14px 20px 24px;background:var(--surface);border-top:1px solid var(--line)}.media{position:relative;border-radius:18px;overflow:hidden;background:#E9E4DC}.media img{width:100%;height:100%;object-fit:cover}.badge{position:absolute;left:10px;bottom:10px;padding:4px 8px;border-radius:6px;background:#1E1C1ACC;color:#FFFFFF;font-size:11px}.seg{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:4px;gap:4px;padding:4px;border-radius:12px;background:#E9E4DC}.seg button{height:40px;border-radius:9px;border:0;background:transparent;font-size:14px;font-weight:500;color:var(--muted)}.seg button[aria-pressed=true]{background:#FFFFFF;color:var(--ink);font-weight:600;box-shadow:0 1px 2px #0000001A}.spinner{width:36px;height:36px;border-radius:50%;border:3px solid var(--line);border-top-color:var(--accent);animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}.error{padding:12px 14px;border-radius:12px;background:#FBEAE5;color:#8A2E1C;font-size:13px;line-height:1.45}