@import"https://fonts.googleapis.com/css2?family=Geist:wght@400;500;600&family=Geist+Mono:wght@400;500&display=swap";:root{--bg-0: oklch(.985 .003 80);--bg-1: oklch(.965 .003 80);--bg-2: oklch(.945 .003 80);--bg-3: oklch(.915 .003 80);--border-1: oklch(.89 .005 60);--border-2: oklch(.82 .005 60);--fg-0: oklch(.18 .005 60);--fg-1: oklch(.26 .005 60);--fg-2: oklch(.45 .005 60);--fg-3: oklch(.58 .005 60);--fg-4: oklch(.72 .005 60);--accent: oklch(.55 .16 158);--accent-dim: oklch(.45 .13 158);--accent-bg: oklch(.55 .16 158 / .12);--accent-fg: #ffffff;--accent-hover:oklch(.48 .15 158);--danger: oklch(.55 .22 22);--danger-dim: oklch(.45 .18 22);--danger-bg: oklch(.55 .22 22 / .1);--warn: oklch(.65 .16 75);--warn-bg: oklch(.65 .16 75 / .14);--info: oklch(.55 .13 240);--info-bg: oklch(.55 .13 240 / .1);--font-sans: "Geist", ui-sans-serif, system-ui, -apple-system, sans-serif;--font-mono: "Geist Mono", ui-monospace, "SF Mono", Menlo, Consolas, monospace;--text-2xs: 11px;--text-xs: 12px;--text-sm: 13px;--text-base: 14px;--text-md: 16px;--text-lg: 20px;--text-xl: 28px;--text-2xl: 40px;--lh-tight: 1.1;--lh-snug: 1.25;--lh-normal: 1.4;--track-tight: -.01em;--track-normal: 0;--track-wide: .04em;--space-0: 0px;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 24px;--space-6: 32px;--space-8: 48px;--space-10: 64px;--radius-sm: 4px;--radius-md: 6px;--radius-lg: 10px;--radius-full: 999px;--shadow-modal: 0 24px 48px -10px rgb(15 25 25 / .18), 0 0 0 1px var(--border-1);--shadow-menu: 0 12px 24px -6px rgb(15 25 25 / .1), 0 0 0 1px var(--border-1);--shadow-input-inset: inset 0 1px 0 rgb(0 0 0 / .04);--shadow-focus: 0 0 0 1px var(--accent), 0 0 0 4px oklch(.55 .16 158 / .16);--shadow-card: 0 1px 2px rgb(0 0 0 / .04);--h-row: 32px;--h-row-header: 28px;--h-input: 28px;--h-button: 28px;--h-button-lg: 34px;--h-topbar: 44px;--h-rail: 48px;--ease-out: cubic-bezier(.2, 0, 0, 1);--dur-fast: .12s;--dur-base: .15s;--dur-slow: .18s;--grid-line: oklch(.88 .005 60);--login-vignette: oklch(.96 .003 80)}[data-theme=dark]{--bg-0: oklch(.18 .005 60);--bg-1: oklch(.21 .005 60);--bg-2: oklch(.24 .005 60);--bg-3: oklch(.28 .006 60);--border-1: oklch(.3 .005 60);--border-2: oklch(.36 .006 60);--fg-0: oklch(.97 .003 80);--fg-1: oklch(.92 .003 80);--fg-2: oklch(.72 .004 80);--fg-3: oklch(.55 .005 80);--fg-4: oklch(.42 .005 80);--accent: oklch(.85 .18 158);--accent-dim: oklch(.7 .14 158);--accent-bg: oklch(.3 .08 158 / .18);--accent-fg: oklch(.18 .005 60);--accent-hover:oklch(.88 .18 158);--danger: oklch(.7 .21 22);--danger-dim: oklch(.55 .16 22);--danger-bg: oklch(.35 .1 22 / .2);--warn: oklch(.82 .15 75);--warn-bg: oklch(.35 .09 75 / .18);--info: oklch(.72 .13 240);--info-bg: oklch(.32 .09 240 / .2);--shadow-modal: 0 24px 48px -8px rgb(0 0 0 / .55), 0 0 0 1px var(--border-1);--shadow-menu: 0 12px 32px -6px rgb(0 0 0 / .45), 0 0 0 1px var(--border-1);--shadow-input-inset: inset 0 1px 0 rgb(0 0 0 / .25);--shadow-focus: 0 0 0 1px var(--accent), 0 0 0 4px oklch(.85 .18 158 / .15);--shadow-card: none;--grid-line: oklch(.3 .005 60);--login-vignette: oklch(.2 .005 60)}html,body,#root{height:100%;margin:0}body{background:var(--bg-0);color:var(--fg-1);font:400 var(--text-sm)/var(--lh-snug) var(--font-sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-feature-settings:"ss01","cv11"}*{box-sizing:border-box}p{margin:0}code,kbd,samp,pre,.mono,.num{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-feature-settings:"tnum","zero"}input,button,select,textarea{font:inherit;color:inherit;background:transparent;border:0;margin:0}button{cursor:pointer}button:disabled{opacity:.4;cursor:not-allowed}::selection{background:var(--accent-bg);color:var(--fg-0)}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border-1);border-radius:5px;border:2px solid transparent;background-clip:content-box}::-webkit-scrollbar-thumb:hover{background:var(--border-2);background-clip:content-box;border:2px solid transparent}:root{--row-h: 32px}.app{display:grid;grid-template-columns:var(--h-rail) 240px 1fr;grid-template-rows:var(--h-topbar) 1fr 28px;grid-template-areas:"rail topbar topbar" "rail bsidebar main" "rail status status";height:100%;width:100%;background:var(--bg-0);color:var(--fg-1);position:relative;overflow:hidden}.app.with-preview .main-pane{display:grid;grid-template-columns:1fr 360px}.rail{grid-area:rail;background:var(--bg-0);border-right:1px solid var(--border-1);display:flex;flex-direction:column;align-items:center;padding:12px 0;gap:4px}.rail-mark{width:30px;height:30px;display:flex;align-items:center;justify-content:center;color:var(--accent);margin-bottom:10px}.rail-item{width:36px;height:36px;display:flex;align-items:center;justify-content:center;color:var(--fg-3);border-radius:var(--radius-sm);cursor:pointer;position:relative;transition:color var(--dur-fast),background var(--dur-fast)}.rail-item:hover{color:var(--fg-1);background:var(--bg-2)}.rail-item.active{color:var(--fg-0);background:var(--bg-2)}.rail-item.active:before{content:"";position:absolute;left:-12px;top:8px;bottom:8px;width:2px;background:var(--accent);border-radius:1px}.rail-bottom{margin-top:auto;display:flex;flex-direction:column;gap:4px;align-items:center}.bsidebar{grid-area:bsidebar;background:var(--bg-0);border-right:1px solid var(--border-1);display:flex;flex-direction:column;overflow:hidden}.bsidebar-header{padding:12px 14px 8px;display:flex;align-items:center;gap:8px}.bsidebar-header .label{flex:1}.bsidebar-header .count{font:400 var(--text-2xs)/1 var(--font-mono);color:var(--fg-4)}.bsidebar-search{padding:0 10px 8px}.bsidebar-list{flex:1;overflow:auto;padding:4px 6px 16px}.bsidebar-item{display:flex;align-items:center;gap:10px;padding:0 10px;height:30px;border-radius:var(--radius-sm);cursor:pointer;color:var(--fg-2);position:relative;font-size:var(--text-sm)}.bsidebar-item .b-icon{color:var(--fg-4);display:flex}.bsidebar-item:hover{background:var(--bg-1);color:var(--fg-1)}.bsidebar-item:hover .b-icon{color:var(--fg-2)}.bsidebar-item.active{background:var(--bg-2);color:var(--fg-0)}.bsidebar-item.active .b-icon{color:var(--accent)}.bsidebar-item .b-name{flex:1;font:500 var(--text-sm)/1 var(--font-mono);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bsidebar-item .b-size{font:400 var(--text-2xs)/1 var(--font-mono);color:var(--fg-4);white-space:nowrap;flex:none}.bsidebar-foot{border-top:1px solid var(--border-1);padding:12px 14px;display:flex;flex-direction:column;gap:6px}.bsidebar-foot .row{display:flex;align-items:baseline;gap:6px}.bsidebar-foot .row .k{font:500 var(--text-2xs)/1 var(--font-sans);color:var(--fg-4);text-transform:uppercase;letter-spacing:.04em;flex:1}.bsidebar-foot .row .v{font:400 var(--text-xs)/1 var(--font-mono);color:var(--fg-1);white-space:nowrap}.gauge{height:4px;background:var(--bg-2);border-radius:2px;overflow:hidden;position:relative}.gauge .bar{position:absolute;left:0;top:0;bottom:0;background:var(--accent);border-radius:2px}.topbar{grid-area:topbar;height:var(--h-topbar);background:var(--bg-0);border-bottom:1px solid var(--border-1);display:flex;align-items:center;padding:0 14px;gap:12px}.crumb{display:flex;align-items:center;gap:4px;min-width:0}.crumb .seg{font:500 var(--text-sm)/1 var(--font-mono);color:var(--fg-2);cursor:pointer;padding:4px 6px;border-radius:var(--radius-sm);white-space:nowrap}.crumb .seg:hover{background:var(--bg-2);color:var(--fg-1)}.crumb .seg.active{color:var(--fg-0)}.crumb .sep{color:var(--fg-4);font:400 var(--text-sm)/1 var(--font-mono)}.crumb .dim{color:var(--fg-4)}.topbar .grow{flex:1}.topbar .meta{font:400 var(--text-xs)/1 var(--font-mono);color:var(--fg-3)}.subbar{height:40px;border-bottom:1px solid var(--border-1);display:flex;align-items:center;padding:0 14px;gap:8px;background:var(--bg-0);white-space:nowrap}.subbar>*{flex:none}.subbar .grow{flex:1}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:var(--h-button);padding:0 10px;border-radius:var(--radius-sm);font:500 var(--text-sm)/1 var(--font-sans);border:1px solid transparent;white-space:nowrap;color:var(--fg-1);transition:background var(--dur-fast),color var(--dur-fast),border-color var(--dur-fast),box-shadow var(--dur-fast)}.btn-primary{background:var(--accent);color:var(--accent-fg)}.btn-primary:hover{background:var(--accent-hover)}.btn-secondary{background:var(--bg-1);color:var(--fg-1);border-color:var(--border-1);box-shadow:var(--shadow-card)}.btn-secondary:hover{background:var(--bg-2);border-color:var(--border-2)}.btn-ghost{background:transparent;color:var(--fg-2)}.btn-ghost:hover{background:var(--bg-2);color:var(--fg-1)}.btn-icon{width:28px;padding:0;color:var(--fg-3)}.btn-icon:hover{color:var(--fg-1);background:var(--bg-2)}.btn-active{background:var(--bg-2);color:var(--fg-1);border-color:var(--border-1)}.btn-danger{background:var(--bg-1);color:var(--danger);border-color:var(--border-1)}.btn-danger:hover{background:var(--danger-bg);border-color:var(--danger-dim)}.btn-lg{height:var(--h-button-lg);padding:0 14px}.input{height:var(--h-input);padding:0 10px;background:var(--bg-1);border:1px solid var(--border-1);border-radius:var(--radius-sm);font:400 var(--text-sm)/1 var(--font-mono);color:var(--fg-1);box-shadow:var(--shadow-input-inset);width:100%}.input:focus{outline:none;border-color:var(--accent);box-shadow:var(--shadow-focus)}.input::placeholder{color:var(--fg-4)}.input-lg{height:34px;padding:0 12px;font-size:var(--text-base)}.input-search{padding-left:30px}.input-wrap{position:relative;display:inline-flex;align-items:center}.input-wrap.block{display:flex;width:100%}.input-wrap .leading{position:absolute;left:8px;color:var(--fg-3);display:flex;pointer-events:none}.input-wrap .trailing{position:absolute;right:8px;color:var(--fg-3);display:flex;cursor:pointer}.chip{display:inline-flex;align-items:center;gap:6px;height:20px;padding:0 8px;border-radius:var(--radius-sm);font:500 var(--text-xs)/1 var(--font-mono);border:1px solid var(--border-1);white-space:nowrap}.chip-live{background:var(--accent-bg);color:var(--accent);border-color:transparent}.chip-warn{background:var(--warn-bg);color:var(--warn);border-color:transparent}.chip-error{background:var(--danger-bg);color:var(--danger);border-color:transparent}.chip-info{background:var(--info-bg);color:var(--info);border-color:transparent}.chip-neutral{background:var(--bg-2);color:var(--fg-2)}.chip .dot{width:6px;height:6px;border-radius:50%;flex:none}.main-pane{grid-area:main;display:flex;flex-direction:column;overflow:hidden;min-width:0;min-height:0;background:var(--bg-0)}.main-pane>.content{display:flex;flex-direction:column;overflow:hidden;flex:1;min-height:0}.tbl-wrap{flex:1;overflow:auto;min-height:0}.tbl{width:100%;border-collapse:collapse}.tbl thead th{position:sticky;top:0;z-index:1;height:var(--h-row-header);background:var(--bg-1);font:500 var(--text-xs)/1 var(--font-sans);text-transform:lowercase;color:var(--fg-3);text-align:left;padding:0 14px;border-bottom:1px solid var(--border-1);-webkit-user-select:none;user-select:none;cursor:pointer;white-space:nowrap}.tbl thead th.num{text-align:right}.tbl thead th .sort{color:var(--fg-1);margin-left:4px}.tbl tbody td{height:var(--row-h, var(--h-row));padding:0 14px;font:400 var(--text-sm)/1 var(--font-sans);color:var(--fg-1);border-bottom:1px solid var(--border-1);white-space:nowrap}.tbl tbody td.num{text-align:right;font-family:var(--font-mono);font-variant-numeric:tabular-nums}.tbl tbody tr{border-left:4px solid transparent;transition:background var(--dur-fast),border-color var(--dur-fast);cursor:pointer}.tbl tbody tr:hover{background:var(--bg-1);border-left-color:var(--accent)}.tbl tbody tr.selected{background:var(--accent-bg);border-left-color:var(--accent)}.tbl .ck{width:32px;padding:0 0 0 14px}.tbl .ck input{accent-color:var(--accent)}.tbl .actions{width:60px;text-align:right;padding-right:18px}.fcell{display:flex;align-items:center;gap:10px;min-width:0}.fcell .ico{width:24px;height:24px;flex:none;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);background:var(--bg-1);color:var(--fg-3);font:500 var(--text-2xs)/1 var(--font-mono);border:1px solid var(--border-1)}.fcell .ico.folder{background:transparent;border-color:transparent;color:var(--accent)}.fcell .ico.image{color:var(--info);border-color:#0079b333;border-color:oklch(.55 .13 240 / .2);background:var(--info-bg)}.fcell .ico.archive{color:var(--warn);border-color:#bf810040;border-color:oklch(.65 .16 75 / .25);background:var(--warn-bg)}.fcell .ico.video{color:#7a59c3}.fcell .ico.pdf{color:var(--danger);border-color:#d4053033;background:var(--danger-bg)}.fcell .name{font:400 var(--text-sm)/1 var(--font-sans);color:var(--fg-1);overflow:hidden;text-overflow:ellipsis}.fcell .name.folder{color:var(--fg-0);font-weight:500}.fcell .name .dim{color:var(--fg-3)}.scls{font:500 var(--text-2xs)/1 var(--font-mono);color:var(--fg-3);text-transform:uppercase;letter-spacing:.04em}.scls.std{color:var(--fg-2)}.scls.ia{color:var(--info)}.scls.glacier{color:var(--fg-4)}.empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;color:var(--fg-3);padding:60px;text-align:center}.empty .glyph{width:56px;height:56px;border:1px dashed var(--border-2);border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;color:var(--fg-4)}.empty .t{font:500 var(--text-md)/1.3 var(--font-sans);color:var(--fg-1)}.empty .d{font:400 var(--text-sm)/1.4 var(--font-sans);color:var(--fg-3);max-width:360px}.preview{background:var(--bg-0);border-left:1px solid var(--border-1);display:flex;flex-direction:column;overflow:hidden}.preview-header{padding:16px 16px 12px;border-bottom:1px solid var(--border-1);display:flex;flex-direction:column;gap:6px}.preview-header .name{font:500 var(--text-md)/1.2 var(--font-mono);color:var(--fg-0);word-break:break-all}.preview-header .meta{font:400 var(--text-xs)/1 var(--font-mono);color:var(--fg-3);display:flex;gap:10px;flex-wrap:wrap}.preview-header .meta>span{white-space:nowrap}.preview-thumb{height:220px;display:flex;align-items:center;justify-content:center;background:var(--bg-1);border-bottom:1px solid var(--border-1);color:var(--fg-4);position:relative;overflow:hidden}.preview-thumb .placeholder{font:500 var(--text-xl)/1 var(--font-mono);color:var(--fg-4);letter-spacing:.05em}.preview-thumb img{width:100%;height:100%;object-fit:cover}.preview-body{flex:1;overflow:auto;padding:16px;display:flex;flex-direction:column;gap:18px}.kv-list{display:flex;flex-direction:column;gap:8px}.kv{display:grid;grid-template-columns:110px 1fr;gap:12px;font-size:var(--text-xs)}.kv .k{font:500 var(--text-2xs)/1.4 var(--font-sans);color:var(--fg-3);text-transform:uppercase;letter-spacing:.04em;padding-top:1px}.kv .v{font:400 var(--text-xs)/1.4 var(--font-mono);color:var(--fg-1);word-break:break-all}.preview-actions{display:flex;gap:6px;padding:12px 16px;border-top:1px solid var(--border-1);background:var(--bg-0)}.statusbar{grid-area:status;height:28px;border-top:1px solid var(--border-1);display:flex;align-items:center;padding:0 14px;gap:14px;background:var(--bg-0);font:400 var(--text-xs)/1 var(--font-mono);color:var(--fg-3);white-space:nowrap;overflow:hidden}.statusbar>*{flex:none}.statusbar .grow{flex:1}.status-dot{display:inline-flex;align-items:center;gap:6px;font:400 var(--text-xs)/1 var(--font-mono);color:var(--fg-2)}.status-dot .d{width:8px;height:8px;border-radius:50%;flex:none}.scrim{position:absolute;top:0;right:0;bottom:0;left:0;background:#13110f52;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:flex;align-items:center;justify-content:center;z-index:30;animation:fade var(--dur-base) var(--ease-out)}[data-theme=dark] .scrim{background:#0000008c}@keyframes fade{0%{opacity:0}to{opacity:1}}.modal{width:560px;max-width:calc(100% - 40px);background:var(--bg-1);border-radius:var(--radius-lg);box-shadow:var(--shadow-modal);display:flex;flex-direction:column;max-height:calc(100% - 40px)}.modal-header{display:flex;align-items:center;gap:12px;padding:16px 20px;border-bottom:1px solid var(--border-1)}.modal-header .title{font:500 var(--text-md)/1 var(--font-sans);color:var(--fg-0)}.modal-header .sub{font:400 var(--text-xs)/1 var(--font-mono);color:var(--fg-3);margin-top:4px}.modal-header .col{display:flex;flex-direction:column;min-width:0}.modal-header .grow{flex:1}.modal-body{padding:20px;display:flex;flex-direction:column;gap:18px;overflow:auto}.modal-footer{padding:14px 20px;border-top:1px solid var(--border-1);display:flex;gap:8px;justify-content:flex-end;align-items:center}.modal-footer .grow{flex:1}.field{display:flex;flex-direction:column;gap:6px;min-width:0}.field-label{font:500 var(--text-xs)/1 var(--font-sans);color:var(--fg-3);text-transform:lowercase}.field-hint{font:400 var(--text-2xs)/1.3 var(--font-mono);color:var(--fg-4)}.row-2{display:grid;grid-template-columns:1fr 1fr;gap:12px}.row-3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px}.seg{display:inline-flex;padding:2px;background:var(--bg-0);border:1px solid var(--border-1);border-radius:var(--radius-sm);height:28px}.seg button{height:22px;padding:0 10px;border-radius:3px;background:transparent;color:var(--fg-3);font:500 var(--text-xs)/1 var(--font-mono);white-space:nowrap}.seg button.active{background:var(--bg-2);color:var(--fg-1);box-shadow:var(--shadow-card)}.seg button:hover:not(.active){color:var(--fg-2)}.login{height:100%;width:100%;display:flex;align-items:center;justify-content:center;background:var(--bg-0);position:relative;overflow:hidden}.login:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(var(--grid-line) 1px,transparent 1px),linear-gradient(90deg,var(--grid-line) 1px,transparent 1px);background-size:60px 60px;opacity:.5;mask-image:radial-gradient(ellipse at center,black 20%,transparent 70%);-webkit-mask-image:radial-gradient(ellipse at center,black 20%,transparent 70%)}[data-theme=dark] .login:before{opacity:.22}.login-card{position:relative;width:460px;max-width:calc(100% - 32px);background:var(--bg-1);border:1px solid var(--border-1);border-radius:var(--radius-lg);box-shadow:var(--shadow-modal);padding:28px;display:flex;flex-direction:column;gap:22px}.login-card .brand{display:flex;align-items:center;gap:10px;white-space:nowrap}.login-card .brand .wordmark{font:500 var(--text-lg)/1 var(--font-mono);color:var(--fg-0);letter-spacing:-.01em}.login-card .brand .tag{font:400 var(--text-xs)/1 var(--font-mono);color:var(--fg-3);margin-left:auto}.login-card h1{font:500 var(--text-md)/1.3 var(--font-sans);color:var(--fg-0);margin:0}.login-card .sub{font:400 var(--text-sm)/1.4 var(--font-sans);color:var(--fg-3);margin-top:-16px}.login-card .form{display:flex;flex-direction:column;gap:12px}.login-card .recents{display:flex;flex-direction:column;gap:1px;border:1px solid var(--border-1);border-radius:var(--radius-sm);overflow:hidden}.login-card .recents .item{display:flex;align-items:center;gap:10px;padding:10px 12px;background:var(--bg-0);cursor:pointer;transition:background var(--dur-fast)}.login-card .recents .item:hover{background:var(--bg-2)}.login-card .recents .item .endpoint{font:500 var(--text-sm)/1 var(--font-mono);color:var(--fg-1);flex:1}.login-card .recents .item .alias{font:400 var(--text-xs)/1 var(--font-mono);color:var(--fg-3)}.login-card .recents .item .dot{width:6px;height:6px;border-radius:50%;background:var(--accent);flex:none}.login-card .foot{display:flex;align-items:center;gap:10px}.login-card .foot .grow{flex:1}.login-card .check{display:inline-flex;align-items:center;gap:8px;font:400 var(--text-xs)/1 var(--font-mono);color:var(--fg-3);cursor:pointer;white-space:nowrap}.login-card .check input{accent-color:var(--accent)}.dropzone{border:1.5px dashed var(--border-2);border-radius:var(--radius-md);padding:28px;display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center;color:var(--fg-3);transition:border-color var(--dur-fast),background var(--dur-fast);background:var(--bg-0)}.dropzone.active{border-color:var(--accent);background:var(--accent-bg);color:var(--fg-1)}.dropzone .t{font:500 var(--text-sm)/1 var(--font-sans);color:var(--fg-1)}.dropzone .d{font:400 var(--text-xs)/1.4 var(--font-mono);color:var(--fg-3)}.dropzone .browse{color:var(--accent);cursor:pointer}.ul-row{display:grid;grid-template-columns:24px 1fr auto 80px 28px;align-items:center;gap:10px;padding:8px 10px;border-bottom:1px solid var(--border-1)}.ul-row:last-child{border-bottom:0}.ul-row .name{font:400 var(--text-sm)/1.3 var(--font-mono);color:var(--fg-1);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ul-row .meta{font:400 var(--text-2xs)/1 var(--font-mono);color:var(--fg-3)}.ul-row .progress{width:80px;height:4px;background:var(--bg-2);border-radius:2px;overflow:hidden}.ul-row .progress .bar{height:100%;background:var(--accent);transition:width .3s ease-out}.ul-row .progress .bar.done{background:var(--fg-3)}.ul-row .progress .bar.err{background:var(--danger)}.ul-row .pct{font:400 var(--text-2xs)/1 var(--font-mono);color:var(--fg-3);text-align:right}.ul-list{border:1px solid var(--border-1);border-radius:var(--radius-md);max-height:240px;overflow:auto;background:var(--bg-0)}.bucket-grid{padding:14px;display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:10px;overflow:auto}.bcard{background:var(--bg-1);border:1px solid var(--border-1);border-radius:var(--radius-md);padding:14px;display:flex;flex-direction:column;gap:10px;cursor:pointer;transition:background var(--dur-fast),border-color var(--dur-fast),transform var(--dur-fast);box-shadow:var(--shadow-card)}.bcard:hover{border-color:var(--border-2);background:var(--bg-2)}.bcard .top{display:flex;align-items:center;gap:8px}.bcard .top .ico{color:var(--accent);display:flex}.bcard .name{font:500 var(--text-md)/1 var(--font-mono);color:var(--fg-0);flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis}.bcard .grid{display:grid;grid-template-columns:1fr 1fr;background:var(--bg-0);border:1px solid var(--border-1);border-radius:var(--radius-sm);overflow:hidden}.bcard .grid .cell{padding:10px 12px;border-right:1px solid var(--border-1);border-bottom:1px solid var(--border-1);display:flex;flex-direction:column;gap:4px;min-width:0}.bcard .grid .cell:nth-child(2n){border-right:0}.bcard .grid .cell:nth-last-child(-n+2){border-bottom:0}.bcard .grid .cell .k{font:500 var(--text-2xs)/1 var(--font-sans);color:var(--fg-4);text-transform:uppercase;letter-spacing:.04em;white-space:nowrap}.bcard .grid .cell .v{font:400 var(--text-md)/1 var(--font-mono);color:var(--fg-1);font-variant-numeric:tabular-nums;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bcard .footrow{display:flex;align-items:center;gap:8px}.bcard .footrow .grow{flex:1}.bcard .footrow .ago{font:400 var(--text-xs)/1 var(--font-mono);color:var(--fg-4)}.url-box{display:flex;align-items:center;background:var(--bg-0);border:1px solid var(--border-1);border-radius:var(--radius-sm);padding:0 0 0 12px;height:36px;font:400 var(--text-xs)/1 var(--font-mono);color:var(--fg-1);overflow:hidden;box-shadow:var(--shadow-input-inset)}.url-box .url{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding-right:8px}.url-box .copy{height:36px;padding:0 12px;border-left:1px solid var(--border-1);background:var(--bg-1);color:var(--fg-2);font:500 var(--text-xs)/1 var(--font-sans);display:flex;align-items:center;gap:6px}.url-box .copy:hover{background:var(--bg-2);color:var(--fg-0)}.sel-bar{height:40px;background:var(--accent-bg);border-bottom:1px solid var(--border-1);display:flex;align-items:center;padding:0 14px;gap:12px;font:400 var(--text-sm)/1 var(--font-mono);color:var(--fg-1)}.sel-bar .grow{flex:1}.sel-bar .count{color:var(--accent);font-weight:500}.kbd{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 4px;background:var(--bg-2);border:1px solid var(--border-1);border-radius:3px;font:500 var(--text-2xs)/1 var(--font-mono);color:var(--fg-2)}.muted{color:var(--fg-3)}.dim{color:var(--fg-4)}.mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.label{font:500 var(--text-2xs)/1 var(--font-sans);color:var(--fg-3);text-transform:uppercase;letter-spacing:.04em}.label-sub{font:500 var(--text-2xs)/1 var(--font-sans);color:var(--fg-4);text-transform:uppercase;letter-spacing:.06em}.toast{position:absolute;bottom:44px;left:50%;transform:translate(-50%);background:var(--fg-0);color:var(--bg-0);padding:10px 16px;border-radius:var(--radius-sm);font:500 var(--text-xs)/1 var(--font-mono);display:flex;align-items:center;gap:8px;z-index:40;box-shadow:var(--shadow-menu);animation:toast-in .2s var(--ease-out)}.toast .dot{width:8px;height:8px;border-radius:50%;background:var(--accent)}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,8px)}to{opacity:1;transform:translate(-50%)}}.density-compact{--row-h: 28px;--h-row-header: 24px}.density-comfy{--row-h: 40px;--h-row-header: 30px}.theme-toggle{height:28px;width:28px;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);color:var(--fg-3);cursor:pointer;transition:background var(--dur-fast),color var(--dur-fast)}.theme-toggle:hover{background:var(--bg-2);color:var(--fg-1)}.canvas-toolbar{position:fixed;top:12px;left:50%;transform:translate(-50%);display:inline-flex;align-items:center;gap:6px;padding:6px;background:var(--bg-1);border:1px solid var(--border-1);border-radius:var(--radius-lg);box-shadow:var(--shadow-menu);z-index:100;font-family:var(--font-sans)}.canvas-toolbar .brand{display:inline-flex;align-items:center;gap:8px;padding:0 10px 0 4px;color:var(--fg-0);font:500 var(--text-sm)/1 var(--font-mono)}.canvas-toolbar .brand svg{color:var(--accent)}.canvas-toolbar .sep{width:1px;height:18px;background:var(--border-1)}.error-chip{display:inline-flex;align-items:center;gap:8px;padding:8px 10px;background:var(--danger-bg);color:var(--danger);border:1px solid var(--danger-dim);border-radius:var(--radius-sm);font:400 var(--text-xs)/1.4 var(--font-mono)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn:disabled:hover{background:var(--accent)}
