:root{--safe-top: 0px;--safe-right: 0px;--safe-bottom: 0px;--safe-left: 0px;--viewport-height: 100dvh}*{box-sizing:border-box}body{margin:0;background:var(--c-bg);color:var(--c-ink);font-family:var(--font-body)}button,input{font:inherit}button{min-height:44px;cursor:pointer;color:var(--c-ink);background:var(--c-surface);border:1px solid var(--c-line);border-radius:var(--r-pill);padding:12px 20px}button:focus-visible,input:focus-visible{outline:2px solid var(--c-accent);outline-offset:3px}button:disabled{opacity:.5;cursor:default}h1,h2{font-family:var(--font-display);font-weight:400;font-size:clamp(1.4rem,5vw,1.65rem)}p{color:var(--c-ink-2);line-height:1.6}.screen{min-height:var(--viewport-height);max-width:640px;margin:auto;padding:calc(28px + var(--safe-top)) calc(24px + var(--safe-right)) calc(110px + max(var(--safe-bottom),env(safe-area-inset-bottom))) calc(24px + var(--safe-left))}.screen>*+*{margin-top:24px}.progress{display:flex;gap:6px}.progress span{flex:1;height:3px;background:var(--c-line)}.progress span[data-done=true]{background:var(--c-ink)}.chip{border-color:var(--c-chip-line)}.chip[aria-pressed=true]{background:var(--c-ink);color:var(--c-on-dark);border-color:var(--c-ink)}.option{width:100%;text-align:left;border-radius:var(--r-tile);padding:20px}.option strong,.option span{display:block}.option span{margin-top:8px;color:var(--c-ink-2)}.option[aria-pressed=true]{border-color:var(--c-ink)}.price{font-variant-numeric:tabular-nums}.sticky-cta{position:fixed;z-index:5;bottom:0;left:0;right:0;background:var(--c-bg);padding:16px 24px calc(16px + max(var(--safe-bottom),env(safe-area-inset-bottom)))}.sticky-cta button{display:block;width:100%;max-width:592px;margin:auto;height:var(--cta-h);background:var(--c-ink);color:var(--c-on-dark);border:0}.sticky-cta button:hover,.sticky-cta button:active{background:var(--c-accent)}.toast{display:block;padding:16px;border-radius:var(--r-card);background:var(--c-dark);color:var(--c-on-dark)}.skeleton{display:block;height:60px;border-radius:var(--r-tile);background:var(--c-line);animation:pulse 1s ease-in-out infinite alternate}.error{background:var(--c-surface);border-radius:var(--r-card);padding:24px}.splash{position:fixed;z-index:10;inset:0;display:grid;place-items:center;background:var(--c-dark);color:var(--c-on-dark);font:1.6rem var(--font-display);letter-spacing:.1em;transition:opacity .3s var(--ease);transition-delay:.3s}.splash-neutral{position:absolute;inset:0;background:var(--c-dark);transition:opacity .3s var(--ease)}.splash[data-ready=true] .splash-neutral{opacity:0}.splash[data-ready=true]{opacity:0;pointer-events:none}.navigation{display:grid;position:relative;overflow-x:clip;min-height:var(--viewport-height)}.page{grid-area:1 / 1;width:100%;background:var(--c-bg)}.page[hidden]{display:none}.page-enter{animation:slide-in .3s var(--ease)}.page-leave{animation:slide-out .3s var(--ease) forwards;pointer-events:none}.gallery-row{display:flex;gap:12px;flex-wrap:wrap}input{min-height:44px;max-width:100%;padding:12px;background:var(--c-surface);color:var(--c-ink);border:1px solid var(--c-line);border-radius:var(--r-tile)}@keyframes slide-in{0%{transform:translate(100%)}to{transform:translate(0)}}@keyframes slide-out{to{transform:translate(100%)}}@keyframes pulse{to{opacity:.5}}@media(prefers-reduced-motion:reduce){.page-enter,.page-leave,.splash,.splash-neutral,.skeleton{animation:none;transition:none}}@media(prefers-reduced-motion:reduce){.page-leave{visibility:hidden}}
