:root{--desk: #07070c;--app-bg: #0a0a11;--surface: rgba(255, 255, 255, .045);--surface-2: rgba(255, 255, 255, .05);--border: rgba(255, 255, 255, .07);--border-strong: rgba(255, 255, 255, .1);--text: #f5f5f8;--text-2: #b7b7c5;--text-dim: #8b8b9c;--text-faint: #6a6a7a;--accent: #a78bfa;--accent-500: #8b5cf6;--accent-700: #7c3aed;--accent-grad: linear-gradient(145deg, #a78bfa, #7c3aed);--accent-tint: rgba(167, 139, 250, .16);--accent-glow: rgba(124, 58, 237, .4);--success: #34d399;--warning: #fbbf24;--danger: #fb7185;--info-2fa: #5e7be6;--acme-blue-grad: linear-gradient(145deg, #2563eb, #1e40af);--font-display: "Sora", sans-serif;--font-body: "Manrope", system-ui, sans-serif;--font-mono: "JetBrains Mono", monospace}*{-webkit-font-smoothing:antialiased;box-sizing:border-box}::-webkit-scrollbar{width:0;height:0}@keyframes aeg-scan{0%{top:8%}50%{top:88%}to{top:8%}}@keyframes aeg-pulse{0%,to{opacity:.5;transform:scale(1)}50%{opacity:1;transform:scale(1.04)}}@keyframes aeg-pop{0%{transform:scale(.9);opacity:0}to{transform:scale(1);opacity:1}}@keyframes aeg-toast{0%{transform:translate(-50%,14px);opacity:0}12%{transform:translate(-50%);opacity:1}88%{transform:translate(-50%);opacity:1}to{transform:translate(-50%,-6px);opacity:0}}@keyframes aeg-float{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}html,body{margin:0;height:100%;background:var(--desk)}#root{height:100%}body{font-family:var(--font-body);color:var(--text)}button{font-family:inherit}.app{position:relative;height:100dvh;max-width:430px;margin:0 auto;overflow:hidden;background:radial-gradient(120% 60% at 50% -8%,#1a1330 0%,transparent 46%),var(--app-bg);color:var(--text)}.app-glow{position:absolute;top:-60px;left:50%;transform:translate(-50%);width:340px;height:260px;background:radial-gradient(circle,rgba(124,58,237,.28),transparent 70%);filter:blur(20px);pointer-events:none;z-index:0}.app-body{position:absolute;top:0;right:0;bottom:0;left:0;z-index:5;display:flex;flex-direction:column}.screen{flex:1;display:flex;flex-direction:column;overflow:hidden;animation:aeg-screen .28s ease both}.screen--scroll{overflow-y:auto}.screen--slide{animation:aeg-slide .3s cubic-bezier(.2,.8,.2,1) both}@keyframes aeg-screen{0%{opacity:0;transform:translateY(10px)}}@keyframes aeg-slide{0%{opacity:0;transform:translate(36px)}}.app-body{animation:aeg-unlock .4s ease both}@keyframes aeg-unlock{0%{opacity:0;transform:scale(.97)}}.screen-header{padding:60px 22px 8px}.screen-title{font-family:var(--font-display);font-weight:700;font-size:27px;letter-spacing:-.4px}.screen-subtitle{font-size:14px;color:var(--text-dim);margin-top:3px}.lock{position:absolute;top:0;right:0;bottom:0;left:0;z-index:30;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:0 40px;text-align:center}.lock-logo{width:96px;height:96px;border-radius:28px;background:var(--accent-grad);display:flex;align-items:center;justify-content:center;box-shadow:0 20px 50px #7c3aed80,inset 0 1px #fff6;margin-bottom:30px}.lock-name{font-family:var(--font-display);font-weight:700;font-size:27px;letter-spacing:-.4px}.lock-subtitle{color:var(--text-dim);font-size:15px;margin-top:8px;max-width:230px}.lock-bio{margin-top:52px;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:16px;background:none;border:none;padding:0;color:inherit}.lock-bio-face{position:relative;width:96px;height:96px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#ffffff0a;border:1.5px solid rgba(255,255,255,.1);color:#c1c1cf;transition:all .35s;overflow:hidden}.lock-bio--scanning .lock-bio-face{background:#a78bfa24;border-color:#a78bfa80;color:var(--accent)}.lock-bio-scanline{position:absolute;left:14%;right:14%;height:2px;background:linear-gradient(90deg,transparent,#a78bfa,transparent);box-shadow:0 0 12px #a78bfa;animation:aeg-scan 1.1s ease-in-out infinite;border-radius:2px}.lock-bio-label{font-size:15px;font-weight:600;color:#c1c1cf}.lock-bio--scanning .lock-bio-label{color:var(--accent)}.lock-footer{margin-top:auto;margin-bottom:46px;display:flex;align-items:center;gap:8px;font-size:13px;color:#5c5c6c;font-weight:500}.vault-header{padding:60px 22px 6px;display:flex;align-items:center;justify-content:space-between}.vault-greeting{font-size:13px;color:var(--text-dim);font-weight:600}.vault-header-actions{display:flex;gap:10px}.icon-btn{width:40px;height:40px;border-radius:12px;background:var(--surface-2);border:1px solid rgba(255,255,255,.08);display:flex;align-items:center;justify-content:center;color:#c7c7d4;cursor:pointer;padding:0}.vault-avatar{width:40px;height:40px;border-radius:12px;background:var(--accent-grad);display:flex;align-items:center;justify-content:center;box-shadow:0 4px 14px #7c3aed73;color:#fff;font-weight:700;font-size:15px}.vault-search-wrap{padding:14px 22px 8px}.vault-search{display:flex;align-items:center;gap:10px;padding:12px 15px;border-radius:14px;background:var(--surface-2);border:1px solid rgba(255,255,255,.08);color:#7b7b8c}.vault-search input{flex:1;background:transparent;border:none;outline:none;color:var(--text);font-size:15px;font-family:var(--font-body);min-width:0}.vault-search input::placeholder{color:#7b7b8c}.vault-folders{display:flex;gap:9px;padding:6px 22px 12px;overflow-x:auto}.folder-chip{flex:0 0 auto;display:flex;align-items:center;gap:7px;padding:9px 15px;border-radius:999px;cursor:pointer;font-size:13.5px;font-weight:600;background:#ffffff0a;color:#9a9aab;border:1px solid var(--border);transition:all .2s;font-family:var(--font-body)}.folder-chip--active{background:var(--accent-tint);color:#d8ccff;border-color:#a78bfa59}.folder-chip-dot{width:7px;height:7px;border-radius:50%}.folder-chip-count{opacity:.6;font-weight:600}.vault-list{flex:1;overflow-y:auto;padding:2px 16px 96px}.vault-item{display:flex;align-items:center;gap:13px;padding:13px 12px;border-radius:16px;cursor:pointer;margin-bottom:4px;transition:background .18s,transform .15s ease;width:100%;background:none;border:none;color:inherit;text-align:left;animation:aeg-pop .22s both;animation-delay:calc(var(--i, 0) * 28ms)}.vault-item:active{transform:scale(.98)}.vault-item:hover{background:var(--surface)}.vault-item-body{flex:1;min-width:0}.vault-item-title{display:flex;align-items:center;gap:7px}.vault-item-name{font-weight:700;font-size:15.5px;color:#f2f2f6}.passkey-badge{display:inline-flex;align-items:center;gap:3px;padding:2px 6px;border-radius:6px;background:var(--accent-tint);color:#c4b5fd;font-size:10px;font-weight:700;letter-spacing:.3px}.vault-item-user{font-size:13px;color:#7f7f90;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.vault-item-meta{display:flex;align-items:center;gap:9px;flex:0 0 auto;color:#54546a}.strength-dot{width:8px;height:8px;border-radius:50%}.vault-empty{text-align:center;color:var(--text-faint);font-size:14px;padding:40px 0}.detail-nav{padding:60px 20px 0;display:flex;align-items:center;justify-content:space-between}.detail-hero{display:flex;flex-direction:column;align-items:center;padding:18px 20px 22px}.detail-name{font-family:var(--font-display);font-weight:700;font-size:23px;margin-top:14px}.detail-domain{font-size:14px;color:var(--text-dim)}.detail-fields{padding:0 20px 100px;display:flex;flex-direction:column;gap:12px}.field-card{padding:14px 16px;border-radius:16px;background:var(--surface);border:1px solid var(--border)}.field-card--row{cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:12px}.field-label{font-size:11.5px;color:#7f7f90;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.field-value{font-size:15.5px;color:#f2f2f6;margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.field-value--mono{font-family:var(--font-mono);font-size:16px;margin-top:4px;letter-spacing:1px}.field-actions{display:flex;gap:6px;flex:0 0 auto}.mini-btn{width:36px;height:36px;border-radius:10px;background:var(--surface-2);display:flex;align-items:center;justify-content:center;cursor:pointer;color:#c1c1cf;border:none;padding:0}.mini-btn--accent{background:#a78bfa2e;color:#c4b5fd}.strength-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.strength-title{font-size:13.5px;color:var(--text-2);font-weight:600}.strength-label{font-size:13.5px;font-weight:700}.strength-bars{display:flex;gap:5px}.strength-bar{height:5px;flex:1;border-radius:3px;background:#ffffff17}.totp-card{padding:14px 16px;border-radius:16px;background:linear-gradient(135deg,#5e7be624,#a78bfa1a);border:1px solid rgba(94,123,230,.28);cursor:pointer;display:flex;align-items:center;justify-content:space-between;width:100%;color:inherit;text-align:left}.totp-card-left{display:flex;align-items:center;gap:12px}.totp-card-code{font-family:var(--font-mono);font-size:19px;color:#eef;font-weight:700;letter-spacing:2px;margin-top:2px}.detail-actions{display:flex;gap:10px;margin-top:6px}.action-btn{flex:1;padding:13px;border-radius:14px;background:var(--surface-2);border:1px solid rgba(255,255,255,.08);display:flex;align-items:center;justify-content:center;gap:8px;cursor:pointer;font-size:14.5px;font-weight:600;color:#d6d6e2;font-family:var(--font-body)}.auth-list{flex:1;overflow-y:auto;padding:12px 16px 96px;display:flex;flex-direction:column;gap:10px}.token-card{display:flex;align-items:center;gap:14px;padding:15px 16px;border-radius:18px;background:var(--surface);border:1px solid var(--border);cursor:pointer;width:100%;color:inherit;text-align:left;animation:aeg-pop .22s both;animation-delay:calc(var(--i, 0) * 35ms);transition:transform .15s ease}.token-card:active{transform:scale(.98)}.token-code{transition:color .3s ease}.token-body{flex:1;min-width:0}.token-issuer{font-size:13px;color:var(--text-dim);font-weight:600}.token-code{font-family:var(--font-mono);font-size:27px;font-weight:700;color:#f4f2ff;letter-spacing:3px;margin-top:1px}.token-code--expiring{color:var(--danger)}.auth-scan{margin-top:8px;padding:15px;border-radius:16px;border:1.5px dashed rgba(167,139,250,.3);display:flex;align-items:center;justify-content:center;gap:9px;color:#b4a0ee;font-weight:600;font-size:14.5px;cursor:pointer;background:none;font-family:var(--font-body)}.gen-body{padding:16px 20px 100px;display:flex;flex-direction:column;gap:16px}.gen-display{padding:22px 18px;border-radius:20px;background:linear-gradient(150deg,#7c3aed29,#ffffff08);border:1px solid rgba(167,139,250,.22);position:relative}.gen-password{font-family:var(--font-mono);font-size:22px;line-height:1.5;color:#f4f2ff;word-break:break-all;font-weight:600}.gen-display-actions{display:flex;gap:10px;margin-top:18px}.gen-btn{flex:1;padding:12px;border-radius:12px;background:#ffffff0f;border:none;display:flex;align-items:center;justify-content:center;gap:8px;cursor:pointer;font-weight:600;font-size:14.5px;color:#e6e6f0;font-family:var(--font-body)}.gen-btn--primary{background:var(--accent-grad);font-weight:700;color:#fff;box-shadow:0 6px 18px var(--accent-glow)}.gen-strength{display:flex;align-items:center;gap:12px}.gen-strength-bars{flex:1;display:flex;gap:5px}.gen-strength-bar{height:6px;flex:1;border-radius:3px;background:#ffffff17}.gen-strength-label{font-size:13.5px;font-weight:700}.gen-mode{display:flex;gap:6px;padding:5px;border-radius:14px;background:var(--surface);border:1px solid var(--border)}.gen-mode-btn{flex:1;text-align:center;padding:10px;border-radius:10px;cursor:pointer;font-weight:600;font-size:14px;background:transparent;color:#9a9aab;border:none;font-family:var(--font-body)}.gen-mode-btn--active{background:var(--accent-grad);color:#fff}.gen-card{padding:16px 18px;border-radius:16px;background:var(--surface);border:1px solid var(--border)}.gen-len-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.gen-len-title{font-size:14.5px;font-weight:600;color:#d6d6e2}.gen-len-value{font-family:var(--font-mono);font-size:17px;font-weight:700;color:#c4b5fd}.gen-slider{width:100%;accent-color:var(--accent-500)}.gen-toggles{display:flex;flex-direction:column;gap:2px;border-radius:16px;overflow:hidden;background:var(--surface);border:1px solid var(--border)}.gen-toggle-row{display:flex;align-items:center;justify-content:space-between;padding:15px 18px;cursor:pointer}.gen-toggle-label{font-size:14.5px;font-weight:600;color:#d6d6e2}.gen-char--num{color:var(--info-2fa)}.gen-char--sym{color:var(--success)}.set-body{padding:14px 20px 100px;display:flex;flex-direction:column;gap:20px}.set-account{padding:18px;border-radius:18px;background:var(--surface);border:1px solid var(--border);display:flex;align-items:center;gap:14px}.set-account-avatar{width:48px;height:48px;border-radius:50%;background:var(--accent-grad);display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:19px;font-family:var(--font-display)}.set-account-name{font-weight:700;font-size:16px}.set-account-google{font-size:13px;color:var(--text-dim);display:flex;align-items:center;gap:6px;margin-top:2px}.online-dot{width:9px;height:9px;border-radius:50%;background:var(--success);box-shadow:0 0 8px var(--success);flex:0 0 auto}.set-section-title{font-size:12px;color:#7f7f90;font-weight:700;text-transform:uppercase;letter-spacing:.6px;padding:0 4px 8px}.set-group{border-radius:16px;overflow:hidden;background:var(--surface);border:1px solid var(--border)}.set-row{display:flex;align-items:center;gap:13px;padding:15px 18px}.set-row+.set-row{border-top:1px solid rgba(255,255,255,.05)}.set-row--click{cursor:pointer}.set-row-icon{width:34px;height:34px;border-radius:10px;display:flex;align-items:center;justify-content:center;flex:0 0 auto}.set-row-body{flex:1;min-width:0}.set-row-title{font-weight:600;font-size:14.5px}.set-row-sub{font-size:12.5px;color:var(--text-dim)}.set-row-sub--success{color:var(--success)}.set-row-sub--danger{color:var(--danger)}.set-account-email{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.set-row--busy .set-row-icon{animation:aeg-spin .9s linear infinite}@keyframes aeg-spin{to{transform:rotate(360deg)}}.set-lock-btn{padding:15px;border-radius:14px;border:1px solid rgba(251,113,133,.28);background:#fb718514;display:flex;align-items:center;justify-content:center;gap:9px;cursor:pointer;color:var(--danger);font-weight:700;font-size:15px;width:100%;font-family:var(--font-body)}.tabbar{position:absolute;bottom:0;left:0;right:0;z-index:20;padding:10px 14px 30px;display:flex;align-items:center;justify-content:space-around;background:linear-gradient(to top,var(--app-bg) 60%,transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.tabbar-item{display:flex;flex-direction:column;align-items:center;gap:5px;cursor:pointer;padding:4px 14px;background:none;border:none;color:var(--text-faint)}.tabbar-item--active{color:var(--accent)}.tabbar-item span{font-size:11px;font-weight:600}.toast{position:absolute;bottom:110px;left:50%;z-index:80;animation:aeg-toast 1.4s ease forwards;display:flex;align-items:center;gap:9px;padding:11px 18px;border-radius:999px;background:#1c1c28;border:1px solid rgba(255,255,255,.12);box-shadow:0 12px 30px #00000080;white-space:nowrap}.toast span{font-size:14px;font-weight:600;color:#f2f2f6}.onboarding{justify-content:flex-start;padding-top:80px;overflow-y:auto}.ob-form{width:100%;max-width:320px;margin-top:34px;display:flex;flex-direction:column;gap:14px;text-align:left}.ob-field{display:flex;flex-direction:column;gap:7px}.ob-input{display:block;width:100%;padding:13px 15px;border-radius:14px;background:var(--surface-2);border:1px solid rgba(255,255,255,.08);color:var(--text);font-size:15px;font-family:var(--font-body);outline:none;transition:border-color .2s,background .2s}.ob-input:focus-within,.ob-input:focus{border-color:#a78bfa80;background:#a78bfa12}.ob-input--row{display:flex;align-items:center;gap:10px;padding:8px 8px 8px 15px}.ob-input--row input{flex:1;min-width:0;background:transparent;border:none;outline:none;color:var(--text);font-size:15px;font-family:var(--font-body);padding:5px 0}.ob-eye{background:none;border:none;color:#9a9aad;cursor:pointer;padding:6px;display:flex}.ob-strength{display:flex;gap:5px;margin-top:2px}.ob-demo{display:flex;align-items:center;gap:9px;font-size:13.5px;font-weight:600;color:var(--text-2);cursor:pointer}.ob-demo input{accent-color:var(--accent-500);width:16px;height:16px}.ob-error{font-size:13px;font-weight:600;color:var(--danger);animation:aeg-pop .2s both}.ob-submit{padding:14px;border-radius:14px;border:none;background:var(--accent-grad);color:#fff;font-weight:700;font-size:15px;font-family:var(--font-body);cursor:pointer;box-shadow:0 6px 18px var(--accent-glow);margin-top:4px}.ob-submit:disabled{opacity:.6;cursor:wait}.lock-form{margin-top:44px;width:100%;max-width:300px;display:flex;flex-direction:column;gap:12px;align-items:center}.lock-form .ob-input--row{width:100%}.lock-go{width:34px;height:34px;border-radius:10px;border:none;background:var(--accent-grad);color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;flex:0 0 auto}.lock-go:disabled{opacity:.4;cursor:default}.lock-alt{background:none;border:none;color:var(--accent);font-size:13.5px;font-weight:600;cursor:pointer;margin-top:14px;font-family:var(--font-body)}.lock-hint{font-size:13px;color:var(--text-dim);font-weight:500}.lock-hint--busy{color:var(--accent);animation:aeg-pulse 1.2s ease-in-out infinite}.ed-input{display:block;width:100%;margin-top:5px;background:transparent;border:none;outline:none;color:#f2f2f6;font-size:15.5px;font-family:var(--font-body);padding:0}.ed-input::placeholder{color:#5c5c6c}.ed-input--mono{font-family:var(--font-mono);font-size:14.5px;letter-spacing:.5px}.ed-textarea{resize:vertical;min-height:40px}.ed-pass-row{display:flex;align-items:center;gap:6px;margin-top:5px}.ed-pass-row .ed-input{margin-top:0;flex:1}.ed-cats{display:flex;gap:8px;margin-top:9px}.action-btn--primary{background:var(--accent-grad);border-color:transparent;color:#fff;font-weight:700;box-shadow:0 6px 18px var(--accent-glow)}.qr-video-wrap{display:flex;flex-direction:column;align-items:center}.qr-video{width:100%;border-radius:18px;border:1.5px solid rgba(167,139,250,.35);background:#000;aspect-ratio:1;object-fit:cover;animation:aeg-pop .25s both}.tk-remove{background:#fb71851a;border:1px solid rgba(251,113,133,.25);color:var(--danger);font-size:12px;font-weight:700;padding:6px 11px;border-radius:8px;cursor:pointer;font-family:var(--font-body);flex:0 0 auto}.icon-btn,.mini-btn,.action-btn,.gen-btn,.folder-chip,.auth-scan,.set-lock-btn,.ob-submit,.lock-go,.tabbar-item,.totp-card{transition:transform .15s ease,background .2s,color .2s,border-color .2s}.icon-btn:active,.mini-btn:active,.action-btn:active,.gen-btn:active,.folder-chip:active,.auth-scan:active,.set-lock-btn:active,.ob-submit:active,.lock-go:active,.totp-card:active{transform:scale(.96)}.tabbar-item:active{transform:scale(.92)}.field-card,.set-account,.set-group,.gen-display,.gen-card,.gen-toggles,.gen-mode{animation:aeg-pop .24s both}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
