.fade-enter-active[data-v-fb882b3c],.fade-leave-active[data-v-fb882b3c]{transition:opacity .2s ease}.fade-enter-from[data-v-fb882b3c],.fade-leave-to[data-v-fb882b3c]{opacity:0}:root{--bg: #0f172a;--card: #1e293b;--accent: #38bdf8;--accent-hover: #7dd3fc;--text: #f1f5f9;--muted: #94a3b8;--success: #4ade80;--warning: #fbbf24;--radius: 1rem}*{box-sizing:border-box}body{margin:0;min-height:100vh;font-family:Segoe UI,Microsoft JhengHei,sans-serif;background:var(--bg);color:var(--text);-webkit-tap-highlight-color:transparent}#app{min-height:100vh;padding:1rem;max-width:420px;margin:0 auto}.page{animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.card-panel{background:var(--card);border-radius:var(--radius);padding:1.5rem;box-shadow:0 4px 20px #0000004d}.btn{display:inline-flex;align-items:center;justify-content:center;padding:.75rem 1.5rem;border:none;border-radius:.75rem;font-size:1rem;font-weight:600;cursor:pointer;transition:transform .15s,background .2s}.btn:active{transform:scale(.98)}.btn-primary{background:var(--accent);color:var(--bg)}.btn-primary:hover{background:var(--accent-hover)}.btn-success{background:var(--success);color:var(--bg)}.btn-warning{background:var(--warning);color:var(--bg)}.input-pin{font-size:1.5rem;letter-spacing:.5rem;text-align:center;padding:1rem;border:2px solid var(--accent);border-radius:var(--radius);background:var(--bg);color:var(--text);width:100%;max-width:200px;margin:0 auto}.input-pin:focus{outline:none;box-shadow:0 0 0 3px #38bdf84d}.label{display:block;font-size:.9rem;color:var(--muted);margin-bottom:.5rem}.muted{color:var(--muted);font-size:.9rem}
