*,*:before,*:after{box-sizing:border-box}html,body,#root{margin:0;padding:0;min-height:100%}body{font-family:DM Mono,ui-monospace,SFMono-Regular,Menlo,monospace;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;overscroll-behavior-y:none}button{font-family:inherit;cursor:pointer;border:none;background:none;color:inherit}input{font-family:inherit}h1,h2,h3,h4{font-family:Unbounded,sans-serif;margin:0;letter-spacing:.02em}.heading{font-family:Unbounded,sans-serif}@keyframes glow{0%,to{box-shadow:0 0 12px #dc262666}50%{box-shadow:0 0 22px #dc2626cc}}.pulse-today{animation:glow 2.4s ease-in-out infinite}@keyframes fadeUp{0%{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}.sheet-enter{animation:fadeUp .18s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.fade{animation:fadeIn .15s ease-out}@keyframes shake{0%,to{transform:translate(0)}20%,60%{transform:translate(-8px)}40%,80%{transform:translate(8px)}}.shake{animation:shake .36s cubic-bezier(.36,.07,.19,.97)}@keyframes pop{0%{transform:scale(1)}40%{transform:scale(1.18)}to{transform:scale(1)}}.pin-pop{animation:pop .16s ease-out}.no-select{user-select:none;-webkit-user-select:none}.tap-key:active{transform:scale(.92);transition:transform .05s}
