:root{--bg: #f4f1ea;--card: #ffffff;--ink: #1c261e;--muted: #6e7468;--grass: #2f7d3f;--grass-deep: #235c2f;--terracotta: #e8772e;--terracotta-deep: #c95f1d;--sky: #7fb6d9;--sand: #e9e2d0;--danger: #c2402f;--font-body: "Barlow", -apple-system, system-ui, sans-serif;--font-display: "Barlow Condensed", "Barlow", -apple-system, sans-serif;--radius-sm: 12px;--radius-md: 18px;--radius-lg: 26px;--shadow-card: 0 2px 4px rgba(28, 38, 30, .05), 0 10px 24px rgba(28, 38, 30, .08);--shadow-float: 0 4px 10px rgba(28, 38, 30, .12), 0 18px 40px rgba(28, 38, 30, .16);--touch: 48px;--tabbar-height: 62px;--spring: cubic-bezier(.34, 1.56, .64, 1)}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--bg);color:var(--ink);font-family:var(--font-body);font-size:16px;line-height:1.5;-webkit-tap-highlight-color:transparent;-webkit-font-smoothing:antialiased;overscroll-behavior-y:none}h1,h2,h3{font-family:var(--font-display);font-weight:700;line-height:1.05;margin:0;letter-spacing:.01em}h1{font-size:2.4rem}h2{font-size:1.6rem}h3{font-size:1.2rem}p{margin:0}button{font-family:inherit;cursor:pointer}input{font-family:inherit}.card{background:var(--card);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);padding:20px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:var(--touch);padding:12px 28px;border:none;border-radius:999px;font-family:var(--font-display);font-size:1.25rem;font-weight:600;letter-spacing:.03em;color:#fff;background:var(--grass);box-shadow:0 4px 0 var(--grass-deep),0 10px 20px #2f7d3f4d;transition:transform .15s var(--spring),box-shadow .15s ease-out}.btn:active{transform:translateY(3px) scale(.98);box-shadow:0 1px 0 var(--grass-deep),0 4px 10px #2f7d3f40}.btn.cta{background:var(--terracotta);box-shadow:0 4px 0 var(--terracotta-deep),0 10px 20px #e8772e4d}.btn.cta:active{box-shadow:0 1px 0 var(--terracotta-deep),0 4px 10px #e8772e40}.btn.quiet{background:var(--sand);color:var(--ink);box-shadow:none;font-size:1.05rem}.btn.quiet:active{transform:scale(.97)}.btn:disabled{opacity:.45;cursor:not-allowed}.pressable{transition:transform .16s var(--spring)}.pressable:active{transform:scale(.96)}.muted{color:var(--muted)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
