@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:initial;--lightningcss-dark: ;color-scheme:light;--background:oklch(98.5% .002 240);--foreground:oklch(21% .006 240);--card:oklch(99.5% .001 240);--card-foreground:oklch(21% .006 240);--primary:oklch(32% .014 240);--primary-foreground:oklch(98% .002 240);--secondary:oklch(94% .006 240);--secondary-foreground:oklch(28% .01 240);--muted:oklch(95.5% .004 240);--muted-foreground:oklch(50% .012 240);--accent:oklch(92% .008 240);--accent-foreground:oklch(28% .01 240);--destructive:oklch(58% .22 27);--success:oklch(55% .15 152);--warning:oklch(75% .16 80);--border:oklch(90% .006 240);--input:oklch(90% .006 240);--ring:oklch(32% .014 240);--radius:6px;--radius-sm:calc(var(--radius) - 2px);--radius-lg:calc(var(--radius) + 4px);--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}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);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}@media (width>=1024px){.page-shell{max-width:480px;margin:0 auto}}.tabs{gap:var(--space-1);border-bottom:1px solid var(--border);margin-bottom:var(--space-4);display:flex}.tab{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;margin-bottom:-1px;font-size:.85rem;font-weight:600;transition:color .15s,background-color .15s,border-color .15s}.tab:hover{color:var(--foreground);background:color-mix(in oklch, var(--accent) 50%, transparent)}.tab-active{color:var(--primary);border-bottom-color:var(--primary)}.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:0 1px 2px color-mix(in oklch, var(--foreground) 6%, transparent);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}.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{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{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.5rem;height:2.5rem;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}.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;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}.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;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}.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:0 1px 2px color-mix(in oklch, var(--foreground) 6%, transparent);transition:box-shadow .15s,border-color .15s;display:flex}.passkey-item:hover{border-color:color-mix(in oklch, var(--primary) 20%, var(--border));box-shadow:0 2px 8px color-mix(in oklch, var(--foreground) 10%, transparent)}.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}.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:0 4px 16px color-mix(in oklch, var(--foreground) 18%, transparent);padding:var(--space-1);flex-direction:column;display:flex;position:absolute}.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}.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-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{letter-spacing:.16em;color:var(--muted-foreground);text-transform:uppercase;font-size:.8rem;font-weight:700}.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;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}@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)}}
