:root{--bg:#f2f2f7;--card:#fff;--sidebar:#ececf0;--text:#1c1c1e;--text2:#8a8a8e;--text3:#b8b8bd;--sep:rgba(60,60,67,.12);--sepb:rgba(60,60,67,.2);--fill:hsla(240,4%,48%,.12);--hover:rgba(0,0,0,.035);--sel:rgba(0,0,0,.065);--tint:#007aff;--green:#34c759;--red:#ff3b30;--orange:#ff9500;--yellow:#fc0;--purple:#af52de;--pink:#ff2d55;--toolbar:rgba(246,246,248,.8);--switch-off:#e9e9ea;--scroll:rgba(0,0,0,.18);--font:-apple-system,BlinkMacSystemFont,"SF Pro Text","SF Pro Display","Helvetica Neue",system-ui,sans-serif;--mono:ui-monospace,"SF Mono",Menlo,monospace;--ease:cubic-bezier(.32,.72,0,1)}html[data-theme=dark]{--bg:#000;--card:#1c1c1e;--sidebar:#161618;--text:#f5f5f7;--text2:#98989f;--text3:#5c5c61;--sep:rgba(84,84,88,.55);--sepb:rgba(84,84,88,.7);--fill:hsla(240,4%,48%,.26);--hover:hsla(0,0%,100%,.06);--sel:hsla(0,0%,100%,.09);--tint:#0a84ff;--green:#30d158;--red:#ff453a;--orange:#ff9f0a;--yellow:#ffd60a;--purple:#bf5af2;--pink:#ff375f;--toolbar:rgba(28,28,30,.72);--switch-off:#39393d;--scroll:hsla(0,0%,100%,.22)}*{box-sizing:border-box;margin:0;padding:0}body,html{height:100%}body{font-family:var(--font);color:var(--text);background:var(--bg);overflow:hidden;-webkit-font-smoothing:antialiased;letter-spacing:-.012em}button{font-family:inherit;cursor:pointer;border:none;background:none;color:inherit}.ic{width:19px;height:19px;flex:none;stroke:currentColor;fill:none;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}.sprite{display:none}.tnum{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.sq{display:grid;place-items:center;border-radius:30%;flex:none;color:#fff}.sq .ic{stroke:#fff;stroke-width:2.1}.btn{display:inline-flex;align-items:center;gap:6px;height:34px;padding:0 15px;border-radius:9px;font-size:14px;font-weight:590;transition:.15s var(--ease)}.btn .ic{width:16px;height:16px}.btn-tint{background:var(--tint);color:#fff}.btn-tint:hover{filter:brightness(1.05)}.btn-tint:active{filter:brightness(.92)}.btn-plain{background:var(--fill);color:var(--text)}.btn-plain:hover{background:hsla(240,4%,48%,.18)}.btn-text{color:var(--tint);font-weight:500;padding:0 4px;height:auto;background:none}.btn-text:hover{opacity:.6}.icon-btn{display:grid;place-items:center;width:34px;height:34px;border-radius:9px;color:var(--tint);background:var(--fill);transition:.15s var(--ease)}.icon-btn:hover{background:hsla(240,4%,48%,.18)}.unlock{position:fixed;inset:0;z-index:50;display:grid;place-items:center;background:var(--bg);transition:.5s var(--ease)}.unlock.hidden{opacity:0;transform:scale(1.02);pointer-events:none}.u-card{width:330px;text-align:center;animation:fade .6s var(--ease) both}.u-icon{width:78px;height:78px;border-radius:30%;margin:0 auto 22px;display:grid;place-items:center;background:linear-gradient(180deg,#3a9bff,var(--tint));box-shadow:0 10px 28px -8px rgba(0,122,255,.5)}.u-icon .ic{width:38px;height:38px;stroke:#fff;stroke-width:2}.u-title{font-size:27px;font-weight:700;letter-spacing:-.03em}.u-sub{color:var(--text2);font-size:15px;margin-top:7px;margin-bottom:30px;line-height:1.4}.u-field{display:flex;align-items:center;gap:8px;background:var(--card);border-radius:12px;padding:0 6px 0 16px;box-shadow:0 1px 3px rgba(0,0,0,.05)}.u-field input{flex:1 1;background:none;border:none;outline:none;font-family:var(--mono);font-size:16px;color:var(--text);padding:15px 0;letter-spacing:.06em}.u-field input::placeholder{font-family:var(--font);letter-spacing:0;color:var(--text3)}.u-eye{display:grid;place-items:center;width:34px;height:34px;border-radius:8px;color:var(--text3)}.u-eye:hover{color:var(--text2)}.u-btn{width:100%;justify-content:center;height:50px;margin-top:16px;font-size:16px;font-weight:600;border-radius:13px}.u-faceid{margin-top:18px;display:inline-flex;align-items:center;gap:7px;color:var(--tint);font-size:14px;font-weight:500}.u-faceid .ic{width:17px;height:17px}.u-hint{margin-top:22px;font-size:12px;color:var(--text3);line-height:1.5}.u-err{margin-top:13px;font-size:13px;font-weight:500;color:var(--red)}.u-toggle{margin-top:18px;color:var(--tint);font-size:14px;font-weight:500}.u-toggle:hover{opacity:.6}.u-field+.u-field{margin-top:10px}.u-field .ic{color:var(--text3);margin-right:2px}.btn[disabled]{opacity:.55;pointer-events:none}.empty .btn{margin-top:16px}.app{height:100vh;height:100dvh;display:flex;flex-direction:column;overflow:hidden}.toolbar{height:52px;flex:none;display:flex;align-items:center;gap:14px;padding:0 16px;background:var(--toolbar);backdrop-filter:saturate(180%) blur(20px);-webkit-backdrop-filter:saturate(180%) blur(20px);border-bottom:1px solid var(--sep);position:relative;z-index:5}.lights{display:flex;gap:8px}.lights span{width:12px;height:12px;border-radius:50%}.l-r{background:#ff5f57}.l-y{background:#febc2e}.l-g{background:#28c840}.t-search{flex:1 1;max-width:380px;margin:0 auto;display:flex;align-items:center;gap:7px;height:30px;padding:0 11px;background:var(--fill);border-radius:9px;color:var(--text2)}.t-search,.t-search input{min-width:0}.t-search .ic{width:15px;height:15px}.t-search input{flex:1 1;background:none;border:none;outline:none;font-size:13.5px;color:var(--text);font-family:inherit}.t-actions{gap:9px}.t-actions,.tints{display:flex;align-items:center}.tints{gap:7px;padding-right:11px;margin-right:2px;border-right:1px solid var(--sep)}.tn{width:16px;height:16px;border-radius:50%;cursor:pointer;transition:.14s var(--ease);position:relative}.tn:hover{transform:scale(1.15)}.tn.on{box-shadow:0 0 0 2px var(--bg),0 0 0 3.5px currentColor}.avatar{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;font-size:13px;font-weight:600;color:#fff;background:linear-gradient(180deg,#a0a0a8,#7c7c84)}.workspace{flex:1 1;display:grid;grid-template-columns:230px 350px 1fr;min-height:0}.sidebar{background:var(--sidebar);border-right:1px solid var(--sep);overflow-y:auto;-webkit-overflow-scrolling:touch;padding:14px 11px}.nav-h{font-size:12px;font-weight:600;color:var(--text2);padding:16px 10px 7px;letter-spacing:-.01em}.nav-h:first-child{padding-top:6px}.nav-item{display:flex;align-items:center;gap:11px;padding:6px 10px;border-radius:8px;cursor:pointer;transition:.12s var(--ease);font-size:14px;font-weight:450}.nav-item:hover{background:var(--hover)}.nav-item.active{background:var(--sel)}.nav-item .sq{width:27px;height:27px}.nav-item .sq .ic{width:16px;height:16px}.nav-item .count{margin-left:auto;font-size:13px;color:var(--text2);font-weight:450}.listcol{background:var(--card);border-right:1px solid var(--sep);display:flex;flex-direction:column;min-height:0;min-width:0}.list-top{padding:18px 18px 10px;flex:none}.list-top .lt-row{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:12px}.list-top h1{font-size:25px;font-weight:700;letter-spacing:-.025em}.list-top .cnt{font-size:14px;color:var(--text2);padding-bottom:3px}.list-search{display:flex;align-items:center;gap:7px;height:34px;padding:0 11px;background:var(--fill);border-radius:10px;color:var(--text2)}.list-search .ic{width:16px;height:16px}.list-search input{flex:1 1;background:none;border:none;outline:none;font-size:14px;color:var(--text);font-family:inherit}.list{overflow-y:auto;-webkit-overflow-scrolling:touch;flex:1 1;padding:4px 10px 14px}.row{display:flex;align-items:center;gap:12px;padding:9px 10px;border-radius:11px;cursor:pointer;transition:.1s var(--ease);position:relative}.row:hover{background:var(--hover)}.row.active{background:var(--tint)}.row.active .chev,.row.active .r-name,.row.active .r-sub{color:#fff}.row.active .r-sub{opacity:.85}.row .sq{width:38px;height:38px;font-size:16px;font-weight:600}.r-body{min-width:0;flex:1 1}.r-name{font-size:15px;font-weight:550;display:flex;align-items:center;gap:6px}.r-name .fav{width:12px;height:12px;color:var(--orange)}.row.active .r-name .fav{color:#fff}.r-name .fav .ic{width:12px;height:12px;fill:currentColor;stroke:currentColor}.r-sub{font-size:13px;color:var(--text2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-top:1px;font-family:var(--mono)}.chev{color:var(--text3)}.chev .ic{width:16px;height:16px;stroke-width:2.4}.detailcol{background:var(--bg);overflow-y:auto;-webkit-overflow-scrolling:touch;min-height:0;min-width:0}.d-top{display:flex;align-items:center;gap:16px;padding:26px 26px 20px}.d-top .sq{width:62px;height:62px;font-size:26px;font-weight:600;border-radius:28%}.d-top h1{font-size:23px;font-weight:700;letter-spacing:-.02em}.d-top .site{color:var(--tint);font-size:14px;margin-top:3px;font-family:var(--mono)}.d-top .edit{margin-left:auto;align-self:flex-start}.group{background:var(--card);border-radius:13px;margin:0 22px 20px;overflow:hidden;box-shadow:0 1px 3px rgba(0,0,0,.04)}.g-label{font-size:12.5px;font-weight:600;color:var(--text2);text-transform:uppercase;letter-spacing:.02em;margin:0 22px 7px;padding-top:2px}.cell{display:flex;align-items:center;gap:12px;padding:13px 16px;position:relative}.cell+.cell:before{content:"";position:absolute;top:0;left:16px;right:0;height:1px;background:var(--sep)}.cell .ck{font-size:13px;color:var(--text2);width:78px;flex:none}.cell .cv{flex:1 1;font-size:15px;font-family:var(--mono);word-break:break-all}.cell .cv.pw{letter-spacing:.08em}.cell .act{display:flex;gap:2px;margin-left:auto}.mini{width:30px;height:30px;border-radius:8px;display:grid;place-items:center;color:var(--tint);transition:.12s var(--ease);flex:none}.mini:hover{background:var(--fill)}.mini.copied{color:var(--green)}.mini .ic{width:17px;height:17px}.meter{display:flex;gap:5px;padding:0 16px 14px}.seg{height:4px;flex:1 1;border-radius:2px;background:var(--fill);transition:.3s}.meter-lbl{font-size:12px;padding:0 16px 13px;font-weight:500}.totp-cell .code{font-family:var(--mono);font-size:19px;font-weight:500;letter-spacing:.1em;color:var(--tint)}.ring{width:26px;height:26px;border-radius:50%;flex:none;background:conic-gradient(var(--tint) calc(var(--p,100)*1%),var(--fill) 0);display:grid;place-items:center;position:relative}.ring:after{content:"";position:absolute;inset:3px;border-radius:50%;background:var(--card)}.ring span{position:relative;font-size:9px;font-family:var(--mono);color:var(--text2)}.notes-cell{padding:14px 16px;font-size:14px;color:var(--text);line-height:1.5}.meta{padding:0 26px 30px;font-size:12px;color:var(--text3);display:flex;gap:20px}.meta b{color:var(--text2);font-weight:500}.del{color:var(--red);font-weight:450}.empty{height:100%;display:grid;place-items:center;text-align:center;color:var(--text3);font-size:14px}.empty .ic{width:32px;height:32px;margin-bottom:12px;opacity:.5}.overlay{position:fixed;inset:0;z-index:60;display:grid;place-items:center;padding:24px;background:rgba(0,0,0,.45);backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);opacity:0;pointer-events:none;transition:.25s var(--ease)}.overlay.show{opacity:1;pointer-events:auto}.sheet{width:420px;max-width:100%;background:var(--bg);border-radius:18px;box-shadow:0 30px 70px -20px rgba(0,0,0,.4);transform:translateY(14px) scale(.98);transition:.28s var(--ease);overflow:hidden}.overlay.show .sheet{transform:none}.sh-head{display:flex;align-items:center;padding:16px 18px;background:var(--card);border-bottom:1px solid var(--sep)}.sh-head h3{font-size:16px;font-weight:600;flex:1 1;text-align:center}.sh-head .btn-text{min-width:54px}.sh-head .btn-text:last-child{text-align:right;font-weight:600}.sh-body{padding:18px}.gen-disp{background:var(--card);border-radius:13px;padding:22px 16px;text-align:center;position:relative;margin-bottom:14px;box-shadow:0 1px 3px rgba(0,0,0,.04)}.gen-pw{font-family:var(--mono);font-size:19px;font-weight:500;word-break:break-all;line-height:1.5}.gen-pw .s{color:var(--tint)}.gen-pw .n{color:var(--green)}.gen-pw .l{color:var(--text)}.gen-act{position:absolute;top:9px;right:9px;display:flex;gap:3px}.gen-group{background:var(--card);border-radius:13px;overflow:hidden;box-shadow:0 1px 3px rgba(0,0,0,.04)}.gen-row{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;position:relative}.gen-row+.gen-row:before{content:"";position:absolute;top:0;left:16px;right:0;height:1px;background:var(--sep)}.gen-row .lab{font-size:15px}.gen-row .lab small{color:var(--text2);font-family:var(--mono);font-size:12px;margin-left:5px}.len-val{font-family:var(--mono);color:var(--tint);font-weight:600;font-size:15px;min-width:26px;text-align:right}input[type=range]{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:170px;height:4px;border-radius:3px;background:var(--fill);outline:none}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:24px;height:24px;border-radius:50%;background:#fff;cursor:pointer;box-shadow:0 1px 4px rgba(0,0,0,.28),0 0 0 .5px rgba(0,0,0,.04)}.sw{width:51px;height:31px;border-radius:16px;background:var(--switch-off);position:relative;cursor:pointer;flex:none}.sw,.sw:after{transition:.22s var(--ease)}.sw:after{content:"";position:absolute;top:2px;left:2px;width:27px;height:27px;border-radius:50%;background:#fff;box-shadow:0 2px 5px rgba(0,0,0,.2)}.sw.on{background:var(--green)}.sw.on:after{left:22px}.gen-foot{margin-top:16px}.gen-foot .btn{width:100%;justify-content:center;height:48px;font-size:16px;font-weight:600;border-radius:13px}.form-group{background:var(--card);border-radius:13px;overflow:hidden;box-shadow:0 1px 3px rgba(0,0,0,.04)}.frow{display:flex;align-items:center;padding:0 16px;position:relative}.frow+.frow:before{content:"";position:absolute;top:0;left:16px;right:0;height:1px;background:var(--sep)}.frow .fk{width:84px;flex:none}.frow .fk,.frow input{font-size:15px;color:var(--text)}.frow input{flex:1 1;border:none;outline:none;background:none;padding:13px 0;font-family:var(--font)}.frow input::placeholder{color:var(--text3)}.frow:focus-within{background:var(--hover)}.chips{display:flex;gap:8px;flex-wrap:wrap;padding:0 2px}.chip{padding:9px 15px;border-radius:20px;background:var(--fill);color:var(--text);font-size:14px;font-weight:500;cursor:pointer;transition:.15s var(--ease)}.chip:hover{background:hsla(240,4%,48%,.2)}.chip.on{background:var(--tint);color:#fff}.chip:active{transform:scale(.95)}.list-search:focus-within,.t-search:focus-within,.u-field:focus-within{box-shadow:0 0 0 3.5px color-mix(in srgb,var(--tint) 22%,transparent)}button:focus-visible{outline:2px solid var(--tint);outline-offset:2px;border-radius:9px}input:focus-visible{outline:none}.toast{position:fixed;bottom:26px;left:50%;transform:translateX(-50%) translateY(18px);z-index:80;display:flex;align-items:center;gap:9px;padding:11px 18px;border-radius:22px;font-size:14px;font-weight:550;background:rgba(40,40,42,.92);color:#fff;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 8px 28px rgba(0,0,0,.25);opacity:0;pointer-events:none;transition:.3s var(--ease)}.toast.show{opacity:1;transform:translateX(-50%) translateY(0)}.toast .ic{color:var(--green);width:16px;height:16px}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-thumb{background:var(--scroll);border-radius:8px;border:2px solid transparent;background-clip:padding-box}@keyframes fade{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes itemIn{0%{opacity:0;transform:translateY(9px)}to{opacity:1;transform:none}}@keyframes detailIn{0%{opacity:0;transform:translateY(7px) scale(.996)}to{opacity:1;transform:none}}@keyframes colIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}@keyframes deckIn{0%{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:none}}@keyframes pop{0%{transform:scale(1)}45%{transform:scale(1.3)}to{transform:scale(1)}}@keyframes lockPop{0%{transform:scale(1)}35%{transform:scale(1.16) rotate(-7deg)}70%{transform:scale(.97) rotate(3deg)}to{transform:scale(1) rotate(0)}}@keyframes unlockOut{0%{opacity:1}28%{transform:translateY(-7px)}to{opacity:0;transform:translateY(-14px) scale(1.05)}}.app .toolbar{animation:deckIn .5s var(--ease) backwards}.app .sidebar{animation:colIn .55s var(--ease) .06s backwards}.app .detailcol{animation:colIn .55s var(--ease) .16s backwards}.list .row{animation:itemIn .42s var(--ease) backwards}.d-anim{animation:detailIn .34s var(--ease) both}.mini.copied{animation:pop .34s var(--ease)}.unlock.opening .u-card{animation:unlockOut .7s var(--ease) forwards}.unlock.opening .u-icon{animation:lockPop .55s var(--ease)}.back-btn:active,.btn:active,.icon-btn:active,.mini:active,.u-eye:active{transform:scale(.93)}.row:active{transform:scale(.987)}.nav-item:active{transform:scale(.97)}.t-anim .detailcol,.t-anim .form-group,.t-anim .gen-disp,.t-anim .gen-group,.t-anim .group,.t-anim .listcol,.t-anim .sh-head,.t-anim .sheet,.t-anim .sidebar,.t-anim .toolbar,.t-anim body{transition:background-color .34s var(--ease),color .34s var(--ease),border-color .34s var(--ease)}@media (prefers-reduced-motion:reduce){*{animation-duration:.001ms!important;animation-delay:0ms!important;transition-duration:.01ms!important}}.back-btn,.menu-btn,.side-foot,.t-title{display:none}.drawer-backdrop{position:fixed;inset:0;z-index:35;background:rgba(0,0,0,.3);opacity:0;pointer-events:none;transition:.25s var(--ease)}.drawer-backdrop.show{opacity:1;pointer-events:auto}.back-btn{align-items:center;justify-content:center;width:34px;height:34px;border-radius:9px;color:var(--tint);background:var(--fill);flex:none}.back-btn .ic{width:20px;height:20px}@media(max-width:1060px){.toolbar{gap:8px;padding:0 10px}.lights{display:none}.menu-btn{display:grid}.t-search,.theme-btn,.tints{display:none}.t-title{display:flex;align-items:center;justify-content:center;flex:1 1;font-size:16px;font-weight:600;letter-spacing:-.02em}.workspace{grid-template-columns:1fr}.sidebar{position:fixed;top:52px;left:0;bottom:0;width:278px;z-index:40;display:flex;flex-direction:column;overflow:hidden;padding:0;transform:translateX(-100%);transition:transform .28s var(--ease);box-shadow:0 0 44px rgba(0,0,0,.4)}.sidebar.open{transform:none}.sidebar>nav{flex:1 1;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:12px 11px}.side-foot{display:flex;flex-direction:column;gap:13px;padding:14px 16px calc(14px + env(safe-area-inset-bottom));border-top:1px solid var(--sep)}.side-row{display:flex;align-items:center;gap:11px;font-size:14.5px;font-weight:500;color:var(--text)}.side-row .ic{width:19px;height:19px}.side-tints{display:flex;gap:13px;padding-left:2px}.side-tints .tn{width:19px;height:19px}.listcol{border-right:none}.list-top{padding:14px 16px 8px}.detailcol{position:fixed;inset:52px 0 0 0;z-index:30;display:none}.workspace.view-detail .detailcol{display:block}.back-btn{display:flex}.d-top{padding:18px 16px 16px}.group{margin:0 16px 16px}.g-label,.meta{margin-left:16px;margin-right:16px}}@media(max-width:420px){.avatar{display:none}}