:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#111115;--surface:#1b1b21;--surface-2:#25252d;--border:#30303a;--text:#ececf1;--muted:#8f8f9c;--accent:#3b7cf6;--accent-text:#fff;--danger:#ef5c5c;--ok:#3fbf7f;--radius:12px;--tap:44px;--tabs-h:65px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:16px;line-height:1.4}*{box-sizing:border-box}html,body{background:var(--bg);min-height:100%;color:var(--text);margin:0}body{-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}#app{flex-direction:column;min-height:100vh;display:flex}h1,h2,h3{margin:0 0 8px;font-weight:600}h1{font-size:1.4rem}h2{font-size:1.1rem}p{margin:0 0 8px}.muted{color:var(--muted)}.error{color:var(--danger)}.ok{color:var(--ok)}.small{font-size:.85rem}.mono{word-break:break-all;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.85rem}main.screen{width:100%;max-width:640px;padding:calc(16px + env(safe-area-inset-top)) 16px calc(88px + env(safe-area-inset-bottom));flex:1;margin:0 auto}main.center{flex-direction:column;flex:1;justify-content:center;align-items:stretch;gap:12px;width:100%;max-width:420px;margin:0 auto;padding:24px 16px;display:flex}button,.btn{appearance:none;border:1px solid var(--border);background:var(--surface-2);color:var(--text);border-radius:var(--radius);min-height:var(--tap);font:inherit;cursor:pointer;justify-content:center;align-items:center;gap:8px;padding:0 16px;font-weight:600;display:inline-flex}button:disabled{opacity:.5;cursor:default}button.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-text)}button.danger{color:var(--danger)}button.link{color:var(--accent);background:0 0;border:none;gap:6px;min-height:36px;padding:0 8px;font-weight:500}button.link.danger{color:var(--danger)}.icon{vertical-align:-.2em;flex:none}.bulk button.link{white-space:nowrap;gap:4px;padding:0 6px}button.block{width:100%}input[type=text],input[type=url],input[type=password],select{width:100%;min-height:var(--tap);border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--text);font:inherit;padding:0 12px}input:focus,select:focus,button:focus-visible{outline:2px solid var(--accent);outline-offset:1px}label.field{margin-bottom:12px;display:block}label.field>span{color:var(--muted);margin-bottom:4px;font-size:.85rem;display:block}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:12px;padding:12px}.row{align-items:center;gap:10px;display:flex}.row.between{justify-content:space-between}.stack{flex-direction:column;gap:8px;display:flex}.tabs{background:var(--surface);border-top:1px solid var(--border);padding:6px 0 calc(6px + env(safe-area-inset-bottom));z-index:10;justify-content:space-around;display:flex;position:fixed;bottom:0;left:0;right:0}.tabs button{color:var(--muted);background:0 0;border:none;border-radius:0;flex-direction:column;flex:1;gap:2px;min-height:52px;font-size:.75rem}.tabs button.active{color:var(--accent)}.action-bar{bottom:calc(var(--tabs-h) + env(safe-area-inset-bottom));z-index:5;background:var(--bg);border-top:1px solid var(--border);margin:12px -16px 0;padding:10px 16px;position:sticky}.sheet-backdrop{z-index:20;background:#0000008c;border:none;border-radius:0;min-height:0;padding:0;position:fixed;inset:0}.sheet{z-index:21;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius) var(--radius) 0 0;max-width:640px;max-height:85vh;padding:16px 16px calc(16px + env(safe-area-inset-bottom));border-bottom:none;margin:0 auto;position:fixed;bottom:0;left:0;right:0;overflow-y:auto}.banner{color:#f3c77a;border-radius:var(--radius);background:#3a2a12;margin-bottom:12px;padding:8px 12px;font-size:.9rem}.progress{background:var(--border);border-radius:2px;height:4px;overflow:hidden}.progress>i{background:var(--accent);height:100%;transition:width .3s;display:block}.checkbox{width:22px;height:22px;accent-color:var(--accent);flex:none}.thumb{background:var(--surface-2);object-fit:cover;border-radius:6px;flex:none;width:56px;height:40px}.title{text-overflow:ellipsis;white-space:nowrap;font-weight:500;overflow:hidden}.sub{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:.85rem;overflow:hidden}.spin{border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;width:16px;height:16px;animation:.8s linear infinite spin;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}
