#page-module-matrix .main-content{margin:2rem 2rem 0}#page-module-matrix .main-content .upload-title-wrapper{margin:0 0 2rem;color:#212529;cursor:pointer;display:flex;align-items:center;width:fit-content}#page-module-matrix .main-content .upload-title-wrapper .upload-title{margin-right:.5rem;font-size:1.5rem;font-weight:600}#page-module-matrix .main-content .upload-title-wrapper svg{color:#6b7280;transition:color .2s ease}#page-module-matrix .main-content .upload-title-wrapper:hover svg{color:#111827}#page-module-matrix .main-content .upload-content{display:flex;gap:2rem}#page-module-matrix .main-content .upload-content .upload-main{flex:1}#page-module-matrix .main-content .upload-content .upload-main .upload-grid{display:flex;flex-direction:column;background-color:#fff;border-radius:.5rem;height:fit-content;overflow:hidden}#page-module-matrix .main-content .upload-content .upload-main .upload-grid .file-upload-row{border-bottom:1px solid #E6E6E6}#page-module-matrix .main-content .upload-content .upload-main .upload-grid .file-upload-row:last-child{border-bottom:none}#page-module-matrix .main-content .upload-content .upload-settings-item{background-color:#fff;padding:1.5rem;margin-bottom:2rem;border-radius:.5rem;display:flex;flex-direction:row;gap:1rem}#page-module-matrix .main-content .upload-content .upload-settings-item .aspect-ratio-selector{display:flex;flex-direction:column;gap:.5rem;flex:1}#page-module-matrix .main-content .upload-content .upload-settings-item .aspect-ratio-selector .aspect-ratio-label{font-size:.875rem;font-weight:500;color:#212529}#page-module-matrix .main-content .upload-content .upload-settings-item .aspect-ratio-selector .aspect-ratio-button{width:100%;padding:.75rem;border:1px solid #dee2e6;border-radius:.375rem;background-color:#fff;cursor:pointer;transition:all .15s ease-in-out;display:flex;align-items:center;justify-content:space-between}#page-module-matrix .main-content .upload-content .upload-settings-item .aspect-ratio-selector .aspect-ratio-button:hover{border-color:#007bff;background-color:#f8f9fa}#page-module-matrix .main-content .upload-content .upload-settings-item .aspect-ratio-selector .aspect-ratio-button:focus{outline:none;border-color:#007bff;box-shadow:0 0 0 2px #007bff40}#page-module-matrix .main-content .upload-content .upload-settings-item .aspect-ratio-selector .aspect-ratio-button .aspect-ratio-button-content{display:flex;align-items:center;gap:.75rem}#page-module-matrix .main-content .upload-content .upload-settings-item .aspect-ratio-selector .aspect-ratio-button .aspect-ratio-icon{font-size:1.5rem;display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;background-color:#f3f4f6;border-radius:.375rem}#page-module-matrix .main-content .upload-content .upload-settings-item .aspect-ratio-selector .aspect-ratio-button .aspect-ratio-info{display:flex;flex-direction:column;align-items:flex-start;gap:.125rem}#page-module-matrix .main-content .upload-content .upload-settings-item .aspect-ratio-selector .aspect-ratio-button .aspect-ratio-ratio{font-size:.875rem;font-weight:600;color:#212529}#page-module-matrix .main-content .upload-content .upload-settings-item .aspect-ratio-selector .aspect-ratio-button .aspect-ratio-resolution{font-size:.75rem;color:#6c757d}#page-module-matrix .main-content .upload-content .upload-settings-item .aspect-ratio-selector .aspect-ratio-button svg{width:16px;height:16px;color:#6c757d}#page-module-matrix .main-content .upload-content .upload-settings-item .matrix-type-selector{display:flex;flex-direction:column;gap:.5rem;flex:1}#page-module-matrix .main-content .upload-content .upload-settings-item .matrix-type-selector .matrix-type-label{font-size:.875rem;font-weight:500;color:#212529}#page-module-matrix .main-content .upload-content .upload-settings-item .matrix-type-selector .matrix-type-button{width:100%;padding:.75rem;border:1px solid #dee2e6;border-radius:.375rem;background-color:#fff;cursor:pointer;transition:all .15s ease-in-out;display:flex;align-items:center;justify-content:space-between}#page-module-matrix .main-content .upload-content .upload-settings-item .matrix-type-selector .matrix-type-button:hover{border-color:#007bff;background-color:#f8f9fa}#page-module-matrix .main-content .upload-content .upload-settings-item .matrix-type-selector .matrix-type-button:focus{outline:none;border-color:#007bff;box-shadow:0 0 0 2px #007bff40}#page-module-matrix .main-content .upload-content .upload-settings-item .matrix-type-selector .matrix-type-button .matrix-type-content{display:flex;flex-direction:column;align-items:flex-start;gap:.125rem}#page-module-matrix .main-content .upload-content .upload-settings-item .matrix-type-selector .matrix-type-button .matrix-type-name{font-size:.875rem;font-weight:600;color:#212529}#page-module-matrix .main-content .upload-content .upload-settings-item .matrix-type-selector .matrix-type-button .matrix-type-count{font-size:.75rem;color:#6c757d}#page-module-matrix .main-content .upload-content .upload-settings-item .matrix-type-selector .matrix-type-button svg{width:16px;height:16px;color:#6c757d}#page-module-matrix .main-content .upload-content .upload-sidemenu-item{background-color:#fff;padding:1.5rem;margin-bottom:2rem;border-radius:.5rem;display:flex;flex-direction:column;gap:1rem}#page-module-matrix .main-content .upload-content .upload-sidemenu-item .upload-sidemenu-title{margin:0 0 .5rem;font-size:1rem;font-weight:600;color:#212529}#page-module-matrix .main-content .upload-content .upload-sidemenu-item .combination-info .combination-info-modules{display:flex;flex-direction:column;gap:.5rem;padding-bottom:1rem;border-bottom:1px solid #E6E6E6;margin-bottom:1rem}#page-module-matrix .main-content .upload-content .upload-sidemenu-item .combination-info .combination-info-row{display:flex;justify-content:space-between;align-items:center}#page-module-matrix .main-content .upload-content .upload-sidemenu-item .combination-info .combination-info-row .combination-info-name{color:#8c8b92;font-size:.875rem}#page-module-matrix .main-content .upload-content .upload-sidemenu-item .combination-info .combination-info-row .combination-info-count{background-color:#e6e6e6;padding:.375rem .625rem;border-radius:.375rem;color:#6c757d;font-size:.875rem;font-weight:500;min-width:2rem;text-align:center}#page-module-matrix .main-content .upload-content .upload-sidemenu-item .combination-info .combination-info-total{display:flex;justify-content:space-between;align-items:center}#page-module-matrix .main-content .upload-content .upload-sidemenu-item .combination-info .combination-info-total .combination-info-total-name{font-weight:600;color:#212529;font-size:.875rem;margin:0}#page-module-matrix .main-content .upload-content .upload-sidemenu-item .combination-info .combination-info-total .combination-info-total-number{background-color:#191725;padding:.5rem .75rem;border-radius:.375rem;color:#fff;font-weight:700;font-size:1.125rem;transition:all .3s ease;min-width:3rem;text-align:center;margin:0}#page-module-matrix .main-content .upload-content .upload-sidemenu-item .combination-info .combination-info-total .combination-info-total-number.limited{background-color:#ff9800;animation:pulse 2s ease-in-out infinite}#page-module-matrix .main-content .upload-content .upload-sidemenu-item .combination-warning{display:flex;gap:.75rem;align-items:flex-start;padding:1rem;background-color:#fff3cd;border:1px solid #FFE69C;border-radius:.5rem;animation:slideIn .3s ease-out}#page-module-matrix .main-content .upload-content .upload-sidemenu-item .combination-warning .warning-icon{width:20px;height:20px;color:#856404;flex-shrink:0;margin-top:2px}#page-module-matrix .main-content .upload-content .upload-sidemenu-item .combination-warning .warning-content{flex:1}#page-module-matrix .main-content .upload-content .upload-sidemenu-item .combination-warning .warning-content .warning-title{margin:0 0 .25rem;font-weight:600;font-size:.875rem;color:#856404}#page-module-matrix .main-content .upload-content .upload-sidemenu-item .combination-warning .warning-content .warning-message{margin:0;font-size:.813rem;color:#856404;line-height:1.4}#page-module-matrix .main-content .upload-content .upload-sidemenu-item .combination-warning .warning-content .warning-message strong{font-weight:700}#page-module-matrix .main-content .upload-content .upload-sidemenu-item .submit-btn{margin-top:.5rem}#page-module-matrix .main-content .upload-content .upload-sidemenu-item .submit-btn .ui-button{width:100%;margin:0}#page-module-matrix .main-content .upload-content .upload-sidemenu-item .submit-btn .ui-button-text{font-weight:600}#page-module-matrix .main-content .upload-content .upload-sidebar{display:flex;flex-direction:column;gap:1rem;width:20rem}@media (max-width: 768px){#page-module-matrix .main-content{padding:1rem}#page-module-matrix .main-content .upload-content{flex-direction:column-reverse;gap:1rem}#page-module-matrix .main-content .upload-content .upload-sidebar{width:100%}#page-module-matrix .main-content .upload-content .upload-main .upload-header{margin-bottom:1rem}#page-module-matrix .main-content .upload-content .upload-main .upload-header .upload-title-wrapper .upload-title{font-size:1.25rem}#page-module-matrix .main-content .upload-content .upload-main .upload-header .upload-subtitle{font-size:.875rem}}#page-module-matrix .edit-name-modal{display:flex;flex-direction:column;gap:1.5rem}#page-module-matrix .aspect-ratio-modal{display:flex;flex-direction:column;gap:1.5rem;position:relative}#page-module-matrix .aspect-ratio-modal.dragging{pointer-events:none}#page-module-matrix .aspect-ratio-modal .drag-overlay{position:absolute;inset:0;background-color:#007bfff2;border-radius:.5rem;display:flex;align-items:center;justify-content:center;z-index:1000;pointer-events:all;animation:fadeIn .2s ease-in-out}#page-module-matrix .aspect-ratio-modal .drag-overlay .drag-overlay-content{display:flex;flex-direction:column;align-items:center;gap:1rem;color:#fff}#page-module-matrix .aspect-ratio-modal .drag-overlay .drag-overlay-content svg{animation:bounce 1s ease-in-out infinite}#page-module-matrix .aspect-ratio-modal .drag-overlay .drag-overlay-content .drag-overlay-text{font-size:1.25rem;font-weight:600;margin:0}#page-module-matrix .aspect-ratio-modal .drag-overlay .drag-overlay-content .drag-overlay-subtext{font-size:.875rem;margin:0;opacity:.9}#page-module-matrix .aspect-ratio-modal .aspect-ratio-modal-description{margin:0;color:#6c757d;font-size:.875rem;line-height:1.5}#page-module-matrix .aspect-ratio-modal .aspect-ratio-options{display:flex;flex-direction:column;gap:.75rem}#page-module-matrix .aspect-ratio-modal .aspect-ratio-option{display:flex;align-items:center;gap:1rem;padding:1rem;border:2px solid #dee2e6;border-radius:.5rem;background-color:#fff;cursor:pointer;transition:all .2s ease;text-align:left}#page-module-matrix .aspect-ratio-modal .aspect-ratio-option:hover{border-color:#007bff;background-color:#f8f9fa}#page-module-matrix .aspect-ratio-modal .aspect-ratio-option.selected{border-color:#007bff;background-color:#e7f3ff}#page-module-matrix .aspect-ratio-modal .aspect-ratio-option.aspect-ratio-upload{border-style:dashed;position:relative}#page-module-matrix .aspect-ratio-modal .aspect-ratio-option.aspect-ratio-upload:hover{background-color:#f0f9ff;border-color:#0056b3}#page-module-matrix .aspect-ratio-modal .aspect-ratio-option.aspect-ratio-upload:disabled{opacity:.6;cursor:not-allowed}#page-module-matrix .aspect-ratio-modal .aspect-ratio-option.aspect-ratio-upload:disabled:hover{border-color:#dee2e6;background-color:#fff}#page-module-matrix .aspect-ratio-modal .aspect-ratio-option.aspect-ratio-upload .aspect-ratio-option-icon{background-color:#e7f3ff;color:#007bff}#page-module-matrix .aspect-ratio-modal .aspect-ratio-option.aspect-ratio-upload .aspect-ratio-option-icon svg{stroke-width:2}#page-module-matrix .aspect-ratio-modal .aspect-ratio-option.aspect-ratio-upload .aspect-ratio-option-ratio{color:#007bff}#page-module-matrix .aspect-ratio-modal .aspect-ratio-option .aspect-ratio-option-icon{font-size:1.75rem;display:flex;align-items:center;justify-content:center;width:3rem;height:3rem;background-color:#f3f4f6;border-radius:.5rem;flex-shrink:0}#page-module-matrix .aspect-ratio-modal .aspect-ratio-option .aspect-ratio-option-content{flex:1;display:flex;flex-direction:column;gap:.25rem}#page-module-matrix .aspect-ratio-modal .aspect-ratio-option .aspect-ratio-option-ratio{font-size:1rem;font-weight:600;color:#212529}#page-module-matrix .aspect-ratio-modal .aspect-ratio-option .aspect-ratio-option-description{font-size:.813rem;color:#6c757d}#page-module-matrix .aspect-ratio-modal .aspect-ratio-option .aspect-ratio-option-resolution{font-size:.875rem;color:#6c757d;font-weight:500;flex-shrink:0}.sidebar{left:0;top:0;background:#fff;position:fixed;border-right:1px solid #e5e5e5;display:flex;flex-direction:column;padding:1rem;z-index:100;width:13rem}.sidebar--collapsed{width:4rem}.sidebar--collapsed .sidebar__group{border-bottom:1px solid #E6E6E6}.sidebar--collapsed .sidebar__group:last-child{border-bottom:none}@media (max-width: 768px){.sidebar{width:calc(100vw - 2rem)}.sidebar--collapsed{display:none}}@font-face{font-family:WorkSans;src:url(/assets/WorkSans-Thin-DkEh1tGr.ttf) format("truetype");font-weight:100;font-style:normal}@font-face{font-family:WorkSans;src:url(/assets/WorkSans-ThinItalic-DMaah5jT.ttf) format("truetype");font-weight:100;font-style:italic}@font-face{font-family:WorkSans;src:url(/assets/WorkSans-ExtraLight-CB7sYcKw.ttf) format("truetype");font-weight:200;font-style:normal}@font-face{font-family:WorkSans;src:url(/assets/WorkSans-ExtraLightItalic-Vi6L2xV9.ttf) format("truetype");font-weight:200;font-style:italic}@font-face{font-family:WorkSans;src:url(/assets/WorkSans-Light-DJmM0YMo.ttf) format("truetype");font-weight:300;font-style:normal}@font-face{font-family:WorkSans;src:url(/assets/WorkSans-LightItalic-iBwJ1o1M.ttf) format("truetype");font-weight:300;font-style:italic}@font-face{font-family:WorkSans;src:url(/assets/WorkSans-Regular-YUu9NsMl.ttf) format("truetype");font-weight:400;font-style:normal}@font-face{font-family:WorkSans;src:url(/assets/WorkSans-Italic-DJP-v6j-.ttf) format("truetype");font-weight:400;font-style:italic}@font-face{font-family:WorkSans;src:url(/assets/WorkSans-Medium-zc_8DpEi.ttf) format("truetype");font-weight:500;font-style:normal}@font-face{font-family:WorkSans;src:url(/assets/WorkSans-MediumItalic-DNn4PK-5.ttf) format("truetype");font-weight:500;font-style:italic}@font-face{font-family:WorkSans;src:url(/assets/WorkSans-SemiBold-D1Wmf-nA.ttf) format("truetype");font-weight:600;font-style:normal}@font-face{font-family:WorkSans;src:url(/assets/WorkSans-SemiBoldItalic-jPcQyyr7.ttf) format("truetype");font-weight:600;font-style:italic}@font-face{font-family:WorkSans;src:url(/assets/WorkSans-Bold-BSBsqEbU.ttf) format("truetype");font-weight:700;font-style:normal}@font-face{font-family:WorkSans;src:url(/assets/WorkSans-BoldItalic-DMAyUFVK.ttf) format("truetype");font-weight:700;font-style:italic}@font-face{font-family:WorkSans;src:url(/assets/WorkSans-ExtraBold-BHb0x6jg.ttf) format("truetype");font-weight:800;font-style:normal}@font-face{font-family:WorkSans;src:url(/assets/WorkSans-ExtraBoldItalic-BZ682hQ6.ttf) format("truetype");font-weight:800;font-style:italic}@font-face{font-family:WorkSans;src:url(/assets/WorkSans-Black-DvFzh1Tr.ttf) format("truetype");font-weight:900;font-style:normal}@font-face{font-family:WorkSans;src:url(/assets/WorkSans-BlackItalic-XRXfVEUa.ttf) format("truetype");font-weight:900;font-style:italic}#customer-template{background:#f6f7f8;color:#1f2937}#customer-template .header{height:4rem;position:fixed;top:0}#customer-template .content-wrapper{margin-top:4rem;display:flex;position:relative;min-height:calc(100vh - 4rem)}#customer-template .content-wrapper .sidebar{margin-top:4rem;height:calc(100vh - 6rem);transition:width .3s ease}#customer-template .content-wrapper .sidebar.fullscreen div{padding:0!important}#customer-template .content-wrapper .content{overflow:hidden;transition:margin .3s ease;flex-grow:1;margin-left:15rem}#customer-template .content-wrapper .content.collapsed-sidebar{margin-left:6rem}@media (max-width: 768px){#customer-template .content-wrapper .content,#customer-template .content-wrapper .content.collapsed-sidebar{margin:0}}.header{background:#fff;border-bottom:1px solid #e5e5e5;width:calc(100vw - 4rem);padding:0 2rem;display:flex;align-items:center;z-index:1000;box-shadow:0 1px 3px #0000000d}.header__logo{display:flex;align-items:center;height:100%;margin-right:60px;gap:1rem;cursor:pointer;transition:opacity .2s ease;-webkit-user-select:none;user-select:none}.header__logo img{height:1.125rem;width:auto;object-fit:contain;display:block}.header__logo:hover{opacity:.8}.header__center{flex:1;display:flex;align-items:center;justify-content:center}.header__right{display:flex;align-items:center;gap:24px}.header__credits{font-size:14px;color:#666;font-weight:600;white-space:nowrap}@media (max-width: 768px){.header{padding:0 1rem;width:calc(100vw - 2rem);height:4rem}}@media (max-width: 480px){.header__credits{display:none}}.file-upload-row{display:flex;flex-direction:column;gap:1rem;padding:1.5rem;background-color:#fff;transition:background-color .2s ease;position:relative}.file-upload-row.dragging{pointer-events:none}.file-upload-row.dragging .file-upload-row-header,.file-upload-row.dragging .file-upload-row-content{opacity:.3}.file-upload-row.at-max-capacity{opacity:.7}.file-upload-row .drag-overlay{position:absolute;inset:0;background-color:#007bfff2;border-radius:.5rem;display:flex;align-items:center;justify-content:center;z-index:10;pointer-events:all;animation:fadeIn .2s ease-in-out}.file-upload-row .drag-overlay.validating{background-color:#6c757df2;pointer-events:none}.file-upload-row .drag-overlay .drag-overlay-content{display:flex;flex-direction:column;align-items:center;gap:.75rem;color:#fff}.file-upload-row .drag-overlay .drag-overlay-content svg{animation:bounce 1s ease-in-out infinite}.file-upload-row .drag-overlay .drag-overlay-content .spinner{width:48px;height:48px;border:4px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}.file-upload-row .drag-overlay .drag-overlay-content .drag-overlay-text{font-size:1.125rem;font-weight:600;margin:0}.file-upload-row .drag-overlay .drag-overlay-content .drag-overlay-subtext{font-size:.875rem;margin:0;opacity:.9}.file-upload-row .file-upload-row-header{display:flex;align-items:center;justify-content:space-between}.file-upload-row .file-upload-row-header .upload-label{font-size:.875rem;font-weight:600;color:#212529;margin:0}.file-upload-row .file-upload-row-header .file-count{font-size:.813rem;color:#6c757d;font-weight:500}.file-upload-row .file-upload-row-header .file-count.max-reached{color:#28a745}.file-upload-row .file-upload-row-content{display:flex;gap:.75rem;align-items:center}.file-upload-row .video-thumbnails-scroll{display:flex;gap:.75rem;overflow-x:auto;overflow-y:hidden;padding:.25rem;flex:1;scroll-behavior:smooth}.file-upload-row .video-thumbnails-scroll::-webkit-scrollbar{height:6px}.file-upload-row .video-thumbnails-scroll::-webkit-scrollbar-track{background:#f1f1f1;border-radius:3px}.file-upload-row .video-thumbnails-scroll::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:3px}.file-upload-row .video-thumbnails-scroll::-webkit-scrollbar-thumb:hover{background:#a8a8a8}.file-upload-row .video-thumbnails-scroll{scrollbar-width:thin;scrollbar-color:#c1c1c1 #f1f1f1}.file-upload-row .video-thumbnail-card{position:relative;flex-shrink:0;width:120px;display:flex;flex-direction:column;gap:.5rem;padding:.5rem;background-color:#f8f9fa;border:1px solid #dee2e6;border-radius:.5rem;transition:all .2s ease}.file-upload-row .video-thumbnail-card:hover{background-color:#e9ecef;box-shadow:0 2px 4px #0000001a}.file-upload-row .video-thumbnail-card:hover .video-thumbnail-remove{opacity:1}.file-upload-row .video-thumbnail-card .video-thumbnail-remove{position:absolute;top:.25rem;right:.25rem;width:24px;height:24px;padding:0;border:none;background-color:#dc3545e6;color:#fff;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;opacity:0;transition:all .2s ease;z-index:2}.file-upload-row .video-thumbnail-card .video-thumbnail-remove:hover{background-color:#c82333;transform:scale(1.1)}.file-upload-row .video-thumbnail-card .video-thumbnail-remove:focus{outline:none;opacity:1;box-shadow:0 0 0 2px #dc354540}.file-upload-row .video-thumbnail-card .video-thumbnail-preview{width:100%;border-radius:.375rem;overflow:hidden;background-color:#dee2e6;display:flex;align-items:center;justify-content:center}.file-upload-row .video-thumbnail-card .video-thumbnail-preview video{width:100%;height:100%;object-fit:cover}.file-upload-row .video-thumbnail-card .video-thumbnail-preview .video-thumbnail-placeholder{font-size:2rem}.file-upload-row .video-thumbnail-card .video-thumbnail-name{font-size:.75rem;color:#495057;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:center}.file-upload-row .add-video-actions{display:flex;flex-direction:column;gap:.5rem;flex-shrink:0}.file-upload-row .add-video-action-btn{width:120px;padding:.75rem;border:2px solid #dee2e6;border-radius:.5rem;background-color:#fff;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;transition:all .2s ease;font-family:inherit}.file-upload-row .add-video-action-btn:focus{outline:none;box-shadow:0 0 0 2px #007bff40}.file-upload-row .add-video-action-btn.upload-btn{border-color:#007bff;color:#007bff}.file-upload-row .add-video-action-btn.upload-btn:hover{background-color:#007bff;color:#fff;transform:translateY(-2px);box-shadow:0 4px 12px #007bff4d}.file-upload-row .add-video-action-btn.upload-btn:active{transform:translateY(0)}.file-upload-row .add-video-action-btn.library-btn{border-color:#6c757d;color:#6c757d}.file-upload-row .add-video-action-btn.library-btn:hover{background-color:#6c757d;color:#fff;transform:translateY(-2px);box-shadow:0 4px 12px #6c757d4d}.file-upload-row .add-video-action-btn.library-btn:active{transform:translateY(0)}.file-upload-row .add-video-action-btn svg{flex-shrink:0}.file-upload-row .add-video-action-btn .add-video-action-text{font-size:.813rem;font-weight:500}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@media (max-width: 640px){.file-upload-row{padding:1rem}.file-upload-row .video-thumbnail-card{width:100px}.file-upload-row .add-video-action-btn{width:100px;padding:.625rem}.file-upload-row .drag-overlay .drag-overlay-content svg{width:36px;height:36px}.file-upload-row .drag-overlay .drag-overlay-content .drag-overlay-text{font-size:1rem}.file-upload-row .drag-overlay .drag-overlay-content .drag-overlay-subtext{font-size:.75rem}}.modal-overlay{position:fixed;inset:0;background-color:#0009;display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .2s ease-out}.modal{background:#fff;border-radius:8px;box-shadow:0 4px 6px #0000001a,0 10px 20px #00000026;max-height:90vh;display:flex;flex-direction:column;animation:slideUp .3s ease-out;position:relative}.modal--small{width:90%;max-width:400px}.modal--medium{width:90%;max-width:600px}.modal--large{width:90%;max-width:900px}.modal__header{display:flex;align-items:center;justify-content:space-between;padding:1.5rem;border-bottom:1px solid #e5e7eb;flex-shrink:0}.modal__title{margin:0;font-size:1.5rem;font-weight:600;color:#111827}.modal__close{background:none;border:none;cursor:pointer;padding:.5rem;display:flex;align-items:center;justify-content:center;color:#6b7280;transition:color .2s ease;border-radius:4px}.modal__close:hover{color:#111827;background-color:#f3f4f6}.modal__close:focus{outline:2px solid #3b82f6;outline-offset:2px}.modal__close svg{width:20px;height:20px}.modal__content{margin:1.5rem;overflow-y:auto;flex:1}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}@media (max-width: 640px){.modal--small,.modal--medium,.modal--large{width:95%;max-height:95vh}.modal__header{padding:1rem}.modal__title{font-size:1.25rem}.modal__content{margin:1rem}}.add-video-modal{display:flex;flex-direction:column;gap:1.5rem}.add-video-modal.library-only{min-height:400px}.add-video-modal .add-video-description{margin:0;color:#6c757d;font-size:.875rem;line-height:1.5}.add-video-modal .library-info-banner{padding:.75rem 1rem;background-color:#f0f8ff;border:1px solid #cce5ff;border-radius:.5rem;display:flex;align-items:center;justify-content:center}.add-video-modal .library-info-banner .library-info-content{display:flex;align-items:center;gap:.5rem;font-size:.875rem}.add-video-modal .library-info-banner .library-info-content .library-info-dimension{font-weight:600;color:#007bff}.add-video-modal .library-info-banner .library-info-content .library-info-resolution{color:#6c757d}.add-video-modal .search-filter-container{display:flex;gap:.75rem;align-items:center}.add-video-modal .search-input-wrapper{flex:1;position:relative}.add-video-modal .search-input-wrapper .search-icon{position:absolute;left:.75rem;top:50%;transform:translateY(-50%);color:#6c757d;pointer-events:none}.add-video-modal .search-input-wrapper .search-input{width:100%;padding:.625rem .75rem .625rem 2.5rem;border:1px solid #dee2e6;border-radius:.375rem;font-size:.875rem;color:#212529;transition:border-color .15s ease-in-out}.add-video-modal .search-input-wrapper .search-input:focus{outline:none;border-color:#007bff;box-shadow:0 0 0 2px #007bff40}.add-video-modal .search-input-wrapper .search-input::placeholder{color:#adb5bd}.add-video-modal .category-button{padding:.625rem 1rem;border:1px solid #dee2e6;border-radius:.375rem;background-color:#fff;color:#212529;font-size:.875rem;font-weight:500;cursor:pointer;white-space:nowrap;transition:all .15s ease-in-out}.add-video-modal .category-button:hover{border-color:#007bff;background-color:#f8f9fa}.add-video-modal .category-button:focus{outline:none;border-color:#007bff;box-shadow:0 0 0 2px #007bff40}.add-video-modal .empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem 1rem;text-align:center;flex:1}.add-video-modal .empty-state .empty-icon{color:#adb5bd;margin-bottom:1rem}.add-video-modal .empty-state .empty-title{margin:0 0 .5rem;font-size:1rem;font-weight:600;color:#212529}.add-video-modal .empty-state .empty-description{margin:0;font-size:.875rem;color:#6c757d}.add-video-modal .flash-files-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:1rem;max-height:400px;overflow-y:auto;padding:.5rem}.add-video-modal .flash-file-card{cursor:pointer;border:2px solid #dee2e6;border-radius:.5rem;overflow:hidden;transition:all .2s ease}.add-video-modal .flash-file-card:hover{border-color:#007bff;box-shadow:0 2px 8px #007bff26;transform:translateY(-2px)}.add-video-modal .flash-file-card .flash-file-thumbnail{width:100%;aspect-ratio:16/9;background-color:#f8f9fa;overflow:hidden}.add-video-modal .flash-file-card .flash-file-thumbnail video{width:100%;height:100%;object-fit:cover}.add-video-modal .flash-file-card .flash-file-name{padding:.5rem;margin:0;font-size:.75rem;color:#212529;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media (max-width: 640px){.add-video-modal .search-filter-container{flex-direction:column}.add-video-modal .search-filter-container .search-input-wrapper,.add-video-modal .search-filter-container .category-button{width:100%}.add-video-modal .flash-files-grid{grid-template-columns:repeat(auto-fill,minmax(120px,1fr))}}.ui-button{background-color:#223a3b;border:0;border-radius:.5rem;color:#fff;display:flex;align-content:center;justify-content:center;font-size:1rem;font-weight:700;height:3.5rem;margin:.5rem 0;width:100%}.ui-button:not(:disabled):hover{background-color:#172728;color:#fff;cursor:pointer}.ui-button:disabled{cursor:not-allowed;background-color:#ddd;color:#888}.ui-button:disabled label,.ui-button:disabled span{cursor:not-allowed}.ui-button.warning{background-color:#cbad16}.ui-button.warning:disabled{opacity:.3}.ui-button.warning:not(:disabled):hover{background-color:#c1a415}.ui-button.danger{background-color:#f35050;color:#fff}.ui-button.danger:disabled{opacity:.3}.ui-button.danger:not(:disabled):hover{background-color:#f24141}.ui-button.info{background-color:#0f6ab7}.ui-button.info:disabled{opacity:.3}.ui-button.info:not(:disabled):hover{background-color:#0e65ae}.ui-button.success{background-color:#36982d}.ui-button.success:disabled{opacity:.3}.ui-button.success:not(:disabled):hover{background-color:#33902b}.ui-button.success label,.ui-button.success span{color:#fff}.ui-button.on-surface{background-color:#f2f2f2}.ui-button.on-surface label,.ui-button.on-surface span{color:#000}.ui-button.on-surface:disabled{opacity:.3}.ui-button.on-surface:not(:disabled):hover{background-color:#e6e6e6}.ui-button.off{background-color:#ddd;color:#888}.ui-button.off:disabled{opacity:.3}.ui-button.off:not(:disabled):hover{background-color:#ddd;color:#888}.ui-button label,.ui-button span{display:flex;font-size:1rem;font-weight:400;margin:auto .5rem;cursor:pointer}body[data-device-type=mobile] .ui-button{border-radius:.5rem;height:3.375rem}.component-text-field{margin:.5rem 0;position:relative;width:100%}.component-text-field .input-wrapper{background-color:#f4f4f4;border:1px solid #ffffff;border-radius:.5rem;box-sizing:border-box;height:3.5rem;display:flex;padding:0 1.5rem;width:100%;gap:1rem;align-items:center}.component-text-field .input-wrapper .text-wrapper{display:flex;justify-content:center;flex-direction:column;width:100%;gap:.375rem}.component-text-field .input-wrapper .text-wrapper label{color:#848484;display:block;font-size:.75rem;height:.75rem;text-align:left;width:100%}.component-text-field .input-wrapper .text-wrapper input{background:transparent;border:0;color:#2c3437;font-size:1rem;font-weight:500;outline:none;padding:0;width:100%}.component-text-field .input-wrapper.focus{border-color:#534f5d}.component-text-field .input-wrapper.no-icon .icon-wrapper{display:none}.component-text-field .input-wrapper.no-icon .text-wrapper{left:1rem}.component-text-field .input-wrapper.is-invalid{border-color:#f35050}.component-text-field .message-wrapper{bottom:0;box-sizing:border-box;font-size:.75rem;font-weight:400;left:0;margin:0;padding-top:.4375rem;text-align:center;top:3.5rem;width:100%}.component-text-field .message-wrapper[data-severity]{display:block}.component-text-field .message-wrapper[data-severity=danger]{color:#f35050}.component-text-field .message-wrapper[data-severity=info]{color:#0f6ab7}.component-text-field .message-wrapper[data-severity=success]{color:#36982d}.component-text-field .message-wrapper[data-severity=warning]{color:#cbad16}#app[data-device-type=mobile] .component-text-field input{font-size:.875rem}.custom-matrix-modal{display:flex;flex-direction:column;gap:1.5rem;scroll-behavior:smooth}.custom-matrix-modal .custom-matrix-description{margin:0;color:#6c757d;font-size:.875rem;line-height:1.5}.custom-matrix-modal .matrix-preset-option .matrix-preset-button{width:100%;padding:1rem;border:2px solid #dee2e6;border-radius:.5rem;background-color:#fff;cursor:pointer;transition:all .2s ease;text-align:left}.custom-matrix-modal .matrix-preset-option .matrix-preset-button:hover{border-color:#007bff;background-color:#f8f9fa}.custom-matrix-modal .matrix-preset-option .matrix-preset-button.selected{border-color:#007bff;background-color:#e7f3ff}.custom-matrix-modal .matrix-preset-option .matrix-preset-button .matrix-preset-content{display:flex;flex-direction:column;gap:.25rem}.custom-matrix-modal .matrix-preset-option .matrix-preset-button .matrix-preset-name{font-size:.875rem;font-weight:600;color:#212529}.custom-matrix-modal .matrix-preset-option .matrix-preset-button .matrix-preset-count{font-size:.75rem;color:#6c757d}.custom-matrix-modal .or-divider{display:flex;align-items:center;text-align:center;color:#6c757d;font-size:.813rem;margin:-.5rem 0}.custom-matrix-modal .or-divider:before,.custom-matrix-modal .or-divider:after{content:"";flex:1;border-bottom:1px solid #dee2e6}.custom-matrix-modal .or-divider span{padding:0 1rem}.custom-matrix-modal .modules-list{display:flex;flex-direction:column;gap:1rem;position:relative}.custom-matrix-modal .drop-indicator{height:3px;background:linear-gradient(90deg,#007bff,#0056b3);border-radius:2px;position:relative;animation:pulse-indicator 1.5s ease-in-out infinite;box-shadow:0 0 8px #007bff80}.custom-matrix-modal .drop-indicator:before{content:"";position:absolute;left:-6px;top:50%;transform:translateY(-50%);width:12px;height:12px;background-color:#007bff;border-radius:50%;box-shadow:0 0 8px #007bff99}.custom-matrix-modal .drop-indicator:after{content:"";position:absolute;right:-6px;top:50%;transform:translateY(-50%);width:12px;height:12px;background-color:#007bff;border-radius:50%;box-shadow:0 0 8px #007bff99}.custom-matrix-modal .drop-indicator.drop-indicator-top{margin-bottom:-.5rem;margin-top:-.5rem}.custom-matrix-modal .drop-indicator.drop-indicator-bottom{margin-top:-.5rem;margin-bottom:-.5rem}@keyframes pulse-indicator{0%,to{opacity:1;transform:scaleY(1)}50%{opacity:.7;transform:scaleY(1.5)}}.custom-matrix-modal .module-card{background-color:#f8f9fa;border:1px solid #dee2e6;border-radius:.5rem;padding:1rem;position:relative;cursor:move;transition:all .2s ease;-webkit-user-select:none;user-select:none}.custom-matrix-modal .module-card.dragging{opacity:.4;transform:scale(.98);box-shadow:0 4px 12px #00000026;border-color:#007bff}.custom-matrix-modal .module-card .module-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.custom-matrix-modal .module-card .module-header .module-drag-handle{display:flex;align-items:center;color:#6c757d;cursor:grab}.custom-matrix-modal .module-card .module-header .module-drag-handle:active{cursor:grabbing}.custom-matrix-modal .module-card .module-header .module-remove{background:none;border:none;cursor:pointer;padding:.25rem;display:flex;align-items:center;justify-content:center;color:#dc3545;border-radius:.25rem;transition:all .2s ease}.custom-matrix-modal .module-card .module-header .module-remove:hover:not(:disabled){background-color:#fff;color:#c82333}.custom-matrix-modal .module-card .module-header .module-remove:disabled{opacity:.3;cursor:not-allowed}.custom-matrix-modal .module-card .module-content{display:flex;flex-direction:column;gap:1rem}.custom-matrix-modal .module-card .module-field{display:flex;flex-direction:column;gap:.5rem;flex:1}.custom-matrix-modal .module-card .module-field.module-field-small{flex:0 0 5rem}.custom-matrix-modal .module-card .module-field .module-label{font-size:.813rem;font-weight:500;color:#495057}.custom-matrix-modal .module-card .module-field .module-select,.custom-matrix-modal .module-card .module-field .module-input{width:calc(100% - 1.5rem);padding:.625rem .75rem;border:1px solid #dee2e6;border-radius:.375rem;font-size:.875rem;background-color:#fff;color:#212529;transition:border-color .15s ease-in-out}.custom-matrix-modal .module-card .module-field .module-select:focus,.custom-matrix-modal .module-card .module-field .module-input:focus{outline:none;border-color:#007bff;box-shadow:0 0 0 2px #007bff40}.custom-matrix-modal .module-card .module-field .module-select::placeholder,.custom-matrix-modal .module-card .module-field .module-input::placeholder{color:#adb5bd}.custom-matrix-modal .module-card .module-field .module-select.module-select-error,.custom-matrix-modal .module-card .module-field .module-select.module-input-error,.custom-matrix-modal .module-card .module-field .module-input.module-select-error,.custom-matrix-modal .module-card .module-field .module-input.module-input-error{border-color:#dc3545}.custom-matrix-modal .module-card .module-field .module-select.module-select-error:focus,.custom-matrix-modal .module-card .module-field .module-select.module-input-error:focus,.custom-matrix-modal .module-card .module-field .module-input.module-select-error:focus,.custom-matrix-modal .module-card .module-field .module-input.module-input-error:focus{border-color:#dc3545;box-shadow:0 0 0 2px #dc354540}.custom-matrix-modal .module-card .module-field .module-select{cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23495057' d='M6 9L1 4h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .75rem center;width:100%}.custom-matrix-modal .module-card .module-field .module-select option{color:#212529}.custom-matrix-modal .module-card .module-fields-row{display:flex;gap:.75rem}.custom-matrix-modal .add-module-button{width:100%;padding:.75rem;border:2px dashed #dee2e6;border-radius:.5rem;background-color:transparent;color:#007bff;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;gap:.5rem}.custom-matrix-modal .add-module-button:hover{border-color:#007bff;background-color:#e7f3ff}.custom-matrix-modal .add-module-button:focus{outline:none;box-shadow:0 0 0 2px #007bff40}.custom-matrix-modal .modal-actions{display:flex;gap:.75rem;justify-content:flex-end;padding-top:.5rem;border-top:1px solid #dee2e6;margin-top:.5rem}@media (max-width: 640px){.custom-matrix-modal .module-card .module-fields-row{flex-direction:column}.custom-matrix-modal .module-card .module-fields-row .module-field-small{flex:1}.custom-matrix-modal .modal-actions{flex-direction:column}.custom-matrix-modal .modal-actions button{width:100%}}.alert-container{position:fixed;top:1rem;left:50%;transform:translate(-50%);z-index:9999;display:flex;flex-direction:column;gap:.75rem;max-width:calc(100vw - 2rem);width:600px;pointer-events:none}.alert-container>*{pointer-events:auto}.alert{position:relative;display:flex;align-items:flex-start;gap:.75rem;padding:1rem;border-radius:.5rem;border:1px solid;overflow:hidden;animation:alertSlideIn .3s ease-out;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d}.alert.alert-exit{animation:alertSlideOut .3s ease-in forwards}.alert .alert-icon{flex-shrink:0;width:20px;height:20px;margin-top:2px}.alert .alert-icon svg{width:100%;height:100%}.alert .alert-content{flex:1;min-width:0}.alert .alert-content .alert-title{font-weight:600;font-size:.875rem;line-height:1.25rem;margin-bottom:.25rem}.alert .alert-content .alert-description{font-size:.875rem;line-height:1.5;opacity:.9}.alert .alert-content .alert-body{margin-top:.5rem;font-size:.875rem;line-height:1.5}.alert .alert-dismiss{flex-shrink:0;background:transparent;border:none;cursor:pointer;padding:.25rem;border-radius:.25rem;display:flex;align-items:center;justify-content:center;transition:all .2s ease;opacity:.7}.alert .alert-dismiss svg{width:16px;height:16px}.alert .alert-dismiss:hover{opacity:1}.alert .alert-dismiss:focus{outline:none;opacity:1}.alert .alert-progress{position:absolute;bottom:0;left:0;height:3px;width:100%;transform-origin:left;animation:alertProgress linear forwards}.alert.alert-error{background-color:#fef2f2;border-color:#fecaca;color:#991b1b}.alert.alert-error .alert-icon{color:#dc2626}.alert.alert-error .alert-dismiss{color:#991b1b}.alert.alert-error .alert-dismiss:hover{background-color:#fee2e2}.alert.alert-error .alert-progress{background-color:#dc2626}.alert.alert-warning{background-color:#fffbeb;border-color:#fde68a;color:#92400e}.alert.alert-warning .alert-icon{color:#f59e0b}.alert.alert-warning .alert-dismiss{color:#92400e}.alert.alert-warning .alert-dismiss:hover{background-color:#fef3c7}.alert.alert-warning .alert-progress{background-color:#f59e0b}.alert.alert-info{background-color:#eff6ff;border-color:#bfdbfe;color:#1e40af}.alert.alert-info .alert-icon{color:#3b82f6}.alert.alert-info .alert-dismiss{color:#1e40af}.alert.alert-info .alert-dismiss:hover{background-color:#dbeafe}.alert.alert-info .alert-progress{background-color:#3b82f6}.alert.alert-success{background-color:#f0fdf4;border-color:#bbf7d0;color:#166534}.alert.alert-success .alert-icon{color:#16a34a}.alert.alert-success .alert-dismiss{color:#166534}.alert.alert-success .alert-dismiss:hover{background-color:#dcfce7}.alert.alert-success .alert-progress{background-color:#16a34a}@keyframes alertSlideIn{0%{opacity:0;transform:translateY(-20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes alertSlideOut{0%{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(-20px) scale(.95)}}@keyframes alertProgress{0%{transform:scaleX(1)}to{transform:scaleX(0)}}@media (max-width: 640px){.alert-container{width:calc(100vw - 2rem);max-width:100%}.alert .alert-icon{width:18px;height:18px}.alert .alert-content .alert-title,.alert .alert-content .alert-description,.alert .alert-content .alert-body{font-size:.813rem}.alert .alert-dismiss svg{width:14px;height:14px}}#page-sign-in{width:100%;align-items:center;display:flex;flex-direction:column}#page-sign-in .logo{height:3rem;max-width:70%;margin-bottom:2rem}#page-sign-in .title{font-weight:700;margin:0 0 .5rem}#page-sign-in .description{color:#2a282f;font-size:1rem;font-weight:400;line-height:1.25rem;margin:0 0 1.75rem}#page-sign-in .reset-password{text-decoration:none;width:100%;color:#0f6ab7;text-align:right;font-size:.75rem;margin:.25rem 0 .75rem}#page-sign-in .signup-wrapper{width:calc(100% - 2rem);margin:1rem;padding:1rem;display:flex;justify-content:center;align-items:center;gap:1rem;border-top:1px solid #E6E6E6}#page-sign-in .signup-wrapper .signup-text{color:#2a282f;font-size:.875rem}#page-sign-in .signup-wrapper .signup-button{cursor:pointer;padding:.5rem .75rem;background-color:#fff;border:1px solid #E6E6E6;border-radius:.5rem}#sign-template{align-items:center;display:flex;height:100vh;flex-direction:column;justify-content:center;align-content:center;margin:auto}#sign-template .background-dot{z-index:-1;inset:0;position:absolute;background-image:radial-gradient(circle,#223A3B 2px,transparent 2px);background-size:40px 40px;opacity:.08}body[data-device-type=desktop] #sign-template{max-width:30rem}body[data-device-type=mobile] #sign-template{max-width:75%;height:100dvh}body[data-device-type=mobile] #sign-template .logo{height:2.5rem}#page-projects .main-content{padding:0 2rem}#page-projects .main-content .project-card{background-color:#fff;border-radius:.5rem;box-shadow:0 1px 3px #0000001a,0 1px 2px #0000000f;padding:1.5rem;cursor:pointer;transition:box-shadow .2s ease-in-out}#page-projects .main-content .project-card:hover{box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d}#page-projects .main-content .project-card__title{font-size:1.25rem;font-weight:600;margin-bottom:.5rem}#page-projects .main-content .project-card__details{font-size:.875rem;color:#4b5563}#page-projects .main-content .project-card__details p{margin:.25rem 0}#page-projects__title{font-size:2rem;font-weight:700;margin-bottom:2rem}#page-projects__loading,#page-projects__error,#page-projects__empty{display:flex;justify-content:center;align-items:center;min-height:200px}#page-projects__error-message{color:#dc2626}#page-projects__empty-message{color:#6b7280}#page-projects__grid{display:grid;grid-template-columns:repeat(1,1fr);gap:1.5rem}@media (min-width: 768px){#page-projects__grid{grid-template-columns:repeat(2,1fr)}}@media (min-width: 1024px){#page-projects__grid{grid-template-columns:repeat(3,1fr)}}#page-test .main-content{margin:2rem 2rem 0}#page-test .loading-engine{background:#fff;border:1px solid #e0e0e0;border-radius:4px;padding:3rem;text-align:center}#page-test .spinner{width:40px;height:40px;border:3px solid #f0f0f0;border-top:3px solid #333;border-radius:50%;animation:spin 1s linear infinite;margin:0 auto 1rem}@media (max-width: 768px){#page-test .app-container{padding:1rem}#page-test .app-header h1{font-size:1.5rem}}.preset-ratios-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(20rem,1fr));gap:1.5rem;margin-bottom:2rem}.ratio-preset-card{position:relative;background:#fff;border:2px solid #e5e7eb;border-radius:12px;padding:1.5rem;transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease;cursor:pointer;display:flex;flex-direction:column;gap:1rem}.ratio-preset-card.selected{border-color:#3b82f6;background:#eff6ff;box-shadow:0 4px 12px #3b82f633}.ratio-preset-card.custom-card .custom-upload-wrapper{display:flex;flex-direction:column;gap:1rem;cursor:pointer}.ratio-preset-card.custom-card .custom-upload-input{display:none}.ratio-preset-card.custom-card .custom-hint{font-size:.8125rem;color:#9ca3af}.ratio-preset-header{display:flex;flex-direction:column;align-items:center}.ratio-visual-container{flex-shrink:0;width:8rem;height:8rem;display:flex;align-items:center;justify-content:center;background:#f9fafb;border-radius:8px;padding:12px}.ratio-box{display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:6px;box-shadow:0 2px 8px #667eea4d;transition:transform .2s ease}.ratio-preset-card:hover .ratio-box{transform:scale(1.08)}.ratio-box.upload-placeholder{width:56px;height:56px;background:#e5e7eb;display:flex;justify-content:center;align-items:center;color:#9ca3af;border:2px dashed #cbd5e1;box-shadow:none}.ratio-preset-info{flex:1;min-width:0}.ratio-preset-title{font-size:1.0625rem;font-weight:600;color:#1f2937;margin:0 0 1.5rem}.ratio-preset-ratio{font-size:1rem;font-weight:700;color:#fff}.ratio-preset-platform{font-size:.8125rem;color:#6b7280;margin:1rem 0}.ratio-resolutions-info{position:relative;padding-top:.75rem}.main-resolution{display:flex;align-items:center;gap:.5rem;font-size:.875rem;font-weight:600;color:#374151;padding:.5rem .75rem;background:#f9fafb;border-radius:6px;cursor:help;transition:background .2s ease}.main-resolution:hover{background:#f3f4f6}.main-resolution:hover~.resolution-tooltip{opacity:1;visibility:visible;transform:translateY(0)}.resolution-tag{font-size:.75rem;font-weight:500;color:#6b7280;background:#e5e7eb;padding:.125rem .5rem;border-radius:4px}.resolution-tooltip{position:absolute;bottom:calc(100% + .75rem);transform:translateY(10px);background:#1f2937;color:#fff;padding:.75rem 1rem;border-radius:8px;box-shadow:0 4px 12px #0003;opacity:0;visibility:hidden;z-index:10;white-space:nowrap;pointer-events:none}.resolution-tooltip:after{content:"";position:absolute;top:100%;left:50%;transform:translate(-50%);border:6px solid transparent;border-top-color:#1f2937}.tooltip-header{font-size:.75rem;font-weight:600;color:#9ca3af;margin-bottom:.5rem;text-transform:uppercase;letter-spacing:.5px}.tooltip-resolution{font-size:.875rem;color:#e5e7eb;padding:.25rem 0;display:flex;align-items:center;gap:.5rem}.tooltip-tag{font-size:.75rem;color:#9ca3af;background:#ffffff1a;padding:.125rem .5rem;border-radius:4px}.aspect-ratio-actions{display:flex;justify-content:center;margin-top:2rem;padding-top:1.5rem;border-top:1px solid #e5e7eb}@media (max-width: 768px){.preset-ratios-grid{grid-template-columns:1fr;gap:1rem}.ratio-preset-card{padding:1.25rem}.ratio-visual-container{width:6rem;height:6rem}.resolution-tooltip{display:none}.tooltip-header{color:#6b7280}.tooltip-resolution{color:#374151}.tooltip-tag{background:#e5e7eb;color:#6b7280}}.step-container .step-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1.5rem;gap:1.5rem;flex-wrap:wrap}.step-container .step-header .step-header-text{flex:1;min-width:250px}.step-container .step-header .step-title{margin:0 0 .5rem;font-size:1.5rem;color:#212529;font-weight:600}.step-container .step-header .step-description{margin:0;color:#6c757d;font-size:1rem}.step-container .aspect-ratio-selector{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.5rem}.step-container .aspect-ratio-selector .aspect-ratio-label{font-size:1rem}.step-container .aspect-ratio-selector .aspect-ratio-dropdown{width:fit-content;padding:.625rem .75rem;border:1px solid #dee2e6;border-radius:.375rem;font-size:.875rem;background-color:#fff;cursor:pointer}.step-container .aspect-ratio-selector .aspect-ratio-dropdown:disabled{background-color:#f8f9fa;color:#6c757d;cursor:not-allowed;opacity:.7}.step-container .custom-matrix-toggle{display:flex;align-items:center;justify-content:space-between;width:100%;margin-bottom:1rem}.step-container .custom-matrix-toggle .toggle-text{font-weight:500;color:#212529;font-size:1rem;-webkit-user-select:none;user-select:none}.step-container .custom-matrix-toggle .toggle-switch{position:relative;display:inline-block;width:50px;height:24px;flex-shrink:0}.step-container .custom-matrix-toggle .toggle-switch .toggle-input{opacity:0;width:0;height:0;position:absolute}.step-container .custom-matrix-toggle .toggle-switch .toggle-slider{position:absolute;cursor:pointer;inset:0;background-color:#6c757d;border-radius:24px;transition:background-color .3s ease}.step-container .custom-matrix-toggle .toggle-switch .toggle-slider:before{content:"";position:absolute;width:18px;height:18px;border-radius:50%;background-color:#fff;top:3px;left:3px;transition:transform .3s ease}.step-container .custom-matrix-toggle .toggle-switch .toggle-input:checked~.toggle-slider{background-color:#007bff}.step-container .custom-matrix-toggle .toggle-switch .toggle-input:checked~.toggle-slider:before{transform:translate(26px)}.step-container .custom-matrix-toggle .toggle-switch .toggle-input:focus~.toggle-slider{box-shadow:0 0 0 2px #007bff40}.step-container .upload-section{display:flex;gap:2rem}.step-container .upload-section .upload-file-rows{display:flex;flex-direction:column;flex:1;background-color:#fff;border-radius:.5rem;height:fit-content;overflow:hidden}.step-container .upload-section .upload-file-rows .file-upload-row{border-bottom:1px solid #E6E6E6}.step-container .upload-section .upload-file-rows .file-upload-row:last-child{border-bottom:none}.step-container .upload-section .upload-sidemenu{display:flex;flex-direction:column;gap:1rem;width:20rem}.step-container .upload-section .upload-sidemenu-item{background-color:#fff;width:calc(100% - 3rem);padding:1.5rem;border-radius:.5rem;display:flex;flex-direction:column;justify-content:space-between}.step-container .upload-section .upload-sidemenu-item .upload-sidemenu-title{margin-top:0}.step-container .upload-section .upload-sidemenu-item .ui-button{margin:0}.step-container .upload-section .upload-sidemenu-item .submit-btn .ui-button-text{font-weight:600}.step-container .module-controls{display:flex;gap:1rem;justify-content:center}.step-container .combination-warning{display:flex;gap:.75rem;align-items:flex-start;padding:1rem;margin-bottom:1rem;background-color:#fff3cd;border:1px solid #FFE69C;border-radius:.5rem;animation:slideIn .3s ease-out}.step-container .combination-warning .warning-icon{width:24px;height:24px;color:#856404;flex-shrink:0;margin-top:2px}.step-container .combination-warning .warning-content{flex:1}.step-container .combination-warning .warning-content .warning-title{margin:0 0 .25rem;font-weight:600;font-size:.875rem;color:#856404}.step-container .combination-warning .warning-content .warning-message{margin:0;font-size:.813rem;color:#856404;line-height:1.4}.step-container .combination-warning .warning-content .warning-message strong{font-weight:700}@keyframes slideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.step-container .combination-info .combination-info-modules{display:flex;flex-direction:column;gap:.5rem;padding-bottom:1rem;border-bottom:1px solid #E6E6E6}.step-container .combination-info .combination-info-row{display:flex;justify-content:space-between;align-items:center}.step-container .combination-info .combination-info-row .combination-info-name{color:#8c8b92}.step-container .combination-info .combination-info-row .combination-info-count{background-color:#e6e6e6;padding:.5rem;border-radius:.375rem;color:#6c757d}.step-container .combination-info .combination-info-total{display:flex;justify-content:space-between;align-items:center}.step-container .combination-info .combination-info-total .combination-info-total-name{font-weight:700}.step-container .combination-info .combination-info-total .combination-info-total-number{background-color:#191725;padding:.5rem;border-radius:.375rem;color:#fff;font-weight:700;transition:all .3s ease}.step-container .combination-info .combination-info-total .combination-info-total-number.limited{background-color:#ff9800;animation:pulse 2s ease-in-out infinite}.step-container .combination-info strong{color:#007bff;font-size:1.25rem;font-weight:600}@keyframes pulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.05);opacity:.9}}@media (max-width: 768px){.step-container .step-header{flex-direction:column}.step-container .step-header .custom-matrix-toggle{width:100%;justify-content:center}.step-container .upload-section{flex-direction:column-reverse}.step-container .upload-section .upload-sidemenu{width:100%}.step-container .module-controls{flex-direction:column}.step-container .combination-warning .warning-icon{width:20px;height:20px}.step-container .combination-warning .warning-content .warning-title{font-size:.813rem}.step-container .combination-warning .warning-content .warning-message{font-size:.75rem}}.step-container .step-title{margin:0 0 .5rem;font-size:1.5rem;color:#212529;font-weight:600}.step-container .step-description{color:#961c1c;font-size:1rem}.step-container .progress-section{margin:2rem 0}.step-container .progress-bar-container{width:100%;height:24px;background:#f0f0f0;border-radius:4px;overflow:hidden;margin-bottom:.5rem}.step-container .progress-bar{height:100%;background:#333;transition:width .3s ease}.step-container .progress-text{text-align:center;font-weight:500;font-size:1rem;color:#333}.step-container .current-status{text-align:center;padding:1rem;background:#f5f5f5;border-radius:4px;margin-bottom:1rem;color:#333;font-size:.9rem}.step-container .logs-container{max-height:300px;overflow-y:auto;background:#fafafa;border:1px solid #e0e0e0;border-radius:4px;padding:1rem}.step-container .log-entry{padding:.4rem 0;border-bottom:1px solid #f0f0f0;font-family:monospace;font-size:.85rem;color:#555}.step-container .log-entry:last-child{border-bottom:none}.video-card{border:1px solid #e0e0e0;border-radius:4px;overflow:hidden;background:#fff}.video-card.selected{border-color:#333}.video-checkbox{padding:1rem;border-bottom:1px solid #f0f0f0}.video-checkbox input[type=checkbox]{width:18px;height:18px;cursor:pointer}.video-preview{width:100%;display:block;background:#000}.video-info{padding:1rem}.video-name{font-weight:500;color:#333;margin-bottom:.75rem;font-size:.9rem}.video-parts{display:flex;flex-direction:column;gap:.4rem}.part-tag{padding:.3rem .6rem;border-radius:3px;font-size:.8rem;font-weight:400;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;background:#f5f5f5;color:#666}.preview-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.download-all-btn{padding:.6rem 1.2rem;background:#333;color:#fff;border:none;border-radius:4px;font-weight:500;cursor:pointer;font-size:.9rem;transition:background .2s ease}.download-all-btn:hover:not(:disabled){background:#555}.download-all-btn:disabled{background:#ccc;cursor:not-allowed}.controls-wrapper{display:flex;justify-content:space-between}.controls-wrapper .controls-group{display:flex;flex-direction:row;gap:.75rem;margin-bottom:2rem;flex-wrap:wrap}.control-btn{width:fit-content}.control-btn .ui-button-text{font-size:.875rem}.control-btn:hover{border-color:#333}.control-btn.primary{background:#333;color:#fff;border-color:#333}.control-btn.primary:hover:not(:disabled){background:#555;border-color:#555}.control-btn.primary:disabled{background:#ccc;border-color:#ccc;cursor:not-allowed}.control-btn.secondary{border-color:#999;color:#666}.control-btn.secondary:hover{background:#f5f5f5;border-color:#666;color:#333}.video-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem}@media (max-width: 768px){.video-grid{grid-template-columns:1fr}.selection-controls{flex-direction:column}.control-btn{width:100%}.preview-header{flex-direction:column;gap:1rem;align-items:stretch}}#page-upload-progress{padding:2rem;max-width:1200px;margin:0 auto}#page-upload-progress .upload-progress-container{background:#fff;border-radius:12px;padding:2rem;box-shadow:0 2px 8px #0000001a}#page-upload-progress .upload-progress-header{margin-bottom:2rem;text-align:center}#page-upload-progress .upload-progress-header .upload-progress-title{font-size:1.75rem;font-weight:600;color:#1a1a1a;margin-bottom:.5rem}#page-upload-progress .upload-progress-header .upload-progress-subtitle{font-size:1rem;color:#666}#page-upload-progress .upload-progress-summary{margin-bottom:2rem;padding:1.5rem;background:#f8f9fa;border-radius:8px}#page-upload-progress .upload-progress-summary .progress-bar-container{display:flex;align-items:center;gap:1rem;margin-bottom:1rem}#page-upload-progress .upload-progress-summary .progress-bar-container .progress-bar-wrapper{flex:1;height:12px;background:#e9ecef;border-radius:6px;overflow:hidden}#page-upload-progress .upload-progress-summary .progress-bar-container .progress-bar-wrapper .progress-bar-fill{height:100%;background:linear-gradient(90deg,#4caf50,#45a049);transition:width .3s ease;border-radius:6px}#page-upload-progress .upload-progress-summary .progress-bar-container .progress-percentage{font-weight:600;font-size:1.125rem;color:#1a1a1a;min-width:50px;text-align:right}#page-upload-progress .upload-progress-summary .upload-stats{display:flex;gap:2rem;flex-wrap:wrap}#page-upload-progress .upload-progress-summary .upload-stats .upload-stat{display:flex;align-items:center;gap:.5rem}#page-upload-progress .upload-progress-summary .upload-stats .upload-stat .stat-label{color:#666;font-size:.875rem}#page-upload-progress .upload-progress-summary .upload-stats .upload-stat .stat-value{font-weight:600;font-size:1rem}#page-upload-progress .upload-progress-summary .upload-stats .upload-stat .stat-value.success{color:#4caf50}#page-upload-progress .upload-progress-summary .upload-stats .upload-stat .stat-value.error{color:#f44336}#page-upload-progress .upload-progress-summary .upload-stats .upload-stat .stat-value.uploading{color:#2196f3}#page-upload-progress .upload-files-list{display:flex;flex-direction:column;gap:.75rem;margin-bottom:2rem;max-height:500px;overflow-y:auto;padding-right:.5rem}#page-upload-progress .upload-files-list::-webkit-scrollbar{width:8px}#page-upload-progress .upload-files-list::-webkit-scrollbar-track{background:#f1f1f1;border-radius:4px}#page-upload-progress .upload-files-list::-webkit-scrollbar-thumb{background:#888;border-radius:4px}#page-upload-progress .upload-files-list::-webkit-scrollbar-thumb:hover{background:#555}#page-upload-progress .upload-files-list .upload-file-item{display:flex;align-items:center;justify-content:space-between;padding:1rem;background:#fff;border:1px solid #e9ecef;border-radius:8px;transition:all .2s ease}#page-upload-progress .upload-files-list .upload-file-item.uploading{border-color:#2196f3;background:#f0f8ff}#page-upload-progress .upload-files-list .upload-file-item.completed{border-color:#4caf50;background:#f1f8f4}#page-upload-progress .upload-files-list .upload-file-item.error{border-color:#f44336;background:#fff5f5}#page-upload-progress .upload-files-list .upload-file-item .file-info{display:flex;align-items:flex-start;gap:1rem;flex:1;min-width:0}#page-upload-progress .upload-files-list .upload-file-item .file-info .status-icon{flex-shrink:0;width:24px;height:24px;margin-top:2px}#page-upload-progress .upload-files-list .upload-file-item .file-info .status-icon.success{color:#4caf50}#page-upload-progress .upload-files-list .upload-file-item .file-info .status-icon.error{color:#f44336}#page-upload-progress .upload-files-list .upload-file-item .file-info .status-icon.loading{color:#2196f3}#page-upload-progress .upload-files-list .upload-file-item .file-info .status-icon.loading.spin{animation:spin 1s linear infinite}#page-upload-progress .upload-files-list .upload-file-item .file-info .status-icon.pending{width:24px;height:24px;border:2px solid #e9ecef;border-radius:50%}#page-upload-progress .upload-files-list .upload-file-item .file-info .file-details{flex:1;min-width:0}#page-upload-progress .upload-files-list .upload-file-item .file-info .file-details .file-name{font-weight:500;color:#1a1a1a;margin-bottom:.25rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#page-upload-progress .upload-files-list .upload-file-item .file-info .file-details .file-meta{font-size:.875rem;color:#666}#page-upload-progress .upload-files-list .upload-file-item .file-info .file-details .file-error{font-size:.875rem;color:#f44336;margin-top:.25rem}#page-upload-progress .upload-files-list .upload-file-item .file-progress{display:flex;align-items:center;gap:1rem;min-width:120px}#page-upload-progress .upload-files-list .upload-file-item .file-progress .file-progress-bar{flex:1;height:6px;background:#e9ecef;border-radius:3px;overflow:hidden}#page-upload-progress .upload-files-list .upload-file-item .file-progress .file-progress-bar .file-progress-fill{height:100%;background:#2196f3;transition:width .3s ease;border-radius:3px}#page-upload-progress .upload-files-list .upload-file-item .file-progress .file-progress-text{font-size:.875rem;font-weight:500;color:#666;min-width:50px;text-align:right}#page-upload-progress .upload-actions{display:flex;gap:1rem;justify-content:center;padding-top:1.5rem;border-top:1px solid #e9ecef}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (max-width: 768px){#page-upload-progress{padding:1rem}#page-upload-progress .upload-progress-container{padding:1.5rem}#page-upload-progress .upload-progress-header .upload-progress-title{font-size:1.5rem}#page-upload-progress .upload-progress-summary .upload-stats{gap:1rem}#page-upload-progress .upload-files-list .upload-file-item{flex-direction:column;align-items:flex-start;gap:1rem}#page-upload-progress .upload-files-list .upload-file-item .file-progress{width:100%}#page-upload-progress .upload-actions{flex-direction:column}}.page-matrix .main-content{margin:2rem}.loading,.error,.not-found{display:flex;align-items:center;justify-content:center;min-height:60vh;font-size:16px;color:#6b7280}.error{color:#dc2626}.matrix-header{margin-bottom:32px}.matrix-header h1{font-size:32px;font-weight:700;color:#111827;margin:0 0 8px}.matrix-header .matrix-info{font-size:14px;color:#6b7280;margin:0}.tabs{display:flex;gap:4px;border-bottom:1px solid #e5e7eb;margin-bottom:32px}.tabs .tab{padding:12px 24px;background:none;border:none;font-size:15px;font-weight:500;color:#6b7280;cursor:pointer;border-bottom:2px solid transparent;transition:all .2s ease;margin-bottom:-1px}.tabs .tab:hover{color:#111827}.tabs .tab.active{color:#3b82f6;border-bottom-color:#3b82f6}.tab-content{animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@media (max-width: 768px){.page-matrix{padding:24px 16px}.matrix-header h1{font-size:24px}}.assets-container{display:flex;flex-direction:column;gap:48px}.module-section .module-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.module-section .module-header h2{margin:0;font-size:20px;font-weight:600;color:#111827;display:flex;align-items:center;gap:12px}.module-section .module-header h2 .module-letter{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;background:#3b82f6;color:#fff;border-radius:8px;font-size:16px;font-weight:700}.module-section .module-header .module-count{font-size:13px;color:#6b7280;background:#f9fafb;padding:6px 12px;border-radius:16px;font-weight:500}.module-section .empty-module{padding:40px;text-align:center;background:#f9fafb;border-radius:8px;border:1px dashed #e5e7eb}.module-section .empty-module p{color:#6b7280;margin:0;font-size:14px}.videos-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:20px}.video-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;overflow:hidden;transition:all .2s ease}.video-card:hover{box-shadow:0 4px 6px #00000012;transform:translateY(-2px)}.video-card .video-thumbnail{position:relative;width:100%;aspect-ratio:16/9;background:#f9fafb;overflow:hidden}.video-card .video-thumbnail img{width:100%;height:100%;object-fit:cover}.video-card .video-thumbnail .video-overlay{position:absolute;inset:0;background:#0000004d;display:flex;align-items:center;justify-content:center;opacity:0;transition:all .2s ease}.video-card .video-thumbnail .video-overlay .play-button{width:48px;height:48px;border-radius:50%;background:#fff;border:none;display:flex;align-items:center;justify-content:center;font-size:18px;color:#111827;cursor:pointer;transition:all .2s ease}.video-card .video-thumbnail .video-overlay .play-button:hover{transform:scale(1.1)}.video-card .video-thumbnail:hover .video-overlay{opacity:1}.video-card .video-thumbnail .video-label{position:absolute;top:8px;left:8px;background:#000000bf;color:#fff;padding:4px 8px;border-radius:4px;font-size:12px;font-weight:600}.video-card .video-details{padding:16px}.video-card .video-details h3{margin:0 0 8px;font-size:14px;font-weight:600;color:#111827;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.video-card .video-details .video-meta{display:flex;gap:16px;font-size:13px;color:#6b7280}@media (max-width: 768px){.videos-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:16px}.assets-container{gap:32px}}.video-player-container{position:relative;display:flex;align-items:center;justify-content:center;background:#000;border-radius:12px;overflow:hidden}.video-wrapper{position:relative;display:flex;align-items:center;justify-content:center;width:100%;max-width:100%;max-height:100dvh;line-height:0;background:#000}.video-element{display:block;width:auto;height:auto;max-width:100%;max-height:100dvh;object-fit:contain;background:#000}.video-wrapper:before{content:"";position:absolute;inset:0 0 auto;height:80px;pointer-events:none;background:linear-gradient(180deg,#00000059,#0000);z-index:1}.video-overlay{position:absolute;inset:0;z-index:3;display:flex;align-items:center;justify-content:center;cursor:pointer;background:radial-gradient(ellipse at center,#0000002e,#0000 60%)}.play-button-large{display:inline-flex;align-items:center;justify-content:center;width:72px;height:72px;border:1px solid rgba(255,255,255,.22);background:#ffffff14;color:#fff;border-radius:999px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);box-shadow:0 6px 20px #00000059;transition:transform .18s ease,background .18s ease,border-color .18s ease}.play-button-large:hover{transform:scale(1.04);background:#ffffff1f;border-color:#ffffff47}.play-button-large:active{transform:scale(.98)}.video-controls{position:absolute;left:0;right:0;bottom:0;z-index:4;padding:12px 12px 10px;background:linear-gradient(180deg,#0000,#0000008c);transition:opacity .2s ease,transform .2s ease}.video-controls.hidden{opacity:0;transform:translateY(8px);pointer-events:none}.video-controls.visible{opacity:1;transform:translateY(0);pointer-events:auto}.progress-bar-container{display:flex;align-items:center;gap:8px;width:100%;margin-bottom:10px}.progress-bar{-webkit-appearance:none;appearance:none;width:100%;height:6px;border:none;border-radius:999px;background:#ffffff40;outline:none;cursor:pointer;transition:background .15s ease;overflow:hidden}.progress-bar:hover{background:#ffffff52}.progress-bar::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:14px;height:14px;border-radius:999px;background:#fff;border:0;box-shadow:0 0 0 4px #ffffff29;transition:transform .12s ease,box-shadow .12s ease}.progress-bar:active::-webkit-slider-thumb{transform:scale(1.14);box-shadow:0 0 0 6px #ffffff2e}.progress-bar::-moz-range-track{height:6px;background:#ffffff40;border-radius:999px}.progress-bar::-moz-range-progress{height:6px;background:#ffffffbf;border-radius:999px}.progress-bar::-moz-range-thumb{width:14px;height:14px;border-radius:999px;border:0;background:#fff;box-shadow:0 0 0 4px #ffffff29;transition:transform .12s ease,box-shadow .12s ease}.progress-bar:active::-moz-range-thumb{transform:scale(1.14);box-shadow:0 0 0 6px #ffffff2e}.controls-bottom{display:flex;align-items:center;justify-content:space-between;gap:12px}.controls-left,.controls-right{display:flex;align-items:center;gap:8px}.control-button{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:10px;border:1px solid rgba(255,255,255,.15);background:#ffffff14;color:#fff;cursor:pointer;transition:background .15s ease,border-color .15s ease,transform .1s ease}.control-button:hover{background:#ffffff24;border-color:#ffffff38}.control-button:active{transform:translateY(1px)}.time-display{color:#fff;opacity:.92;font-size:12px;letter-spacing:.2px;font-variant-numeric:tabular-nums;-webkit-user-select:none;user-select:none}.video-player-container:fullscreen,.video-player-container:-webkit-full-screen,.video-player-container:-moz-full-screen{border-radius:0;width:100vw;height:100vh}.video-player-container:fullscreen .video-wrapper,.video-player-container:-webkit-full-screen .video-wrapper,.video-player-container:-moz-full-screen .video-wrapper{width:100vw;height:100vh;max-height:100vh;background:#000}.video-player-container:fullscreen .video-element,.video-player-container:-webkit-full-screen .video-element,.video-player-container:-moz-full-screen .video-element{width:100vw;height:100vh;max-width:100vw;max-height:100vh;object-fit:contain;background:#000}.video-player-container:fullscreen .video-controls,.video-player-container:-webkit-full-screen .video-controls,.video-player-container:-moz-full-screen .video-controls{padding:16px 16px 14px;background:linear-gradient(180deg,#0000,#000000a6)}.video-player-container:fullscreen .control-button,.video-player-container:-webkit-full-screen .control-button,.video-player-container:-moz-full-screen .control-button{width:40px;height:40px;border-radius:12px}.video-player-container:fullscreen .progress-bar,.video-player-container:-webkit-full-screen .progress-bar,.video-player-container:-moz-full-screen .progress-bar{height:8px}.control-button:focus-visible,.play-button-large:focus-visible,.progress-bar:focus-visible{outline:2px solid rgba(255,255,255,.9);outline-offset:2px}@media (max-width: 640px){.play-button-large{width:64px;height:64px}.control-button{width:34px;height:34px}.time-display{font-size:11px}}.variations-container{display:flex;flex-direction:column;gap:20px}.batch-actions-bar{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;background:#fff;border:1px solid #e5e7eb;border-radius:12px;gap:16px;flex-wrap:wrap}.batch-actions-bar .batch-actions-left,.batch-actions-bar .batch-actions-right{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.batch-actions-bar .btn-selection{padding:8px 16px;border-radius:8px;font-weight:500;font-size:14px;cursor:pointer;transition:all .2s ease;background:#fff;color:#111827;border:1px solid #e5e7eb}.batch-actions-bar .btn-selection:hover:not(:disabled){background:#f9fafb;border-color:#d1d5db}.batch-actions-bar .btn-selection:disabled{opacity:.5;cursor:not-allowed}.batch-actions-bar .selection-count{font-size:14px;color:#6b7280;font-weight:500}.batch-actions-bar .btn-batch-download{padding:10px 20px;border-radius:8px;font-weight:500;font-size:14px;cursor:pointer;transition:all .2s ease;background:#10b981;color:#fff;border:none}.batch-actions-bar .btn-batch-download:hover:not(:disabled){background:#059669}.batch-actions-bar .btn-batch-download:disabled{opacity:.5;cursor:not-allowed}.batch-actions-bar .btn-batch-download-all{padding:10px 20px;border-radius:8px;font-weight:600;font-size:14px;cursor:pointer;transition:all .2s ease;background:#3b82f6;color:#fff;border:none}.batch-actions-bar .btn-batch-download-all:hover:not(:disabled){background:#2563eb}.batch-actions-bar .btn-batch-download-all:disabled{opacity:.5;cursor:not-allowed}.batch-progress{display:flex;align-items:center;gap:12px;padding:16px 20px;background:#eff6ff;border:1px solid #bfdbfe;border-radius:12px;font-size:14px;color:#1e40af;font-weight:500}.batch-progress .progress-spinner{width:20px;height:20px;border:3px solid #bfdbfe;border-top-color:#3b82f6;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.variations-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:24px}.variation-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;overflow:hidden;transition:all .2s ease}.variation-card:hover:not(.disabled){box-shadow:0 4px 6px #00000012}.variation-card.selected{border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f61a}.variation-card.disabled{opacity:.6;pointer-events:none}.variation-card .variation-header{padding:16px 20px;background:#f9fafb;border-bottom:1px solid #e5e7eb}.variation-card .variation-header .variation-header-content{display:flex;align-items:center;gap:12px}.variation-card .variation-header .variation-checkbox{width:18px;height:18px;cursor:pointer;accent-color:#3b82f6}.variation-card .variation-header .variation-checkbox:disabled{cursor:not-allowed}.variation-card .variation-header h3{margin:0;font-size:16px;font-weight:600;color:#111827}.variation-card .variation-videos{padding:16px;display:flex;flex-direction:column;gap:12px}.variation-card .video-item{display:flex;gap:12px;align-items:center}.variation-card .video-item .video-thumbnail{width:100px;height:56px;flex-shrink:0;border-radius:8px;overflow:hidden;background:#f9fafb;position:relative}.variation-card .video-item .video-thumbnail img{width:100%;height:100%;object-fit:cover}.variation-card .video-item .video-thumbnail .video-overlay{position:absolute;inset:0;background:#0006;display:flex;align-items:center;justify-content:center;opacity:0;transition:all .2s ease;cursor:pointer}.variation-card .video-item .video-thumbnail .video-overlay .play-button{width:32px;height:32px;border-radius:50%;background:#fff;border:none;display:flex;align-items:center;justify-content:center;font-size:12px;color:#111827;cursor:pointer}.variation-card .video-item .video-thumbnail:hover .video-overlay{opacity:1}.variation-card .video-item .video-info{flex:1;min-width:0}.variation-card .video-item .video-info .video-name{margin:0 0 4px;font-size:14px;font-weight:500;color:#111827;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.variation-card .video-item .video-info .video-duration{margin:0;font-size:13px;color:#6b7280}.variation-card .variation-actions{padding:16px 20px;display:flex;gap:12px;border-top:1px solid #e5e7eb}.variation-card .variation-actions button{flex:1;padding:10px 16px;border-radius:8px;font-weight:500;font-size:14px;cursor:pointer;transition:all .2s ease}.variation-card .variation-actions button.btn-primary{background:#3b82f6;color:#fff;border:none}.variation-card .variation-actions button.btn-primary:hover:not(:disabled){background:#2563eb}.variation-card .variation-actions button.btn-primary:disabled{opacity:.5;cursor:not-allowed}.variation-card .variation-actions button.btn-secondary{background:#fff;color:#111827;border:1px solid #e5e7eb}.variation-card .variation-actions button.btn-secondary:hover:not(:disabled){background:#f9fafb}.variation-card .variation-actions button.btn-secondary:disabled{opacity:.5;cursor:not-allowed}.empty-state{display:flex;align-items:center;justify-content:center;min-height:400px;text-align:center}.empty-state p{color:#6b7280;font-size:15px}@media (max-width: 768px){.batch-actions-bar{flex-direction:column;align-items:stretch}.batch-actions-bar .batch-actions-left,.batch-actions-bar .batch-actions-right{width:100%;justify-content:space-between}.batch-actions-bar .btn-batch-download,.batch-actions-bar .btn-batch-download-all{flex:1}.variations-grid{grid-template-columns:1fr}}.toast{position:fixed;bottom:20px;right:20px;min-width:300px;max-width:500px;padding:16px 20px;background:#333;color:#fff;border-radius:8px;box-shadow:0 4px 12px #00000026;display:flex;align-items:center;justify-content:space-between;gap:12px;opacity:0;transform:translateY(20px);transition:all .3s ease;z-index:9999}.toast--visible{opacity:1;transform:translateY(0)}.toast__message{flex:1;font-size:14px;line-height:1.4}.toast__close{background:none;border:none;color:#fff;font-size:24px;line-height:1;cursor:pointer;padding:0;width:20px;height:20px;display:flex;align-items:center;justify-content:center;opacity:.7;transition:opacity .2s ease;flex-shrink:0}.toast__close:hover{opacity:1}.toast--success{background:#10b981}.toast--error{background:#ef4444}.toast--warning{background:#f59e0b}.toast--info{background:#3b82f6}[data-hide]{display:none!important}@font-face{font-family:WorkSans;src:url(/assets/WorkSans-Thin-DkEh1tGr.ttf) format("truetype");font-weight:100;font-style:normal}@font-face{font-family:WorkSans;src:url(/assets/WorkSans-ThinItalic-DMaah5jT.ttf) format("truetype");font-weight:100;font-style:italic}@font-face{font-family:WorkSans;src:url(/assets/WorkSans-ExtraLight-CB7sYcKw.ttf) format("truetype");font-weight:200;font-style:normal}@font-face{font-family:WorkSans;src:url(/assets/WorkSans-ExtraLightItalic-Vi6L2xV9.ttf) format("truetype");font-weight:200;font-style:italic}@font-face{font-family:WorkSans;src:url(/assets/WorkSans-Light-DJmM0YMo.ttf) format("truetype");font-weight:300;font-style:normal}@font-face{font-family:WorkSans;src:url(/assets/WorkSans-LightItalic-iBwJ1o1M.ttf) format("truetype");font-weight:300;font-style:italic}@font-face{font-family:WorkSans;src:url(/assets/WorkSans-Regular-YUu9NsMl.ttf) format("truetype");font-weight:400;font-style:normal}@font-face{font-family:WorkSans;src:url(/assets/WorkSans-Italic-DJP-v6j-.ttf) format("truetype");font-weight:400;font-style:italic}@font-face{font-family:WorkSans;src:url(/assets/WorkSans-Medium-zc_8DpEi.ttf) format("truetype");font-weight:500;font-style:normal}@font-face{font-family:WorkSans;src:url(/assets/WorkSans-MediumItalic-DNn4PK-5.ttf) format("truetype");font-weight:500;font-style:italic}@font-face{font-family:WorkSans;src:url(/assets/WorkSans-SemiBold-D1Wmf-nA.ttf) format("truetype");font-weight:600;font-style:normal}@font-face{font-family:WorkSans;src:url(/assets/WorkSans-SemiBoldItalic-jPcQyyr7.ttf) format("truetype");font-weight:600;font-style:italic}@font-face{font-family:WorkSans;src:url(/assets/WorkSans-Bold-BSBsqEbU.ttf) format("truetype");font-weight:700;font-style:normal}@font-face{font-family:WorkSans;src:url(/assets/WorkSans-BoldItalic-DMAyUFVK.ttf) format("truetype");font-weight:700;font-style:italic}@font-face{font-family:WorkSans;src:url(/assets/WorkSans-ExtraBold-BHb0x6jg.ttf) format("truetype");font-weight:800;font-style:normal}@font-face{font-family:WorkSans;src:url(/assets/WorkSans-ExtraBoldItalic-BZ682hQ6.ttf) format("truetype");font-weight:800;font-style:italic}@font-face{font-family:WorkSans;src:url(/assets/WorkSans-Black-DvFzh1Tr.ttf) format("truetype");font-weight:900;font-style:normal}@font-face{font-family:WorkSans;src:url(/assets/WorkSans-BlackItalic-XRXfVEUa.ttf) format("truetype");font-weight:900;font-style:italic}*{font-family:KulimPark,sans-serif}body{margin:0}
