@import "https://fonts.googleapis.com/css2?family=Newsreader:ital,wght@0,400;0,500;0,600;1,500&family=Karla:wght@400;500;600;700&display=swap";:root{--bg:oklch(97% .015 85);--surface:oklch(99% .008 85);--ink:oklch(27% .02 90);--muted:oklch(53% .02 90);--sage:oklch(52% .07 155);--sage-light:oklch(91% .035 150);--terracotta:oklch(60% .13 45);--terracotta-light:oklch(93% .035 50);--line:oklch(89% .012 85);--white:oklch(99% 0 0)}*{box-sizing:border-box}html,body{background:var(--bg);margin:0}body{color:var(--ink);font-family:Karla,sans-serif}h1,h2,h3{margin:0;font-family:Newsreader,serif}a{color:var(--sage);text-decoration:none}@media (hover:hover){a:hover{color:var(--terracotta)}}button{cursor:pointer;background:0 0;border:none;font-family:Karla,sans-serif}button,.tap{-webkit-tap-highlight-color:transparent;touch-action:manipulation;transition:transform .1s ease-out}button:not(:disabled):active,.tap:active{transform:scale(.97)}.tap-wide:not(:disabled):active{transform:scale(.985)}input{font-family:Karla,sans-serif}.scrollarea{scrollbar-width:none;-ms-overflow-style:none}.scrollarea::-webkit-scrollbar{width:0;height:0}#root{justify-content:center;min-height:100dvh;display:flex}.app-shell{background:var(--bg);width:100%;max-width:480px;height:100dvh;color:var(--ink);flex-direction:column;display:flex;position:relative;overflow:hidden}@media (width>=481px){.app-shell{box-shadow:0 0 40px #0000000f}}.bottom-bar{background:var(--surface);position:relative}.bottom-bar:before{content:"";background:linear-gradient(to bottom, transparent, var(--surface));pointer-events:none;height:20px;position:absolute;bottom:100%;left:0;right:0}@keyframes menu-in{0%{opacity:0;transform:scale(.94)}}.menu-pop{transform-origin:100% 0;animation:.16s cubic-bezier(.2,.9,.3,1) menu-in}.hit-expand{position:relative}.hit-expand:after{content:"";position:absolute;inset:-9px -6px}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:1ms!important;animation-duration:1ms!important}button:active,.tap:active,.tap-wide:active{transform:none!important}}@media (prefers-contrast:more){:root{--muted:oklch(40% .02 90);--line:oklch(65% .015 85)}}
