@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInBottom{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.fade-in{animation:fadeIn .3s ease-out}.slide-up{animation:slideUp .4s ease-out}.slide-in-bottom{animation:slideInBottom .3s ease-out}.pulse{animation:pulse 1.5s infinite}.card-hover{transition:transform .15s ease,box-shadow .15s ease}.card-hover:active{transform:scale(.98)}.btn-press{transition:transform .1s ease}.btn-press:active{transform:scale(.96)}*{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent}html{font-size:16px;-webkit-text-size-adjust:100%}body{font-family:Georgia,serif;background:#f5f3ee;color:#1a1a1a;-webkit-font-smoothing:antialiased;overflow-x:hidden}input,textarea,button,select{font-family:inherit}input,textarea,select{font-size:16px!important}button{cursor:pointer;-webkit-user-select:none;user-select:none}audio{border-radius:8px;width:100%}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#ccc;border-radius:3px}.grid-2{display:grid;grid-template-columns:1fr;gap:10px}.mode-grid{display:grid;grid-template-columns:1fr;gap:8px}@media (min-width: 480px){.grid-2{grid-template-columns:1fr 1fr}.mode-grid{grid-template-columns:1fr 1fr 1fr}}@supports (padding-top: env(safe-area-inset-top)){.app-header{padding-top:calc(20px + env(safe-area-inset-top))!important}.app-main{padding-bottom:calc(120px + env(safe-area-inset-bottom))!important}}
