@import url("https://fonts.googleapis.com/css2?family=DM+Serif+Display&family=Noto+Sans+JP:wght@300;400;500;600;700&display=swap");:root{--fd:"DM Serif Display",serif;--fg:#2a2420;--bg:#f5f0ea;--accent:#c8956c;--muted:#a09080;--card:#fff}*{box-sizing:border-box;margin:0;padding:0}body{font-family:Noto Sans JP,sans-serif;background:var(--bg);color:var(--fg);-webkit-font-smoothing:antialiased;overscroll-behavior-y:contain}::-webkit-scrollbar{width:0;height:0}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes spin{to{transform:rotate(1turn)}}@keyframes toastIn{0%{opacity:0;transform:translate(-50%,20px)}to{opacity:1;transform:translate(-50%)}}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@keyframes slideInRight{0%{opacity:0;transform:translateX(20px)}to{opacity:1;transform:translateX(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}@keyframes bounceIn{0%{opacity:0;transform:scale(.3)}50%{transform:scale(1.05)}70%{transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes cardIn{0%{opacity:0;transform:translateY(12px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}button:active{transform:scale(.97)}.card-enter{animation:cardIn .3s ease-out both}