:root{--color-bg:#fff;--color-surface:#f2f2f7;--color-fill:#7878801f;--color-separator:#3c3c432e;--color-text:#1c1c1e;--color-text-muted:#3c3c4399;--color-blue:#0072ef;--color-accent:#fadc00;--color-accent-tint:#fadc0017;--color-accent-tint-border:#fadc0059;--color-accent-border-on-light:#9c8a00;--color-overlay-label:#141414eb;--color-scrim:#00000059;--color-error:#ff3b30;--color-success:#248a3d;--text-xs:.78rem;--text-sm:.89rem;--text-base:1rem;--text-lg:1.22rem;--text-title:1.56rem;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--tap-target:44px;--radius-sm:10px;--radius-md:14px;--radius-lg:20px;--radius-pill:9999px;--focus-ring:0 0 0 3px #007aff4d}:root{letter-spacing:.1px;color:var(--color-text);background:var(--color-bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,SF Pro Display,system-ui,sans-serif;font-size:18px;line-height:1.45}@media (width<=1024px){:root{font-size:16px}}body{background:var(--color-surface);margin:0}#root{box-sizing:border-box;background:var(--color-bg);flex-direction:column;width:100%;max-width:680px;min-height:100svh;margin:0 auto;display:flex}h1,h2{color:var(--color-text);letter-spacing:-.5px;margin:0;font-weight:600}h1{font-size:var(--text-title)}h2{font-size:var(--text-lg);letter-spacing:-.3px}p{margin:0}button{font-family:inherit;font-size:var(--text-base);cursor:pointer;-webkit-tap-highlight-color:transparent}input,textarea{font-family:inherit;font-size:var(--text-base);background:var(--color-fill);border-radius:var(--radius-md);box-sizing:border-box;width:100%;color:var(--color-text);border:none;outline:none;padding:14px 16px}input:focus,textarea:focus{box-shadow:var(--focus-ring)}input::placeholder,textarea::placeholder{color:var(--color-text-muted)}@keyframes pulseRing{0%{opacity:1;transform:scale(1)}50%{opacity:.55;transform:scale(1.07)}to{opacity:1;transform:scale(1)}}@keyframes successPop{0%{opacity:0;transform:scale(.8)}60%{opacity:1;transform:scale(1.05)}to{opacity:1;transform:scale(1)}}@media (prefers-reduced-motion:reduce){@keyframes pulseRing{0%,50%,to{opacity:1;transform:scale(1)}}@keyframes successPop{0%,to{opacity:1;transform:scale(1)}}}
