.logo{font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:64px;font-weight:700;padding:64px 32px 40px 0;text-align:center}.logo-r_mark{font-size:.6em;vertical-align:top}.floating-group{margin-bottom:24px;position:relative}.floating-group input{-webkit-appearance:none;appearance:none;background:var(--bg);border:1px solid var(--border);border-radius:6px;box-sizing:border-box;color:var(--fg);font-size:16px;height:56px;padding:24px 12px 8px;transition:all .2s ease;width:100%}.floating-group input:focus{border-color:var(--primary);box-shadow:0 0 0 1px var(--primary);outline:none}.floating-group label{background-color:initial;color:#888;font-size:16px;left:12px;pointer-events:none;position:absolute;top:50%;transform:translateY(-50%);transform-origin:left top;transition:all .2s cubic-bezier(.4,0,.2,1)}:root.dark .floating-group label{color:#aaa}.floating-group input:focus+label,.floating-group input:not(:placeholder-shown)+label{color:var(--primary);font-weight:700;top:12px;transform:translateY(-50%) scale(.75)}.floating-group input:not(:focus):not(:placeholder-shown)+label{color:#888}.floating-group input:disabled{background:#7f7f7f1a;opacity:.6}.login-card .floating-group label{transform:translateY(-85%)}@font-face{font-family:OverlayFont;font-style:normal;font-weight:700;src:url(/static/media/RobotoMono-Bold.1669b18947f3b1625bcc.ttf) format("truetype")}:root{--card-fg:#111}:root.dark{--card-bg:#2b2b2b;--card-fg:#eee}.login-card{background:#fff;background:var(--card-bg);border-radius:12px;box-shadow:0 6px 20px #0000001f;color:#111;color:var(--card-fg);font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;margin:10vh auto;padding:32px 40px;width:320px}.login-card h2{font-size:1.6rem;margin:0 0 24px;text-align:center}.login-card input{background:#fff;background:var(--bg);border:1px solid #ccc;border:1px solid var(--border);border-radius:6px;color:inherit;color:#111;color:var(--fg);font-size:1rem;margin-bottom:16px;padding:10px 12px;transition:border-color .15s;width:100%}.login-card input:focus{border-color:#3478f6;outline:none}.login-card button:disabled{cursor:default;opacity:.6}.login-card .error{color:#e43;color:var(--error)}ul{list-style:none;padding:0}.login-container{display:flex;flex-direction:column;min-height:100vh}.footer{box-sizing:border-box;color:#111;color:var(--fg);font-size:15px;margin-top:auto;padding:2rem;width:100%}.footer a,.footer a:active,.footer a:visited{color:inherit;text-decoration:none;transition:opacity .2s}.footer a:hover{color:inherit;opacity:.7;text-decoration:none}@media (min-width:768px){.footer{justify-content:space-between}.footer,.md-flex{display:flex}.md-flex li+li{margin-left:16px}}.modal-overlay{align-items:center;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background-color:#0009;display:flex;height:100%;justify-content:center;left:0;position:fixed;top:0;width:100%;z-index:1000}.modal-content{background:#fff;background:var(--card-bg);border-radius:12px;box-shadow:0 10px 25px #00000080;color:#111;color:var(--card-fg);font-size:.95rem;line-height:1.6;max-height:80vh;max-width:600px;overflow-y:auto;padding:32px;position:relative;white-space:pre-wrap;width:90%}:root.dark .modal-content{background:#1a1a1a;border:1px solid #444}.modal-content h3{border-bottom:1px solid #ccc;border-bottom:1px solid var(--border);font-size:1.2rem;margin-bottom:24px;margin-top:0;padding-bottom:12px}.modal-content p{margin-bottom:16px}.modal-close-btn-area{margin-top:32px;text-align:center}.modal-close-btn-area button{background:#0000;border:1px solid #ccc;border:1px solid var(--border);border-radius:4px;color:#111;color:var(--fg);cursor:pointer;padding:8px 24px}.modal-close-btn-area button:hover{background:#ccc;background:var(--border)}.modal-content::-webkit-scrollbar{width:10px}.modal-content::-webkit-scrollbar-track{background:#0000;margin:8px 0}.modal-content::-webkit-scrollbar-thumb{background-clip:content-box;background-color:#96969666;border:2px solid #0000;border-radius:10px}.modal-content::-webkit-scrollbar-thumb:hover{background-color:#969696b3}.modal-content{scrollbar-color:#96969666 #0000;scrollbar-width:thin}.modal-content .modal-list{list-style:disc;margin-bottom:16px;margin-top:16px;padding-left:24px}.modal-content .modal-list li{line-height:1.5;margin-bottom:8px}.modal-content .modal-list-nu{list-style:decimal;margin-bottom:2.6em;margin-top:16px;padding-left:24px}.modal-content .modal-list-nu li{font-size:.8em;line-height:1.5;margin-bottom:.8em}input[type=password]::-ms-clear,input[type=password]::-ms-reveal{display:none}.password-group{position:relative}.password-toggle-btn{align-items:center;background:#0000;border:none;color:#888;cursor:pointer;display:flex;height:24px;justify-content:center;padding:4px;position:absolute;right:10px;top:50%;transform:translateY(-80%);transition:color .2s;width:24px}.password-toggle-btn:hover{color:#3478f6;color:var(--primary)}.password-toggle-btn svg{height:20px;width:20px}:root.dark .password-toggle-btn{color:#aaa}:root.dark .password-toggle-btn:hover{color:#3478f6;color:var(--primary)}.react-grid-layout{position:relative;transition:height .2s ease}.react-grid-item{transition:all .2s ease;transition-property:left,top,width,height}.react-grid-item img{pointer-events:none;-webkit-user-select:none;user-select:none}.react-grid-item.cssTransforms{transition-property:transform,width,height}.react-grid-item.resizing{transition:none;will-change:width,height;z-index:1}.react-grid-item.react-draggable-dragging{transition:none;will-change:transform;z-index:3}.react-grid-item.dropping{visibility:hidden}.react-grid-item.react-grid-placeholder{background:red;opacity:.2;transition-duration:.1s;-webkit-user-select:none;-o-user-select:none;user-select:none;z-index:2}.react-grid-item.react-grid-placeholder.placeholder-resizing{transition:none}.react-grid-item>.react-resizable-handle{height:20px;position:absolute;width:20px}.react-grid-item>.react-resizable-handle:after{border-bottom:2px solid #0006;border-right:2px solid #0006;bottom:3px;content:"";height:5px;position:absolute;right:3px;width:5px}.react-resizable-hide>.react-resizable-handle{display:none}.react-grid-item>.react-resizable-handle.react-resizable-handle-sw{bottom:0;cursor:sw-resize;left:0;transform:rotate(90deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-se{bottom:0;cursor:se-resize;right:0}.react-grid-item>.react-resizable-handle.react-resizable-handle-nw{cursor:nw-resize;left:0;top:0;transform:rotate(180deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-ne{cursor:ne-resize;right:0;top:0;transform:rotate(270deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-e,.react-grid-item>.react-resizable-handle.react-resizable-handle-w{cursor:ew-resize;margin-top:-10px;top:50%}.react-grid-item>.react-resizable-handle.react-resizable-handle-w{left:0;transform:rotate(135deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-e{right:0;transform:rotate(315deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-n,.react-grid-item>.react-resizable-handle.react-resizable-handle-s{cursor:ns-resize;left:50%;margin-left:-10px}.react-grid-item>.react-resizable-handle.react-resizable-handle-n{top:0;transform:rotate(225deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-s{bottom:0;transform:rotate(45deg)}.react-resizable{position:relative}.react-resizable-handle{background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiNmZmZmZmYwMCIgd2lkdGg9IjYiIGhlaWdodD0iNiI+PHBhdGggZD0iTTYgNkgwVjQuMmg0LjJWMEg2djZaIiBvcGFjaXR5PSIuMzAyIi8+PC9zdmc+);background-origin:content-box;background-position:100% 100%;background-repeat:no-repeat;box-sizing:border-box;height:20px;padding:0 3px 3px 0;position:absolute;width:20px}.react-resizable-handle-sw{bottom:0;cursor:sw-resize;left:0;transform:rotate(90deg)}.react-resizable-handle-se{bottom:0;cursor:se-resize;right:0}.react-resizable-handle-nw{cursor:nw-resize;left:0;top:0;transform:rotate(180deg)}.react-resizable-handle-ne{cursor:ne-resize;right:0;top:0;transform:rotate(270deg)}.react-resizable-handle-e,.react-resizable-handle-w{cursor:ew-resize;margin-top:-10px;top:50%}.react-resizable-handle-w{left:0;transform:rotate(135deg)}.react-resizable-handle-e{right:0;transform:rotate(315deg)}.react-resizable-handle-n,.react-resizable-handle-s{cursor:ns-resize;left:50%;margin-left:-10px}.react-resizable-handle-n{top:0;transform:rotate(225deg)}.react-resizable-handle-s{bottom:0;transform:rotate(45deg)}:root{--panel-bg:#fffc;--panel-text:#333;--panel-border:#ccc;--list-bg:#fff;--list-hover:#f5f5f5;--list-active-bg:#e3f2fd;--list-active-text:#1976d2;--accent-color:#007bff;--tick-color:#007bff;--tick-opacity:0.4;--slider-track:#ddd}.dark{--panel-bg:#000c;--panel-text:#fff;--panel-border:#555;--list-bg:#222;--list-hover:#ffffff1a;--list-active-bg:#4db6ac1a;--list-active-text:#4db6ac;--accent-color:#00bfff;--tick-color:#00bfff;--tick-opacity:0.5;--slider-track:#555}.grid-bg{background-image:linear-gradient(90deg,#0000000f 1px,#0000 0),linear-gradient(180deg,#0000000f 1px,#0000 0);background-size:40px 40px}.dark .grid-bg{background-image:linear-gradient(90deg,#ffffff14 1px,#0000 0),linear-gradient(180deg,#ffffff14 1px,#0000 0)}.add-channel-container{display:inline-block;position:relative}.channel-dropdown{background-color:#fff!important;background-color:var(--list-bg,#fff)!important;border:1px solid #ccc!important;border:1px solid var(--panel-border,#ccc)!important;border-radius:4px;box-shadow:0 4px 12px #0000004d;color:#333!important;color:var(--panel-text,#333)!important;left:0;list-style:none;margin-top:4px;max-height:300px;min-width:200px;overflow-y:auto;padding:8px 0;position:absolute;top:100%;z-index:1000}.channel-dropdown li{align-items:center;color:inherit;cursor:pointer;display:flex;justify-content:space-between;padding:8px 16px;transition:background-color .2s}.channel-dropdown li:hover{background-color:#f5f5f5!important;background-color:var(--list-hover,#eee)!important}.channel-dropdown li.viewing{background-color:#e3f2fd!important;background-color:var(--list-active-bg)!important;color:#1976d2!important;color:var(--list-active-text)!important;font-weight:700}.channel-dropdown li.viewing:hover{background-color:#ff50501a!important;color:#ff5252!important}.control-panel-container{background:#fffc!important;background:var(--panel-bg)!important;border:1px solid #ccc!important;border:1px solid var(--panel-border)!important;border-radius:8px;box-shadow:0 4px 12px #0000004d;color:#333!important;color:var(--panel-text)!important;font-family:sans-serif;font-size:14px;min-width:320px;padding:15px}.react-grid-item .react-resizable-handle{background:#0000!important;background-image:none!important;border:none!important;box-shadow:none!important;display:block!important;opacity:0!important;position:absolute!important;touch-action:none;z-index:5000!important}.react-grid-item .react-resizable-handle:after,.react-grid-item .react-resizable-handle:before{background:none!important;content:none!important;display:none!important}.react-grid-item .react-resizable-handle-n{bottom:auto!important;cursor:n-resize!important;height:5px!important;top:0!important}.react-grid-item .react-resizable-handle-n,.react-grid-item .react-resizable-handle-s{left:20px!important;margin:0!important;right:20px!important;transform:none!important;width:auto!important}.react-grid-item .react-resizable-handle-s{bottom:0!important;cursor:s-resize!important;height:15px!important;top:auto!important}.react-grid-item .react-resizable-handle-e{cursor:e-resize!important;left:auto!important;right:0!important}.react-grid-item .react-resizable-handle-e,.react-grid-item .react-resizable-handle-w{bottom:20px!important;height:auto!important;margin:0!important;top:20px!important;transform:none!important;width:15px!important}.react-grid-item .react-resizable-handle-w{cursor:w-resize!important;left:0!important;right:auto!important}.react-grid-item .react-resizable-handle-nw{cursor:nw-resize!important;left:0!important}.react-grid-item .react-resizable-handle-ne,.react-grid-item .react-resizable-handle-nw{background:none!important;height:20px!important;top:0!important;width:20px!important;z-index:5001!important}.react-grid-item .react-resizable-handle-ne{cursor:ne-resize!important;right:0!important}.react-grid-item .react-resizable-handle-sw{cursor:sw-resize!important;left:0!important}.react-grid-item .react-resizable-handle-se,.react-grid-item .react-resizable-handle-sw{background:none!important;bottom:0!important;height:20px!important;width:20px!important;z-index:5001!important}.react-grid-item .react-resizable-handle-se{cursor:se-resize!important;right:0!important}.viewer-grid-container{background-color:#fff;background-color:var(--list-bg);display:flex;flex-direction:column;height:100vh;min-width:1920;overflow-x:auto;width:100vw}:root{--bg:#fff;--fg:#111;--border:#ccc;--card-bg:#fff;--card-shadow:0 6px 20px #0000001f;--primary:#3478f6;--primary-hover:#2663d4;--error:#e43}:root.dark{--bg:#1d1d1d;--fg:#eee;--border:#555;--card-bg:#2a2a2a;--card-shadow:0 8px 24px #0009;--primary:#3b8aff;--primary-hover:#2973e2;--error:#ff6b6b}body,html{background:#fff;background:var(--bg);color:#111;color:var(--fg);font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;margin:0;padding:0}a{color:#3478f6;color:var(--primary)}h1,h2{color:#111;color:var(--fg);margin:0 0 1rem}hr{border-color:#ccc;border-color:var(--border)}.btn-outline{align-items:center;background:#0000;border:1px solid #111;border:1px solid var(--fg);border-radius:4px;color:#111;color:var(--fg);cursor:pointer;display:inline-flex;font-size:14px;font-weight:700;justify-content:center;margin-right:8px;padding:6px 16px;transition:all .2s ease}.btn-outline:hover{background:#111;background:var(--fg);color:#fff;color:var(--bg)}.btn-outline:disabled{background:#0000;color:#111;color:var(--fg);cursor:not-allowed;opacity:.5}.btn-outline.active{background:#3478f6;background:var(--primary);border-color:#3478f6;border-color:var(--primary);color:#fff}.btn-outline.active:hover{background:#2663d4;background:var(--primary-hover)}.btn-outline.danger{border-color:#e43;border-color:var(--error);color:#e43;color:var(--error)}.btn-outline.danger.active,.btn-outline.danger:hover{background:#e43;background:var(--error);color:#fff}.viewer-toolbar .btn-outline{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background-color:#00000080;border-color:#fff9;color:#fff}.viewer-toolbar .btn-outline:hover{background-color:#000c;border-color:#fff;color:#fff}.viewer-toolbar .btn-outline.active{background-color:#3478f6;background-color:var(--primary);border-color:#3478f6;border-color:var(--primary);color:#fff;opacity:.9}.viewer-toolbar .btn-outline.active:hover{opacity:1}.viewer-toolbar .btn-outline.danger.active{background-color:#e43;background-color:var(--error);border-color:#e43;border-color:var(--error)}.user-menu-trigger{align-items:center;background-color:#fff;background-color:var(--card-bg);border:1px solid #ccc;border:1px solid var(--border);border-radius:20px;box-shadow:0 2px 5px #0003;color:#111;color:var(--fg);cursor:pointer;display:flex;gap:8px;padding:6px 16px;transition:all .2s ease;-webkit-user-select:none;user-select:none}.user-menu-trigger:hover{filter:brightness(.95)}:root.dark .user-menu-trigger:hover{filter:brightness(1.2)}.user-menu-dropdown{background-color:#fff;background-color:var(--card-bg);border:1px solid #ccc;border:1px solid var(--border);border-radius:8px;box-shadow:0 6px 20px #0000001f;box-shadow:var(--card-shadow);display:flex;flex-direction:column;margin-top:8px;min-width:240px;overflow:hidden;padding:8px 0;position:absolute;right:0;top:100%}.user-menu-item{align-items:center;color:#111;color:var(--fg);cursor:pointer;display:flex;font-size:15px;gap:10px;padding:12px 20px;text-align:left;transition:background .2s}.user-menu-item:hover{background-color:#7f7f7f1a}.user-menu-divider{background-color:#ccc;background-color:var(--border);height:1px;margin:6px 0}.user-menu-item.danger{color:#e43;color:var(--error)}.user-menu-item.danger:hover{background-color:#ff44331a}.user-menu-item.small{color:#888;font-size:13px;padding:10px 20px}:root.dark .user-menu-item.small{color:#aaa}
/*# sourceMappingURL=main.ff21aca9.css.map*/