:root{--primary: #8B3A52;--primary-light: #fde8ee;--primary-dark: #6d2d40;--bg: #F5F0EC;--surface: #ffffff;--text: #2d2d2d;--text-muted: #888;--border: #e8e0da;--nav-height: 64px;--ease: cubic-bezier(.4, 0, .2, 1)}*{box-sizing:border-box;margin:0;padding:0}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:var(--bg);color:var(--text);min-height:100vh;max-width:480px;margin:0 auto;-webkit-tap-highlight-color:transparent}button{cursor:pointer;border:none;font-family:inherit;transition:transform .1s var(--ease),opacity .15s var(--ease),background .2s var(--ease)}button:active:not(:disabled){transform:scale(.97)}a{text-decoration:none;color:inherit}input{font-family:inherit;outline:none;transition:border-color .2s var(--ease),box-shadow .2s var(--ease)}input:focus{border-color:var(--primary)!important;box-shadow:0 0 0 3px #8b3a521f}@keyframes fadeUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.page-enter{animation:fadeUp .32s var(--ease) both}.card-list>*{animation:fadeUp .3s var(--ease) both}.card-list>*:nth-child(1){animation-delay:.04s}.card-list>*:nth-child(2){animation-delay:.08s}.card-list>*:nth-child(3){animation-delay:.12s}.card-list>*:nth-child(4){animation-delay:.16s}.card-list>*:nth-child(5){animation-delay:.2s}.card-list>*:nth-child(6){animation-delay:.24s}@keyframes shimmer{0%{background-position:-400px 0}to{background-position:400px 0}}.skeleton{border-radius:12px;background:linear-gradient(90deg,#ede8e3 25%,#f5f0eb,#ede8e3 75%);background-size:800px 100%;animation:shimmer 1.4s infinite linear}
