body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}body{--bg:#0e0c0a;--surface:#171410;--surface2:#201d19;--border:#2e2a24;--accent:#c9a41e;--accent-dk:#a8870e;--accent-bg:#c9a41e1a;--text:#e5ddd4;--muted:#7a7060;--danger:#c94c1e;--header-h:52px;--radius:6px;--font:system-ui,-apple-system,sans-serif;--app-font-color:var(--text);--app-primary:var(--surface);--app-secondary:var(--surface2);--app-tertiary:var(--bg);--app-active:var(--surface2);--app-bg:var(--bg);--app-hover:var(--surface2);--app-header-height:var(--header-h);--app-header-bg:var(--surface);--app-header-shadow:none;--app-header-border:1px solid var(--border);--input-bg-color:var(--bg);--input-font-color:var(--text);--file-thumb-bg:var(--surface2);--video-layer-bg:var(--surface);--video-layer-border:1px solid var(--border);--video-layer-shadow:none;--video-layer-video-bg:#000}body:not(.dark){--bg:#f5f1ec;--surface:#ece7e0;--surface2:#e4ddd5;--border:#ccc5bb;--accent:#a8870e;--accent-dk:#8a6e09;--accent-bg:#a8870e1a;--text:#1a1612;--muted:#8a7e6e;--video-layer-shadow:0 8px 40px #0000002e}*,:after,:before{box-sizing:border-box;margin:0;padding:0}body,html{background:var(--bg);color:var(--text);font-family:var(--font);font-size:14px;line-height:1.5;min-height:100vh}body{padding-top:var(--header-h)}body.video-open{overflow:hidden}@media(max-width:600px){body{padding-top:var(--header-h)}}*{color:var(--text)}input,select,textarea{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);font-family:var(--font);font-size:13px;outline:none;padding:7px 10px;transition:border-color .15s}input:focus,select:focus,textarea:focus{border-color:var(--accent)}input::placeholder,select::placeholder,textarea::placeholder{color:var(--muted)}option{background:var(--surface)}button,option{color:var(--text)}button{background:none;border:none;cursor:pointer;font-family:var(--font)}a{color:var(--text)}#scroll-to-top,a{text-decoration:none}#scroll-to-top{align-items:center;background:var(--surface2);border:1px solid var(--border);border-radius:50%;bottom:-50px;color:var(--muted);display:flex;font-size:14px;height:36px;justify-content:center;position:fixed;right:16px;transition:bottom .25s,background .12s,color .12s;width:36px;z-index:10}#scroll-to-top:hover{background:var(--border);color:var(--text)}body:not(.top) #scroll-to-top{bottom:16px}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:#0000}::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}.taglist{display:flex;flex-wrap:wrap;gap:3px;list-style:none;margin:0;padding:0}.taglist li a{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0000008c;border-radius:10px;color:var(--text);display:inline-block;font-size:10px;font-weight:600;padding:2px 7px;text-decoration:none;transition:background .12s,color .12s;white-space:nowrap}.taglist li a:hover{background:var(--accent);color:#111}.taglist li:last-child a{background:#0006;color:var(--muted)}.taglist li:last-child a:hover{background:var(--surface2);color:var(--text)}.modal .taglist{margin-bottom:10px}.modal .taglist li a{background:var(--surface2);color:var(--muted);font-size:12px;padding:3px 9px}.modal .taglist li a:hover{background:var(--danger);color:#fff}.modal{background:var(--surface);border:1px solid var(--border);border-radius:10px;box-shadow:0 12px 40px #00000080;left:50%;max-width:90vw;min-width:320px;position:fixed;top:50%;transform:translate(-50%,-50%);z-index:9999}.modal .modal-header{align-items:center;border-bottom:1px solid var(--border);color:var(--text);display:flex;font-size:14px;font-weight:600;justify-content:space-between;padding:12px 16px}.modal .modal-header .btn-close{color:var(--muted);font-size:16px;line-height:1;text-decoration:none;transition:color .12s}.modal .modal-header .btn-close:hover{color:var(--text)}.modal .modal-content{padding:16px}.modal .modal-content input[type=text]{margin-bottom:10px;width:100%}.modal .modal-content button{background:var(--accent);border:none;border-radius:var(--radius);color:#111;cursor:pointer;font-size:13px;font-weight:600;padding:7px 16px;transition:background .12s}.modal .modal-content button:hover{background:var(--accent-dk)}.modal .modal-content button:disabled{cursor:default;opacity:.5}.fav-star{align-items:center;color:var(--muted);cursor:pointer;display:inline-flex;font-size:14px;justify-content:center;line-height:1;opacity:.35;transition:color .15s,opacity .15s,background .15s}.fav-star:hover{color:var(--accent);opacity:1}.fav-star.disabled{opacity:.2;pointer-events:none}.fav-star.checked{color:var(--accent);opacity:1}.fav-star.checked svg path{fill:var(--accent)}.dir-info .fav-star{font-size:13px;position:static}.fp-card .fav-star{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#00000073;border-radius:50%;height:24px;position:absolute;right:6px;top:6px;width:24px;z-index:3}.fp-card .fav-star.checked{background:#c9a41e40;color:var(--accent)}.fp-card .fav-star.checked svg path{fill:var(--accent)}.fp-card{background:var(--surface);border:1px solid var(--border);border-radius:10px;overflow:hidden;position:relative;transition:transform .15s,box-shadow .15s}.fp-card:hover{box-shadow:0 6px 20px #0006;transform:translateY(-2px)}.fp-card:hover .fp-hover-overlay{opacity:1}.fp-card.fp-current{border-color:var(--accent)}.fp-card.fp-checked{opacity:.6}.fp-checkbox{accent-color:var(--accent);display:none;height:16px;left:8px;position:absolute;top:8px;width:16px;z-index:3}.fp-card.fp-checked .fp-checkbox,.fp-card.fp-selection-mode .fp-checkbox,.fp-card:hover .fp-checkbox,.fp-link{display:block}.fp-link{color:inherit;text-decoration:none}.fp-thumb{aspect-ratio:1;background:var(--surface2);overflow:hidden;position:relative;width:100%}.fp-thumb.fp-thumb--circle{background:#050505}.fp-thumb.fp-thumb--circle .fp-img{background-size:cover;border-radius:50%;height:84%;left:8%;top:8%;width:84%}.fp-img{background-position:50%;background-repeat:no-repeat;background-size:cover;inset:0;position:absolute;transition:background-image .05s}.fp-duration{font-feature-settings:"tnum";background:#000000a6;border-radius:4px;bottom:6px;color:#fff;font-size:11px;font-variant-numeric:tabular-nums;padding:1px 5px;pointer-events:none;position:absolute;right:6px;z-index:2}.fp-hover-overlay{background:#0000007a;inset:0;opacity:0;position:absolute;transition:opacity .15s;z-index:2}.fp-hover-overlay,.fp-play-btn{align-items:center;display:flex;justify-content:center}.fp-play-btn{background:#c9a41ee0;border-radius:50%;color:#111;font-size:14px;height:38px;padding-left:3px;width:38px}.fp-meta{padding:6px 9px 8px}.fp-dir{color:var(--accent)!important;display:block;margin-bottom:2px;text-decoration:none}.fp-dir,.fp-name{font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fp-name{color:var(--muted)}.fp-card .taglist.main{bottom:32px;left:8px;position:absolute;z-index:3}.fp-card.with-directory .taglist.main{bottom:46px}.context-menu{animation:cm-pop .1s ease;background:var(--surface);border:1px solid var(--border);border-radius:10px;box-shadow:0 8px 32px #00000080;min-width:172px;padding:4px;position:fixed;z-index:9999}@keyframes cm-pop{0%{opacity:0;transform:scale(.94)}to{opacity:1;transform:scale(1)}}.cm-item{background:none;border:none;border-radius:6px;color:var(--text);cursor:pointer;display:block;font-size:13px;height:40px;line-height:40px;padding:0 12px;text-align:left;transition:background .1s;width:100%}.cm-item:hover{background:var(--surface2)}.cm-item.cm-danger{color:#e05555}.cm-item.cm-danger:hover{background:#e055551a}@keyframes fading{0%,to{opacity:.5}50%{opacity:.8}}.vl-toolbar{align-items:center;display:flex;flex-wrap:wrap;gap:8px;margin-bottom:20px}.vl-filter-chip{align-items:center;background:none;border:1px solid var(--border);border-radius:20px;color:var(--muted);cursor:pointer;display:inline-flex;font-family:var(--font);font-size:12px;padding:4px 11px;transition:border-color .12s,color .12s,background .12s}.vl-filter-chip:hover{border-color:var(--muted);color:var(--text)}.vl-filter-chip.active{background:var(--accent-bg);border-color:var(--accent);color:var(--accent)}.vl-sort{background:var(--surface);color:var(--text);font-family:var(--font);margin-left:auto;outline:none;padding:4px 8px}.vl-queue-btn,.vl-sort{border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;font-size:12px}.vl-queue-btn{background:none;color:var(--muted);padding:4px 10px;transition:background .1s,color .1s,border-color .1s;white-space:nowrap}.vl-queue-btn:hover{background:var(--surface2);border-color:var(--accent);color:var(--text)}.vl-bulk-menu{align-items:center;color:var(--muted);display:flex;flex-wrap:wrap;font-size:12px;gap:8px;margin-bottom:10px}.vl-bulk-menu button,.vl-bulk-menu select{background:var(--surface2);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);cursor:pointer;font-size:12px;padding:4px 8px}.file-list{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));list-style:none;padding:0}.file-list.loading{animation:fading 1.5s infinite;pointer-events:none}.file-list>li{display:block}.file-list .fp-card.not-selected{opacity:.4}.vl-section-head{align-items:center;display:flex;gap:10px;margin-bottom:14px;margin-top:28px}.vl-section-head:first-child{margin-top:0}.vl-section-label{font-weight:700;letter-spacing:.09em;text-transform:uppercase;white-space:nowrap}.vl-section-count,.vl-section-label{color:var(--muted);font-size:11px}.vl-section-rule{background:var(--border);flex:1 1;height:1px}.vl-load-more{align-items:center;color:var(--muted);display:flex;font-size:13px;gap:8px;justify-content:center;padding:20px 0}.vl-spin{animation:spin .7s linear infinite;border:2px solid var(--border);border-radius:50%;border-top-color:var(--accent);display:inline-block;height:16px;width:16px}.br-root{display:flex;flex-direction:column;gap:12px;max-width:720px;min-width:560px}.br-pattern-row{align-items:center;display:flex;gap:10px}.br-pattern-input{background:#1e1b17;background:var(--surface2,#1e1b17);border:1px solid var(--accent);border-radius:8px;color:var(--text);flex:1 1;font-family:monospace;font-size:14px;outline:none;padding:8px 12px}.br-pattern-input::placeholder{color:var(--muted)}.br-pattern-input:disabled{opacity:.5}.br-start-label{align-items:center;color:var(--muted);display:flex;flex-shrink:0;font-size:12px;gap:6px}.br-start-input{background:#1e1b17;background:var(--surface2,#1e1b17);border:1px solid var(--border);border-radius:6px;color:var(--text);font-size:13px;outline:none;padding:7px 8px;text-align:center;width:56px}.br-start-input:focus{border-color:var(--accent)}.br-start-input:disabled{opacity:.5}.br-tokens{display:flex;flex-wrap:wrap;gap:6px}.br-token{background:var(--surface);border:1px solid var(--border);border-radius:6px;color:var(--accent);cursor:pointer;font-family:monospace;font-size:12px;padding:4px 10px;transition:background .1s,border-color .1s}.br-token:hover{background:var(--surface2);border-color:var(--accent)}.br-token:disabled{opacity:.4;pointer-events:none}.br-warning{background:#e07c551a;border:1px solid #e07c554d;border-radius:6px;color:#e07c55;font-size:12px;padding:7px 10px}.br-preview{border:1px solid var(--border);border-radius:8px;overflow:hidden}.br-preview-header{grid-gap:8px;background:var(--surface);color:var(--muted);display:grid;font-size:11px;font-weight:600;gap:8px;grid-template-columns:1fr 1fr;letter-spacing:.04em;padding:6px 12px;text-transform:uppercase}.br-preview-rows{max-height:280px;overflow-y:auto}.br-preview-row{grid-gap:8px;align-items:center;border-top:1px solid var(--border);display:grid;font-size:13px;gap:8px;grid-template-columns:1fr auto 1fr;padding:6px 12px;transition:background .1s}.br-preview-row:hover{background:var(--surface)}.br-preview-row.br-same{opacity:.4}.br-preview-row.br-dup .br-new{color:#e07c55}.br-preview-row.br-error .br-new{color:#e05555}.br-old{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.br-arrow,.br-old{color:var(--muted)}.br-arrow{flex-shrink:0;font-size:11px}.br-new{color:var(--text);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.br-new em{color:#e07c55;font-size:12px;font-style:italic}.br-err-msg{color:#e05555;display:block;font-size:11px;margin-top:2px;white-space:normal}.br-footer{align-items:center;display:flex;justify-content:space-between;padding-top:4px}.br-summary{color:var(--muted);font-size:12px}.br-apply{background:var(--accent);border:none;border-radius:8px;color:#111;cursor:pointer;font-size:13px;font-weight:600;padding:8px 20px;transition:background .12s,opacity .12s}.br-apply:hover{background:#b8921a;background:var(--accent-dk,#b8921a)}.br-apply:disabled{cursor:default;opacity:.4}.video-container{background:#000;display:flex;flex-direction:column;inset:0;position:absolute}.video-container video{background:#000;cursor:pointer;display:block;flex:1 1;min-height:0;width:100%}.video-container .video-loading-error{align-items:center;display:flex;inset:0;justify-content:center;padding:40px;position:absolute}.video-container .video-loading-error .message{color:var(--muted);font-size:15px;line-height:1.6;max-width:440px;text-align:center}.video-container .controls{background:linear-gradient(0deg,#000000d9 0,#0000);bottom:0;left:0;opacity:0;padding:32px 12px 8px;pointer-events:none;position:absolute;right:0;transition:opacity .25s}.video-container .controls .controls-content{display:flex;flex-direction:column;gap:6px}.video-container .controls .control-buttons{align-items:center;display:flex;justify-content:space-between}.video-container .controls .control-buttons .left,.video-container .controls .control-buttons .right{align-items:center;display:flex;gap:4px}.video-container .controls .control-buttons span{font-feature-settings:"tnum";color:#ffffffbf;font-size:12px;font-variant-numeric:tabular-nums;padding:0 6px;white-space:nowrap}.video-container .controls .control-buttons button{align-items:center;background:none;border:none;border-radius:6px;color:#fffc;cursor:pointer;display:flex;font-size:14px;height:32px;justify-content:center;transition:background .12s,color .12s;width:32px}.video-container .controls .control-buttons button:hover{background:#ffffff1f;color:#fff}.video-container .controls .control-buttons button[style*=auto]{font-size:12px;padding:0 10px;width:auto}.video-container.loading .controls,.video-container.paused .controls,.video-container:hover .controls{opacity:1;pointer-events:all}.video-container .volume-container{align-items:center;display:flex;gap:2px}.video-container .volume-container .input-wrap{align-items:center;display:flex;overflow:hidden;transition:width .2s;width:0}.video-container .volume-container input[type=range]{accent-color:var(--accent);width:80px}.video-container:not(.muted) .volume-container:hover .input-wrap{width:88px}.seek-bar{cursor:pointer;padding:6px 0;position:relative}.seek-bar .hover-timestamp{font-feature-settings:"tnum";background:#000000a6;border-radius:4px;bottom:28px;color:#fff;font-size:11px;font-variant-numeric:tabular-nums;padding:2px 6px;pointer-events:none;position:absolute;transform:translateX(-50%);white-space:nowrap}.seek-bar .bar{background:#fff3;border-radius:2px;height:3px;position:relative;transition:height .15s}.seek-bar .bar .elapsed{background:var(--accent);border-radius:2px;height:100%;left:0;position:absolute;top:0}.seek-bar:hover .bar{height:5px}.video-clipping-container{display:flex;height:100%;left:0;position:absolute;top:0;width:100%}.video-clipping-container>*{flex-grow:0;flex-shrink:0;height:100%}.video-clipping-container .post,.video-clipping-container .pre{background:#000;opacity:.9}.video-layer{background:#0a0907;color:var(--text);display:flex;flex-direction:column;inset:0;position:fixed;z-index:100}.video-layer .vl-header{align-items:center;background:var(--surface);border-bottom:1px solid var(--border);display:flex;flex-shrink:0;gap:12px;height:52px;padding:0 16px}.video-layer .vl-header .vl-dir{color:var(--accent);font-size:12px;text-decoration:none;white-space:nowrap}.video-layer .vl-header .vl-dir:hover{text-decoration:underline}.video-layer .vl-header .vl-sep{color:var(--muted);font-size:12px}.video-layer .vl-header .vl-name{color:var(--text);flex:1 1;font-size:13px;font-weight:500;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.video-layer .vl-header .vl-tags{align-items:center;display:flex}.video-layer .vl-header .vl-open-folder{align-items:center;background:none;border:none;border-radius:6px;color:var(--muted);cursor:pointer;display:flex;flex-shrink:0;font-size:14px;height:32px;justify-content:center;transition:color .12s,background .12s;width:32px}.video-layer .vl-header .vl-open-folder:hover{background:var(--surface2);color:var(--accent)}.video-layer .vl-header .vl-settings{align-items:center;display:flex;flex-shrink:0;gap:12px}.video-layer .vl-header .vl-settings label{align-items:center;color:var(--muted);cursor:pointer;display:flex;font-size:12px;gap:5px;-webkit-user-select:none;user-select:none}.video-layer .vl-header .vl-settings label input[type=checkbox]{accent-color:var(--accent)}.video-layer .vl-header .vl-close{align-items:center;border-radius:50%;color:var(--muted);display:flex;flex-shrink:0;font-size:18px;height:32px;justify-content:center;line-height:1;text-decoration:none;transition:color .12s,background .12s;width:32px}.video-layer .vl-header .vl-close:hover{background:var(--surface2);color:var(--text)}.video-layer .vl-body{display:flex;flex:1 1;min-height:0;overflow:hidden}.video-layer .vl-main{align-items:center;background:#000;display:flex;flex:1 1;justify-content:center;min-width:0;position:relative}.video-layer .vl-sidebar{background:var(--surface);border-left:1px solid var(--border);display:flex;flex-direction:column;flex-shrink:0;overflow:hidden;width:200px}.video-layer .vl-sidebar>.video-list{flex:1 1;overflow-y:auto;padding:8px}.video-layer .vl-sidebar .file-list{gap:6px;grid-template-columns:1fr}.video-layer .vl-sidebar .queue-panel{flex:1 1;overflow:hidden}@media(max-width:1200px){.video-layer .vl-sidebar{display:none}}.video-layer .vl-sidebar-tabs{border-bottom:1px solid var(--border);display:flex;flex-shrink:0}.video-layer .vl-sidebar-tab{background:none;border:none;border-bottom:2px solid #0000;color:var(--muted);cursor:pointer;flex:1 1;font-size:11px;margin-bottom:-1px;padding:8px 6px;transition:color .12s,border-color .12s}.video-layer .vl-sidebar-tab:hover{color:var(--text)}.video-layer .vl-sidebar-tab.active{border-bottom-color:var(--accent);color:var(--text);font-weight:500}.video-layer .vl-photo{align-items:center;display:flex;height:100%;justify-content:center;padding:20px;width:100%}.video-layer .vl-photo img{max-height:100%;max-width:100%;object-fit:contain}.video-layer .vl-nav{align-items:center;display:flex;inset:0;justify-content:space-between;padding:0 8px;pointer-events:none;position:absolute;z-index:10}.video-layer .vl-nav a{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#00000073;border-radius:8px;color:#fff9;display:flex;font-size:20px;height:56px;justify-content:center;pointer-events:all;text-decoration:none;transition:background .15s,color .15s;width:40px}.video-layer .vl-nav a:hover{background:#000000b3;color:#fff}.video-layer .vl-nav div{width:40px}.video-layer:not(.hover) .vl-nav a{opacity:0;pointer-events:none}.video-layer.hover .vl-nav a{opacity:1;pointer-events:all;transition:opacity .2s,background .15s,color .15s}.queue-panel{display:flex;flex-direction:column;height:100%;overflow:hidden}.qp-toolbar{align-items:center;border-bottom:1px solid var(--border);display:flex;flex-shrink:0;gap:6px;padding:8px 10px}.qp-count{flex:1 1}.qp-btn,.qp-count{color:var(--muted);font-size:12px}.qp-btn{background:none;border:1px solid var(--border);border-radius:6px;cursor:pointer;padding:4px 10px;transition:background .1s,color .1s}.qp-btn:hover{background:var(--surface2);color:var(--text)}.qp-btn--clear:hover{background:#e055551a;border-color:#e055554d;color:#e05555}.qp-list{flex:1 1;overflow-y:auto}.qp-item{align-items:center;border-bottom:1px solid #0000;cursor:pointer;display:flex;gap:8px;padding:6px 10px;position:relative;transition:background .1s}.qp-item--current,.qp-item:hover{background:var(--surface)}.qp-item--current{border-left:3px solid var(--accent);padding-left:7px}.qp-item--current .qp-name{color:var(--accent);font-weight:500}.qp-item--current .qp-idx{color:var(--accent)}.qp-item--past{opacity:.35}.qp-idx{font-feature-settings:"tnum";color:var(--muted);flex-shrink:0;font-size:11px;font-variant-numeric:tabular-nums;min-width:20px;text-align:right}.qp-thumb{background:var(--surface2);border-radius:3px;flex-shrink:0;height:28px;object-fit:cover;width:44px}.qp-info{display:flex;flex:1 1;flex-direction:column;min-width:0}.qp-name{color:var(--text);font-size:12px}.qp-dir,.qp-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.qp-dir{color:var(--muted);font-size:11px}#app-header{align-items:center;background:var(--surface);border-bottom:1px solid var(--border);display:flex;gap:0;height:var(--header-h);left:0;padding:0 16px;position:fixed;right:0;top:0;z-index:50}.hdr-brand{color:var(--accent)!important;flex-shrink:0;font-family:Georgia,Times New Roman,serif;font-size:20px;font-weight:400;letter-spacing:.04em;margin-right:20px;text-decoration:none;-webkit-user-select:none;user-select:none}.hdr-nav{align-items:center;display:flex;flex-shrink:0;gap:2px;margin-right:16px}.hdr-tab{border-radius:var(--radius);color:var(--muted)!important;font-size:13px;padding:5px 11px;text-decoration:none;transition:background .12s,color .12s;white-space:nowrap}.hdr-tab.active,.hdr-tab:hover{background:var(--surface2);color:var(--text)!important}.hdr-mid{flex:1 1;min-width:0}.hdr-breadcrumb,.hdr-mid{align-items:center;display:flex}.hdr-breadcrumb{font-size:13px;gap:5px;overflow:hidden;white-space:nowrap}.hdr-crumb{color:var(--muted)!important;flex-shrink:1;min-width:0;overflow:hidden;text-decoration:none;text-overflow:ellipsis;transition:color .12s}.hdr-crumb:hover{color:var(--text)!important}.hdr-sep{color:var(--muted);font-size:11px}.hdr-current{color:var(--text);font-weight:500;overflow:hidden;text-overflow:ellipsis}.hdr-search{align-items:center;background:var(--bg);border:1px solid var(--border);border-radius:20px;display:flex;flex-shrink:0;gap:6px;height:32px;margin:0 12px;padding:0 12px}.hdr-search input{background:none;border:none;color:var(--text);font-size:13px;outline:none;width:150px}.hdr-search input::placeholder,.hdr-search-icon{color:var(--muted)}.hdr-search-icon{font-size:15px;line-height:1}.hdr-actions{flex-shrink:0;gap:2px}.hdr-actions,.hdr-btn{align-items:center;display:flex}.hdr-btn{background:none;border:none;border-radius:var(--radius);color:var(--muted);cursor:pointer;font-size:16px;height:32px;justify-content:center;transition:background .12s,color .12s;width:32px}.hdr-btn:hover{background:var(--surface2);color:var(--text)}@media(max-width:700px){.hdr-search input{width:100px}.hdr-tab{font-size:12px;padding:5px 8px}.hdr-breadcrumb{display:none}}.fq{display:flex;flex-direction:column;gap:28px;max-width:700px;padding:24px}.fq-empty{color:var(--muted);font-size:14px;padding:48px 24px;text-align:center}.fq-section-title{color:var(--muted);font-size:11px;font-weight:600;letter-spacing:.06em;margin-bottom:10px;text-transform:uppercase}.fq-empty-section{color:var(--muted);font-size:13px}.fq-queue-note{border:1px solid var(--border);border-radius:8px;color:var(--text);font-size:13px}.fq-entry,.fq-queue-note{background:var(--surface);padding:12px 14px}.fq-entry{border:1px solid var(--border);border-radius:10px;display:flex;flex-direction:column;gap:5px;margin-bottom:8px}.fq-entry-header{align-items:center;display:flex;gap:8px}.fq-type{background:#c9a41e1f;border-radius:4px;color:var(--accent);flex-shrink:0;font-size:10px;font-weight:600;letter-spacing:.05em;padding:2px 6px;text-transform:uppercase}.fq-name{color:var(--text);flex:1 1;font-size:13px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fq-pct{font-feature-settings:"tnum";color:var(--accent);flex-shrink:0;font-size:13px;font-variant-numeric:tabular-nums}.fq-action{color:var(--muted);font-size:11px}.fq-track{background:var(--surface2);border-radius:2px;height:4px;margin-top:2px;overflow:hidden}.fq-bar{background:var(--accent);border-radius:2px;height:100%;min-width:4px;transition:width .3s ease}.fq-badges{display:flex;gap:6px;margin-top:2px}.fq-badge{background:#4caf741f;border-radius:4px;color:#4caf74;font-size:10px;padding:1px 6px}.fq-error{color:#e05555;font-size:11px;margin-top:2px}.plb{background:var(--surface);border:1px solid var(--border);border-radius:12px;bottom:16px;box-shadow:0 8px 32px #00000073;font-size:12px;overflow:hidden;position:fixed;right:16px;width:280px;z-index:200}.plb-header{align-items:center;border-bottom:1px solid var(--border);cursor:pointer;display:flex;gap:8px;padding:10px 12px;-webkit-user-select:none;user-select:none}.plb-header:hover{background:var(--surface2)}.plb-spinner{animation:plb-spin .7s linear infinite;border:2px solid var(--border);border-radius:50%;border-top-color:var(--accent);flex-shrink:0;height:12px;width:12px}@keyframes plb-spin{to{transform:rotate(1turn)}}.plb-title{color:var(--text);flex:1 1;font-weight:500}.plb-details{color:var(--accent);flex-shrink:0;font-size:11px;text-decoration:none}.plb-details:hover{text-decoration:underline}.plb-chevron{color:var(--muted);font-size:10px}.plb-body{gap:8px;max-height:300px;overflow-y:auto;padding:8px}.plb-body,.plb-entry{display:flex;flex-direction:column}.plb-entry{gap:3px}.plb-row{align-items:baseline;display:flex;gap:6px;justify-content:space-between}.plb-name{color:var(--text);flex:1 1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.plb-pct{font-feature-settings:"tnum";color:var(--accent);flex-shrink:0;font-variant-numeric:tabular-nums}.plb-action{color:var(--muted);font-size:11px}.plb-track{background:var(--surface2);border-radius:2px;height:3px;overflow:hidden}.plb-bar{background:var(--accent);border-radius:2px;height:100%;min-width:4px;transition:width .3s ease}.plb-queue-count{border-top:1px solid var(--border);color:var(--muted);margin-top:2px;padding:4px 2px 2px}.dir-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));margin-bottom:32px}.dir-card{background:var(--surface);border:1px solid var(--border);border-radius:10px;display:block;overflow:hidden;position:relative;text-decoration:none;transition:transform .15s,box-shadow .15s}.dir-card:hover{box-shadow:0 8px 28px #0006;transform:translateY(-2px)}.dir-mosaic{grid-gap:1px;aspect-ratio:16/10;background:var(--border);display:grid;gap:1px;grid-template-columns:1fr 1fr;overflow:hidden;width:100%}.dir-mosaic-cell{background-color:var(--surface2);background-position:50%;background-size:cover}.dir-mosaic-cell:only-child{grid-column:1/-1;grid-row:1/-1}.dir-mosaic-cell.is-circle{background-clip:content-box;border-radius:50%;padding:14%}.dir-count{font-feature-settings:"tnum";-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#0009;border-radius:10px;bottom:38px;color:#e5ddd4;font-size:11px;font-variant-numeric:tabular-nums;font-weight:600;padding:2px 7px;pointer-events:none;position:absolute;right:8px}.dir-info{align-items:center;display:flex;gap:6px;justify-content:space-between;padding:8px 10px}.dir-name{color:var(--text);flex:1 1;font-size:13px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.continue-watching{margin-bottom:24px}.cw-header{color:var(--muted);font-size:13px;font-weight:600;letter-spacing:.06em;margin-bottom:10px;padding:0 2px;text-transform:uppercase}.cw-scroll{display:flex;gap:10px;overflow-x:auto;padding-bottom:6px;scrollbar-color:var(--border) #0000;scrollbar-width:thin}.cw-scroll::-webkit-scrollbar{height:4px}.cw-scroll::-webkit-scrollbar-track{background:#0000}.cw-scroll::-webkit-scrollbar-thumb{background:var(--border);border-radius:2px}.cw-card{background:var(--surface);border:1px solid var(--border);border-radius:8px;cursor:pointer;flex-shrink:0;overflow:hidden;transition:transform .15s,box-shadow .15s;width:140px}.cw-card:hover{box-shadow:0 4px 14px #0006;transform:translateY(-2px)}.cw-thumb{aspect-ratio:1;background-position:50%;background-repeat:no-repeat;background-size:cover;position:relative;width:100%}.cw-bar{background:#fff3;bottom:0;height:3px;left:0;position:absolute;right:0}.cw-bar-fill{background:var(--accent);border-radius:0 2px 2px 0;height:100%;min-width:4px}.cw-name{color:var(--muted);font-size:11px;overflow:hidden;padding:5px 7px 6px;text-overflow:ellipsis;white-space:nowrap}.tag-mgmt{display:flex;flex-direction:column;gap:12px}.tm-toolbar{align-items:center;display:flex;flex-wrap:wrap;gap:10px}.tm-search{background:var(--surface);border:1px solid var(--border);border-radius:8px;color:var(--text);flex:1 1;font-size:13px;min-width:160px;outline:none;padding:7px 11px}.tm-search:focus{border-color:var(--accent)}.tm-search::placeholder{color:var(--muted)}.tm-sort{border:1px solid var(--border);border-radius:8px;display:flex;overflow:hidden}.tm-sort button{background:none;border:none;color:var(--muted);cursor:pointer;font-size:12px;padding:7px 12px;transition:background .1s,color .1s}.tm-sort button.active,.tm-sort button:hover{background:var(--surface2);color:var(--text)}.tm-sort button.active{font-weight:500}.tm-sort button+.tm-sort button{border-left:1px solid var(--border)}.tm-total{color:var(--muted);font-size:12px;white-space:nowrap}.tm-list{display:flex;flex-direction:column;gap:2px}.tm-row{align-items:center;border:1px solid #0000;border-radius:8px;display:flex;gap:8px;padding:7px 10px;transition:background .1s}.tm-row:hover{background:var(--surface);border-color:var(--border)}.tm-row--busy{opacity:.6;pointer-events:none}.tm-tag-name{color:var(--text);flex:1 1;font-size:13px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tm-count{font-feature-settings:"tnum";font-size:12px;font-variant-numeric:tabular-nums}.tm-action,.tm-count{color:var(--muted);flex-shrink:0}.tm-action{align-items:center;background:none;border:none;border-radius:6px;cursor:pointer;display:flex;font-size:12px;height:28px;justify-content:center;transition:background .1s,color .1s;width:28px}.tm-action:hover{background:var(--surface2);color:var(--text)}.tm-action:disabled{opacity:.4;pointer-events:none}.tm-action.tm-save{color:#4caf74}.tm-action.tm-save:hover{background:#4caf741f;color:#4caf74}.tm-action.tm-danger:hover{background:#e055551f;color:#e05555}.tm-inline-confirm,.tm-inline-edit{align-items:center;display:flex;flex:1 1;gap:6px;min-width:0}.tm-rename-input{background:var(--surface2);border:1px solid var(--accent);border-radius:6px;color:var(--text);flex:1 1;font-size:13px;min-width:0;outline:none;padding:4px 8px}.tm-merge-hint{color:var(--accent);flex-shrink:0;font-size:11px;white-space:nowrap}.tm-confirm-text{color:var(--text);flex:1 1;font-size:13px;min-width:0}.tm-confirm-text strong{color:var(--accent)}.file-browser{max-width:100%;padding:20px 20px 60px}.fb-tags-filter{margin-bottom:16px}.fb-tags-filter input{max-width:360px;width:100%}.fb-tags-header{border-bottom:1px solid var(--border);display:flex;gap:2px;margin-bottom:14px;padding-bottom:0}.fb-mode-btn{background:none;border:none;border-bottom:2px solid #0000;color:var(--muted);cursor:pointer;font-size:13px;margin-bottom:-1px;padding:7px 16px;transition:color .12s,border-color .12s}.fb-mode-btn:hover{color:var(--text)}.fb-mode-btn.active{border-bottom-color:var(--accent);color:var(--text);font-weight:500}.fb-tagcloud{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.fb-tag-pill{align-items:center;background:var(--surface);border:1px solid var(--border);border-radius:20px;color:var(--text);cursor:pointer;display:inline-flex;font-size:13px;gap:6px;padding:5px 13px;text-decoration:none;transition:background .12s,border-color .12s}.fb-tag-pill:hover{background:var(--surface2);border-color:var(--muted)}.fb-tag-pill.selected{background:var(--accent-bg);border-color:var(--accent);color:var(--accent)}.fb-tag-actions{align-items:center;display:inline-flex;gap:4px}.fb-tag-actions a{align-items:center;background:var(--surface2);border-radius:50%;color:var(--muted);display:flex;font-size:11px;height:18px;justify-content:center;text-decoration:none;transition:background .12s,color .12s;width:18px}.fb-tag-actions a:hover{background:var(--border);color:var(--text)}.fb-search-form{display:flex;gap:8px;margin-bottom:20px}.fb-search-form input{flex:1 1;max-width:400px}.fb-search-form button{background:var(--accent);border:none;border-radius:var(--radius);color:#111;cursor:pointer;font-size:13px;font-weight:600;padding:7px 16px;transition:background .12s}.fb-search-form button:hover{background:var(--accent-dk)}.fb-search-form button:disabled{cursor:default;opacity:.5}.fb-selected-tags{color:var(--muted);font-size:12px;margin-bottom:12px}.dupes-view{max-width:1100px;padding:24px 20px 60px}.dupes-header{align-items:baseline;display:flex;flex-wrap:wrap;gap:20px;margin-bottom:24px}.dupes-title{color:var(--text);font-size:20px;font-weight:600;margin:0}.dupes-summary{align-items:center;color:var(--muted);display:flex;font-size:13px;gap:16px}.dupes-clean-all{background:#e055551f;border:1px solid #e055554d;border-radius:8px;color:#e05555;cursor:pointer;font-size:12px;padding:6px 14px;transition:background .12s}.dupes-clean-all:hover{background:#e0555533}.dupes-loading{color:var(--muted);font-size:14px;padding:40px 0;text-align:center}.dupes-groups{display:flex;flex-direction:column;gap:20px}.dupes-group{border:1px solid var(--border);border-radius:10px;overflow:hidden;transition:opacity .2s}.dupes-group--busy{opacity:.5;pointer-events:none}.dupes-group-header{align-items:center;background:var(--surface);border-bottom:1px solid var(--border);display:flex;gap:10px;padding:10px 14px}.dupes-group-sum{flex:1 1;font-family:monospace}.dupes-group-count,.dupes-group-sum{color:var(--muted);font-size:12px}.dupes-clean-btn{background:#e055551a;border:1px solid #e0555540;border-radius:6px;color:#e05555;cursor:pointer;font-size:12px;padding:5px 12px;transition:background .12s;white-space:nowrap}.dupes-clean-btn:hover{background:#e0555533}.dupes-clean-btn:disabled{cursor:default;opacity:.4}.dupes-files{display:flex;flex-wrap:wrap;gap:0}.dupes-file{border-bottom:1px solid var(--border);border-right:1px solid var(--border);cursor:pointer;display:flex;flex-direction:column;position:relative;transition:background .12s;width:220px}.dupes-file:last-child{border-right:none}.dupes-file:hover{background:var(--surface)}.dupes-file--keep{border-top:3px solid #4caf74}.dupes-file--keep .dupes-file-badge{background:#4caf7426;color:#4caf74}.dupes-file--delete{border-top:3px solid #e05555;opacity:.7}.dupes-file--delete .dupes-file-badge{background:#e055551f;color:#e05555}.dupes-file--delete:hover{opacity:1}.dupes-file-badge{font-size:11px;font-weight:600;letter-spacing:.03em;padding:3px 8px;text-align:center;text-transform:uppercase}.dupes-thumb{aspect-ratio:16/9;background:var(--surface2);display:block;object-fit:cover;width:100%}.dupes-file-info{display:flex;flex-direction:column;gap:3px;padding:8px 10px}.dupes-file-name{color:var(--text);font-size:13px;font-weight:500}.dupes-file-dir,.dupes-file-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dupes-file-dir{color:var(--accent);font-size:12px}.dupes-file-path{color:var(--muted);font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.auth-loading,.auth-screen{align-items:center;display:flex;justify-content:center;min-height:100vh}.auth-screen{background:var(--bg)}.auth-card{background:var(--surface);border:1px solid var(--border);border-radius:12px;display:flex;flex-direction:column;padding:40px 48px 44px;width:340px}@media(max-width:400px){.auth-card{border:none;border-radius:0;justify-content:center;min-height:100vh;padding:32px 24px 36px;width:100%}}.auth-brand{color:var(--accent);font-family:Georgia,Times New Roman,serif;font-size:34px;font-weight:400;letter-spacing:.04em;margin-bottom:32px;text-align:center}.auth-label{color:var(--muted);font-size:11px;font-weight:700;letter-spacing:.07em;margin-bottom:6px;margin-top:16px;text-transform:uppercase}.auth-label:first-of-type{margin-top:0}.auth-card input{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);font-size:14px;outline:none;padding:9px 12px;transition:border-color .15s;width:100%}.auth-card input:focus{border-color:var(--accent)}.auth-error{color:var(--danger);font-size:12px;margin-top:10px}.auth-btn{background:var(--accent);border:none;border-radius:var(--radius);color:#111;cursor:pointer;font-size:14px;font-weight:700;letter-spacing:.03em;margin-top:24px;padding:10px;transition:background .15s,opacity .15s}.auth-btn:hover:not(:disabled){background:var(--accent-dk)}.auth-btn:disabled{cursor:default;opacity:.5}.spin{animation:spin .7s linear infinite;border:2px solid var(--border);border-radius:50%;border-top-color:var(--accent);display:inline-block;height:22px;width:22px}@keyframes spin{to{transform:rotate(1turn)}}
/*# sourceMappingURL=main.b5e7e650.css.map*/