:root{--cream:#f4efe4;--card:#ffffff;--leaf:#5c8a57;--leaf-d:#436b41;--forest:#2c4433;--ink:#33372e;--muted:#8c907f;--clay:#cb5a3c;--amber:#dba13a;--sage:#e7edde;--sage-line:#d6e0c8;--peach:#ebc9a2;--font-display:"Bricolage Grotesque",system-ui,sans-serif;--font-body:"Hanken Grotesque",system-ui,sans-serif}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}body,html{margin:0;padding:0}body{background:var(--cream);font-family:var(--font-body);color:var(--ink)}.tumtum-scroll::-webkit-scrollbar{width:0;height:0}.tumtum-scroll{scrollbar-width:none}@keyframes breathe{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}@keyframes floaty{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}@keyframes popIn{0%{transform:scale(.6);opacity:0}60%{transform:scale(1.08)}to{transform:scale(1);opacity:1}}@keyframes screenIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes cardIn{0%{transform:translateY(14px)}to{transform:translateY(0)}}@keyframes wiggle{0%,to{transform:rotate(0)}25%{transform:rotate(-7deg)}75%{transform:rotate(7deg)}}@keyframes drawCheck{to{stroke-dashoffset:0}}@keyframes ring{0%{transform:scale(.5);opacity:.6}to{transform:scale(2.2);opacity:0}}@keyframes spin{to{transform:rotate(1turn)}}@keyframes twinkle{0%,to{transform:scale(1) rotate(0);opacity:1}50%{transform:scale(1.25) rotate(20deg);opacity:.7}}@keyframes sheen{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes drift{0%,to{transform:translate(0) rotate(0)}50%{transform:translate(4px,-8px) rotate(8deg)}}@keyframes barGrow{0%{width:0}}@keyframes focusFlash{0%{box-shadow:0 0 0 0 rgba(92,138,87,0)}15%{box-shadow:0 0 0 4px rgba(92,138,87,.55)}to{box-shadow:0 0 0 0 rgba(92,138,87,0)}}.tumtum-app{min-height:100vh;min-height:100dvh;background:var(--cream);padding-top:max(env(safe-area-inset-top),8px)}.tumtum-press{transition:transform .18s}.tumtum-press:active{transform:scale(.97)}.tumtum-focus-flash{border-radius:20px;animation:focusFlash 1.8s ease-out both}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}}