:root{--accent:#6c5ce7;--accent-hover:#5c4cd6;--accent-soft:#f1eefe;--surface:#fff;--bg:#f6f6fb;--border:#e6e3f0;--text:#1f2333;--text-muted:#71758c;--danger:#e0335f;--danger-soft:#fdedf1;--danger-border:#f5c6d3;--radius-sm:8px;--radius-md:12px;--radius-lg:20px;--shadow-sm:0 1px 3px #1f23330f;--shadow-md:0 8px 24px #1f233314;--shadow-lg:0 20px 56px #4c3c8c29}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Noto Sans KR,sans-serif}h1,h2,h3{letter-spacing:-.01em;margin:0}button{cursor:pointer;font-family:inherit;transition:transform .12s,box-shadow .15s,opacity .15s,background .15s,border-color .15s}button:not(:disabled):hover{transform:translateY(-1px)}button:not(:disabled):active{transform:translateY(0)scale(.97)}button:disabled{cursor:not-allowed}input,textarea{color:var(--text);font-family:inherit;transition:border-color .15s,box-shadow .15s}input:focus,textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);outline:none}input::placeholder,textarea::placeholder{color:var(--text-muted)}.route-enter-active,.route-leave-active{transition:opacity .18s,transform .18s}.route-enter-from{opacity:0;transform:translateY(8px)}.route-leave-to{opacity:0;transform:translateY(-8px)}@keyframes fade-up{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.onboarding,.auth-view,.records-view,.history-view,.help-view{width:100%;max-width:480px;margin:0 auto}@media (width<=639px){.onboarding,.auth-view,.records-view,.history-view,.help-view{min-height:100dvh}}@media (width>=640px){body:has(.chat-view){display:block}.onboarding,.auth-view,.records-view,.history-view,.help-view{background:var(--surface);border-radius:var(--radius-lg);max-width:560px;box-shadow:var(--shadow-lg);margin:0 auto;overflow:hidden}body:not(:has(.chat-view)){flex-direction:column;justify-content:center;min-height:100dvh;padding:32px 16px;display:flex}}.btn-primary{border-radius:var(--radius-md);background:var(--accent);color:#fff;border:none;padding:13px 18px;font-size:15px;font-weight:600;box-shadow:0 8px 20px #6c5ce747}.btn-primary:not(:disabled):hover{background:var(--accent-hover)}.btn-primary:disabled{opacity:.5;box-shadow:none}.btn-outline{border-radius:var(--radius-md);border:1px solid var(--border);background:var(--surface);color:var(--text);padding:11px 16px;font-size:14px;font-weight:500}.btn-outline:not(:disabled):hover{border-color:var(--accent);color:var(--accent)}.btn-outline.active{background:var(--accent);color:#fff;border-color:var(--accent)}.btn-outline.active:hover{color:#fff}.btn-outline:disabled{opacity:.55}.btn-text{color:var(--accent);background:0 0;border:none;padding:4px 6px;font-size:13px;font-weight:500}.btn-text:not(:disabled):hover{color:var(--accent-hover)}.btn-back{border:1.5px solid var(--accent);background:var(--surface);color:var(--accent);border-radius:999px;align-items:center;gap:5px;padding:7px 14px 7px 10px;font-size:13px;font-weight:600;display:inline-flex}.btn-back:not(:disabled):hover{background:var(--accent-soft)}.btn-back .arrow{transition:transform .15s;display:inline-block}.btn-back:not(:disabled):hover .arrow{transform:translate(-3px)}.btn-danger{border-radius:var(--radius-sm);border:1px solid var(--danger-border);background:var(--danger-soft);color:var(--danger);padding:11px 16px;font-size:13px;font-weight:500}.btn-danger:not(:disabled):hover{background:var(--danger);color:#fff;border-color:var(--danger)}.chat-view,.auth-view,.records-view,.history-view,.help-view{animation:.35s fade-up}
