body{margin:0}:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{color:#eaeaea;background:#0b0b0d;font-family:-apple-system,Segoe UI,PingFang TC,Microsoft JhengHei,sans-serif}.app{flex-direction:column;height:100vh;display:flex}.content-area{flex-direction:column;flex:1;min-height:0;display:flex;position:relative}.content-blurable{flex-direction:column;flex:1;min-height:0;transition:filter .15s;display:flex}.content-blurable.blurred{filter:blur(40px)brightness(.4);pointer-events:none;-webkit-user-select:none;user-select:none}.toolbar{background:#16161a;border-bottom:1px solid #26262b;flex-wrap:wrap;align-items:center;gap:8px;padding:8px 12px;display:flex}.toolbar button{color:#eaeaea;cursor:pointer;background:#232328;border:1px solid #34343a;border-radius:6px;padding:6px 12px;font-size:14px;transition:background-color .1s,border-color .1s,transform 80ms}.toolbar button:hover:not(:disabled){background:#3a3a44;border-color:#52525e}.toolbar button:active:not(:disabled){background:#18181b;border-color:#5b8cff;transform:scale(.94)}.toolbar button:disabled{opacity:.5;cursor:default}.toolbar button.toggle-active{background:#3a4a8f;border-color:#5b8cff}.source-badge{color:#b7b7bd;white-space:nowrap;background:#232328;border:1px solid #34343a;border-radius:6px;align-items:center;gap:4px;padding:6px 10px;font-size:13px;display:inline-flex}.interval-label{color:#b7b7bd;align-items:center;gap:6px;font-size:13px;display:flex}.interval-label input{color:#eaeaea;background:#232328;border:1px solid #34343a;border-radius:4px;width:52px;padding:4px 6px}.modal-backdrop{z-index:10;background:#0009;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal{background:#1c1c21;border:1px solid #34343a;border-radius:10px;flex-direction:column;width:420px;max-width:90vw;max-height:80vh;display:flex;box-shadow:0 8px 32px #00000080}.modal-header{border-bottom:1px solid #26262b;justify-content:space-between;align-items:center;padding:12px 16px;display:flex}.modal-header h3{margin:0;font-size:15px}.modal-close{color:#8a8a90;cursor:pointer;background:0 0;border:none;padding:0;font-size:16px}.modal-footer{border-top:1px solid #26262b;justify-content:flex-end;gap:8px;padding:12px 16px;display:flex}.modal-footer button{color:#eaeaea;cursor:pointer;background:#232328;border:1px solid #34343a;border-radius:6px;padding:6px 14px;font-size:13px}.modal-footer button.modal-confirm{background:#3a4a8f;border-color:#5b8cff}.dropbox-picker-breadcrumbs{white-space:nowrap;border-bottom:1px solid #26262b;padding:10px 16px;font-size:13px;overflow-x:auto}.crumb-sep{color:#6a6a70;margin:0 4px}.crumb-btn{color:#a9c6ff;cursor:pointer;background:0 0;border:none;padding:0;font-size:13px}.crumb-btn:disabled{color:#eaeaea;cursor:default}.dropbox-picker-list{flex:1;min-height:160px;padding:6px;overflow-y:auto}.dropbox-picker-item{text-align:left;color:#eaeaea;cursor:pointer;background:0 0;border:none;border-radius:6px;width:100%;padding:8px 10px;font-size:14px;display:block}.dropbox-picker-item:hover{background:#26262b}.dropbox-picker-status{color:#8a8a90;padding:12px 10px;font-size:13px}.dropbox-picker-error{color:#ff9b9b}.banner{padding:8px 12px;font-size:13px}.banner-error{color:#ff9b9b;background:#3a1f1f;justify-content:space-between;align-items:center;gap:10px;display:flex}.banner-dismiss{color:inherit;cursor:pointer;background:0 0;border:none;flex-shrink:0;padding:0;font-size:13px}.banner-reconnect{color:#a9c6ff;background:#1f2a3a;align-items:center;gap:10px;display:flex}.banner-reconnect button{color:#eaeaea;cursor:pointer;background:#232328;border:1px solid #34343a;border-radius:6px;padding:4px 10px;font-size:12px}.viewer{background:#000;flex:1;justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.viewer:fullscreen{background:#000}.viewer-slide{width:100%;height:100%;position:relative;overflow:hidden}.viewer-slide-layer{will-change:transform;background:#000;justify-content:center;align-items:center;transition:transform .45s cubic-bezier(.22,.61,.36,1);display:flex;position:absolute;inset:0}@media (prefers-reduced-motion:reduce){.viewer-slide-layer{transition:none}}.viewer-image{object-fit:contain;-webkit-user-select:none;user-select:none;max-width:100%;max-height:100%}.viewer-loading{justify-content:center;align-items:center;display:flex}.viewer-loading-overlay{z-index:2;background:#000;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.spinner{border:2px solid #ffffff26;border-top-color:#5b8cff;border-radius:50%;width:22px;height:22px;animation:.7s linear infinite eaglet-spin;display:inline-block}.thumbnail-spinner{border-width:2px;width:14px;height:14px}@keyframes eaglet-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.spinner{animation-duration:1.4s}}.empty-state{color:#7a7a80;font-size:15px}.info-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0009;border-radius:8px;max-width:70vw;padding:10px 14px;font-size:13px;line-height:1.6;position:absolute;bottom:16px;left:16px}.info-filename{word-break:break-all;font-weight:600}.info-stars{align-items:center;gap:2px;display:flex}.star-btn{color:#f5c542;cursor:pointer;background:0 0;border:none;margin:0;padding:0;font-size:15px;line-height:1}.star-btn:hover{transform:scale(1.15)}.info-pending{color:#ffb454;white-space:nowrap;margin-left:8px;font-size:11px}.info-tags{color:#9aa4ff;font-size:12px}.thumbnails{background:#16161a;border-top:1px solid #26262b;padding:8px;position:relative;overflow:auto hidden}.thumbnails-track{height:64px;position:relative}.thumbnail{cursor:pointer;background:#000;border:2px solid #0000;border-radius:6px;justify-content:center;align-items:center;width:64px;height:64px;padding:0;display:flex;position:absolute;top:0;overflow:hidden}.thumbnail img{object-fit:cover;width:100%;height:100%;display:block}.thumbnail-active{border-color:#5b8cff}.toast{background:#232328;border:1px solid #34343a;border-radius:8px;align-items:center;gap:12px;padding:10px 14px;font-size:13px;display:flex;position:fixed;bottom:90px;left:50%;transform:translate(-50%);box-shadow:0 4px 16px #0006}.toast-action{color:#5b8cff;cursor:pointer;background:0 0;border:none;padding:0;font-weight:600}.toast-close{color:#8a8a90;cursor:pointer;background:0 0;border:none;padding:0}
