:root{--bg:#f4f5f7;--panel:#ffffff;--panel-2:#fafbfc;--panel-3:#eef0f3;--ink:#17181a;--mut:#5a6068;--dim:#858c94;--sig:#2a5ce8;--sig-strong:#1e47bf;--sig-soft:#e9eefc;--ok:#1f9d5b;--ok-strong:#177a47;--ok-soft:#e6f4ec;--warn:#855e1f;--warn-soft:#f8efde;--err:#b93831;--err-soft:#fbecea;--border:rgba(23,24,26,0.08);--border-strong:rgba(23,24,26,0.15);--focus:var(--sig);--font-sans:-apple-system,"SF Pro Text",system-ui,"Segoe UI","PingFang SC","HarmonyOS Sans SC","MiSans","Microsoft YaHei","Noto Sans SC",sans-serif;--font-mono:ui-monospace,"SF Mono","Cascadia Code",Consolas,"JetBrains Mono","PingFang SC","Microsoft YaHei",monospace;--r-sm:10px;--r:14px;--r-lg:18px;--r-xl:24px;--r-pill:999px;--shadow-1:0 1px 2px rgba(23,24,26,0.05),0 1px 4px rgba(23,24,26,0.04);--shadow-2:0 8px 24px rgba(23,24,26,0.07),0 2px 6px rgba(23,24,26,0.04);--shadow-lg:0 24px 60px rgba(23,24,26,0.16),0 6px 16px rgba(23,24,26,0.07);--dock-h:64px}*,:after,:before{box-sizing:border-box}body,html{padding:0;margin:0;height:100%;overflow-x:hidden}h1,h2,h3,h4,p,pre{margin:0}button{background:none;border:none;padding:0;cursor:pointer;text-align:inherit}button,input,textarea{font:inherit;color:inherit}a{color:inherit}body{background:var(--bg);color:var(--ink);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:15px;line-height:1.6}::selection{background:var(--sig-soft);color:var(--sig-strong)}.mono{font-family:var(--font-mono);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;letter-spacing:-.01em}.silk{font-size:12px;font-weight:600;color:var(--mut)}.silk,.zh{letter-spacing:.02em}.led{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--dim);transition:background .15s;flex-shrink:0}.led.on{background:var(--sig)}.led.ok{background:var(--ok)}.led.err{background:var(--err)}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:6px;border:2px solid transparent;background-clip:content-box}::-webkit-scrollbar-thumb:hover{background:var(--dim);background-clip:content-box}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-weight:600;font-size:15px;border:1px solid var(--border-strong);border-radius:var(--r-sm);padding:11px 18px;min-height:44px;color:var(--ink);background:var(--panel);box-shadow:var(--shadow-1);white-space:nowrap;transition:transform .12s ease,background .15s ease,border-color .15s ease,opacity .15s ease,box-shadow .15s ease,color .15s ease}.btn:hover{border-color:var(--sig);color:var(--sig-strong)}.btn:hover svg{stroke:var(--sig-strong)}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.45;cursor:not-allowed;box-shadow:none}.btn-primary:disabled{opacity:1;background:var(--sig-soft);border-color:transparent;color:rgba(30,71,191,.5)}.btn-primary{background:var(--sig);color:#fff;border-color:var(--sig);box-shadow:0 2px 6px rgba(42,92,232,.28),0 8px 20px rgba(42,92,232,.18)}.btn-primary:hover{background:var(--sig-strong);border-color:var(--sig-strong);color:#fff}.btn-primary:hover svg{stroke:#fff}.btn-primary:active{transform:translateY(1px);box-shadow:0 2px 6px rgba(42,92,232,.28)}.btn-ghost{background:transparent;border-color:transparent;box-shadow:none;color:var(--mut);padding:10px 14px}.btn-ghost:hover{background:var(--panel-3);color:var(--ink)}.btn-danger{background:transparent;border-color:var(--border-strong);color:var(--err);box-shadow:none}.btn-danger:hover{background:var(--err-soft);border-color:var(--err);color:var(--err)}.btn-danger:hover svg{stroke:var(--err)}.btn-icon{padding:10px}.input{width:100%;color:var(--ink);background:var(--panel);border:1px solid var(--border-strong);border-radius:12px;padding:12px 14px;min-height:46px;font-size:16px;transition:border-color .15s ease,box-shadow .15s ease}.input::placeholder{color:var(--mut)}.input:focus{outline:none;border-color:var(--sig);box-shadow:0 0 0 3px var(--sig-soft)}.label{font-size:13px;font-weight:600;color:var(--mut);letter-spacing:.02em}.card{background:var(--panel);border:1px solid var(--border);border-radius:var(--r);box-shadow:var(--shadow-1)}.lock-screen{min-height:100vh;min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:24px 20px;background:radial-gradient(760px 480px at 50% -10%,rgba(42,92,232,.05),transparent 62%),var(--bg)}.lock-card{width:min(400px,100%);background:var(--panel);border:1px solid var(--border);border-radius:var(--r-xl);box-shadow:var(--shadow-lg);padding:34px 28px 26px}.lock-brand{display:flex;flex-direction:column;align-items:center;gap:16px;padding-bottom:22px}.lock-brand .rail-mark{width:56px;height:56px;border-radius:17px;background:var(--sig-soft);color:var(--sig);box-shadow:0 0 0 8px rgba(42,92,232,.05),0 10px 22px rgba(42,92,232,.14)}.lock-brand .rail-mark svg{stroke:var(--sig);width:100%;height:100%;display:block}.lock-brand b{font-size:17px;font-weight:700;letter-spacing:.02em;color:var(--ink)}.door-form{display:flex;flex-direction:column;gap:16px}.pw-wrap{position:relative}.pw-wrap .input{padding-right:46px}.pw-wrap .pw-eye{position:absolute;right:4px;top:50%;transform:translateY(-50%);display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:10px;color:var(--mut);transition:background .15s,color .15s}.pw-wrap .pw-eye:hover{background:var(--panel-3);color:var(--ink)}.pw-wrap .pw-eye.lit{color:var(--sig);background:var(--sig-soft)}.pw-wrap .pw-eye svg{width:18px;height:18px;stroke:currentColor}.door-submit{width:100%;min-height:52px;border-radius:14px;font-size:16px;font-weight:650}.status-line{font-size:13px;color:var(--mut);min-height:20px;transition:color .2s}.status-line.armed{color:var(--sig-strong)}.status-line.error{color:var(--err)}.status-line.granted{color:var(--ok-strong)}.door-mode-switch{font-size:14px;font-weight:600;color:var(--sig);padding:10px 0 2px;align-self:center;transition:color .15s}.door-mode-switch:hover{color:var(--sig-strong)}@media (max-width:899px){.lock-screen{padding:18px 16px}.lock-card{width:min(292px,100%);padding:22px 20px 18px}.lock-brand{gap:9px;padding-bottom:13px}.lock-brand .rail-mark{width:40px;height:40px;border-radius:12px;box-shadow:0 0 0 5px rgba(42,92,232,.05),0 6px 12px rgba(42,92,232,.14)}.lock-brand b{font-size:14px}.door-form{gap:10px}.door-form .input{min-height:44px;padding:9px 12px;line-height:1.3}.pw-wrap .input{padding-right:42px}.pw-wrap .pw-eye{width:32px;height:32px}.pw-wrap .pw-eye svg{width:15px;height:15px}.door-submit{min-height:44px;font-size:14.5px}.door-mode-switch{font-size:13px;padding:8px 0 0}}.desk{display:grid;grid-template-columns:1fr;min-height:100vh;min-height:100dvh;animation:deskIn .4s ease}@keyframes deskIn{0%{opacity:0}to{opacity:1}}.rail{display:none;border-right:1px solid var(--border);padding:22px 14px 16px;flex-direction:column;gap:3px;position:-webkit-sticky;position:sticky;top:0;height:100vh;height:100dvh;overflow-y:auto}.rail-brand{display:flex;align-items:center;gap:10px;padding:4px 8px 20px}.rail-mark{width:34px;height:34px;border-radius:10px;background:var(--sig);display:grid;place-items:center;color:#fff;flex-shrink:0}.rail-mark svg{stroke:#fff}.rail-brand b{font-size:16px;font-weight:700;letter-spacing:.01em;white-space:nowrap;color:var(--ink)}.navk{display:flex;align-items:center;gap:11px;padding:11px 12px;border-radius:var(--r-sm);color:var(--mut);font-size:14px;font-weight:600;text-align:left;transition:background .15s,color .15s}.navk svg{width:17px;height:17px;stroke:var(--mut);flex-shrink:0;transition:stroke .15s}.navk .c{margin-left:auto;font-family:var(--font-mono);font-size:12px;color:var(--dim);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.navk:hover{background:var(--panel);color:var(--ink)}.navk.on{background:var(--sig-soft);color:var(--sig-strong)}.navk.on svg{stroke:var(--sig)}.navk.on .c{color:var(--sig-strong)}.rail-spacer{flex:1 1}.rail-tools{display:flex;flex-direction:column;gap:3px;border-top:1px solid var(--border);padding-top:12px;margin-top:12px}.rail-foot{display:flex;align-items:center;gap:8px;padding:14px 10px 0}.list-pane{display:flex;flex-direction:column;min-width:0;height:auto}.m-top{display:flex;align-items:center;gap:8px;padding:16px 16px 0}.m-top .rail-brand{padding:0;flex:1 1;min-width:0}.m-top .rail-brand b{font-size:17px}.switch-bank{display:flex;gap:8px}.bank-key{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border:1px solid var(--border-strong);border-radius:12px;background:var(--panel);box-shadow:var(--shadow-1);flex-shrink:0;transition:all .16s}.bank-key svg{width:18px;height:18px;stroke:var(--mut);transition:stroke .16s}.bank-key .silk{display:none}.bank-key:hover{border-color:var(--sig)}.bank-key:hover svg{stroke:var(--sig-strong)}.bank-key:active{transform:translateY(1px)}.bank-key.danger:hover{border-color:var(--err)}.bank-key.danger:hover svg{stroke:var(--err)}.m-chips{display:flex;gap:8px;overflow-x:auto;padding:12px 16px 2px;scrollbar-width:none}.m-chips::-webkit-scrollbar{display:none}.chip{display:inline-flex;align-items:center;gap:7px;flex-shrink:0;font-size:13.5px;font-weight:600;color:var(--mut);border:1px solid var(--border-strong);background:var(--panel);border-radius:var(--r-pill);padding:0 15px;height:40px;transition:all .15s;white-space:nowrap}.chip .dot{width:7px;height:7px;border-radius:50%;background:var(--chip-c,var(--dim));flex-shrink:0}.chip .c{font-family:var(--font-mono);font-size:11.5px;color:var(--dim);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.chip.on{background:var(--ink);border-color:var(--ink);color:#fff}.chip.on .c{color:rgba(255,255,255,.72)}.chip.on .dot{background:#fff}.list-pane-head{padding:14px 16px 4px;display:flex;flex-wrap:wrap;align-items:center;gap:10px;flex-shrink:0}.grid-title{font-size:17px;font-weight:700;color:var(--ink);flex-shrink:0}.rack-search{flex:1 1;display:flex;align-items:center;gap:9px;min-width:180px;background:var(--panel);border:1px solid var(--border-strong);border-radius:var(--r-pill);padding:0 14px;height:44px;transition:border-color .15s,box-shadow .15s}.rack-search:focus-within{border-color:var(--sig);box-shadow:0 0 0 3px var(--sig-soft)}.rack-search svg{width:15px;height:15px;stroke:var(--dim);flex-shrink:0}.rack-search input{flex:1 1;min-width:0;background:none;border:none;outline:none;font-size:16px;color:var(--ink);height:100%}.rack-search input::placeholder{color:var(--mut);opacity:.8}.list-rows{flex:1 1;overflow-y:auto;padding:10px 16px calc(var(--dock-h) + 48px)}.lrow{position:relative;display:flex;align-items:center;gap:12px;width:100%;min-height:64px;padding:11px 12px 11px 14px;margin-bottom:8px;border-radius:var(--r);border:1px solid var(--border);background:var(--panel);box-shadow:var(--shadow-1);color:var(--ink);transition:border-color .15s ease,box-shadow .15s ease,transform .12s ease}.lrow:hover{border-color:var(--border-strong);box-shadow:var(--shadow-2)}.lrow:active{transform:scale(.99)}.lrow.active{border-color:var(--sig);box-shadow:0 0 0 1px var(--sig),var(--shadow-2)}.lrow-icon{width:40px;height:40px;border-radius:12px;flex-shrink:0;display:flex;align-items:center;justify-content:center;background:var(--cat-bg,var(--panel-3))}.lrow-icon svg{width:18px;height:18px;stroke:var(--cat-fg,var(--mut))}.site-letter{font-size:16px;font-weight:700;line-height:1}.module-glyph .site-letter{font-size:18px}.site-fav{width:58%;height:58%;object-fit:contain;border-radius:4px}.lrow-main{min-width:0;flex:1 1}.lrow-title{font-size:15.5px;font-weight:600}.lrow-sub,.lrow-title{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.lrow-sub{font-family:var(--font-mono);font-size:12.5px;color:var(--mut);margin-top:2px}.act-btn.lrow-copy{width:40px;height:40px;min-width:40px;padding:0;border-radius:50%;border-color:transparent;background:var(--panel-3);box-shadow:none}.act-btn.lrow-copy:hover{background:var(--sig-soft);color:var(--sig-strong)}.list-empty{padding:44px 16px;text-align:center;color:var(--mut);font-size:14px}.lrow.just-saved{animation:rowPulse 1.7s ease-out both}@keyframes rowPulse{0%,to{border-color:var(--border);box-shadow:var(--shadow-1)}18%,60%{border-color:var(--sig);box-shadow:0 0 0 3px var(--sig-soft)}}.dock{position:fixed;left:50%;transform:translateX(-50%);width:max-content;white-space:nowrap;bottom:calc(16px + env(safe-area-inset-bottom, 0px));display:flex;align-items:center;gap:8px;padding:8px;background:rgba(255,255,255,.92);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border:1px solid var(--border);border-radius:var(--r-pill);box-shadow:0 12px 36px rgba(23,24,26,.18),0 2px 8px rgba(23,24,26,.08);z-index:40;animation:dockIn .4s cubic-bezier(.2,.8,.2,1) both}@keyframes dockIn{0%{opacity:0;transform:translate(-50%,16px)}to{opacity:1;transform:translate(-50%)}}.dock-main{display:inline-flex;align-items:center;gap:8px;height:48px;padding:0 24px;border-radius:var(--r-pill);background:var(--sig);color:#fff;font-size:15.5px;font-weight:650;box-shadow:0 2px 8px rgba(42,92,232,.32);transition:background .15s,transform .12s}.dock-main svg{width:18px;height:18px;stroke:#fff}.dock-main:hover{background:var(--sig-strong)}.dock-main:active{transform:scale(.97)}.dock-lock{width:48px;min-width:48px;flex:0 0 48px;height:48px;border-radius:50%;background:var(--panel-3);display:grid;place-items:center;transition:background .15s}.dock-lock svg{width:19px;height:19px;stroke:var(--mut)}.dock-lock:hover{background:var(--err-soft)}.dock-lock:hover svg{stroke:var(--err)}.sheet-scrim{position:fixed;inset:0;background:rgba(23,24,26,.42);z-index:60;display:flex;align-items:flex-end;justify-content:center;animation:fadeIn .2s ease both}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.sheet{width:100%;max-width:560px;background:var(--bg);border-radius:22px 22px 0 0;padding:10px 16px calc(20px + env(safe-area-inset-bottom, 0px));box-shadow:0 -18px 56px rgba(23,24,26,.28);animation:sheetUp .3s cubic-bezier(.2,.8,.2,1) both;max-height:86dvh;overflow-y:auto}@keyframes sheetUp{0%{transform:translateY(48px);opacity:.4}to{transform:translateY(0);opacity:1}}.sheet-handle{width:38px;height:4px;border-radius:2px;background:var(--border-strong);margin:4px auto 14px}.sheet-title{font-size:17px;font-weight:700;margin-bottom:4px}.sheet-sub{font-size:13px;color:var(--mut);line-height:1.6;margin-bottom:14px}.detail-pane{position:fixed;inset:0;z-index:50;background:var(--bg);display:flex;flex-direction:column;overflow-y:auto;transform:translateX(100%);transition:transform .3s cubic-bezier(.3,.85,.3,1)}.detail-pane.open{transform:translateX(0)}.detail-pane>.rise{display:flex;flex-direction:column;flex:1 1;min-height:0}.pane-compose{padding:40px 36px;max-width:640px}.pane-compose h2{font-size:22px;font-weight:700;color:var(--ink);margin:0 0 8px}.pane-compose .pane-sub{font-size:14px;color:var(--mut);line-height:1.65;margin:0 0 24px;max-width:460px}.module-head{gap:12px;padding:14px 16px;border-bottom:1px solid var(--border);background:var(--bg)}.module-back,.module-head{display:flex;align-items:center;flex-shrink:0}.module-back{width:44px;height:44px;border:1px solid var(--border-strong);border-radius:12px;justify-content:center;background:var(--panel);transition:border-color .15s}.module-back:hover{border-color:var(--sig)}.module-back svg{width:17px;height:17px;stroke:var(--mut)}.module-glyph{width:44px;height:44px;border-radius:13px;flex-shrink:0;background:var(--cat-bg,var(--sig-soft));display:flex;align-items:center;justify-content:center}.module-glyph svg{width:20px;height:20px;stroke:var(--cat-fg,var(--sig))}.module-title-wrap{min-width:0;flex:1 1}.module-title{font-size:18px;font-weight:700;letter-spacing:.005em;color:var(--ink)}.module-title,.module-type{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.module-type{margin-top:2px;font-size:12px}.module-body{flex:1 1;overflow-y:auto;min-height:0;padding:8px 16px 12px}.sec-card{display:flex;gap:12px;align-items:flex-start;margin:12px 0 2px;padding:13px 15px;background:var(--warn-soft);border:1px solid rgba(133,94,31,.22);border-radius:var(--r)}.sec-card svg{width:18px;height:18px;stroke:var(--warn);flex-shrink:0;margin-top:2px}.sec-card b{display:block;font-size:14.5px;font-weight:650;color:var(--warn)}.sec-card p{font-size:13px;color:var(--mut);line-height:1.55;margin-top:2px}.field-edit{display:block;background:var(--panel);border:1px solid var(--border);border-radius:var(--r);box-shadow:var(--shadow-1);padding:11px 14px 12px;transition:border-color .15s ease,box-shadow .15s ease}.field-edit:focus-within{border-color:var(--sig);box-shadow:0 0 0 3px var(--sig-soft)}.field-edit .field-label{display:block}.field-edit:focus-within .field-label{color:var(--sig-strong)}.field-edit-row{display:flex;align-items:center;gap:6px}.naked-input{display:block;flex:1 1;width:100%;min-width:0;background:none;border:none;outline:none;padding:5px 0 1px;font-size:16px;line-height:1.5;color:var(--ink);caret-color:var(--sig)}.naked-input::placeholder{color:var(--mut);opacity:.75}textarea.naked-input{resize:vertical;min-height:58px}.field-tool{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:50%;background:var(--panel-3);color:var(--mut);flex-shrink:0;transition:background .15s,color .15s}.field-tool svg{width:16px;height:16px;stroke:currentColor}.field-tool.lit,.field-tool:hover{background:var(--sig-soft);color:var(--sig-strong)}.field-tool:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.field-edit .sbar{margin-top:9px}.field-row{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"label acts" "value acts";grid-column-gap:12px;column-gap:12px;grid-row-gap:2px;row-gap:2px;align-items:center;background:var(--panel);border:1px solid var(--border);border-radius:var(--r);box-shadow:var(--shadow-1);padding:12px 14px;margin:10px 0}.field-label{grid-area:label;font-size:12px;font-weight:600;letter-spacing:.05em;color:var(--mut)}.field-value{grid-area:value;font-family:var(--font-mono);font-size:15px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;word-break:break-all;line-height:1.55;min-width:0;color:var(--ink)}.field-value.masked{color:var(--mut);letter-spacing:.14em}.field-value.multiline{white-space:pre-wrap;font-size:14px;color:var(--ink);font-family:var(--font-sans)}.field-value a{color:var(--sig);text-decoration:none;border-bottom:1px solid rgba(42,92,232,.35);transition:color .15s,border-color .15s}.field-value a:hover{color:var(--sig-strong);border-color:var(--sig-strong)}.field-acts{grid-area:acts;display:flex;gap:8px;align-self:center}.act-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:40px;min-width:40px;padding:0 13px;border-radius:var(--r-pill);border:1px solid var(--border-strong);background:var(--panel);font-size:13px;font-weight:600;color:var(--mut);transition:all .15s;white-space:nowrap}.act-btn svg{width:15px;height:15px;stroke:currentColor}.act-btn:hover{border-color:var(--sig);color:var(--sig-strong);background:var(--sig-soft)}.act-btn:active{transform:translateY(1px)}.act-btn.done{border-color:var(--ok);color:var(--ok-strong);background:var(--ok-soft)}.act-btn.lit{border-color:var(--sig);color:var(--sig-strong);background:var(--sig-soft)}.act-btn.fail{border-color:var(--err);color:var(--err);background:var(--err-soft)}.vault-meta{gap:7px;padding:12px 2px 10px;font-size:12px;color:var(--dim)}.module-foot,.vault-meta{display:flex;align-items:center}.module-foot{flex-wrap:wrap;justify-content:space-between;gap:8px 10px;padding:12px 16px calc(12px + env(safe-area-inset-bottom, 0px));border-top:1px solid var(--border);flex-shrink:0;background:var(--bg)}.module-foot .silk{font-size:12px;color:var(--dim);font-weight:500}.foot-actions{display:flex;gap:8px;flex:1 1;justify-content:flex-end;min-width:0}.foot-actions .btn-primary{flex:1 1;max-width:240px}.foot-note{width:100%;text-align:center;font-size:11.5px;color:var(--dim);line-height:1.5}.module-pad{display:flex;flex-direction:column;gap:10px;padding:16px 16px 20px}.module-pad .type-keys{margin-bottom:6px}.intake{display:flex;flex-direction:column;gap:10px;padding:14px;border:1px solid rgba(42,92,232,.18);border-radius:var(--r-lg);background:var(--sig-soft)}.intake-head{display:flex;align-items:center;gap:7px;font-size:13px;font-weight:650;color:var(--sig-strong)}.intake-head svg{width:15px;height:15px;stroke:var(--sig)}.intake-slot{background:var(--panel);border:1px solid var(--border);border-radius:12px;transition:border-color .18s,box-shadow .18s}.intake-slot:focus-within{border-color:var(--sig);box-shadow:0 0 0 3px rgba(42,92,232,.14)}.intake-input{display:block;width:100%;min-height:132px;background:none;border:none;outline:none;font-family:var(--font-sans);font-size:16px;color:var(--ink);resize:none;line-height:1.65;padding:12px 14px;max-height:200px;overflow-y:auto}.intake-input::placeholder{color:var(--mut);opacity:.75}.intake-foot{gap:10px}.detect-badge,.intake-foot{display:flex;align-items:center}.detect-badge{gap:7px;flex-shrink:0;font-size:12.5px;font-weight:600;color:var(--sig-strong);background:var(--panel);border-radius:var(--r-pill);padding:7px 13px;white-space:nowrap;transition:all .15s}.detect-badge .led{width:6px;height:6px}.detect-badge.idle{color:var(--dim)}.intake-hint{flex:1 1;font-size:11.5px;font-weight:500;color:var(--mut);text-align:right;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.intake-go{flex-shrink:0;height:44px;padding:0 22px;border-radius:12px;background:var(--sig);box-shadow:0 2px 6px rgba(42,92,232,.3);font-size:14.5px;font-weight:650;color:#fff;transition:all .16s}.intake-go:hover{background:var(--sig-strong)}.intake-go:active{transform:translateY(1px)}.manual-entry{display:flex;flex-direction:column;gap:10px;margin-top:16px}.or-row{display:flex;align-items:center;gap:12px;font-size:12px;font-weight:600;color:var(--mut);white-space:nowrap}.or-row:after,.or-row:before{content:"";flex:1 1;height:1px;background:var(--border-strong)}.type-keys{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:8px;gap:8px}.type-key{display:flex;flex-direction:column;align-items:center;gap:6px;padding:12px 4px 10px;background:var(--panel);border:1px solid var(--border-strong);border-radius:12px;color:var(--mut);font-size:12.5px;font-weight:600;transition:all .15s}.type-key svg{width:19px;height:19px;stroke:var(--mut);transition:stroke .15s}.type-key.on,.type-key:hover{border-color:var(--sig)}.type-key.on{background:var(--sig-soft);color:var(--sig-strong);box-shadow:inset 0 0 0 1px var(--sig)}.type-key.on svg{stroke:var(--sig)}.pwgen{display:flex;flex-direction:column;gap:12px;background:var(--panel);border:1px solid var(--border-strong);border-radius:var(--r);box-shadow:var(--shadow-2);padding:15px 16px;margin-top:8px}.pwgen-out{font-family:var(--font-mono);font-size:15.5px;word-break:break-all;line-height:1.5;min-height:44px;color:var(--ink)}.pwgen-row{display:flex;align-items:center;gap:12px}.pwgen-row input[type=range]{flex:1 1;accent-color:var(--sig)}.pwgen-opts{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.pwgen-opt{display:inline-flex;align-items:center;gap:6px;height:40px;padding:0 14px;border:1px solid var(--border-strong);border-radius:var(--r-pill);background:var(--panel);font-size:13px;font-weight:600;color:var(--mut);transition:all .15s}.pwgen-opt svg{width:14px;height:14px;stroke:currentColor}.pwgen-opt.on{border-color:var(--sig);background:var(--sig-soft);color:var(--sig-strong)}.sbar{display:flex;gap:4px;margin-top:8px}.sbar span{height:4px;flex:1 1;border-radius:3px;background:var(--border-strong);transition:background .2s ease}.sbar-meta{display:flex;justify-content:space-between;margin-top:5px;font-size:12px}.seed-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));grid-gap:12px;gap:12px;margin-top:24px}.seed-card{border:1.5px dashed var(--border-strong);border-radius:var(--r);background:var(--panel);padding:15px 16px;color:var(--ink);text-align:left;transition:border-color .15s,box-shadow .15s,transform .15s}.seed-card:hover{border-color:var(--sig);transform:translateY(-2px);box-shadow:var(--shadow-2)}.seed-card .silk{display:block;margin-bottom:9px;color:var(--sig-strong)}.seed-card pre{font-family:var(--font-mono);font-size:12px;line-height:1.8;color:var(--mut);white-space:pre;overflow:hidden}.seed-card .seed-tip{display:block;margin-top:10px;font-size:12px;color:var(--dim)}.seed-card:hover .seed-tip{color:var(--sig-strong)}.toast{position:fixed;left:50%;width:max-content;bottom:calc(var(--dock-h) + 28px + env(safe-area-inset-bottom, 0px));display:flex;align-items:center;gap:10px;background:#1f2429;border-radius:var(--r-pill);padding:12px 22px;font-size:14px;font-weight:600;color:#fff;box-shadow:0 12px 32px rgba(23,24,26,.3);z-index:99;transform:translate(-50%);animation:toastIn .28s cubic-bezier(.2,.8,.2,1) both;max-width:calc(100vw - 40px)}@keyframes toastIn{0%{opacity:0;transform:translate(-50%,10px)}to{opacity:1;transform:translate(-50%)}}.toast .led.ok{background:#3ddc84}.toast .led.err{background:#ff7b72}.toast.err{color:#ffd7d3}.overlay{position:fixed;inset:0;background:rgba(23,24,26,.45);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:grid;place-items:center;z-index:80;padding:20px}.dialog{width:480px;max-width:100%;max-height:90dvh;overflow-y:auto;background:var(--panel);border-radius:var(--r-lg);box-shadow:var(--shadow-lg);padding:28px}.dialog h2{font-size:19px;font-weight:700;color:var(--ink)}.dialog .dialog-sub{color:var(--mut);font-size:14px;line-height:1.7;margin-top:8px}.code-box{margin-top:18px;padding:16px 18px;background:var(--panel-3);border:1.5px dashed var(--border-strong);border-radius:12px;font-family:var(--font-mono);font-size:16px;letter-spacing:.05em;word-break:break-all;color:var(--sig-strong);text-align:center}.dialog-check{display:flex;align-items:center;gap:10px;margin-top:22px;cursor:pointer;font-size:14.5px}.dialog-check input{width:18px;height:18px;accent-color:var(--sig)}.confirm-dialog{width:340px;text-align:center;padding:26px 24px 20px}.confirm-icon{width:52px;height:52px;border-radius:16px;background:var(--err-soft);display:grid;place-items:center;margin:0 auto 14px}.confirm-icon svg{width:22px;height:22px;stroke:var(--err)}.confirm-dialog h2{font-size:18px;word-break:break-all}.confirm-dialog .dialog-sub{margin-top:6px;font-size:13.5px;text-wrap:balance}.confirm-actions{display:flex;gap:10px;margin-top:22px}.confirm-actions .btn{flex:1 1;min-height:48px}.btn-danger-solid{background:var(--err);border-color:var(--err);color:#fff;box-shadow:0 2px 6px rgba(185,56,49,.28)}.btn-danger-solid:hover{background:#a2312b;border-color:#a2312b;color:#fff}.btn-danger-solid:hover svg{stroke:#fff}.act-btn:focus-visible,.bank-key:focus-visible,.btn:focus-visible,.chip:focus-visible,.dock-lock:focus-visible,.dock-main:focus-visible,.door-mode-switch:focus-visible,.intake-go:focus-visible,.lrow:focus-visible,.module-back:focus-visible,.navk:focus-visible,.pw-eye:focus-visible,.pwgen-opt:focus-visible,.seed-card:focus-visible,.type-key:focus-visible{outline:2px solid var(--focus);outline-offset:2px}@media (pointer:coarse){.act-btn{min-height:44px;min-width:44px}.navk{padding:13px 12px}.field-tool{width:44px;height:44px}}.detail-pane.deny{animation:paneShake .4s cubic-bezier(.36,.07,.19,.97)}@keyframes paneShake{10%,90%{transform:translateX(-3px)}20%,80%{transform:translateX(4px)}30%,50%,70%{transform:translateX(-6px)}40%,60%{transform:translateX(6px)}}@keyframes rise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.rise{animation:rise .35s cubic-bezier(.2,.7,.2,1) both}@media (min-width:900px){.desk{grid-template-columns:240px 360px 1fr}.rail{display:flex}.dock,.m-chips,.m-top{display:none}.list-pane{border-right:1px solid var(--border);background:var(--panel-2);height:100vh;height:100dvh;position:-webkit-sticky;position:sticky;top:0;overflow:hidden}.list-pane-head{padding:18px 16px 8px}.rack-search{height:40px;background:var(--panel)}.list-rows{padding:8px 14px 20px}.lrow{min-height:60px;margin-bottom:7px}.act-btn.lrow-copy{opacity:0;transition:opacity .12s,background .15s,color .15s}.act-btn.lrow-copy:focus-visible,.lrow.active .lrow-copy,.lrow:hover .lrow-copy{opacity:1}.detail-pane{position:static;inset:auto;z-index:auto;height:100vh;height:100dvh;transform:none!important;transition:none}.module-head{padding:20px 30px}.module-body{padding:10px 30px 16px;max-width:720px}.module-foot{padding:14px 30px;max-width:720px}.module-pad{padding:20px 30px 24px;max-width:660px}.module-back{width:38px;height:38px}}@media (pointer:coarse){.act-btn.lrow-copy{opacity:1!important}}@media (max-width:430px){.intake-hint{display:none}.pane-compose{padding:26px 16px}}@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}