:root{--bg-primary: linear-gradient(135deg, #fff9f5 0%, #fff0f0 30%, #f5f0ff 60%, #f0f8ff 100%);--bg-card: rgba(255, 255, 255, .88);--bg-card-solid: #fff;--bg-input: rgba(255, 255, 255, .9);--bg-nav: rgba(255, 255, 255, .72);--text-primary: #444;--text-secondary: #777;--text-muted: #aaa;--text-placeholder: #ccc;--border-light: #f0e6e6;--border-card: rgba(255, 255, 255, .6);--shadow-card: 0 4px 24px rgba(0, 0, 0, .04);--shadow-nav: 0 1px 12px rgba(0, 0, 0, .04);--accent: #ff7b7b;--accent-light: #ff9a9e;--accent-bg: #fff5f5;--blob-opacity: .3}.dark-mode{--bg-primary: linear-gradient(135deg, #1a1a2e 0%, #16213e 30%, #1a1a2e 60%, #0f3460 100%);--bg-card: rgba(30, 30, 50, .9);--bg-card-solid: #1e1e32;--bg-input: rgba(40, 40, 60, .9);--bg-nav: rgba(20, 20, 40, .85);--text-primary: #e0e0e0;--text-secondary: #b0b0b0;--text-muted: #808080;--text-placeholder: #606060;--border-light: #2a2a40;--border-card: rgba(60, 60, 80, .5);--shadow-card: 0 4px 24px rgba(0, 0, 0, .2);--shadow-nav: 0 1px 12px rgba(0, 0, 0, .2);--accent: #ff8a8a;--accent-light: #ff6b6b;--accent-bg: #2a1a1a;--blob-opacity: .15}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,PingFang SC,Microsoft YaHei,sans-serif;background:var(--bg-primary);min-height:100vh;color:var(--text-primary);-webkit-font-smoothing:antialiased;overflow-x:hidden;transition:background .4s ease,color .3s ease}#app{min-height:100vh;position:relative}.app-wrapper{position:relative;min-height:100vh}.bg-blobs{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:0;overflow:hidden}.blob{position:absolute;border-radius:50%;filter:blur(80px);opacity:var(--blob-opacity);animation:blobFloat 20s ease-in-out infinite;transition:opacity .4s ease}.blob-1{width:400px;height:400px;background:linear-gradient(135deg,#ffc5c5,#fecfef);top:-100px;right:-100px;animation-delay:0s}.blob-2{width:350px;height:350px;background:linear-gradient(135deg,#a8edea,#c5f0fc);bottom:-80px;left:-80px;animation-delay:-7s}.blob-3{width:300px;height:300px;background:linear-gradient(135deg,#e0b0ff,#f0e0ff);top:40%;left:50%;animation-delay:-14s}@keyframes blobFloat{0%,to{transform:translate(0) scale(1)}25%{transform:translate(30px,-40px) scale(1.05)}50%{transform:translate(-20px,20px) scale(.95)}75%{transform:translate(40px,30px) scale(1.02)}}.page-enter-active{transition:all .35s cubic-bezier(.4,0,.2,1)}.page-leave-active{transition:all .2s cubic-bezier(.4,0,.2,1)}.page-enter-from{opacity:0;transform:translateY(16px)}.page-leave-to{opacity:0;transform:translateY(-8px)}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:linear-gradient(180deg,#ffc5c5,#fecfef);border-radius:10px}::-webkit-scrollbar-thumb:hover{background:linear-gradient(180deg,#ff9a9e,#f8b4d4)}.toast-enter-active,.toast-leave-active{transition:all .4s cubic-bezier(.4,0,.2,1)}.toast-enter-from{opacity:0;transform:translate(-50%,-20px) scale(.9)}.toast-leave-to{opacity:0;transform:translate(-50%,-10px) scale(.95)}.btn-primary{background:linear-gradient(135deg,#ff9a9e,#ffb6c1,#fecfef);border:none;color:#fff;padding:12px 28px;border-radius:50px;font-size:15px;font-weight:600;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 4px 16px #ff9a9e4d;position:relative;overflow:hidden;font-family:inherit}.btn-primary:after{content:"";position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:#ffffff4d;transform:translate(-50%,-50%);transition:width .5s,height .5s}.btn-primary:active:after{width:300px;height:300px}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 8px 24px #ff9a9e66}.btn-primary:active{transform:translateY(0)}.btn-primary:disabled{opacity:.5;cursor:not-allowed;transform:none;box-shadow:none}.btn-primary:disabled:after{display:none}.btn-secondary{background:var(--bg-card);border:2px solid var(--accent-light);color:var(--accent);padding:10px 24px;border-radius:50px;font-size:15px;font-weight:600;cursor:pointer;transition:all .3s ease;font-family:inherit}.btn-secondary:hover{background:var(--accent-bg);border-color:var(--accent);transform:translateY(-1px)}.card{background:var(--bg-card);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-radius:20px;padding:24px;box-shadow:var(--shadow-card);border:1px solid var(--border-card);transition:background .3s ease,box-shadow .3s ease,border-color .3s ease}.input{width:100%;padding:14px 20px;border:2px solid var(--border-light);border-radius:14px;font-size:15px;outline:none;transition:all .3s ease;background:var(--bg-input);color:var(--text-primary);font-family:inherit}.input:focus{border-color:#ffb6c1;box-shadow:0 0 0 4px #ffb6c126}.input::placeholder{color:var(--text-placeholder)}@media (max-width: 768px){.btn-primary,.btn-secondary{padding:10px 20px;font-size:14px}.blob-1{width:250px;height:250px}.blob-2{width:200px;height:200px}.blob-3{width:180px;height:180px}}
