:root{color:#25182d;font-synthesis:none;text-rendering:optimizelegibility;background:#f3f4f6;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body,#app{min-height:100%;margin:0}body{min-height:100vh;overflow-x:hidden}button,input,textarea{font:inherit}a{color:#3b82f6}.app-shell{background:#fff;flex-direction:column;width:100%;max-width:480px;min-height:100vh;margin:0 auto;display:flex;overflow-x:hidden;box-shadow:0 0 20px #0000000d}.app-header{color:#fff;background:#6e418a;flex:0 0 56px;justify-content:center;align-items:center;height:56px;padding:0 16px;display:flex}.brand{letter-spacing:.025em;align-items:center;gap:8px;font-size:18px;font-weight:650;display:flex}.brand img{object-fit:contain;width:28px;height:28px}.wallet-mark{width:24px;height:24px;display:block}.page-content{flex-direction:column;flex:1;align-items:center;padding:28px 20px;display:flex}.page-content.custom-content{align-items:stretch;width:100%;min-height:0;padding:0}.page-title{color:#1f2937;text-align:center;margin:4px 0 24px;font-size:22px;font-weight:750;line-height:1.25}.page-title.account-title{margin-bottom:8px}.page-subtitle{color:#6b7280;text-align:center;margin:0 0 28px;font-size:14px}.account-form{width:100%}.field{width:100%;margin-bottom:18px}.field label{color:#374151;margin-bottom:8px;font-size:15px;font-weight:650;display:block}.input{color:#374151;background:#fff;border:1px solid #d1d5db;border-radius:9px;width:100%;min-height:48px;padding:11px 15px;font-size:16px;transition:border-color .2s,box-shadow .2s}textarea.input{resize:none;height:160px}.input:focus{border-color:#6e418a;outline:0;box-shadow:0 0 0 3px #6e418a1a}.password-field{position:relative}.password-field .input{padding-right:52px}.icon-button{color:#9ca3af;cursor:pointer;background:0 0;border:0;width:50px;position:absolute;inset:0 0 0 auto}.icon-button svg{width:20px;height:20px}.button{color:#fff;cursor:pointer;background:#6e418a;border:0;border-radius:9px;justify-content:center;align-items:center;width:100%;min-height:50px;font-size:15px;font-weight:700;transition:opacity .2s,transform .15s;display:flex}.button:active{transform:translateY(1px)}.button:disabled{opacity:.58;cursor:not-allowed}.button.secondary{color:#9ca3af;background:#fff;border:1px solid #d1d5db}.page-content>.button.secondary{margin-top:14px}.spinner{border:2px solid #ffffff59;border-top-color:#fff;border-radius:50%;width:20px;height:20px;margin-right:10px;animation:.7s linear infinite spin}.message{text-align:center;border-radius:8px;width:100%;margin:14px 0;padding:12px;font-size:14px;font-weight:700}.message.success{color:#15803d;background:#dcfce7}.message.error,.boot-error{color:#dc2626;background:#fee2e2}.boot-error{text-align:center;border-radius:8px;max-width:480px;margin:40px auto;padding:16px}.error-text{color:#dc2626;margin:-7px 0 14px;font-size:14px;font-weight:650}.notice-card{color:#4b5563;text-align:center;background:#fafafa;border:1px solid #e5e7eb;border-radius:12px;width:100%;margin-top:24px;padding:16px;line-height:1.65}.info-copy{color:#374151;width:100%;margin-top:26px;font-size:15px;line-height:1.65}.info-copy p{margin:0 0 18px}.warning{color:#92400e;background:#fffbeb;border:1px solid #fcd34d;border-radius:9px;padding:12px 14px;font-weight:650}.modal-backdrop{z-index:50;background:#0f172a8c;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.modal{background:#fff;border-radius:12px;width:100%;max-width:440px;padding:20px;box-shadow:0 22px 60px #0003}.modal h2{margin:0 0 8px;font-size:18px}.modal>p{color:#4b5563;margin:0 0 16px;font-size:14px}.modal .error-text{margin:10px 0 0}.modal-actions{gap:12px;margin-top:16px;display:flex}.route-enter-active,.route-leave-active{transition:opacity .16s,transform .16s}.route-enter-from{opacity:0;transform:translate(5px)}.route-leave-to{opacity:0;transform:translate(-5px)}.message-enter-active,.message-leave-active{transition:opacity .2s}.message-enter-from,.message-leave-to{opacity:0}@keyframes spin{to{transform:rotate(360deg)}}
