:root{--root-font-size:112%;--text-3xs:.5625rem;--text-2xs:.625rem;--text-xs:.6875rem;--text-sm:.75rem;--text-md:.875rem;--text-base:1rem;--text-lg:1.3125rem;--text-xl:1.5625rem;--text-2xl:1.75rem;--text-hero:clamp(2.625rem, 5vw, 4.375rem);--font-sans:ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-mono:ui-monospace, "SF Mono", "Cascadia Code", Menlo, Consolas, "Liberation Mono", monospace;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-7:2rem;--space-8:2.5rem;--space-9:3rem;--space-10:4rem;--space-11:5rem;--radius-sm:5px;--radius-md:6px;--radius-lg:9px;--radius-xl:12px;--radius-2xl:14px;--radius-pill:9999px;--focus-ring:2px solid var(--ring);--focus-offset:2px}:root,:root[data-theme=light],.light{--type-folder:lab(62% 68 82);--type-image:lab(52% 34 -38);--type-code:lab(48% -2 -42);--type-doc:lab(46% -14 -8);--type-binary:lab(42% 1.5 -3)}:root:not([data-theme=light]),:root[data-theme=dark],.dark{--type-folder:lab(78% 52 85);--type-image:lab(72% 26 -34);--type-code:lab(70% -6 -44);--type-doc:lab(72% -12 -10);--type-binary:lab(61% 1.2 -2.8)}:root,:root[data-theme=light],.light{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--background:lab(100% 0 0);--foreground:lab(13% 1 -2);--card:lab(100% 0 0);--card-foreground:lab(13% 1 -2);--popover:lab(100% 0 0);--popover-foreground:lab(13% 1 -2);--primary:lab(20% 4 -6);--primary-foreground:lab(98% 0 0);--secondary:lab(95.5% .5 -1.5);--secondary-foreground:lab(20% 2 -3);--muted:lab(95.5% .5 -1.5);--muted-foreground:lab(42% 1.5 -3);--accent:lab(95.5% .5 -1.5);--accent-foreground:lab(15% 2 -3);--destructive:lab(48.4493% 77.4328 61.5452);--destructive-foreground:lab(98.26% 0 0);--border:lab(90.5% .5 -1.5);--input:lab(88% .5 -1.5);--ring:lab(45% 1.5 -3);--chart-1:lab(57.1026% 64.2584 89.8886);--chart-2:lab(55.0223% -41.0774 -3.90277);--chart-3:lab(30.372% -13.1853 -18.7887);--chart-4:lab(80.1641% 16.6016 99.2089);--chart-5:lab(72.7183% 31.8672 97.9407);--sidebar:lab(98% .3 -1);--sidebar-foreground:lab(13% 1 -2);--sidebar-primary:lab(20% 4 -6);--sidebar-primary-foreground:lab(98% 0 0);--sidebar-accent:lab(95.5% .5 -1.5);--sidebar-accent-foreground:lab(15% 2 -3);--sidebar-border:lab(90.5% .5 -1.5);--sidebar-ring:lab(45% 1.5 -3);--dot-color:lab(13% 1 -2/.06)}:root:not([data-theme=light]),:root[data-theme=dark],.dark{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--background:lab(6.5% 1.2 -4);--foreground:lab(93% .8 -3);--card:lab(9.6% 1.2 -3.8);--card-foreground:lab(93% .8 -3);--popover:lab(11% 1.2 -3.8);--popover-foreground:lab(93% .8 -3);--primary:lab(89.9321% -47.9163 -15.7303);--primary-foreground:lab(4% 1 -3);--secondary:lab(14.5% 1 -3);--secondary-foreground:lab(93% .8 -3);--muted:lab(14.5% 1 -3);--muted-foreground:lab(61% 1.2 -2.8);--accent:lab(14.5% 1 -3);--accent-foreground:lab(93% .8 -3);--destructive:lab(60% 70 45);--destructive-foreground:lab(100% 0 0);--border:lab(20% .8 -2.6);--input:lab(14.5% 1 -3);--ring:lab(65% 3 -6);--chart-1:lab(89.9321% -47.9163 -15.7303);--chart-2:lab(66.9756% -58.27 19.5419);--chart-3:lab(72.7183% 31.8672 97.9407);--chart-4:lab(52.0183% 66.11 -78.2316);--chart-5:lab(56.101% 79.4328 31.4532);--sidebar:lab(6.5% 1.2 -4);--sidebar-foreground:lab(93% .8 -3);--sidebar-primary:lab(89.9321% -47.9163 -15.7303);--sidebar-primary-foreground:lab(4% 1 -3);--sidebar-accent:lab(11% 1.1 -3.4);--sidebar-accent-foreground:lab(93% .8 -3);--sidebar-border:lab(16% .9 -2.8);--sidebar-ring:lab(65% 3 -6);--dot-color:lab(93% .8 -3/.04)}html{font-size:var(--root-font-size)}.dot-canvas{background-image:radial-gradient(var(--dot-color) 1px, transparent 1px);background-size:24px 24px}.dot-canvas-dense{background-image:radial-gradient(var(--dot-color) 1px, transparent 1px);background-size:16px 16px}.flex-center{justify-content:center;align-items:center;display:flex}.flex-between{justify-content:space-between;align-items:center;display:flex}.flex-col{flex-direction:column;display:flex}.stack-xs{gap:var(--space-1);flex-direction:column;display:flex}.stack-sm{gap:var(--space-2);flex-direction:column;display:flex}.stack-md{gap:var(--space-4);flex-direction:column;display:flex}.stack-lg{gap:var(--space-6);flex-direction:column;display:flex}.row-xs{align-items:center;gap:var(--space-1);display:flex}.row-sm{align-items:center;gap:var(--space-2);display:flex}.row-md{align-items:center;gap:var(--space-4);display:flex}.grid-2{gap:var(--space-4);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.grid-3{gap:var(--space-4);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.grid-4{gap:var(--space-4);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}@media (width<=760px){.grid-2,.grid-3,.grid-4{grid-template-columns:1fr}}.surface-card{background:var(--card);color:var(--card-foreground);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-5);box-shadow:0 4px 20px #0000001f}.surface-sidebar{background:var(--sidebar);color:var(--sidebar-foreground);border-right:1px solid var(--sidebar-border)}.surface-popover{background:var(--popover);color:var(--popover-foreground);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:0 10px 30px #00000040}.surface-muted{background:var(--secondary);color:var(--secondary-foreground);border:1px solid var(--border);border-radius:var(--radius-md)}.badge{align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);font-family:var(--font-mono);font-size:var(--text-3xs);white-space:nowrap;border:1px solid #0000;font-weight:500;line-height:1;display:inline-flex}.badge-primary{background:color-mix(in srgb, var(--primary) 14%, transparent);color:var(--primary);border-color:color-mix(in srgb, var(--primary) 28%, transparent)}.badge-secondary{background:var(--secondary);color:var(--secondary-foreground);border-color:var(--border)}.badge-destructive{background:color-mix(in srgb, var(--destructive) 14%, transparent);color:var(--destructive);border-color:color-mix(in srgb, var(--destructive) 28%, transparent)}.badge-positive{background:color-mix(in srgb, var(--chart-2) 14%, transparent);color:var(--chart-2);border-color:color-mix(in srgb, var(--chart-2) 28%, transparent)}.badge-outline{color:var(--muted-foreground);border-color:var(--border);background:0 0}.hover-lift{transition:transform .2s,border-color .2s,box-shadow .2s}.hover-lift:hover{border-color:var(--ring);box-shadow:0 8px 24px color-mix(in srgb, var(--primary) 10%, #0003);transform:translateY(-2px)}.kbd-tag{font-family:var(--font-mono);font-size:var(--text-3xs);color:var(--muted-foreground);background:var(--secondary);border:1px solid var(--border);border-radius:var(--radius-sm);padding:var(--space-1) var(--space-2)}.skeleton-pulse{background:color-mix(in srgb, var(--foreground) 7%, var(--card));border-radius:var(--radius-md);animation:1.8s ease-in-out infinite skeleton-shimmer}@keyframes skeleton-shimmer{0%,to{opacity:.45}50%{opacity:.85}}.glow-primary{box-shadow:0 0 24px color-mix(in srgb, var(--primary) 25%, transparent)}.dialog-backdrop{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:50;padding:var(--space-4);background:#000000b8;place-items:center;animation:.2s ease-out dialog-fade-in;display:grid;position:fixed;inset:0}.dialog-panel{background:var(--card);color:var(--card-foreground);border:1px solid var(--border);border-radius:var(--radius-xl);width:100%;max-width:520px;padding:var(--space-6);box-shadow:0 24px 48px #0006, 0 0 0 1px color-mix(in srgb, var(--primary) 12%, transparent);animation:.2s cubic-bezier(.16,1,.3,1) dialog-scale-in;position:relative}@keyframes dialog-fade-in{0%{opacity:0}to{opacity:1}}@keyframes dialog-scale-in{0%{opacity:0;transform:scale(.96)translateY(8px)}to{opacity:1;transform:scale(1)translateY(0)}}.dialog-close-btn{top:var(--space-4);right:var(--space-4);color:var(--muted-foreground);border-radius:var(--radius-md);padding:var(--space-1);cursor:pointer;background:0 0;border:0;place-items:center;transition:all .15s;display:grid;position:absolute}.dialog-close-btn:hover{background:var(--secondary);color:var(--foreground)}.alert{gap:var(--space-3);padding:var(--space-4);border-radius:var(--radius-lg);border:1px solid var(--border);background:var(--card);color:var(--foreground);line-height:1.5;display:flex;position:relative}.alert-info{background:color-mix(in srgb, var(--primary) 6%, var(--card));border-color:color-mix(in srgb, var(--primary) 24%, var(--border))}.alert-info .alert-icon{color:var(--primary)}.alert-positive{background:color-mix(in srgb, var(--chart-2) 6%, var(--card));border-color:color-mix(in srgb, var(--chart-2) 24%, var(--border))}.alert-positive .alert-icon{color:var(--chart-2)}.alert-warning{background:color-mix(in srgb, var(--chart-3) 6%, var(--card));border-color:color-mix(in srgb, var(--chart-3) 24%, var(--border))}.alert-warning .alert-icon{color:var(--chart-3)}.alert-destructive{background:color-mix(in srgb, var(--destructive) 8%, var(--card));border-color:color-mix(in srgb, var(--destructive) 28%, var(--border))}.alert-destructive .alert-icon{color:var(--destructive)}.ui-tabs-list{background:var(--secondary);border:1px solid var(--border);border-radius:var(--radius-lg);align-items:center;gap:3px;padding:4px;display:inline-flex}.ui-tabs-trigger{color:var(--muted-foreground);font-size:var(--text-sm);font-family:var(--font-sans);padding:var(--space-2) var(--space-4);border-radius:var(--radius-md);cursor:pointer;align-items:center;gap:var(--space-2);white-space:nowrap;background:0 0;border:1px solid #0000;font-weight:500;line-height:1.4;transition:all .15s;display:inline-flex}.ui-tabs-trigger:hover{color:var(--foreground)}.ui-tabs-trigger.active{background:var(--card);color:var(--foreground);border-color:color-mix(in srgb, var(--border) 60%, transparent);font-weight:600;box-shadow:0 1px 3px #00000029}.ui-tabs-trigger svg{flex-shrink:0;display:block}.ui-tabs-content{margin-top:var(--space-4)}.empty-state{text-align:center;padding:var(--space-10) var(--space-6);border:1px dashed var(--border);border-radius:var(--radius-xl);background:color-mix(in srgb, var(--secondary) 50%, var(--card));flex-direction:column;justify-content:center;align-items:center;display:flex}.empty-state-icon{border-radius:var(--radius-lg);background:color-mix(in srgb, var(--primary) 12%, var(--secondary));width:48px;height:48px;color:var(--primary);margin-bottom:var(--space-4);place-items:center;display:grid}.progress-container{background:var(--secondary);border:1px solid var(--border);border-radius:var(--radius-pill);width:100%;height:8px;position:relative;overflow:hidden}.progress-fill{background:var(--primary);border-radius:var(--radius-pill);height:100%;box-shadow:0 0 10px color-mix(in srgb, var(--primary) 60%, transparent);transition:width .3s cubic-bezier(.4,0,.2,1)}.progress-indeterminate{width:40%;animation:1.5s ease-in-out infinite progress-slide;position:absolute}@keyframes progress-slide{0%{transform:translate(-100%)}to{transform:translate(350%)}}.switch-root{border-radius:var(--radius-pill);background:var(--border);border:1px solid var(--border);cursor:pointer;align-items:center;width:40px;height:22px;padding:2px;transition:background-color .2s,border-color .2s;display:inline-flex}.switch-root.checked{background:var(--primary);border-color:var(--primary)}.switch-thumb{background:var(--muted-foreground);border-radius:50%;width:16px;height:16px;transition:transform .2s cubic-bezier(.2,.8,.2,1),background-color .2s}.switch-root.checked .switch-thumb{background:var(--primary-foreground);transform:translate(18px)}.ui-table-container{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--card);width:100%;overflow-x:auto}.ui-table{border-collapse:collapse;text-align:left;width:100%;font-size:var(--text-sm);color:var(--foreground)}.ui-table th{padding:var(--space-3) var(--space-4);font:var(--text-3xs) var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted-foreground);background:var(--secondary);border-bottom:1px solid var(--border)}.ui-table td{padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--border)}.ui-table tr:last-child td{border-bottom:0}.ui-table tr:hover td{background:color-mix(in srgb, var(--foreground) 3%, var(--card))}.sheet-backdrop{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:50;background:#000000b3;animation:.2s ease-out dialog-fade-in;position:fixed;inset:0}.sheet-panel{background:var(--card);width:100%;max-width:420px;color:var(--card-foreground);border-left:1px solid var(--border);z-index:51;padding:var(--space-6);flex-direction:column;animation:.25s cubic-bezier(.16,1,.3,1) sheet-slide-in;display:flex;position:fixed;top:0;bottom:0;right:0;box-shadow:-10px 0 35px #00000059}@keyframes sheet-slide-in{0%{transform:translate(100%)}to{transform:translate(0)}}.tooltip-wrapper{display:inline-flex;position:relative}.tooltip-box{background:var(--popover);color:var(--popover-foreground);border:1px solid var(--border);border-radius:var(--radius-sm);padding:var(--space-1) var(--space-2);font:var(--text-3xs) var(--font-mono);white-space:nowrap;pointer-events:none;z-index:40;opacity:0;transition:opacity .15s,transform .15s;position:absolute;bottom:100%;left:50%;transform:translate(-50%)translateY(-6px);box-shadow:0 4px 14px #0003}.tooltip-box[data-open=true]{opacity:1;transform:translate(-50%)translateY(-8px)}.skeleton{background:color-mix(in srgb, var(--foreground) 7%, var(--card));animation:1.8s ease-in-out infinite skeleton-shimmer;display:block}.skeleton-text{border-radius:var(--radius-sm);width:100%;height:14px}.skeleton-circle{border-radius:50%;flex-shrink:0}.skeleton-rect{border-radius:var(--radius-lg)}:where(.ui-tabs-trigger,.switch-root,.dialog-close-btn):focus-visible{outline:var(--focus-ring);outline-offset:var(--focus-offset)}:root{--root-font-size:100%;font-family:var(--font-sans);color:var(--foreground);background:var(--background);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}html,body,#root{height:100%}html{overscroll-behavior:none}body{min-width:320px;margin:0;overflow:hidden}#root{isolation:isolate}button,input{font:inherit}button{cursor:pointer}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:color-mix(in srgb, var(--foreground) 16%, transparent);border-radius:var(--radius-pill);background-clip:padding-box;border:3px solid #0000}::-webkit-scrollbar-thumb:hover{background:color-mix(in srgb, var(--foreground) 28%, transparent);background-clip:padding-box;border:3px solid #0000}:root{--sidebar-w:232px}.app-shell{grid-template-columns:var(--sidebar-w) minmax(0, 1fr);background:var(--background);isolation:isolate;height:100dvh;display:grid;position:relative}.app-shell.bare{grid-template-columns:minmax(0,1fr)}.app-main{overscroll-behavior:contain;min-height:0;overflow-y:auto}.sidebar{gap:var(--space-4);padding:var(--space-4) var(--space-3);border-right:1px solid var(--border);background:var(--sidebar);flex-direction:column;min-height:0;display:flex}.brand-link{align-items:center;gap:var(--space-2);color:inherit;white-space:nowrap;padding:0 var(--space-2);text-decoration:none;display:flex}.brand-mark{border:1px solid color-mix(in srgb, var(--primary) 45%, var(--border));width:24px;height:24px;color:var(--primary);background:color-mix(in srgb, var(--primary) 10%, transparent);border-radius:var(--radius-md);flex:none;place-items:center;display:grid}.brand-mark.large{border-radius:var(--radius-xl);width:44px;height:44px}.brand-link b{letter-spacing:-.02em;font-weight:650;font-size:var(--text-md);color:var(--foreground)}.side-nav{flex-direction:column;gap:2px;display:flex}.side-item{align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);border-radius:var(--radius-pill);color:var(--muted-foreground);font-size:var(--text-sm);font-weight:500;text-decoration:none;transition:background-color .15s,color .15s;display:flex}.side-item svg{flex:none}.side-item:hover{background:color-mix(in srgb, var(--foreground) 5%, transparent);color:var(--foreground)}.side-item.active{background:color-mix(in srgb, var(--primary) 12%, transparent);color:var(--primary);font-weight:600}.side-item-label{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.side-sep{height:1px;margin:var(--space-2) var(--space-3);background:var(--border)}.side-foot{gap:var(--space-3);flex-direction:column;min-height:0;margin-top:auto;display:flex}.vault-meter{gap:var(--space-2);padding:var(--space-3);border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--card);flex-direction:column;min-width:0;text-decoration:none;transition:border-color .15s;display:flex}.vault-meter:hover{border-color:color-mix(in srgb, var(--primary) 40%, var(--border))}.vault-meter-head{justify-content:space-between;align-items:baseline;gap:var(--space-2);min-width:0;display:flex}.vault-meter-label{font-size:var(--text-3xs);font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.08em;color:var(--muted-foreground)}.vault-meter-total{font-size:var(--text-2xs);color:var(--foreground);white-space:nowrap;font-weight:600}.vault-meter-track{border-radius:var(--radius-pill);background:color-mix(in srgb, var(--primary) 14%, transparent);height:4px;overflow:hidden}.vault-meter-fill{border-radius:var(--radius-pill);background:var(--primary);opacity:.7;width:100%;height:100%;display:block}.vault-meter-url{font-size:var(--text-3xs);color:var(--muted-foreground);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.side-foot-row{align-items:center;gap:var(--space-2);padding:0 var(--space-1);display:flex}.side-foot-row .icon-button:first-child{margin-right:auto}.icon-button{color:var(--muted-foreground);padding:var(--space-2);border-radius:var(--radius-md);background:0 0;border:0;place-items:center;text-decoration:none;transition:color .15s,background-color .15s;display:grid}.icon-button:hover,.icon-button.active{background:var(--secondary);color:var(--foreground)}.side-signin{border:1px solid var(--border);background:var(--secondary);color:var(--foreground);border-radius:var(--radius-md);padding:var(--space-1) var(--space-3);font-size:var(--text-xs);white-space:nowrap;align-items:center;font-weight:600;text-decoration:none;transition:border-color .15s,color .15s;display:inline-flex}.side-signin:hover{border-color:color-mix(in srgb, var(--primary) 45%, var(--border));color:var(--primary)}.page{padding:var(--space-5) var(--space-6) var(--space-8)}.page-narrow{max-width:780px;margin:0 auto}.page-head{margin-bottom:var(--space-4)}.page-head h1{margin:0 0 var(--space-1);font-size:var(--text-lg);letter-spacing:-.02em;font-weight:650;line-height:1.2}.page-head p{color:var(--muted-foreground);font-size:var(--text-sm);max-width:72ch;margin:0;line-height:1.55}.button{border-radius:var(--radius-md);padding:var(--space-1) var(--space-3);color:var(--foreground);font-size:var(--text-xs);align-items:center;gap:var(--space-2);white-space:nowrap;cursor:pointer;-webkit-user-select:none;user-select:none;border:1px solid #0000;font-weight:550;text-decoration:none;transition:background-color .15s,border-color .15s,color .15s;display:inline-flex}.button:active{transform:translateY(1px)}.button.primary{background:var(--primary);color:var(--primary-foreground);font-weight:600}.button.primary:hover{filter:brightness(1.06)}.button.primary:active{filter:brightness(.94)}.button.secondary{background:var(--secondary);border-color:var(--border);color:var(--foreground)}.button.secondary:hover{border-color:color-mix(in srgb, var(--foreground) 22%, var(--border));background:color-mix(in srgb, var(--foreground) 4%, var(--secondary))}.button.danger{background:color-mix(in srgb, var(--destructive) 16%, var(--card));border-color:color-mix(in srgb, var(--destructive) 45%, var(--border));color:var(--destructive)}.button.danger:hover{background:color-mix(in srgb, var(--destructive) 26%, var(--card))}.button.ghost{color:var(--muted-foreground);background:0 0}.button.ghost:hover{color:var(--foreground);background:var(--secondary)}.button:disabled{opacity:.55;pointer-events:none}.full{justify-content:center;width:100%}.user-menu{place-items:center;display:grid;position:relative}.avatar{background:color-mix(in srgb, var(--primary) 18%, var(--secondary));color:var(--primary);border-radius:var(--radius-pill);width:28px;height:28px;font-size:var(--text-3xs);letter-spacing:.04em;cursor:pointer;border:0;place-items:center;padding:0;font-weight:650;display:grid}.avatar.large{width:40px;height:40px;font-size:var(--text-sm)}.user-menu-popover{top:calc(100% + var(--space-2));background:var(--popover);min-width:230px;color:var(--popover-foreground);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-2);z-index:60;animation:.15s cubic-bezier(.16,1,.3,1) popover-in;position:absolute;right:0;box-shadow:0 16px 40px #0006}.user-menu-popover--up{top:auto;bottom:calc(100% + var(--space-2));animation:.15s cubic-bezier(.16,1,.3,1) popover-in-up}@keyframes popover-in{0%{opacity:0;transform:scale(.96)translateY(4px)}to{opacity:1;transform:scale(1)translateY(0)}}@keyframes popover-in-up{0%{opacity:0;transform:scale(.96)translateY(-4px)}to{opacity:1;transform:scale(1)translateY(0)}}.user-menu-identity{padding:var(--space-2) var(--space-3);font-size:var(--text-xs);gap:2px;display:grid}.user-menu-identity span{color:var(--muted-foreground);font-size:var(--text-2xs)}.user-menu-signout{align-items:center;gap:var(--space-2);width:100%;color:var(--muted-foreground);font-family:inherit;font-size:var(--text-xs);padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);cursor:pointer;background:0 0;border:0;transition:all .15s;display:flex}.user-menu-signout:hover{background:var(--secondary);color:var(--destructive)}.session-card{border-color:color-mix(in srgb, var(--primary) 30%, var(--border))}.session-note{color:var(--muted-foreground);font-size:var(--text-xs);margin:0}.session-identity{align-items:center;gap:var(--space-3);display:flex}.session-lines{gap:2px;min-width:0;display:grid}.session-lines b{font-size:var(--text-sm)}.session-lines span,.session-lines small{color:var(--muted-foreground);font-size:var(--text-2xs);text-overflow:ellipsis;overflow:hidden}.session-lines .skeleton-pulse{height:var(--text-xs);display:block}.session-avatar.skeleton-pulse{border-radius:var(--radius-pill);width:32px;height:32px}.session-roles{gap:var(--space-2);flex-wrap:wrap;display:flex}.files-page{position:relative}.files-toolbar{gap:var(--space-3);flex-wrap:wrap}.file-breadcrumbs{font-size:var(--text-md);flex-wrap:wrap;align-items:center;gap:2px;min-width:0;display:flex}.crumb{color:var(--muted-foreground);border-radius:var(--radius-md);padding:var(--space-1) var(--space-2);white-space:nowrap;text-decoration:none}.crumb:hover{color:var(--foreground);background:var(--secondary)}.crumb.current{color:var(--foreground);font-weight:600}.crumb-segment{align-items:center;gap:2px;min-width:0;display:inline-flex}.crumb-sep{color:var(--border);font-size:var(--text-sm)}.toolbar-search{flex:0 300px;align-items:center;min-width:180px;display:inline-flex;position:relative}.toolbar-search>svg{left:var(--space-3);color:var(--muted-foreground);pointer-events:none;position:absolute}.toolbar-search input{background:var(--secondary);border-radius:var(--radius-pill);width:100%;padding:var(--space-2) var(--space-6);color:var(--foreground);font-size:var(--text-sm);border:1px solid #0000;outline:0;transition:background-color .15s,border-color .15s,box-shadow .15s}.toolbar-search input::placeholder{color:var(--muted-foreground)}.toolbar-search input:hover{border-color:var(--border)}.toolbar-search input:focus-visible{background:var(--card);border-color:color-mix(in srgb, var(--primary) 45%, var(--border));box-shadow:0 0 0 3px color-mix(in srgb, var(--primary) 14%, transparent)}.selection-bar{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);border:1px solid color-mix(in srgb, var(--primary) 25%, var(--border));border-radius:var(--radius-lg);background:color-mix(in srgb, var(--primary) 7%, var(--card));flex-wrap:wrap;display:flex}.files-list .ui-table-container{background:0 0;border:0;border-radius:0;overflow:visible}.files-list .ui-table{border-collapse:separate;border-spacing:0}.files-list .ui-table th{z-index:2;background:var(--background);font:600 var(--text-2xs) var(--font-sans);letter-spacing:.02em;text-transform:none;color:var(--muted-foreground);border-bottom:1px solid var(--border);padding:var(--space-2) var(--space-3);white-space:nowrap;position:sticky;top:0}.files-list .ui-table td{padding:var(--space-1) var(--space-3);border-bottom:1px solid color-mix(in srgb, var(--border) 55%, transparent);height:40px}.files-list .ui-table tbody tr:last-child td{border-bottom:0}.files-list .ui-table tbody td:first-child{border-radius:var(--radius-md) 0 0 var(--radius-md)}.files-list .ui-table tbody td:last-child{border-radius:0 var(--radius-md) var(--radius-md) 0}.files-list .ui-table tbody tr:hover td{background:color-mix(in srgb, var(--foreground) 4%, transparent)}.files-list .ui-table tbody tr.row-selected td{background:color-mix(in srgb, var(--primary) 8%, transparent)}.files-list .ui-table tbody tr.row-selected:hover td{background:color-mix(in srgb, var(--primary) 12%, transparent)}.files-list .row-check{opacity:0;transition:opacity .12s}.files-list tr:hover .row-check,.files-list tr:focus-within .row-check,.files-list tr.row-selected .row-check,.files-list.has-selection .row-check{opacity:1}@media (hover:none){.files-list .row-check{opacity:1}}.files-list input[type=checkbox]{accent-color:var(--primary);width:14px;height:14px;margin:0;display:block}.files-list .check-cell{width:36px;padding-right:0}.files-list .size-cell,.files-list .mod-cell{white-space:nowrap}.files-list .size-cell{font-family:var(--font-mono);font-size:var(--text-2xs);text-align:right;width:90px}.files-list .mod-cell{font-variant-numeric:tabular-nums;width:130px}.files-list .actions-cell{text-align:right;width:44px}.files-list .actions-cell .button{opacity:0;transition:opacity .12s}.files-list tr:hover .actions-cell .button,.files-list tr:focus-within .actions-cell .button,.files-list tr.row-selected .actions-cell .button,.files-list.has-selection .actions-cell .button{opacity:1}@media (hover:none){.files-list .actions-cell .button{opacity:1}}.sort-btn{border-radius:var(--radius-sm);font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;align-items:center;gap:2px;margin:-2px -4px;padding:2px 4px;display:inline-flex}.sort-btn:hover{color:var(--foreground);background:color-mix(in srgb, var(--foreground) 6%, transparent)}.sort-btn .sort-arrow{visibility:hidden}.sort-btn[aria-pressed=true]{color:var(--foreground);font-weight:600}.sort-btn[aria-pressed=true] .sort-arrow,.ui-table th:hover .sort-btn .sort-arrow{visibility:visible}.entry-name{align-items:center;gap:var(--space-3);min-width:0;display:flex}.entry-icon{border-radius:var(--radius-md);background:color-mix(in srgb, var(--type-binary) 14%, transparent);width:28px;height:28px;color:var(--type-binary);flex:none;place-items:center;display:inline-grid}.entry-icon.is-folder{background:color-mix(in srgb, var(--type-folder) 16%, transparent);color:var(--type-folder)}.entry-icon.is-image{background:color-mix(in srgb, var(--type-image) 15%, transparent);color:var(--type-image)}.entry-icon.is-code{background:color-mix(in srgb, var(--type-code) 15%, transparent);color:var(--type-code)}.entry-icon.is-doc{background:color-mix(in srgb, var(--type-doc) 15%, transparent);color:var(--type-doc)}.entry-link{color:var(--foreground);text-overflow:ellipsis;white-space:nowrap;font-weight:500;text-decoration:none;overflow:hidden}.entry-link:hover{color:var(--primary);text-underline-offset:3px;text-decoration:underline}.delete-list{gap:var(--space-2);max-height:180px;padding:var(--space-3);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--secondary);margin:0;list-style:none;display:grid;overflow-y:auto}.delete-list li{align-items:center;gap:var(--space-2);min-width:0;color:var(--foreground);font-size:var(--text-xs);display:flex}.delete-list li svg{color:var(--muted-foreground);flex:none}.delete-list li span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.desktop-client-link{align-items:center;gap:var(--space-2);color:var(--muted-foreground);font-size:var(--text-xs);text-decoration:none;display:inline-flex}.desktop-client-link:hover{color:var(--primary)}.backup-strip{gap:var(--space-3);border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--card);padding:var(--space-4) var(--space-5);flex-direction:column;display:flex}.backup-strip-head{justify-content:space-between;align-items:baseline;gap:var(--space-3);flex-wrap:wrap;display:flex}.backup-strip-title{align-items:center;gap:var(--space-2);font-size:var(--text-sm);color:var(--foreground);font-weight:600;display:inline-flex}.backup-strip-desc{color:var(--muted-foreground);font-size:var(--text-xs);margin:0;line-height:1.5}.backup-strip-stats{align-items:center;gap:var(--space-3);color:var(--muted-foreground);font-size:var(--text-2xs);flex-wrap:wrap;display:flex}.rsync-row{align-items:center;gap:var(--space-2);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--background);padding:var(--space-1) var(--space-1) var(--space-1) var(--space-3);flex-wrap:wrap;display:flex}.rsync-cmd{min-width:0;font-size:var(--text-2xs);color:var(--foreground);white-space:nowrap;padding:var(--space-1) 0;flex:1;overflow-x:auto}.status-json{padding:var(--space-3);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--background);color:var(--muted-foreground);font-size:var(--text-2xs);margin:0;overflow-x:auto}.drop-overlay{z-index:20;justify-content:center;align-items:center;gap:var(--space-2);border:2px dashed var(--primary);border-radius:var(--radius-lg);background:color-mix(in srgb, var(--background) 85%, transparent);color:var(--primary);font-family:var(--font-mono);font-size:var(--text-xs);pointer-events:none;flex-direction:column;display:flex;position:absolute;inset:0}.files-split{gap:var(--space-4);grid-template-columns:minmax(0,1fr);align-items:start;display:grid}.files-main{min-width:0}@media (width>=1100px){.files-split.with-preview{grid-template-columns:minmax(0,1fr) clamp(320px,34vw,560px)}}.preview-pane{top:var(--space-3);max-height:calc(100dvh - var(--space-6));border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--card);flex-direction:column;display:flex;position:sticky;overflow:hidden}.preview-header{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--border);background:var(--secondary);flex:none;display:flex}.preview-title{flex-direction:column;flex:1;min-width:0;display:flex}.preview-name{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--foreground);text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.preview-meta{font-size:var(--text-3xs);color:var(--muted-foreground)}.preview-action{padding:var(--space-1) var(--space-2)}.preview-body{flex-direction:column;flex:1;min-height:220px;display:flex;overflow:auto}.preview-body>.alert,.preview-body>.empty-state{margin:var(--space-3)}.preview-loading{justify-content:center;align-items:center;gap:var(--space-2);min-height:160px;color:var(--muted-foreground);font-size:var(--text-xs);flex:1;display:flex}.preview-image{padding:var(--space-3);background:repeating-conic-gradient(color-mix(in srgb, var(--secondary) 72%, var(--card)) 0 25%, transparent 0 50%) 0 0 / var(--space-4) var(--space-4);flex:1;justify-content:center;align-items:center;display:flex}.preview-image a{max-width:100%;display:flex}.preview-image img{border-radius:var(--radius-md);max-width:100%;height:auto}.preview-text{padding:var(--space-3);font-family:var(--font-mono);font-size:var(--text-2xs);color:var(--foreground);white-space:pre-wrap;overflow-wrap:break-word;margin:0;line-height:1.6}.preview-code{flex-direction:column;flex:1;min-height:220px;display:flex}.preview-code .cm-editor{background:var(--card);color:var(--foreground);flex:1}.preview-code .cm-editor.cm-focused{outline:none}.preview-code .cm-gutters{background:var(--card);border-right:1px solid var(--border);color:var(--muted-foreground)}.preview-code .cm-content,.preview-code .cm-gutters{font-family:var(--font-mono);font-size:var(--text-2xs)}.preview-code .cm-scroller{overflow:auto}.preview-unsupported{justify-content:center;align-items:center;gap:var(--space-2);padding:var(--space-6);text-align:center;color:var(--muted-foreground);flex-direction:column;flex:1;display:flex}.preview-unsupported-title{font-size:var(--text-sm);color:var(--foreground);margin:0;font-weight:600}.preview-unsupported-meta{font-size:var(--text-2xs);margin:0}.preview-markdown{flex-direction:column;display:flex}.preview-markdown-tabs{padding:var(--space-2) var(--space-3) 0}.markdown-body{padding:var(--space-3) var(--space-4);font-size:var(--text-sm);color:var(--foreground);overflow-wrap:break-word;line-height:1.65}.markdown-body>:first-child{margin-top:0}.markdown-body>:last-child{margin-bottom:0}.markdown-body h1,.markdown-body h2,.markdown-body h3,.markdown-body h4{margin:var(--space-5) 0 var(--space-2);font-weight:600;line-height:1.3}.markdown-body h1{font-size:var(--text-lg)}.markdown-body h2{font-size:var(--text-md)}.markdown-body h3,.markdown-body h4{font-size:var(--text-sm)}.markdown-body p{margin:var(--space-2) 0}.markdown-body a{color:var(--primary)}.markdown-body ul,.markdown-body ol{margin:var(--space-2) 0;padding-left:var(--space-5)}.markdown-body li{margin:var(--space-1) 0}.markdown-body code{font-family:var(--font-mono);font-size:var(--text-2xs);background:var(--secondary);border:1px solid var(--border);border-radius:var(--radius-sm);padding:.1em .35em}.markdown-body pre{margin:var(--space-3) 0;padding:var(--space-3);background:var(--secondary);border:1px solid var(--border);border-radius:var(--radius-md);overflow-x:auto}.markdown-body pre code{background:0 0;border:0;padding:0}.markdown-body blockquote{margin:var(--space-3) 0;padding:0 var(--space-3);border-left:3px solid var(--border);color:var(--muted-foreground)}.markdown-body table{width:100%;margin:var(--space-3) 0;border-collapse:collapse;font-size:var(--text-2xs)}.markdown-body th,.markdown-body td{border:1px solid var(--border);padding:var(--space-1) var(--space-2);text-align:left}.markdown-body th{background:var(--secondary)}.markdown-body img{max-width:100%}.markdown-body hr{border:0;border-top:1px solid var(--border);margin:var(--space-4) 0}.markdown-body input[type=checkbox]{margin-right:var(--space-2)}.du-stats{gap:var(--space-3);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.du-scope{align-items:center;gap:var(--space-3);font-size:var(--text-2xs);display:inline-flex}.du-scope-reset{align-items:center;gap:var(--space-1);color:var(--primary);font-family:inherit;font-size:var(--text-2xs);cursor:pointer;background:0 0;border:0;padding:0;display:inline-flex}.du-scope-reset:hover{text-decoration:underline}.du-filter{background:var(--secondary);border:1px solid var(--border);border-radius:var(--radius-md);min-width:200px;padding:var(--space-1) var(--space-3);color:var(--foreground);font-size:var(--text-xs);outline:0;transition:border-color .15s,box-shadow .15s}.du-filter:focus-visible{border-color:var(--ring);box-shadow:0 0 0 3px color-mix(in srgb, var(--ring) 20%, transparent)}.du-share{align-items:center;gap:var(--space-2);display:flex}.du-share-track{border-radius:var(--radius-pill);background:color-mix(in srgb, var(--primary) 12%, transparent);flex:0 0 96px;height:6px;overflow:hidden}.du-share-fill{border-radius:var(--radius-pill);background:var(--primary);height:100%;display:block}.du-share-label{min-width:48px;color:var(--muted-foreground);font-size:var(--text-2xs)}.du-browse-link{color:var(--muted-foreground);align-items:center;display:inline-flex}.du-browse-link:hover{color:var(--primary)}@media (width<=720px){.du-stats{grid-template-columns:1fr}}.login-page{min-height:100%;padding:var(--space-6);place-items:center;display:grid}.login-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-xl);width:100%;max-width:380px;padding:var(--space-7) var(--space-6) var(--space-5);gap:var(--space-5);flex-direction:column;animation:.35s cubic-bezier(.16,1,.3,1) login-rise;display:flex}@keyframes login-rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.login-brand{text-align:center;justify-items:center;gap:var(--space-3);display:grid}.login-brand h1{font-size:var(--text-lg);letter-spacing:-.02em;margin:0;font-weight:650}.login-brand p{color:var(--muted-foreground);font-size:var(--text-xs);max-width:34ch;margin:0;line-height:1.55}.login-body{gap:var(--space-3);display:grid}.login-note{text-align:center;color:var(--muted-foreground);font-size:var(--text-2xs);margin:0;line-height:1.5}.login-foot{border-top:1px solid var(--border);padding-top:var(--space-4);text-align:center;color:var(--muted-foreground);font-size:var(--text-2xs);line-height:1.5}.login-foot a{color:var(--primary);text-decoration:none}.login-foot a:hover{text-decoration:underline}.not-found{gap:var(--space-6);padding:var(--space-9) 0;justify-items:center;display:grid}.overview-links{gap:var(--space-3);font-size:var(--text-sm);justify-items:center;margin:0;padding:0;list-style:none;display:grid}.overview-links a{align-items:center;gap:var(--space-2);color:var(--muted-foreground);text-decoration:none;display:inline-flex}.overview-links a:hover{color:var(--primary)}.mono{font-family:var(--font-mono);font-size:var(--text-3xs)}.muted{color:var(--muted-foreground)}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.button:focus-visible,.side-item:focus-visible,.icon-button:focus-visible,.side-signin:focus-visible,.avatar:focus-visible,.crumb:focus-visible,.sort-btn:focus-visible,.entry-link:focus-visible,.toolbar-search input:focus-visible,.desktop-client-link:focus-visible,.vault-meter:focus-visible,.du-scope-reset:focus-visible,.du-browse-link:focus-visible,.login-foot a:focus-visible,.user-menu-signout:focus-visible{outline:var(--focus-ring);outline-offset:var(--focus-offset)}.page{animation:.25s cubic-bezier(.16,1,.3,1) page-in}@keyframes page-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media (width<=900px){.app-shell{grid-template-columns:60px minmax(0,1fr)}.sidebar{padding:var(--space-3) var(--space-2);align-items:center}.brand-link{padding:0}.brand-link b,.side-item-label,.vault-meter{display:none}.side-nav{align-items:stretch;width:100%}.side-item{padding:var(--space-2) 0;justify-content:center}.side-sep{margin:var(--space-2) var(--space-2)}.side-foot-row{gap:var(--space-2);flex-direction:column}.side-foot-row .icon-button:first-child{margin-right:0}}@media (width<=760px){.page{padding:var(--space-4) var(--space-4) var(--space-7)}.page-head p{display:none}.toolbar-search{flex-basis:100%;order:3}.rsync-row,.rsync-cmd{font-size:var(--text-3xs)}}@media (width<=420px){.crumb{text-overflow:ellipsis;max-width:140px;overflow:hidden}}@keyframes spin{to{transform:rotate(360deg)}}
