@font-face{font-family:Geist;src:url(/assets/geist-latin-wght-normal-BgDaEnEv.woff2)format("woff2");font-weight:100 900;font-style:normal;font-display:swap}:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--wallet-black:oklch(13% .012 265);--wallet-charcoal:oklch(18% .014 265);--wallet-leather:oklch(23% .016 265);--wallet-edge:oklch(34% .018 265);--wallet-ivory:oklch(91% .014 85);--wallet-muted:oklch(68% .018 85);--wallet-gold:oklch(76% .075 82);--wallet-gold-light:oklch(84% .06 84);--wallet-danger:oklch(68% .14 27);--wallet-success:oklch(72% .11 155);--wallet-shadow:oklch(5% .01 265/.58);--wallet-stitch:oklch(76% .075 82/.26);--bp-ink:var(--wallet-ivory);--bp-paper:var(--wallet-black);--bp-muted:var(--wallet-muted);--bp-accent:var(--wallet-gold);--bp-mono:"SF Mono", "Menlo", ui-monospace, monospace;--background:var(--bp-paper);--foreground:var(--bp-ink);--card:var(--wallet-charcoal);--card-foreground:var(--bp-ink);--primary:var(--wallet-gold);--primary-glow:var(--wallet-gold-light);--primary-foreground:var(--wallet-black);--secondary:var(--wallet-leather);--secondary-foreground:var(--bp-ink);--muted:color-mix(in oklch, var(--wallet-leather) 84%, var(--wallet-black));--muted-foreground:var(--bp-muted);--accent:color-mix(in oklch, var(--wallet-gold) 14%, var(--wallet-leather));--accent-foreground:var(--bp-ink);--destructive:var(--wallet-danger);--success:var(--wallet-success);--warning:var(--wallet-gold-light);--border:var(--wallet-edge);--input:var(--wallet-edge);--ring:var(--wallet-gold-light);--radius:6px;--radius-sm:4px;--radius-lg:6px;--shadow-sm:0 2px 5px var(--wallet-shadow);--shadow-md:0 7px 18px var(--wallet-shadow);--shadow-lg:0 16px 38px var(--wallet-shadow);--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-6:1.25rem;font-family:Geist,-apple-system,BlinkMacSystemFont,Apple SD Gothic Neo,Malgun Gothic,sans-serif}*{box-sizing:border-box}html{touch-action:manipulation}body{background:var(--background);min-height:100vh;color:var(--foreground);margin:0;font-size:14px;line-height:1.5;overflow-x:hidden}.page-shell{min-height:100svh;padding:max(var(--space-6), env(safe-area-inset-top)) var(--space-6) max(var(--space-6), env(safe-area-inset-bottom))}.page-header{margin-bottom:var(--space-6);border-bottom:2px solid var(--bp-ink);padding-bottom:var(--space-3);justify-content:space-between;align-items:center;display:flex}.page-title{margin:var(--space-4) 0 var(--space-1);letter-spacing:-.02em;align-items:center;gap:var(--space-2);flex-wrap:wrap;font-size:1.7rem;font-weight:800;display:flex}.dashboard-hero{margin-bottom:var(--space-6);padding:var(--space-6);border-radius:var(--radius-lg);background:linear-gradient(155deg, var(--primary) 0%, color-mix(in oklch, var(--primary) 82%, var(--primary-glow) 18%) 100%);color:var(--primary-foreground);box-shadow:var(--shadow-md)}.dashboard-hero-title{margin:var(--space-2) 0 0;letter-spacing:-.02em;color:var(--primary-foreground);font-size:1.7rem;font-weight:800}.dashboard-hero-sub{margin:var(--space-1) 0 0;color:color-mix(in oklch, var(--primary-foreground) 78%, transparent);font-size:.85rem}.badge-on-dark{background:color-mix(in oklch, var(--primary-foreground) 16%, transparent);color:var(--primary-foreground);border-color:color-mix(in oklch, var(--primary-foreground) 30%, transparent);margin-left:0}@media (width>=1024px){.page-shell{max-width:480px;margin:0 auto}}.page-shell-with-tabbar{padding-bottom:calc(4.75rem + env(safe-area-inset-bottom))}.bottom-tabbar{background:var(--card);border-top:1px solid var(--border);padding:var(--space-2) var(--space-2) max(var(--space-2), env(safe-area-inset-bottom));box-shadow:0 -2px 10px color-mix(in oklch, var(--foreground) 6%, transparent);z-index:20;display:flex;position:fixed;bottom:0;left:0;right:0}@media (width>=1024px){.bottom-tabbar{width:100%;max-width:480px;left:50%;right:auto;transform:translate(-50%)}}.tabbar-item{padding:var(--space-2) 0;border-radius:var(--radius-sm);color:var(--muted-foreground);font:inherit;cursor:pointer;background:0 0;border:none;flex-direction:column;flex:1;align-items:center;gap:.2rem;font-size:.68rem;font-weight:600;transition:color .15s;display:flex}.tabbar-item:hover{color:var(--foreground)}.tabbar-item:focus-visible{outline:2px solid var(--ring);outline-offset:-2px}.tabbar-dot{background:var(--primary);opacity:0;border-radius:999px;width:3px;height:3px}.tabbar-item.active .tabbar-dot{opacity:1}.tabs{align-items:center;gap:var(--space-1);border-bottom:1px solid var(--border);margin-bottom:var(--space-4);display:flex}.tab{white-space:nowrap;align-items:center;gap:var(--space-1);padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm) var(--radius-sm) 0 0;color:var(--muted-foreground);font:inherit;cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;flex-shrink:0;margin-bottom:-1px;font-size:.85rem;font-weight:600;transition:color .15s,background-color .15s,border-color .15s;display:inline-flex}.tab:hover{color:var(--foreground);background:color-mix(in oklch, var(--accent) 50%, transparent)}.sub{color:var(--muted-foreground);margin:var(--space-1) 0 var(--space-4);font-size:.85rem}.search-box{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border-radius:var(--radius);border:1px solid var(--input);background:var(--background);color:var(--muted-foreground);margin-bottom:var(--space-4);display:flex}.search-box input{color:var(--foreground);font:inherit;background:0 0;border:none;flex:1;font-size:.9rem}.search-box input:focus-visible,.search-box input:focus{outline:none}.form{gap:var(--space-3);flex-direction:column;display:flex}.invite-form{margin-bottom:var(--space-4)}.checkbox-label{align-items:center;gap:var(--space-2);color:var(--foreground);font-size:.85rem;display:flex}.panel{border:1px solid var(--border);border-radius:var(--radius);padding:var(--space-4);background:var(--card);box-shadow:var(--shadow-sm);transition:box-shadow .15s}.panel-title{margin:0 0 var(--space-3);font-size:.95rem;font-weight:700}.invite-created-card{margin-bottom:var(--space-4)}.invite-created-body{align-items:center;gap:var(--space-4);flex-wrap:wrap;display:flex}.invite-link-text{color:var(--muted-foreground);word-break:break-all;font-size:.8rem}.invite-qr-thumb{border-radius:var(--radius-sm);flex-shrink:0}.invite-qr-thumb-btn{cursor:pointer;border-radius:var(--radius-sm);background:0 0;border:none;flex-shrink:0;padding:0;display:inline-flex}.invite-qr-thumb-btn:focus-visible{outline:2px solid var(--ring);outline-offset:2px}.invite-qr-large{border-radius:var(--radius-sm);border:1px solid var(--border);box-shadow:var(--shadow-sm);align-self:flex-start}.field-label{align-items:center;gap:var(--space-2);color:var(--muted-foreground);margin-bottom:calc(var(--space-1) * -1);font-size:.8rem;display:flex}.form input,.form select{padding:var(--space-3);border-radius:var(--radius);border:1px solid var(--input);background:var(--background);color:var(--foreground);font:inherit;font-size:.9rem}.form input:focus-visible,.form select:focus-visible{outline:2px solid var(--ring);outline-offset:1px}.select-compact{padding:var(--space-2);border-radius:var(--radius);border:1px solid var(--input);background:var(--background);color:var(--foreground);font:inherit;font-size:.85rem}.select-compact:focus-visible{outline:2px solid var(--ring);outline-offset:1px}.btn:focus-visible,.icon-btn:focus-visible,.icon-btn-header:focus-visible,.tab:focus-visible{outline:2px solid var(--ring);outline-offset:2px}.btn{justify-content:center;align-items:center;gap:var(--space-2);padding:var(--space-3);border-radius:var(--radius);background:var(--primary);color:var(--primary-foreground);font:inherit;cursor:pointer;text-align:center;border:1px solid #0000;font-size:.9rem;font-weight:600;text-decoration:none;transition:background-color .15s,box-shadow .15s,transform .1s,border-color .15s;display:inline-flex}.btn:hover{background:color-mix(in oklch, var(--primary) 88%, var(--foreground) 12%);box-shadow:0 2px 6px color-mix(in oklch, var(--primary) 30%, transparent)}.btn:active{box-shadow:none;transform:translateY(1px)}.btn:disabled{opacity:.6;cursor:not-allowed;box-shadow:none;transform:none}.btn-secondary{background:var(--secondary);color:var(--secondary-foreground);border-color:var(--border)}.btn-secondary:hover{background:color-mix(in oklch, var(--secondary) 80%, var(--foreground) 6%);box-shadow:0 1px 3px color-mix(in oklch, var(--foreground) 12%, transparent)}.icon-btn{border-radius:var(--radius-sm);width:2rem;height:2rem;color:var(--muted-foreground);cursor:pointer;background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;transition:background-color .15s,color .15s;display:inline-flex}.icon-btn:hover{background:var(--accent);color:var(--accent-foreground)}.btn-icon{padding:var(--space-1)}.icon-btn-header{width:2.75rem;height:2.75rem;color:var(--foreground);cursor:pointer;background:0 0;border:none;border-radius:999px;justify-content:center;align-items:center;text-decoration:none;transition:background-color .15s,color .15s;display:inline-flex}.icon-btn-header:hover{background:var(--accent);color:var(--accent-foreground)}.icon-btn-header:active{background:color-mix(in oklch, var(--accent) 70%, var(--foreground) 10%)}.icon-btn-header-badge{position:relative}@keyframes notif-badge-pulse{0%,to{box-shadow:0 0 0 0 color-mix(in oklch, var(--destructive) 45%, transparent)}50%{box-shadow:0 0 0 .3rem color-mix(in oklch, var(--destructive) 0%, transparent)}}.notif-badge{background:var(--destructive);min-width:1.1rem;height:1.1rem;color:var(--primary-foreground);text-align:center;border-radius:999px;padding:0 .25rem;font-size:.6rem;font-weight:700;line-height:1.1rem;animation:2s ease-out infinite notif-badge-pulse;position:absolute;top:.2rem;right:.2rem}.passkey-rename-input{flex:1;width:auto}.btn-row{gap:var(--space-2);flex-flow:wrap;align-items:center;display:flex}@keyframes error-in{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.error{align-items:flex-start;gap:var(--space-2);color:var(--destructive);background:color-mix(in oklch, var(--destructive) 10%, var(--background));border:1px solid color-mix(in oklch, var(--destructive) 30%, var(--border));border-radius:var(--radius);padding:var(--space-2) var(--space-3);margin:0;font-size:.82rem;animation:.18s ease-out error-in;display:flex}a{color:var(--primary)}.otp-display{justify-content:center;align-items:center;gap:var(--space-1);font-variant-numeric:tabular-nums;letter-spacing:.3em;text-align:center;margin:var(--space-3) 0;padding:var(--space-3);border-radius:var(--radius);background:var(--muted);border:1px solid var(--border);color:var(--foreground);font-size:1.5rem;font-weight:700;display:flex}.otp-input{width:6rem;padding:var(--space-2);border-radius:var(--radius);border:1px solid var(--input);background:var(--background);color:var(--foreground);font:inherit;font-variant-numeric:tabular-nums;letter-spacing:.1em;text-align:center;font-size:.9rem}.otp-boxes{gap:var(--space-1);flex:1 0 100%;display:flex}.otp-box{border-radius:var(--radius-sm);border:1px solid var(--input);background:var(--background);width:2.25rem;height:2.5rem;color:var(--foreground);font:inherit;font-variant-numeric:tabular-nums;text-align:center;padding:0;font-size:1.05rem;font-weight:700;transition:border-color .15s,box-shadow .15s}.otp-box:focus-visible{border-color:var(--ring);box-shadow:0 0 0 2px color-mix(in oklch, var(--ring) 25%, transparent);outline:none}.otp-box:disabled{opacity:.6}.badge{align-items:center;gap:var(--space-1);padding:.15rem var(--space-2);background:color-mix(in oklch, var(--primary) 10%, var(--background));color:var(--primary);border:1px solid color-mix(in oklch, var(--primary) 22%, var(--border));letter-spacing:.01em;margin-left:var(--space-2);vertical-align:middle;border-radius:999px;font-size:.68rem;font-weight:700;display:inline-flex}.badge-muted{background:var(--muted);color:var(--muted-foreground);border-color:var(--border)}.section-title{align-items:center;gap:var(--space-2);margin:var(--space-4) 0 var(--space-2);color:var(--muted-foreground);text-transform:uppercase;letter-spacing:.04em;font-size:.8rem;font-weight:600;display:flex}.passkey-list{margin:0 0 var(--space-4);gap:var(--space-2);flex-direction:column;padding:0;list-style:none;display:flex}.passkey-item{align-items:flex-start;gap:var(--space-2);padding:var(--space-3);border-radius:var(--radius);background:var(--card);border:1px solid var(--border);box-shadow:var(--shadow-sm);transition:box-shadow .15s,border-color .15s;display:flex}.kebab-wrap{flex-shrink:0;position:relative}.kebab-backdrop{cursor:default;z-index:10;background:0 0;border:none;padding:0;position:fixed;inset:0}@keyframes kebab-menu-in{0%{opacity:0;transform:scale(.9)translateY(-8px)}to{opacity:1;transform:scale(1)translateY(0)}}.kebab-menu{right:0;top:calc(100% + var(--space-1));z-index:11;background:var(--card);border:1px solid var(--border);border-radius:var(--radius);min-width:9rem;box-shadow:var(--shadow-lg);padding:var(--space-1);transform-origin:100% 0;flex-direction:column;animation:.18s ease-out kebab-menu-in;display:flex;position:absolute}@media (prefers-reduced-motion:reduce){.kebab-menu,.notif-badge,.error{animation:none}}.kebab-menu button{align-items:center;gap:var(--space-2);width:100%;padding:var(--space-2);border-radius:var(--radius-sm);color:var(--foreground);font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;font-size:.85rem;display:flex}.kebab-menu button:hover{background:var(--accent);color:var(--accent-foreground)}.kebab-menu-danger{color:var(--destructive)!important}.kebab-menu button[aria-current=page]{color:var(--primary);font-weight:700}.site-item{color:inherit;cursor:pointer;align-items:center;text-decoration:none}.site-item:hover .passkey-name,.site-item:focus-visible .passkey-name{color:var(--primary)}.site-item:focus-visible{outline:2px solid var(--ring);outline-offset:2px}.site-item-arrow{color:var(--muted-foreground);flex-shrink:0}.passkey-item-icon{border-radius:var(--radius-sm);background:var(--accent);width:1.75rem;height:1.75rem;color:var(--accent-foreground);flex-shrink:0;justify-content:center;align-items:center;display:flex}.passkey-item-column{align-items:stretch;gap:var(--space-3);flex-direction:column}.passkey-item-button{width:100%;font:inherit;color:inherit;text-align:left;cursor:pointer;align-items:center}@keyframes bottom-sheet-in{0%{transform:translateY(100%)}to{transform:translateY(0)}}.bottom-sheet-overlay{z-index:50;background:color-mix(in oklch, var(--bp-ink) 45%, transparent);justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.bottom-sheet{background:var(--card);width:100%;max-width:480px;max-height:80vh;color:var(--card-foreground);border:1px solid var(--border);border-radius:var(--radius-lg) var(--radius-lg) 0 0;box-shadow:var(--shadow-lg);border-bottom:none;animation:.2s ease-out bottom-sheet-in;overflow-y:auto}@media (prefers-reduced-motion:reduce){.bottom-sheet{animation:none}}.bottom-sheet-header{padding:var(--space-4) var(--space-6);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;display:flex}.bottom-sheet-title{font-family:var(--bp-mono);letter-spacing:.06em;color:var(--muted-foreground);font-size:.85rem;font-weight:700}.bottom-sheet-body{gap:var(--space-3);padding:var(--space-4) var(--space-6) var(--space-6);flex-direction:column;margin:0;display:flex}.bottom-sheet-row{flex-direction:column;gap:.15rem;display:flex}.bottom-sheet-row dt{color:var(--muted-foreground);text-transform:uppercase;letter-spacing:.04em;font-size:.72rem;font-weight:600}.bottom-sheet-row dd{overflow-wrap:anywhere;margin:0}.bottom-sheet-mono{font-family:var(--bp-mono);font-size:.8rem}.access-panel{gap:var(--space-3);padding-top:var(--space-3);border-top:1px solid var(--border);flex-direction:column;display:flex}.access-options{gap:var(--space-2);border:0;flex-direction:column;margin:0;padding:0;display:flex}.access-options legend{margin-bottom:var(--space-2);color:var(--muted-foreground);font-size:.78rem;font-weight:600}.access-option{align-items:center;gap:var(--space-2);cursor:pointer;min-height:2rem;font-size:.85rem;display:flex}.access-option input{width:1rem;height:1rem;accent-color:var(--primary)}.access-option-detail>span{flex-direction:column;display:flex}.passkey-item-body{gap:var(--space-1);flex-direction:column;flex:1;min-width:0;display:flex}.passkey-name{overflow-wrap:anywhere;font-weight:600}.passkey-meta{color:var(--muted-foreground);font-size:.78rem}.inline-icon-text{align-items:center;gap:var(--space-2);display:flex}.empty-state{align-items:center;gap:var(--space-3);padding:var(--space-6) var(--space-3);color:var(--muted-foreground);text-align:center;flex-direction:column;display:flex}.empty-state-icon{background:color-mix(in oklch, var(--primary) 8%, var(--background));width:3.5rem;height:3.5rem;color:var(--primary);border-radius:999px;justify-content:center;align-items:center;display:flex}.auth-shell{min-height:100svh;padding:max(var(--space-6), env(safe-area-inset-top)) var(--space-6) max(var(--space-6), env(safe-area-inset-bottom));flex-direction:column;display:flex;position:relative}.brand-mark{align-items:center;gap:var(--space-2);font-family:var(--bp-mono);letter-spacing:.14em;color:var(--bp-ink);text-transform:uppercase;font-size:.7rem;font-weight:700;display:inline-flex}.brand-mark:before{content:"";background:var(--bp-accent);flex-shrink:0;width:7px;height:7px}.auth-hero{margin-top:14vh}.auth-hero h1{letter-spacing:-.01em;margin:0;font-size:1.9rem;font-weight:700;line-height:1.25}.auth-hero p{margin:var(--space-2) 0 0;color:var(--muted-foreground);font-size:.95rem}.auth-actions{padding-top:var(--space-6);gap:var(--space-3);flex-direction:column;margin-top:auto;margin-bottom:8vh;display:flex}.btn-lg{border-radius:var(--radius-lg);padding:.95rem;font-size:1rem}.auth-link{text-align:center;color:var(--muted-foreground);margin:0;font-size:.85rem}.qr-login-overlay{z-index:50;background:var(--background);width:100%;max-width:none;height:100svh;max-height:none;color:var(--foreground);border:0;flex-direction:column;margin:0;padding:0;display:flex;position:fixed;inset:0;overflow-y:auto}.qr-login-overlay::backdrop{background:color-mix(in oklch, var(--wallet-black) 78%, transparent)}.qr-login-overlay-header{padding:var(--space-6);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;display:flex}.qr-login-overlay-title{font-family:var(--bp-mono);letter-spacing:.06em;color:var(--muted-foreground);font-size:.85rem;font-weight:700}.qr-login-overlay-close{width:2.75rem;height:2.75rem}.qr-login-overlay-body{justify-content:center;align-items:center;gap:var(--space-4);padding:var(--space-6);text-align:center;flex-direction:column;flex:1;display:flex}.qr-login-overlay-img{border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:var(--shadow-sm);max-width:min(280px,80vw);height:auto}.qr-login-overlay-countdown{font-family:var(--bp-mono);color:var(--primary);font-variant-numeric:tabular-nums;margin:0;font-size:1.75rem;font-weight:700}.qr-login-overlay-hint{max-width:320px;color:var(--muted-foreground);margin:0;font-size:.85rem}.qr-login-overlay-status{color:var(--muted-foreground);font-family:var(--bp-mono)}@media (width>=600px){.auth-shell{justify-content:center;align-items:center}.auth-shell>*{width:100%;max-width:360px}.auth-shell .brand-mark{top:var(--space-6);left:var(--space-6);align-self:flex-start;position:absolute}.auth-hero{margin-top:0}.auth-actions{margin-top:var(--space-6)}}.page-shell,.auth-shell{background-color:var(--background);background-image:linear-gradient(115deg, color-mix(in oklch, var(--wallet-leather) 20%, transparent), transparent 42%), repeating-linear-gradient(45deg, color-mix(in oklch, var(--wallet-edge) 5%, transparent) 0 1px, transparent 1px 7px)}.page-header{border-bottom:1px solid var(--border)}.dashboard-header{z-index:20;margin:calc(-1 * max(var(--space-6), env(safe-area-inset-top))) calc(-1 * var(--space-6)) var(--space-6);padding:max(var(--space-2), env(safe-area-inset-top)) var(--space-6) var(--space-2);background:color-mix(in oklch, var(--background) 94%, transparent);box-shadow:none;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);position:sticky;top:0}.brand-mark{color:var(--foreground)}.brand-mark:before{background:var(--primary);width:6px;height:6px;box-shadow:0 0 0 2px color-mix(in oklch, var(--primary) 18%, transparent);border-radius:50%}.panel,.passkey-item,.bottom-sheet,.kebab-menu,.dashboard-hero{background:linear-gradient(135deg, color-mix(in oklch, var(--card) 92%, var(--wallet-leather)), var(--card));border-color:var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm)}.dashboard-hero,.dashboard-hero-title{color:var(--foreground)}.dashboard-hero-sub{color:var(--muted-foreground)}.dashboard-hero .badge-on-dark{background:color-mix(in oklch, var(--primary) 14%, var(--wallet-leather));border-color:color-mix(in oklch, var(--primary) 42%, var(--border));color:var(--primary-glow)}.dashboard-account{justify-content:space-between;align-items:center;gap:var(--space-3);margin-bottom:var(--space-4);padding:0 0 var(--space-2);box-shadow:none;background:0 0;border:0;display:flex}.dashboard-account-copy{align-items:baseline;gap:var(--space-2);flex:auto;min-width:0;display:flex;overflow:hidden}.dashboard-account .dashboard-hero-title{text-overflow:ellipsis;white-space:nowrap;flex:0 auto;min-width:0;margin:0;font-size:1rem;line-height:1.35;overflow:hidden}.dashboard-account .dashboard-hero-sub{text-overflow:ellipsis;white-space:nowrap;min-width:0;margin:0;font-size:.78rem;line-height:1.3;display:block;overflow:hidden}.dashboard-account .badge-on-dark{flex:none}.site-list{border:1px solid var(--border);border-radius:var(--radius);background:var(--card);box-shadow:var(--shadow-sm);gap:0;overflow:hidden}.site-list>li+li{border-top:1px solid var(--border)}.site-list .site-item{min-height:4rem;box-shadow:none;background:0 0;border:0;border-radius:0}.site-list .site-item:hover{background:var(--accent);box-shadow:none}.site-list .passkey-name,.site-list .passkey-meta{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.passkey-item:hover{border-color:color-mix(in oklch, var(--primary) 58%, var(--border));box-shadow:var(--shadow-md)}.passkey-item-icon,.empty-state-icon{color:var(--primary);background:color-mix(in oklch, var(--primary) 11%, var(--wallet-leather))}.btn{background:linear-gradient(180deg, var(--primary-glow), var(--primary));border-color:color-mix(in oklch, var(--primary) 64%, var(--wallet-black));color:var(--primary-foreground);border-radius:var(--radius);box-shadow:inset 0 1px 0 color-mix(in oklch, var(--wallet-ivory) 28%, transparent), 0 2px 4px var(--wallet-shadow)}.btn:hover{background:linear-gradient(180deg, color-mix(in oklch, var(--primary-glow) 90%, var(--wallet-ivory)), var(--primary))}.btn-secondary{background:var(--secondary);color:var(--foreground);border-color:var(--border);box-shadow:none}.btn-secondary:hover,.icon-btn:hover,.icon-btn-header:hover,.tab:hover,.kebab-menu button:hover{background:var(--accent);color:var(--foreground)}.btn-danger{background:var(--destructive);border-color:color-mix(in oklch, var(--destructive) 70%, var(--wallet-black));color:var(--wallet-black)}.btn-danger:hover{background:color-mix(in oklch, var(--destructive) 84%, var(--wallet-ivory))}.form input,.form select,.select-compact,.otp-input,.otp-box,.search-box{background:color-mix(in oklch, var(--wallet-black) 66%, var(--wallet-charcoal));border-color:var(--input);color:var(--foreground);border-radius:var(--radius)}.form input::placeholder,.search-box input::placeholder{color:var(--muted-foreground)}.tabs{border-bottom-color:var(--border)}.tab-active{color:var(--primary);border-bottom-color:var(--primary)}.bottom-tabbar{background:var(--card);border-color:var(--border)}.tabbar-item.active{color:var(--primary)}.badge{background:color-mix(in oklch, var(--primary) 13%, var(--wallet-leather));border-color:color-mix(in oklch, var(--primary) 45%, var(--border));color:var(--primary-glow)}.badge-muted{background:var(--muted);border-color:var(--border);color:var(--muted-foreground)}.error{background:color-mix(in oklch, var(--destructive) 13%, var(--wallet-charcoal));border-color:color-mix(in oklch, var(--destructive) 62%, var(--border))}.bottom-sheet-overlay{background:color-mix(in oklch, var(--wallet-black) 74%, transparent)}.qr-login-overlay{background:var(--background);background-image:linear-gradient(115deg, color-mix(in oklch, var(--wallet-leather) 20%, transparent), transparent 42%)}.qr-login-overlay-img{background:var(--wallet-ivory);padding:var(--space-2);border-radius:var(--radius)}.auth-surface{min-height:100svh;padding:max(var(--space-6), env(safe-area-inset-top)) var(--space-6) max(var(--space-6), env(safe-area-inset-bottom));background:var(--background);color:var(--foreground)}.auth-surface .auth-hero{margin-top:0}.auth-surface .form{margin-top:var(--space-6)}.auth-surface .auth-actions{margin-bottom:var(--space-6)}.auth-brand{align-items:center;gap:var(--space-2);margin-bottom:clamp(2rem,10vh,5rem);display:flex}.auth-brand-monogram{border:1px solid var(--primary);border-radius:var(--radius);width:2rem;height:2rem;color:var(--primary);font-family:var(--bp-mono);place-items:center;font-weight:700;display:grid}.auth-brand-name{letter-spacing:-.02em;font-weight:700}.auth-brand-domain{color:var(--muted-foreground);margin-left:auto;font-size:.78rem}.auth-section-label{margin:0 0 var(--space-2);color:var(--primary);font-family:var(--bp-mono);letter-spacing:.1em;font-size:.72rem}.auth-card{padding:var(--space-4);border:1px solid var(--border);border-radius:var(--radius);background:var(--card);box-shadow:var(--shadow-sm)}.auth-card-header{margin-bottom:var(--space-4)}.auth-card-header h1,.auth-card-header h2{color:var(--foreground);margin:0}.auth-detail-list{color:var(--muted-foreground);margin:0;padding:0;list-style:none}.auth-detail-list>li+li{margin-top:var(--space-2)}.auth-notice{margin:var(--space-3) 0;padding:var(--space-3);border-left:2px solid var(--primary);background:color-mix(in oklch, var(--primary) 9%, var(--wallet-leather));color:var(--muted-foreground)}.auth-loading{min-height:100svh;color:var(--muted-foreground);place-items:center;display:grid}@media (width>=1024px){.page-shell,.bottom-tabbar{max-width:520px}}.wallet-shell{--wl-bg:var(--wallet-black);--wl-fg:var(--wallet-ivory);--wl-muted:var(--wallet-muted);--wl-leather:var(--wallet-charcoal);--wl-line:var(--wallet-edge);--wl-danger:var(--destructive);background:var(--wl-bg);min-height:100svh;color:var(--wl-fg);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;flex-direction:column;justify-content:flex-end;display:flex;position:relative}.wallet-shell-light{--wl-bg:var(--wallet-ivory);--wl-fg:var(--wallet-black);--wl-muted:var(--wallet-muted);--wl-leather:var(--card);--wl-line:var(--border);--wl-danger:var(--destructive);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}.wallet-head{padding:max(var(--space-6), env(safe-area-inset-top)) var(--space-6) 0;color:var(--wl-muted);justify-content:space-between;align-items:center;font-size:.82rem;display:flex}.wallet-head b{color:var(--wl-fg);font-weight:500}.wallet-stage{padding:var(--space-6) var(--space-6) 0;flex:1;justify-content:center;align-items:flex-end;display:flex;position:relative}.wallet-card{aspect-ratio:1.586;box-sizing:border-box;color:#f3f1ea;z-index:1;background:linear-gradient(150deg,#2a3140 0%,#171b22 55%,#0f1216 100%);border-radius:14px;flex-direction:column;justify-content:space-between;width:100%;max-width:330px;padding:18px 20px;display:flex;position:relative;overflow:hidden;transform:translateY(46px);box-shadow:0 20px 40px #00000080,inset 0 0 0 1px #ffffff0f}.wallet-card:after{content:"";pointer-events:none;background:linear-gradient(115deg,#ffffff24 0%,#fff0 38% 62%,#ffffff0f 100%);position:absolute;inset:0}.wallet-shell-light .wallet-card{background:linear-gradient(150deg,#3b4a5e 0%,#24303f 60%,#1a2230 100%);box-shadow:0 18px 36px #1e232d59}.wallet-card-gold{--gold:#b8933f;--gold-light:#e0c27a;--gold-dim:#8f7a4a;aspect-ratio:1/1.586;max-width:190px;color:var(--gold-light);box-shadow:0 0 0 1px var(--gold), 0 0 0 2px #0e0e0f, 0 14px 30px #0000008c;background:radial-gradient(120% 80% at 30% 0,#ffffff12,#0000 55%),linear-gradient(160deg,#1b1b1c 0%,#0e0e0f 60%,#141416 100%);border-radius:10px;justify-content:space-between;align-items:center;padding:16px 16px 14px;transform:translateY(40px)}.wallet-card-gold:before{content:"";pointer-events:none;background-image:repeating-linear-gradient(0deg,#ffffff05 0 1px,#0000 1px 3px);position:absolute;inset:0}.wallet-card-gold:after{background:linear-gradient(115deg,#ffffff1a 0%,#fff0 35% 65%,#d4b56a14 100%)}.gold-top{justify-content:center;width:100%;padding-top:22px;display:flex;position:relative}.gold-chip{background:linear-gradient(160deg,#e5cf8a,#b08a3c 60%,#d5b96e);border-radius:4px;width:30px;height:23px;position:relative;box-shadow:inset 0 0 0 1px #00000059}.gold-chip:before{content:"";background:#0006;height:1px;position:absolute;top:11px;left:5px;right:5px;box-shadow:0 -5px #0006,0 5px #0006}.gold-kind{letter-spacing:.22em;color:var(--gold);font-size:.55rem;position:absolute;top:0;right:0}.gold-crest{width:92px;height:92px;color:var(--gold);opacity:.28}.gold-bottom{text-align:center}.gold-wordmark{letter-spacing:-.03em;color:var(--gold-light);font-size:1.05rem;font-weight:500}.gold-domain{font-family:var(--bp-mono);letter-spacing:.08em;color:var(--gold-dim);margin-top:4px;font-size:.55rem}.wallet-card-back{opacity:.9;z-index:0;background:linear-gradient(150deg,#8a6f4e,#5e4a33);position:absolute;bottom:0;left:50%;transform:translate(-50%,26px)scale(.94)}.wallet-card-row{justify-content:space-between;align-items:flex-start;display:flex}.wallet-chip{background:linear-gradient(160deg,#d9c48a,#a88b45);border-radius:5px;width:34px;height:26px;position:relative;box-shadow:inset 0 0 0 1px #00000040}.wallet-chip:before{content:"";background:#00000059;height:1px;position:absolute;top:12px;left:6px;right:6px;box-shadow:0 -6px #00000059,0 6px #00000059}.wallet-card-brand{letter-spacing:.12em;text-transform:uppercase;opacity:.8;font-size:.72rem}.wallet-card-domain{font-family:var(--bp-mono);letter-spacing:.06em;opacity:.9;font-size:.82rem}.wallet-card-foot{justify-content:space-between;align-items:flex-end;display:flex}.wallet-card-label{letter-spacing:.1em;text-transform:uppercase;opacity:.6;font-size:.62rem}.wallet-card-value{margin-top:2px;font-size:.9rem;font-weight:500}.wallet-card-glyph{opacity:.85}.wallet-pocket{background:var(--wl-leather);border-top:1px solid var(--wl-line);padding:70px var(--space-6) max(var(--space-6), env(safe-area-inset-bottom));gap:var(--space-3);background-image:repeating-linear-gradient(45deg,#ffffff03 0 2px,#0000 2px 6px);border-radius:22px 22px 0 0;flex-direction:column;display:flex;position:relative;box-shadow:0 -12px 30px #00000073}.wallet-shell-light .wallet-pocket{background-image:none;box-shadow:0 -10px 26px #1e1e191a}.wallet-shell-light .wallet-pocket .error{background:#b3261e0f;border-color:#b3261e4d}.wallet-pocket .error{color:var(--wl-danger);background:#f08a8a14;border-color:#f08a8a4d}.wallet-btn{justify-content:center;align-items:center;gap:var(--space-2);width:100%;font:inherit;cursor:pointer;border:1px solid #0000;border-radius:10px;padding:.95rem;font-size:.95rem;transition:background-color .12s,opacity .12s;display:inline-flex}.wallet-btn-primary{background:var(--wl-fg);color:var(--wl-bg);font-weight:600}.wallet-btn-primary:hover{background:#fff}.wallet-shell-light .wallet-btn-primary{background:var(--wl-fg);color:#fff;border-radius:12px}.wallet-shell-light .wallet-btn-primary:hover{background:#000}.wallet-shell-light .wallet-btn-secondary{background:#fff;border-radius:12px;font-weight:500}.wallet-shell-light .wallet-btn-secondary:hover{background:#fbfaf7}.wallet-btn-secondary{border-color:var(--wl-line);color:var(--wl-fg);background:0 0;font-size:.88rem}.wallet-btn-secondary:hover{background:#ffffff0a}.wallet-btn:disabled{opacity:.55;cursor:default}.wallet-btn:focus-visible{outline:2px solid var(--wl-fg);outline-offset:2px}.wallet-foot{color:var(--wl-muted);margin-top:var(--space-1);justify-content:space-between;font-size:.78rem;display:flex}.wallet-foot a{color:var(--wl-fg);text-underline-offset:3px;text-decoration:underline}@media (width>=600px){.wallet-shell{padding:var(--space-6);justify-content:center;align-items:center}.wallet-head{position:absolute;top:0;left:0;right:0}.wallet-stage{flex:none;width:100%;max-width:380px}.wallet-pocket{border:1px solid var(--wl-line);box-sizing:border-box;border-radius:22px;width:100%;max-width:380px}}@media (prefers-reduced-motion:reduce){.wallet-btn{transition:none}}.wallet-shell-gold{--wl-bg:var(--wallet-black);--wl-fg:var(--wallet-ivory);--wl-muted:var(--wallet-muted);--wl-leather:var(--wallet-charcoal);--wl-line:var(--wallet-edge);--wl-danger:var(--destructive);--wl-gold:var(--wallet-gold);--wl-gold-light:var(--wallet-gold-light);--wl-gold-dim:var(--wallet-muted);--wl-lip:var(--wallet-leather);background:var(--wl-bg)}.wallet-shell-gold .wallet-head b{color:var(--wl-gold-light)}.wallet-shell-gold .wallet-head span{color:var(--wl-muted)}.wallet-shell-gold .wallet-card-gold{--gold:var(--wl-gold);--gold-light:var(--wl-gold-light);--gold-dim:var(--wl-gold-dim);aspect-ratio:1/1.42;max-width:236px;color:var(--gold-light);background:linear-gradient(160deg, color-mix(in oklch, var(--wallet-charcoal) 70%, var(--wallet-black)), var(--wallet-black));box-shadow:0 0 0 1px color-mix(in oklch, var(--gold) 70%, transparent), inset 0 0 0 1px color-mix(in oklch, var(--wallet-ivory) 5%, transparent), 0 14px 30px var(--wallet-shadow);border-radius:12px;padding:18px 18px 84px;transition:transform .26s cubic-bezier(.2,.75,.25,1);transform:translateY(64px)}.wallet-shell-gold .gold-top{padding-top:18px}.wallet-shell-gold .gold-kind{color:var(--gold);letter-spacing:.12em;font-size:.62rem}.wallet-shell-gold .gold-wordmark{color:color-mix(in srgb, var(--gold-light) 80%, var(--wl-bg));letter-spacing:-.01em;text-shadow:0 1px 0 color-mix(in oklch, var(--gold-light) 50%, transparent), 0 -1px 0 var(--wallet-black);font-size:.95rem;font-weight:600}.wallet-shell-gold .wallet-pocket{z-index:2;padding:var(--space-4) var(--space-6) max(var(--space-6), env(safe-area-inset-bottom));background-color:var(--wl-leather);background-image:repeating-linear-gradient(45deg, color-mix(in oklch, var(--wallet-edge) 7%, transparent) 0 1px, transparent 1px 7px), linear-gradient(180deg, color-mix(in oklch, var(--wallet-ivory) 3%, transparent), transparent 42%);box-shadow:0 -10px 28px var(--wallet-shadow);border:0;border-radius:22px 22px 0 0}.wallet-shell-gold .wallet-pocket:before{content:"";pointer-events:none;border:1px dashed var(--wallet-stitch);box-shadow:none;border-radius:16px 16px 0 0;position:absolute;inset:14px 12px 12px}.wallet-shell-gold .wallet-pocket:after{content:"";pointer-events:none;background:linear-gradient(180deg, var(--wallet-edge), var(--wl-lip));height:6px;box-shadow:inset 0 1px 0 color-mix(in oklch, var(--wallet-ivory) 8%, transparent), 0 1px 0 var(--wallet-shadow);border-radius:22px 22px 0 0;position:absolute;top:0;left:0;right:0}.wallet-shell-gold .wallet-card-gold:after{background:linear-gradient(180deg, transparent 62%, color-mix(in oklch, var(--wallet-black) 70%, transparent) 100%), linear-gradient(115deg, color-mix(in oklch, var(--wallet-ivory) 8%, transparent), transparent 35%, transparent 65%, color-mix(in oklch, var(--gold) 7%, transparent))}.wallet-shell-gold .wallet-btn{border-radius:var(--radius)}.wallet-shell-gold .wallet-btn-primary{background:linear-gradient(180deg, var(--wl-gold-light), var(--wl-gold));border-color:color-mix(in oklch, var(--wallet-black) 45%, var(--wl-gold));color:var(--wallet-black);box-shadow:inset 0 1px 0 color-mix(in oklch, var(--wallet-ivory) 28%, transparent), inset 0 -1px 0 var(--wallet-shadow), 0 1px 2px var(--wallet-shadow)}.wallet-shell-gold .wallet-btn-primary:hover{background:linear-gradient(180deg, color-mix(in oklch, var(--wl-gold-light) 88%, var(--wallet-ivory)), var(--wl-gold))}.wallet-shell-gold .wallet-btn-primary:disabled{background:color-mix(in oklch, var(--wl-gold) 72%, var(--wallet-edge));color:color-mix(in oklch, var(--wallet-black) 70%, transparent)}.wallet-shell-gold .wallet-btn-secondary{border-color:var(--wl-line);color:var(--wl-fg)}.wallet-shell-gold .wallet-btn-secondary:hover{background:color-mix(in oklch, var(--wallet-ivory) 5%, transparent)}.wallet-shell-gold .wallet-btn:focus-visible{outline-color:var(--wl-gold-light)}.wallet-shell-gold .wallet-foot{color:var(--wl-muted)}.wallet-shell-gold .wallet-foot a{color:var(--wl-fg);-webkit-text-decoration-color:color-mix(in oklch, var(--wl-fg) 38%, transparent);text-decoration-color:color-mix(in oklch, var(--wl-fg) 38%, transparent)}.wallet-shell-gold .wallet-status{margin:0 0 var(--space-1);align-items:center;gap:var(--space-2);color:var(--wl-muted);font-size:.82rem;line-height:1.4;display:flex}.wallet-shell-gold .wallet-status[data-state=error]{color:var(--wl-fg)}.wallet-shell-gold .wallet-status svg{color:var(--destructive);flex-shrink:0}.wallet-shell-gold[data-state=pending] .wallet-card-gold{transform:translateY(54px)}.wallet-shell-gold[data-state=success] .wallet-card-gold{transform:translateY(112px)}@media (width>=600px){.wallet-shell-gold .wallet-card-gold{max-width:256px}.wallet-shell-gold .wallet-stage,.wallet-shell-gold .wallet-pocket{max-width:440px}.wallet-shell-gold .wallet-pocket{border:1px solid var(--wl-line);border-radius:22px}.wallet-shell-gold .wallet-pocket:before{border-radius:16px}}.wallet-shell-gold .wallet-btn{touch-action:manipulation;-webkit-tap-highlight-color:transparent}.wallet-shell-gold .wallet-btn-primary{isolation:isolate;position:relative;overflow:hidden}.wallet-shell-gold .wallet-btn-primary:after{content:"";pointer-events:none;background:linear-gradient(110deg, transparent 25%, color-mix(in srgb, var(--wl-fg) 18%, transparent) 50%, transparent 75%);position:absolute;inset:0;transform:translate(-130%)}.wallet-shell-gold[data-state=pending] .wallet-btn-primary:after{animation:.42s ease-out both wallet-touch-reflection}.wallet-shell-gold .wallet-btn-secondary:active:not(:disabled){transform:translateY(1px)}.wallet-shell-gold .wallet-btn-primary:active:not(:disabled){transform:translateY(1px)scale(.995)}.wallet-shell-gold .wallet-status{min-block-size:2.8em}@media (hover:none){.wallet-shell-gold .wallet-btn-primary:hover:not(:active):not(:disabled){background:linear-gradient(180deg, var(--wl-gold-light), var(--wl-gold))}}@keyframes wallet-touch-reflection{to{transform:translate(130%)}}@media (prefers-reduced-motion:reduce){.wallet-shell-gold .wallet-btn-primary:after{animation:none}.wallet-shell-gold[data-state] .wallet-card-gold{transition:none;transform:translateY(64px)}.wallet-shell-gold .wallet-btn:active:not(:disabled){transform:none}}.leather-shell{--lw-paper:#f3f4f3;--lw-ink:#232627;--lw-muted:#6b7071;--lw-line:#d4d8d7;--lw-card:#dde2e1;--lw-radius:6px;background:var(--lw-paper);min-height:100svh;color:var(--lw-ink);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;flex-direction:column;font-family:-apple-system,BlinkMacSystemFont,Apple SD Gothic Neo,sans-serif;display:flex}.leather-shell button{font:inherit;cursor:pointer}.leather-shell button:focus-visible{outline:2px solid var(--lw-ink);outline-offset:6px}.leather-header{padding:max(29px, env(safe-area-inset-top)) 42px 0;justify-content:space-between;align-items:center;display:flex}.leather-wordmark{letter-spacing:-1.3px;font-size:23px;font-weight:600}.leather-domain{color:var(--lw-muted);font-size:11px}.leather-main{text-align:center;box-sizing:border-box;flex:1;width:100%;max-width:520px;margin:auto;padding:48px 24px 40px}.leather-main h1{letter-spacing:-.6px;margin:0 0 12px;font-size:19px;font-weight:500}.leather-intro{color:var(--lw-muted);margin:0;font-size:13px;line-height:1.7}.leather-wallet{width:100%;height:390px;color:var(--lw-ink);isolation:isolate;background:0 0;border:0;margin:25px auto 4px;padding:0;display:block;position:relative}.leather-pass{text-align:left;border:1px solid color-mix(in srgb, var(--lw-ink) 17%, var(--lw-card));border-radius:var(--lw-radius);background:linear-gradient(112deg, color-mix(in srgb, var(--lw-card) 85%, white), var(--lw-card));box-sizing:border-box;width:70%;height:220px;box-shadow:0 4px 9px color-mix(in srgb, var(--lw-ink) 9%, transparent);z-index:1;padding:24px;transition:transform .65s cubic-bezier(.2,.75,.25,1),top .65s cubic-bezier(.2,.75,.25,1);position:absolute;top:53px;left:15%;transform:rotate(-5deg)}.leather-pass-top{color:var(--lw-muted);justify-content:space-between;align-items:center;font-size:11px;display:flex}.leather-pass-brand{color:var(--lw-ink);letter-spacing:-.7px;font-size:16px;font-weight:500}.leather-pass-title{letter-spacing:-.8px;margin-top:38px;font-size:23px;font-weight:400;display:block}.leather-pass-detail{color:var(--lw-muted);margin-top:11px;font-size:11px;display:block}.leather-img{z-index:3;pointer-events:none;width:100%;height:auto;filter:drop-shadow(0 17px 14px color-mix(in srgb, var(--lw-ink) 15%, transparent));position:absolute;top:105px;left:0}.leather-wallet:hover .leather-pass,.leather-wallet:focus-visible .leather-pass{top:30px;transform:rotate(-3deg)}.leather-wallet[aria-pressed=true] .leather-pass{top:-5px;transform:rotate(0)}.leather-wallet:after{content:"";background:color-mix(in srgb, var(--lw-ink) 12%, transparent);filter:blur(17px);z-index:0;border-radius:50%;height:20px;position:absolute;bottom:18px;left:14%;right:14%}.leather-hint{color:var(--lw-muted);margin:0 0 27px;font-size:11px}.leather-actions{flex-direction:column;max-width:340px;margin:auto;display:flex}.leather-actions .error{text-align:left;margin-bottom:12px}.leather-open{border:1px solid var(--lw-ink);border-radius:var(--lw-radius);background:var(--lw-ink);width:100%;height:49px;color:var(--lw-paper);justify-content:space-between;align-items:center;padding:0 19px;font-size:13px;display:flex}.leather-open:disabled{opacity:.6;cursor:default}.leather-links{justify-content:space-between;margin-top:13px;display:flex}.leather-links button,.leather-links a{color:var(--lw-muted);background:0 0;border:0;padding:12px 0;font-size:12px;text-decoration:none}.leather-footer{padding:24px 42px max(24px, env(safe-area-inset-bottom));color:var(--lw-muted);border-top:1px solid var(--lw-line);box-sizing:border-box;justify-content:space-between;gap:20px;width:100%;max-width:1100px;margin:0 auto;font-size:10px;display:flex}@media (width>=1000px){.leather-main{padding-top:38px}.leather-wallet{margin-top:30px}}@media (width<=540px){.leather-header{padding:max(22px, env(safe-area-inset-top)) 24px 0}.leather-main{padding-top:28px}.leather-wallet{height:325px;margin-top:30px}.leather-pass{height:185px;padding:20px;top:45px}.leather-pass-title{margin-top:28px;font-size:20px}.leather-img{top:95px}.leather-wallet[aria-pressed=true] .leather-pass{top:0}.leather-wallet:after{bottom:14px}.leather-footer{padding-left:24px;padding-right:24px}.leather-hint{margin-bottom:24px}}@media (width<=370px){.leather-wallet{height:280px}.leather-img{top:84px}.leather-pass{height:170px;padding:17px;top:35px}.leather-pass-title{margin-top:24px;font-size:18px}.leather-pass-detail{font-size:10px}}@media (prefers-reduced-motion:reduce){.leather-pass{transition:none}}
