.toast-wrap[data-v-a3f758dc]{position:fixed;left:50%;bottom:24px;transform:translate(-50%);max-width:90%;padding:12px 20px;border-radius:var(--radius-sm);box-shadow:var(--shadow-hover);z-index:9999;font-family:var(--font-body);font-size:.95rem}.toast-wrap.info[data-v-a3f758dc]{background:var(--lavender);color:var(--text);border:1px solid var(--border)}.toast-wrap.success[data-v-a3f758dc]{background:var(--mint);color:var(--text);border:1px solid rgba(123,201,165,.5)}.toast-wrap.error[data-v-a3f758dc]{background:#fce8e8;color:#a06060;border:1px solid rgba(232,160,160,.5)}.toast-msg[data-v-a3f758dc]{margin:0}.toast-enter-active[data-v-a3f758dc],.toast-leave-active[data-v-a3f758dc]{transition:opacity .25s ease,transform .25s ease}.toast-enter-from[data-v-a3f758dc],.toast-leave-to[data-v-a3f758dc]{opacity:0;transform:translate(-50%) translateY(10px)}.agreement-overlay[data-v-186e29e9]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10000;background:#3d385299;display:flex;align-items:center;justify-content:center;padding:1rem}.agreement-modal[data-v-186e29e9]{background:var(--bg-card);border-radius:var(--radius);box-shadow:var(--shadow-hover);max-width:520px;width:100%;max-height:85vh;display:flex;flex-direction:column;overflow:hidden}.agreement-header[data-v-186e29e9]{padding:1.25rem 1.5rem 0;flex-shrink:0}.agreement-title[data-v-186e29e9]{font-family:var(--font-title);font-size:1.35rem;font-weight:400;margin:0;color:var(--text)}.agreement-body[data-v-186e29e9]{padding:1rem 1.5rem;overflow-y:auto;flex:1;min-height:0}.agreement-loading[data-v-186e29e9]{font-family:var(--font-body);color:var(--muted);font-size:.95rem}.agreement-content[data-v-186e29e9]{font-family:var(--font-body);line-height:1.8;color:var(--text-soft);font-size:.95rem;white-space:pre-line}.agreement-footer[data-v-186e29e9]{padding:1rem 1.5rem 1.25rem;display:flex;justify-content:flex-end;gap:.75rem;flex-shrink:0;border-top:1px solid var(--border)}.btn[data-v-186e29e9]{padding:.5rem 1.2rem;font-size:.95rem}.agreement-enter-active[data-v-186e29e9],.agreement-leave-active[data-v-186e29e9]{transition:opacity .2s ease}.agreement-enter-from[data-v-186e29e9],.agreement-leave-to[data-v-186e29e9]{opacity:0}:root{--font-title: "Noto Sans SC", -apple-system, BlinkMacSystemFont, sans-serif;--font-body: "Noto Sans SC", -apple-system, BlinkMacSystemFont, sans-serif;--font-small: "Noto Sans SC", -apple-system, BlinkMacSystemFont, sans-serif}:root{--bg: #f8f6fc;--bg-card: #fff;--surface: rgba(255, 255, 255, .92);--border: rgba(200, 190, 220, .4);--text: #2d2a3a;--text-soft: #5a5568;--muted: #8a8599;--accent: #b8a9e8;--accent-deep: #8b7cc4;--gradient-cta: linear-gradient(135deg, #c4b5f0 0%, #b8a9e8 100%);--gradient-cta-hover: linear-gradient(135deg, #b0a0e8 0%, #9b8bd4 100%);--pink: #f5e6ef;--mint: #e5f5ef;--lavender: #ede8f5;--cream: #fffaf5;--success: #6bc49e;--warning: #e8c87a;--error: #e8a0a0;--radius: 16px;--radius-sm: 12px;--radius-lg: 20px;--shadow: 0 2px 16px rgba(140, 120, 180, .08);--shadow-hover: 0 6px 24px rgba(140, 120, 180, .14)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:var(--font-body);font-weight:400;font-size:16px;background:var(--bg);color:var(--text);min-height:100vh;line-height:1.6;-webkit-font-smoothing:antialiased}#app{min-height:100vh}a{color:var(--accent-deep);text-decoration:none;transition:color .2s ease}a:hover{color:var(--accent)}button{font-family:var(--font-body);font-weight:500;cursor:pointer;border:none;border-radius:var(--radius-sm);transition:transform .2s ease,box-shadow .2s ease,opacity .2s ease}button:hover:not(:disabled){transform:scale(1.02)}button:active:not(:disabled){transform:scale(.98)}input,textarea{font-family:var(--font-body)}.btn-primary{background:var(--gradient-cta);color:#fff;font-weight:600;box-shadow:0 2px 12px #9b8bd459}.btn-primary:hover:not(:disabled){background:var(--gradient-cta-hover);box-shadow:0 4px 16px #9b8bd466}.page-enter-active,.page-leave-active{transition:opacity .25s ease,transform .25s ease}.page-enter-from{opacity:0;transform:translateY(8px)}.page-leave-to{opacity:0;transform:translateY(-8px)}
