:root{--color-main: #00ADB5;--color-main-hover: #009098;--color-main-light: #E0F7F8;--color-text: #222831;--color-text-primary: #222831;--color-text-secondary: #393E46;--color-text-tertiary: #6B7280;--color-text-disable: #A0A4AB;--color-bg: #FFFFFF;--color-bg-primary: #FFFFFF;--color-bg-secondary: #FFFFFF;--color-bg-tertiary: #EEEEEE;--color-bg-hover: rgba(34, 40, 49, .04);--color-bg-active: rgba(34, 40, 49, .08);--color-border: #E0E2E6;--color-border-hover: #C5C9CF;--color-border-dark: #A0A4AB;--color-border-active: #6B7280;--color-separator: #E0E2E6;--color-success: #00ADB5;--color-success-bg: #E0F7F8;--color-danger: #D32F2F;--color-danger-bg: #FDECEA;--color-warning: #F59E0B;--color-warning-bg: #FEF3C7;--color-primary: #00ADB5;--color-primary-hover: #009098;--color-accent: #00ADB5;--color-accent-hover: #009098;--color-accent-light: #E0F7F8;--color-blue: #00ADB5;--color-blue-hover: #009098;--color-blue-bg: #E0F7F8;--color-green: #00ADB5;--color-green-bg: #E0F7F8;--color-red: #D32F2F;--color-red-bg: #FDECEA;--color-orange: #F59E0B;--color-orange-bg: #FEF3C7;--color-fill-primary: rgba(0, 173, 181, .12);--color-fill-secondary: rgba(0, 173, 181, .08);--color-fill-tertiary: rgba(0, 173, 181, .05);--shadow-xs: 0 1px 2px rgba(0, 0, 0, .04);--shadow-sm: 0 2px 8px rgba(0, 0, 0, .05);--shadow-md: 0 4px 16px rgba(0, 0, 0, .08);--shadow-lg: 0 8px 24px rgba(0, 0, 0, .1);--shadow-xl: 0 16px 40px rgba(0, 0, 0, .12);--radius-xs: 4px;--radius-sm: 6px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--radius-full: 9999px;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--space-xs: 4px;--space-sm: 8px;--space-md: 12px;--space-lg: 16px;--space-xl: 24px;--space-2xl: 32px;--font-family: -apple-system, BlinkMacSystemFont, "Apple SD Gothic Neo", "Pretendard", "Noto Sans KR", sans-serif;--font-mono: "SF Mono", Monaco, Consolas, monospace;--transition-fast: .15s ease;--transition-normal: .2s ease;--transition-base: .2s ease;--transition-slow: .3s cubic-bezier(.4, 0, .2, 1);--transition-spring: .5s cubic-bezier(.175, .885, .32, 1.275)}body{font-family:var(--font-family);background:var(--color-bg-primary);color:var(--color-text-primary)}.card{background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);transition:all var(--transition-normal)}.card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.card-header{padding:var(--space-lg) var(--space-xl);border-bottom:1px solid var(--color-border)}.card-body{padding:var(--space-xl)}.panel{background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-xl);box-shadow:var(--shadow-sm)}.panel-dark{background:var(--color-bg-tertiary)}.panel-title{margin:0 0 var(--space-lg) 0;font-size:14px;font-weight:600;color:var(--color-text-primary);display:flex;align-items:center;gap:var(--space-sm)}.list-item{padding:var(--space-md) var(--space-lg);background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);margin-bottom:var(--space-sm)}.list-item:hover{background:var(--color-bg-hover);border-color:var(--color-border-hover)}.list-item.active{background:var(--color-main-light);border-color:var(--color-main);font-weight:500}.list-item-title{font-weight:600;font-size:14px;color:var(--color-text-primary);margin-bottom:var(--space-xs)}.list-item-subtitle{font-size:12px;color:var(--color-text-secondary)}.form-group{margin-bottom:var(--space-md)}.form-label{display:block;font-size:12px;font-weight:600;color:var(--color-text-secondary);margin-bottom:var(--space-xs);text-transform:uppercase;letter-spacing:.3px}.form-input,.form-select{width:100%;padding:12px 16px;background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-primary);font-size:15px;min-height:48px;transition:all var(--transition-fast);box-sizing:border-box}.form-input:hover,.form-select:hover{border-color:var(--color-border-hover)}.form-input:focus,.form-select:focus{outline:none;border-color:var(--color-main);box-shadow:0 0 0 3px #e9b44c2e}.form-input::placeholder{color:var(--color-text-disable)}.checkbox-group{display:flex;gap:var(--space-sm);flex-wrap:wrap}.checkbox-item{display:flex;align-items:center;gap:var(--space-xs);padding:var(--space-xs) var(--space-sm);background:var(--color-bg-tertiary);border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:12px;color:var(--color-text-primary);cursor:pointer}.checkbox-item:hover{background:var(--color-bg-hover)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-sm);padding:12px 20px;border:none;border-radius:var(--radius-md);font-size:15px;font-weight:600;min-height:48px;cursor:pointer;transition:all var(--transition-fast)}.btn:hover{transform:translateY(-1px)}.btn-primary{background:var(--color-main);color:#fff}.btn-primary:hover{background:var(--color-main-hover);box-shadow:var(--shadow-sm)}.btn-success{background:var(--color-success);color:#fff}.btn-success:hover{background:#00b065;box-shadow:var(--shadow-sm)}.btn-danger{background:var(--color-danger);color:#fff}.btn-danger:hover{background:#d93d4a;box-shadow:var(--shadow-sm)}.btn-secondary{background:var(--color-bg-primary);color:var(--color-text-primary);border:none}.btn-secondary:hover{background:#e8eaed}.btn-ghost{background:transparent;color:var(--color-main);border:1px solid var(--color-border)}.btn-ghost:hover{background:var(--color-main-light)}.btn-sm{padding:8px 14px;font-size:13px;min-height:36px}.btn-icon{padding:var(--space-sm);width:40px;height:40px;min-height:auto}.badge{display:inline-flex;align-items:center;gap:var(--space-xs);padding:3px 8px;border-radius:var(--radius-xs);font-size:12px;font-weight:600}.badge-success{background:var(--color-success-bg);color:var(--color-success)}.badge-warning{background:var(--color-warning-bg);color:var(--color-warning)}.badge-danger{background:var(--color-danger-bg);color:var(--color-danger)}.badge-info{background:var(--color-main-light);color:var(--color-main)}.badge-neutral{background:var(--color-bg-primary);color:var(--color-text-secondary)}.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-md)}.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-lg)}.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-lg)}.grid-auto{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:var(--space-md)}.scene-card{background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-md);cursor:pointer;transition:all var(--transition-normal);position:relative}.scene-card:hover{border-color:var(--color-border-hover);box-shadow:var(--shadow-md)}.scene-card.selected{border-color:var(--color-success);background:var(--color-success-bg)}.scene-card-thumbnail{width:100%;height:80px;object-fit:cover;border-radius:var(--radius-sm);margin-bottom:var(--space-sm);background:var(--color-bg-tertiary)}.scene-card-title{font-size:13px;font-weight:500;color:var(--color-text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.scene-card-meta{font-size:11px;color:var(--color-text-secondary);margin-top:var(--space-xs)}.scene-card-check{position:absolute;top:var(--space-sm);right:var(--space-sm);width:20px;height:20px;background:var(--color-success);border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff}.expandable-item{background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-md);margin-bottom:var(--space-md);overflow:hidden}.expandable-header{padding:var(--space-md) var(--space-lg);cursor:pointer;display:flex;align-items:center;justify-content:space-between;transition:background var(--transition-fast)}.expandable-header:hover{background:var(--color-bg-hover)}.expandable-header.expanded{background:var(--color-bg-tertiary)}.expandable-content{padding:var(--space-lg);border-top:1px solid var(--color-border);background:var(--color-bg-tertiary)}.table-wrapper{background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-sm)}.table{width:100%;border-collapse:collapse}.table th{text-align:left;padding:var(--space-md) var(--space-lg);background:var(--color-bg-primary);color:var(--color-text-tertiary);font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid var(--color-border)}.table td{padding:var(--space-lg);border-bottom:1px solid var(--color-border);font-size:14px;color:var(--color-text-primary)}.table tbody tr{transition:background var(--transition-fast)}.table tbody tr:hover{background:var(--color-bg-hover)}.table tbody tr:last-child td{border-bottom:none}.modal{background:var(--color-bg-secondary);border-radius:var(--radius-lg);padding:var(--space-xl);width:400px;max-width:90%;box-shadow:var(--shadow-xl)}.modal-title{margin:0 0 var(--space-lg) 0;font-size:18px;font-weight:600;color:var(--color-text-primary)}.modal-actions{display:flex;gap:var(--space-md);justify-content:flex-end;margin-top:var(--space-xl)}.context-menu{position:fixed;background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);min-width:150px;overflow:hidden;z-index:1000}.context-menu-item{width:100%;padding:var(--space-md) var(--space-lg);background:none;border:none;color:var(--color-text-primary);text-align:left;cursor:pointer;display:flex;align-items:center;gap:var(--space-md);font-size:14px;transition:background var(--transition-fast)}.context-menu-item.danger{color:var(--color-danger)}.empty-state{text-align:center;padding:var(--space-2xl);color:var(--color-text-secondary)}.empty-state-icon{font-size:48px;margin-bottom:var(--space-lg);opacity:.3}.empty-state-text{font-size:14px}.text-primary{color:var(--color-text-primary)}.text-secondary{color:var(--color-text-secondary)}.text-tertiary{color:var(--color-text-tertiary)}.text-accent{color:var(--color-main)}.text-green{color:var(--color-success)}.text-orange{color:var(--color-warning)}.text-red{color:var(--color-danger)}.text-blue{color:var(--color-main)}.bg-primary{background:var(--color-bg-primary)}.bg-secondary{background:var(--color-bg-secondary)}.bg-tertiary{background:var(--color-bg-tertiary)}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-between{justify-content:space-between}.gap-sm{gap:var(--space-sm)}.gap-md{gap:var(--space-md)}.gap-lg{gap:var(--space-lg)}.font-medium{font-weight:500}.font-semibold{font-weight:600}.font-bold{font-weight:700}.text-sm{font-size:12px}.text-base{font-size:14px}.text-lg{font-size:16px}.rounded{border-radius:var(--radius-md)}.rounded-lg{border-radius:var(--radius-lg)}.shadow{box-shadow:var(--shadow-sm)}.shadow-md{box-shadow:var(--shadow-md)}@media(max-width:1200px){.grid-4{grid-template-columns:repeat(2,1fr)}}@media(max-width:768px){.grid-3{grid-template-columns:repeat(2,1fr)}.grid-4{grid-template-columns:1fr}}@media(max-width:480px){.grid-2,.grid-3{grid-template-columns:1fr}}body{margin:0;padding:0;background-color:var(--color-bg-primary);color:var(--color-text-primary);font-family:var(--font-family);overflow:hidden}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:var(--color-bg-primary)}::-webkit-scrollbar-thumb{background:var(--color-border-dark);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--color-text-disable)}@keyframes alertFadeIn{0%{opacity:0}to{opacity:1}}@keyframes alertSlideUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.alert-modal-overlay{position:fixed;inset:0;background:#00000073;display:flex;align-items:center;justify-content:center;z-index:10000;animation:alertFadeIn .15s ease-out}.alert-modal{background:var(--color-bg-primary);border-radius:var(--radius-lg, 12px);box-shadow:var(--shadow-xl, 0 12px 32px rgba(0, 0, 0, .15));width:90%;max-width:400px;padding:24px 24px 20px;animation:alertSlideUp .2s ease-out}.alert-content{margin-bottom:20px}.alert-title-row{display:flex;align-items:center;gap:10px;margin-bottom:8px}.alert-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.alert-dot.success{background:#00c471}.alert-dot.error{background:var(--color-danger)}.alert-dot.warning{background:var(--color-warning)}.alert-dot.info{background:var(--color-main)}.alert-title{font-size:15px;font-weight:700;color:var(--color-text-primary);margin:0;letter-spacing:-.2px}.alert-message{font-size:14px;color:var(--color-text-secondary);line-height:1.55;margin:0;white-space:pre-line}.alert-actions{display:flex;justify-content:flex-end}.alert-btn-confirm{padding:9px 22px;background:var(--color-main);color:#fff;font-size:13px;font-weight:600;border:none;border-radius:var(--radius-sm, 6px);cursor:pointer;transition:background .15s ease;letter-spacing:-.2px}.alert-btn-confirm:hover{background:var(--color-main-hover)}@media(max-width:768px){.alert-modal{padding:20px 20px 16px}.alert-title{font-size:14px}.alert-message{font-size:13px}}@keyframes confirmFadeIn{0%{opacity:0}to{opacity:1}}@keyframes confirmSlideUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.confirm-modal-overlay{position:fixed;inset:0;background:#00000073;display:flex;align-items:center;justify-content:center;z-index:10000;animation:confirmFadeIn .15s ease-out}.confirm-modal{background:var(--color-bg-primary);border-radius:var(--radius-lg, 12px);box-shadow:var(--shadow-xl, 0 12px 32px rgba(0, 0, 0, .15));width:90%;max-width:420px;padding:24px 24px 20px;animation:confirmSlideUp .2s ease-out}.modal-content{margin-bottom:20px}.modal-title-row{display:flex;align-items:center;gap:10px;margin-bottom:8px}.modal-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.modal-dot.danger{background:var(--color-danger)}.modal-dot.warning{background:var(--color-warning)}.modal-dot.info{background:var(--color-main)}.modal-title{font-size:15px;font-weight:700;color:var(--color-text-primary);margin:0;letter-spacing:-.2px}.modal-message{font-size:14px;color:var(--color-text-secondary);line-height:1.55;margin:0;white-space:pre-line}.modal-actions{display:flex;justify-content:flex-end;gap:8px}.modal-btn{padding:9px 18px;font-size:13px;font-weight:600;border-radius:var(--radius-sm, 6px);cursor:pointer;border:1px solid transparent;transition:background .15s ease,border-color .15s ease,color .15s ease;letter-spacing:-.2px;min-width:70px}.cancel-btn{background:var(--color-bg-primary);color:var(--color-text-secondary);border-color:var(--color-border)}.cancel-btn:hover{background:var(--color-bg-hover, var(--color-bg-tertiary));border-color:var(--color-border-hover)}.confirm-btn{color:#fff;border:none}.confirm-btn.info{background:var(--color-main)}.confirm-btn.info:hover{background:var(--color-main-hover)}.confirm-btn.warning{background:var(--color-warning)}.confirm-btn.warning:hover{background:#e67a00}.confirm-btn.danger{background:var(--color-danger)}.confirm-btn.danger:hover{background:#b71c1c}@media(max-width:768px){.confirm-modal{padding:20px 20px 16px}.modal-title{font-size:14px}.modal-message{font-size:13px}}.prompt-input{width:100%;box-sizing:border-box;margin-top:14px;padding:11px 13px;font-size:14px;color:var(--color-text-primary);background:var(--color-bg-primary);border:1px solid var(--color-border);border-radius:var(--radius-sm, 6px);outline:none;transition:border-color .15s ease,box-shadow .15s ease;letter-spacing:-.2px}.prompt-input::placeholder{color:var(--color-text-tertiary, var(--color-text-secondary))}.prompt-input:focus{border-color:var(--color-main);box-shadow:0 0 0 3px var(--color-main-light, rgba(0, 173, 181, .15))}@media(max-width:768px){.prompt-input{font-size:13px;padding:10px 12px}}.editor-layout{--apple-bg-primary: #f5f5f7;--apple-bg-secondary: #ffffff;--apple-bg-tertiary: #fafafa;--apple-bg-elevated: #ffffff;--apple-label-primary: #1d1d1f;--apple-label-secondary: #3c3c43;--apple-label-tertiary: #86868b;--apple-label-quaternary: #c7c7cc;--apple-separator: rgba(0, 0, 0, .06);--apple-separator-opaque: #e5e5ea;--apple-fill-primary: rgba(120, 120, 128, .2);--apple-fill-secondary: rgba(120, 120, 128, .16);--apple-fill-tertiary: rgba(118, 118, 128, .12);--apple-fill-quaternary: rgba(118, 118, 128, .08);--apple-gray: #8e8e93;--apple-gray2: #aeaeb2;--apple-gray3: #c7c7cc;--apple-gray4: #d1d1d6;--apple-gray5: #e5e5ea;--apple-gray6: #f2f2f7;--apple-accent: #1d1d1f;--apple-accent-secondary: rgba(0, 0, 0, .06);display:grid;grid-template-columns:60px 320px 1fr 300px;grid-template-rows:56px 1fr;height:100vh;width:100vw;background-color:var(--apple-bg-primary);color:var(--apple-label-primary);font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,Segoe UI,Roboto,sans-serif;overflow:hidden;letter-spacing:-.2px}.editor-header{grid-column:1 / 5;grid-row:1;background-color:var(--apple-bg-elevated);border-bottom:1px solid var(--apple-separator);display:flex;justify-content:space-between;align-items:center;padding:0 20px;z-index:100;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}.header-left,.header-center,.header-right{display:flex;align-items:center;gap:12px}.header-left{flex:0 0 auto;gap:8px}.header-center{flex:1;justify-content:center}.header-right{flex:0 0 auto;gap:8px}.header-center-bar{flex:1;display:flex;align-items:center;justify-content:center;gap:8px}.scene-name-group{display:flex;align-items:center}.duration-group{display:flex;align-items:center;gap:5px;background:var(--apple-fill-quaternary, rgba(120,120,128,.08));border:1px solid var(--apple-separator-opaque);border-radius:8px;padding:0 10px;height:36px}.duration-group .duration-label{font-size:12px;color:var(--apple-label-secondary);font-weight:500;white-space:nowrap}.duration-group .duration-input{width:52px;padding:4px 6px;border:none;border-radius:4px;background:transparent;color:var(--apple-label-primary);font-size:14px;font-weight:600;text-align:center;outline:none}.duration-group .duration-input:focus{background:var(--apple-bg-tertiary);border-radius:4px}.duration-group .duration-unit{font-size:12px;color:var(--apple-label-secondary);font-weight:500}.header-divider{width:1px;height:28px;background:var(--apple-separator-opaque);margin:0 8px}.back-btn{display:flex;align-items:center;gap:6px;padding:8px 14px;background:transparent;border:1px solid var(--apple-separator-opaque);border-radius:6px;color:var(--apple-label-primary);font-size:13px;font-weight:500;cursor:pointer;transition:all .2s ease}.back-btn:hover{background:var(--apple-fill-tertiary)}.fullscreen-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;background:transparent;border:1px solid var(--apple-separator-opaque);border-radius:6px;color:var(--apple-label-primary);font-size:14px;cursor:pointer;transition:all .2s ease}.fullscreen-btn:hover{background:var(--apple-fill-tertiary)}.fullscreen-btn.active{background:var(--apple-accent);color:#fff;border-color:var(--apple-accent)}.action-btn{display:flex;align-items:center;gap:6px;padding:8px 14px;background:var(--apple-fill-tertiary);border:1px solid var(--apple-separator-opaque);border-radius:6px;color:var(--apple-label-primary);font-size:13px;font-weight:500;cursor:pointer;transition:all .2s ease}.action-btn:hover{background:var(--apple-fill-secondary)}.action-btn.active{background:var(--apple-label-primary);color:#fff;border-color:var(--apple-label-primary)}.scene-name-label{font-size:13px;color:var(--apple-label-secondary);font-weight:500}.scene-name-input{padding:8px 14px;border:1.5px solid var(--apple-separator-opaque);border-radius:8px;background:var(--apple-bg-tertiary);color:var(--apple-label-primary);font-size:15px;font-weight:600;width:260px;outline:none;transition:all .15s ease;letter-spacing:-.2px}.scene-name-input::placeholder{font-weight:400;color:var(--apple-label-quaternary, rgba(60,60,67,.3))}.scene-name-input:focus{border-color:#00adb5;background:var(--apple-bg-elevated);box-shadow:0 0 0 3px #00adb51f}.editor-toolbar{grid-column:1;grid-row:2;background-color:#2c2c2e;border-right:1px solid rgba(0,0,0,.3);display:flex;flex-direction:column;padding:8px 0;gap:2px;z-index:90;overflow-y:auto;overflow-x:hidden}.editor-sidebar{grid-column:2;grid-row:2;overflow:hidden}.editor-layout:has(.editor-sidebar.collapsed){grid-template-columns:60px 60px 1fr 300px}.canvas-area{grid-column:3;grid-row:2;background-color:#b0b4b8;display:flex;justify-content:center;align-items:center;height:100%;overflow:hidden;z-index:50;position:relative}.canvas-container-wrapper{position:absolute;transform-origin:center center}.right-sidebar{grid-column:4;grid-row:1 / -1;background-color:#2c2c2c;border-left:1px solid rgba(255,255,255,.06);display:flex;flex-direction:column;height:100vh;overflow:hidden}.properties-panel{flex:1 1 auto;display:flex;flex-direction:column;overflow-y:auto}.layers-panel{flex:0 0 auto;display:flex;flex-direction:column;min-height:200px;max-height:320px;overflow:hidden}.header-title{display:flex;align-items:center;gap:12px;font-size:17px;font-weight:600;letter-spacing:-.3px}.header-actions{display:flex;gap:8px}.tool-button{width:38px;height:38px;margin:0 auto;background:transparent;border:none;color:#ffffffa6;border-radius:6px;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:16px;transition:all .2s cubic-bezier(.25,.1,.25,1);flex-shrink:0}.tool-button:hover{background-color:#ffffff1a;color:#fff}.tool-button.active{background-color:#00adb540;color:#4d94ff}.toolbar-label{font-size:9px;color:#fff6;text-align:center;margin:4px 0 2px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.panel-section{display:flex;flex-direction:column;gap:10px;padding-bottom:16px;border-bottom:1px solid var(--apple-separator)}.panel-section:last-child{border-bottom:none;padding-bottom:0}.panel-title{font-size:11px;font-weight:600;color:var(--apple-label-tertiary);text-transform:uppercase;letter-spacing:.5px;margin-bottom:4px;display:flex;align-items:center;gap:8px}.layers-panel .panel-title{padding:14px 16px 10px;margin:0;background:var(--apple-bg-tertiary);border-bottom:1px solid var(--apple-separator)}.control-group{display:flex;flex-direction:column;gap:6px}.control-label{font-size:13px;color:var(--apple-label-secondary);font-weight:400}.control-input{background-color:var(--apple-bg-tertiary);border:1px solid var(--apple-separator);color:var(--apple-label-primary);padding:8px 12px;border-radius:8px;font-size:14px;outline:none;transition:all .2s cubic-bezier(.25,.1,.25,1)}.control-input:focus{border-color:var(--apple-accent);box-shadow:0 0 0 3px var(--apple-accent-secondary)}.color-preview{width:100%;height:36px;border-radius:8px;border:1px solid var(--apple-separator);cursor:pointer;transition:all .2s cubic-bezier(.25,.1,.25,1)}.color-preview:hover{border-color:var(--apple-label-tertiary)}.save-btn{background-color:var(--apple-accent);color:#fff;border:none;padding:10px 20px;border-radius:8px;font-weight:500;font-size:14px;cursor:pointer;display:flex;align-items:center;gap:8px;transition:all .2s cubic-bezier(.25,.1,.25,1)}.save-btn:hover{background-color:#0077ed}.save-btn:active{transform:scale(.98)}.preview-btn{background-color:var(--apple-fill-tertiary);color:var(--apple-label-primary);border:none;padding:10px 20px;border-radius:8px;font-weight:500;font-size:14px;cursor:pointer;display:flex;align-items:center;gap:8px;transition:all .2s cubic-bezier(.25,.1,.25,1)}.preview-btn:hover{background-color:var(--apple-fill-secondary)}.preview-btn.active{background-color:#ff453a;color:#fff}.layers-list{flex:1;overflow-y:auto;padding:8px 10px;background:var(--apple-bg-secondary)}.layer-item{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:6px;cursor:pointer;font-size:13px;color:var(--apple-label-secondary);transition:all .15s cubic-bezier(.25,.1,.25,1);margin-bottom:2px;background:var(--apple-bg-tertiary);border:1px solid transparent}.layer-item:hover{background:var(--apple-fill-tertiary);color:var(--apple-label-primary);border-color:var(--apple-separator)}.layer-item.active{background:#fff;color:#1d1d1f;border-color:#ffffff4d;font-weight:600}.layer-icon{font-size:14px;opacity:.6;flex-shrink:0}.layer-item.active .layer-icon{opacity:1;color:#1d1d1f}.layer-name{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.alignment-tools{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.order-tools{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.alignment-tools button,.order-tools button{background:var(--apple-bg-tertiary);border:1px solid var(--apple-separator);color:var(--apple-label-secondary);padding:7px;border-radius:6px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s cubic-bezier(.25,.1,.25,1);font-size:13px}.alignment-tools button:hover,.order-tools button:hover{background:var(--apple-fill-secondary);color:var(--apple-label-primary);border-color:var(--apple-separator-opaque)}.alignment-tools button:active,.order-tools button:active{transform:scale(.96);background:var(--apple-accent-secondary);color:var(--apple-accent)}.rotate-90{transform:rotate(90deg)}.widget-modal-overlay{position:fixed;inset:0;background:#0000004d;display:flex;align-items:center;justify-content:center;z-index:1000;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}.widget-modal-content{background:var(--apple-bg-elevated);width:800px;max-height:90vh;border-radius:12px;border:1px solid rgba(0,0,0,.1);overflow-y:auto;box-shadow:0 25px 50px -12px #00000026,0 0 0 1px #0000000d}.modal-header{padding:16px 20px;background:var(--apple-bg-tertiary);border-bottom:1px solid var(--apple-separator);display:flex;justify-content:space-between;align-items:center}.modal-header h2{margin:0;font-size:17px;font-weight:600;color:var(--apple-label-primary);letter-spacing:-.3px}.close-btn{background:var(--apple-fill-tertiary);border:none;color:var(--apple-label-secondary);font-size:20px;width:28px;height:28px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s cubic-bezier(.25,.1,.25,1)}.close-btn:hover{background:var(--apple-fill-secondary);color:var(--apple-label-primary)}.widget-options-grid{padding:24px;display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.widget-option-card{background:var(--apple-bg-tertiary);border:1px solid var(--apple-separator);border-radius:12px;overflow:hidden;cursor:pointer;transition:all .2s cubic-bezier(.25,.1,.25,1)}.widget-option-card:hover{border-color:var(--apple-accent);transform:translateY(-2px);box-shadow:0 8px 24px #0000001a}.option-preview{height:120px;display:flex;align-items:center;justify-content:center;background:var(--apple-bg-primary)}.option-preview.digital{color:var(--apple-accent);font-size:24px;font-weight:700;font-variant-numeric:tabular-nums}.option-preview.minimal{color:var(--apple-label-primary);font-size:32px;font-weight:300}.option-preview.card-style{padding:12px}.option-preview .inner-card{background:var(--apple-bg-tertiary);border:1px solid var(--apple-separator);padding:10px 20px;border-radius:8px;color:var(--apple-label-primary);font-size:20px}.option-preview.classic{color:var(--apple-label-primary);font-size:18px}.option-preview.glass{background:linear-gradient(135deg,var(--apple-gray3),var(--apple-gray5));color:var(--apple-label-primary);font-size:40px;font-weight:700}.option-preview.vertical{background:var(--apple-accent);color:#fff;font-size:24px;flex-direction:column}.option-info{padding:14px 16px}.option-info h3{margin:0 0 4px;font-size:15px;font-weight:600;color:var(--apple-label-primary);letter-spacing:-.2px}.option-info p{margin:0;font-size:12px;color:var(--apple-label-secondary);line-height:1.4}.ticker-setup-form{grid-column:1 / 4;padding:20px}.ticker-setup-form label{display:block;margin-bottom:12px;color:var(--apple-label-secondary);font-size:14px}.ticker-setup-form input{width:100%;background:var(--apple-bg-primary);border:1px solid var(--apple-separator);padding:14px 16px;border-radius:10px;color:var(--apple-label-primary);font-size:17px;outline:none;transition:all .2s cubic-bezier(.25,.1,.25,1)}.ticker-setup-form input:focus{border-color:var(--apple-accent);box-shadow:0 0 0 3px var(--apple-accent-secondary)}.ticker-setup-form .hint{margin-top:8px;color:var(--apple-label-tertiary);font-size:12px}.property-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:8px}.input-group-modern{background:var(--apple-bg-tertiary);border:1px solid var(--apple-separator);border-radius:6px;display:flex;align-items:center;padding:0 10px;transition:all .2s cubic-bezier(.25,.1,.25,1);height:34px;min-width:0;overflow:hidden}.input-group-modern:hover{border-color:var(--apple-separator-opaque)}.input-group-modern:focus-within{border-color:var(--apple-accent);box-shadow:0 0 0 2px var(--apple-accent-secondary)}.input-icon{color:var(--apple-label-tertiary);font-size:11px;margin-right:6px;font-weight:600;min-width:14px;text-transform:uppercase;flex-shrink:0}.modern-input{background:transparent;border:none;color:var(--apple-label-primary);width:100%;min-width:0;padding:6px 0;font-size:13px;outline:none;text-align:left;font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,monospace;font-variant-numeric:tabular-nums;flex:1}.modern-input[type=number]::-webkit-inner-spin-button,.modern-input[type=number]::-webkit-outer-spin-button{opacity:1;height:20px;width:14px;cursor:pointer;background:var(--apple-fill-secondary);border-radius:3px;margin-left:4px}.modern-input[type=number]::-webkit-inner-spin-button:hover,.modern-input[type=number]::-webkit-outer-spin-button:hover{background:var(--apple-fill-primary)}.modern-input[type=number]{-moz-appearance:textfield}.input-group-modern:hover .modern-input[type=number]{-moz-appearance:auto}.unit-label{color:var(--apple-label-quaternary);font-size:10px;margin-left:2px;-webkit-user-select:none;user-select:none;flex-shrink:0}.alignment-section{display:flex;flex-direction:column;gap:10px}.alignment-group{display:flex;background:var(--apple-bg-tertiary);border:1px solid var(--apple-separator);border-radius:8px;padding:3px;gap:3px}.align-btn{flex:1;background:transparent;border:none;color:var(--apple-label-secondary);padding:8px;border-radius:6px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s cubic-bezier(.25,.1,.25,1);font-size:14px}.align-btn:hover{background:var(--apple-fill-quaternary);color:var(--apple-label-primary)}.align-btn:active{transform:scale(.95);background:var(--apple-accent-secondary);color:var(--apple-accent)}.panel-divider{height:1px;background:var(--apple-separator);margin:8px 0}.custom-slider{user-select:none;-webkit-user-select:none}.custom-slider:active{cursor:grabbing}.properties-panel::-webkit-scrollbar,.layers-list::-webkit-scrollbar{width:8px}.properties-panel::-webkit-scrollbar-track,.layers-list::-webkit-scrollbar-track{background:transparent}.properties-panel::-webkit-scrollbar-thumb,.layers-list::-webkit-scrollbar-thumb{background:var(--apple-fill-secondary);border-radius:4px}.properties-panel::-webkit-scrollbar-thumb:hover,.layers-list::-webkit-scrollbar-thumb:hover{background:var(--apple-fill-primary)}.media-selector-overlay{position:fixed;inset:0;background:#0000004d;display:flex;align-items:center;justify-content:center;z-index:1000;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}.media-selector-modal{background:#fff;width:900px;height:600px;border-radius:12px;border:1px solid rgba(0,0,0,.1);display:flex;flex-direction:column;overflow:hidden;box-shadow:0 25px 50px -12px #00000026,0 0 0 1px #0000000d}.media-selector-header{padding:14px 20px;background:#f5f5f7;border-bottom:1px solid rgba(0,0,0,.06);display:flex;justify-content:space-between;align-items:center;flex-shrink:0}.media-selector-header h2{margin:0;font-size:15px;font-weight:600;color:#1d1d1f;letter-spacing:-.2px;display:flex;align-items:center;gap:10px}.media-selector-header h2 svg{font-size:16px;color:#86868b}.media-selector-close{background:#0000000f;border:none;color:#86868b;width:26px;height:26px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s cubic-bezier(.25,.1,.25,1)}.media-selector-close:hover{background:#0000001a;color:#1d1d1f}.media-selector-body{display:flex;flex:1;overflow:hidden}.media-selector-sidebar{width:200px;background:#fafafa;border-right:1px solid rgba(0,0,0,.06);display:flex;flex-direction:column;overflow:hidden;flex-shrink:0}.media-selector-sidebar .sidebar-title{font-size:11px;font-weight:600;color:#86868b;text-transform:uppercase;letter-spacing:.5px;padding:12px 12px 8px}.media-selector-sidebar>.media-folder-item,.media-selector-sidebar>div{overflow-y:auto}.media-selector-modal .media-folder-item{display:flex;align-items:center;gap:8px;padding:8px 12px;cursor:pointer;font-size:13px;color:#3c3c43;transition:all .15s cubic-bezier(.25,.1,.25,1);border-radius:6px;margin:0 6px 2px}.media-selector-modal .media-folder-item:hover{background:#0000000a;color:#1d1d1f}.media-selector-modal .media-folder-item.active{background:#00000014;color:#1d1d1f;font-weight:500}.media-selector-modal .media-folder-item.root{font-weight:500}.media-selector-modal .folder-icon{font-size:14px;color:#0071e3;flex-shrink:0}.media-selector-modal .folder-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1}.media-selector-modal .folder-expand-icon{font-size:10px;color:#86868b;cursor:pointer;display:flex;align-items:center;justify-content:center;width:14px;flex-shrink:0}.media-selector-content{flex:1;display:flex;flex-direction:column;overflow:hidden;background:#fff}.media-selector-modal .media-breadcrumb{display:flex;align-items:center;gap:6px;padding:10px 16px;background:#fafafa;border-bottom:1px solid rgba(0,0,0,.06);font-size:12px;flex-shrink:0}.media-selector-modal .breadcrumb-item{color:#86868b;cursor:pointer;padding:4px 8px;border-radius:4px;transition:all .15s}.media-selector-modal .breadcrumb-item:hover{background:#0000000a;color:#1d1d1f}.media-selector-modal .breadcrumb-item.current{color:#1d1d1f;font-weight:500;cursor:default}.media-selector-modal .breadcrumb-item.current:hover{background:transparent}.media-selector-modal .breadcrumb-separator{color:#c7c7cc;font-size:10px}.media-selector-modal .media-grid{flex:1;display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:12px;padding:16px;overflow-y:auto;align-content:start;background:#fff}.media-selector-modal .media-grid-item{background:#fff;border:1px solid rgba(0,0,0,.08);border-radius:8px;overflow:hidden;cursor:pointer;transition:all .2s cubic-bezier(.25,.1,.25,1)}.media-selector-modal .media-grid-item:hover{border-color:#00000026;transform:translateY(-2px);box-shadow:0 4px 12px #00000014}.media-selector-modal .media-grid-item.selected{border-color:#0071e3;box-shadow:0 0 0 2px #0071e333}.media-selector-modal .media-thumbnail{width:100%;height:100px;background:#f5f5f7;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}.media-selector-modal .media-thumbnail img,.media-selector-modal .media-thumbnail video{width:100%;height:100%;object-fit:cover}.media-selector-modal .video-badge{position:absolute;bottom:6px;right:6px;background:#0009;color:#fff;width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:10px}.media-selector-modal .media-info{padding:10px;background:#fff}.media-selector-modal .media-name{font-size:12px;font-weight:500;color:#1d1d1f;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-bottom:4px}.media-selector-modal .media-size{font-size:11px;color:#86868b}.media-selector-modal .media-loading,.media-selector-modal .media-empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#86868b;font-size:14px;padding:40px;text-align:center}.media-selector-modal .empty-icon{font-size:48px;color:#c7c7cc;margin-bottom:16px}.media-selector-modal .empty-hint{font-size:12px;color:#86868b;margin-top:8px}.media-selector-footer{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:#f5f5f7;border-top:1px solid rgba(0,0,0,.06);flex-shrink:0}.media-selector-footer .selected-info{font-size:13px;color:#1d1d1f}.media-selector-footer .selected-info .hint{color:#86868b}.media-selector-footer .footer-actions{display:flex;gap:8px}.media-selector-footer .btn-cancel,.media-selector-footer .btn-select{padding:8px 16px;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer;transition:all .15s cubic-bezier(.25,.1,.25,1)}.media-selector-footer .btn-cancel{background:#0000000f;border:none;color:#1d1d1f}.media-selector-footer .btn-cancel:hover{background:#0000001a}.media-selector-footer .btn-select{background:#1d1d1f;border:none;color:#fff}.media-selector-footer .btn-select:hover{background:#424245}.media-selector-footer .btn-select:disabled{background:#00000014;color:#86868b;cursor:not-allowed}.media-selector-footer .btn-select:active:not(:disabled){transform:scale(.98)}.quick-edit-panel{display:flex;flex-direction:column;height:100%;background:#2c2c2c}.quick-edit-empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#fff6;font-size:12px;padding:40px 20px;text-align:center}.quick-edit-progress{padding:14px 16px;background:#ffffff08;border-bottom:1px solid rgba(255,255,255,.06)}.progress-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.progress-label{font-size:11px;font-weight:500;color:#fff9}.progress-value{font-size:11px;font-weight:600;color:#fff;font-variant-numeric:tabular-nums}.progress-bar{height:3px;background:#ffffff1a;border-radius:2px;overflow:hidden}.progress-fill{height:100%;background:#0d99ff;border-radius:2px;transition:width .3s ease}.quick-edit-fields{flex:1;overflow-y:auto;padding:12px;display:flex;flex-direction:column;gap:6px}.quick-edit-field{background:#ffffff0a;border:1px solid rgba(255,255,255,.06);border-radius:8px;padding:10px 12px;cursor:pointer;transition:all .15s ease}.quick-edit-field:hover{background:#ffffff0f;border-color:#ffffff1a}.quick-edit-field.editing{border-color:#0d99ff;background:#0d99ff1a}.quick-edit-field.incomplete{border-color:#ff9500;background:#ff95001a}.quick-edit-field.incomplete:hover{background:#ff950026}.field-header{display:flex;align-items:center;gap:10px}.field-icon{width:28px;height:28px;border-radius:6px;background:#ffffff14;color:#fff9;display:flex;align-items:center;justify-content:center;font-size:12px;flex-shrink:0}.quick-edit-field.placeholder .field-icon{background:#0d99ff33;color:#0d99ff}.quick-edit-field.text .field-icon{background:#ffffff1a;color:#ffffffb3}.quick-edit-field.image .field-icon{background:#34c75933;color:#34c759}.field-label{flex:1;font-size:12px;font-weight:500;color:#ffffffe6;letter-spacing:-.1px;display:flex;align-items:center;gap:8px}.required-badge{font-size:9px;font-weight:600;color:#ff9500;background:#ff950033;padding:2px 5px;border-radius:3px}.field-status{font-size:12px;flex-shrink:0}.field-editor{margin-top:10px;padding-top:10px;border-top:1px solid rgba(255,255,255,.06)}.field-editor textarea{width:100%;min-height:60px;padding:10px 12px;background:#ffffff0f;border:1px solid rgba(255,255,255,.1);border-radius:6px;font-size:12px;color:#fff;resize:vertical;outline:none;font-family:inherit;line-height:1.5;transition:border-color .15s}.field-editor textarea:focus{border-color:#0d99ff;background:#ffffff14}.field-hint{margin-top:8px;font-size:10px;color:#fff6;line-height:1.4}.field-preview{margin-top:10px;border-radius:6px;overflow:hidden;background:#ffffff0f}.field-preview img{width:100%;height:80px;object-fit:cover;display:block}.edit-mode-tabs{display:flex;padding:12px 12px 10px;background:#2c2c2c;border-bottom:1px solid rgba(255,255,255,.06)}.edit-mode-tabs-inner{display:flex;width:100%;background:#ffffff0f;border-radius:8px;padding:2px;position:relative}.edit-mode-tab{flex:1;padding:8px 16px;background:transparent;border:none;border-radius:6px;font-size:12px;font-weight:500;color:#fff9;cursor:pointer;transition:all .2s cubic-bezier(.25,.1,.25,1);display:flex;align-items:center;justify-content:center;gap:6px;position:relative;z-index:1}.edit-mode-tab:hover:not(.active){color:#ffffffe6}.edit-mode-tab.active{background:#ffffff1a;color:#fff}.edit-mode-tab svg{font-size:13px}.quick-edit-fields::-webkit-scrollbar{width:6px}.quick-edit-fields::-webkit-scrollbar-track{background:transparent}.quick-edit-fields::-webkit-scrollbar-thumb{background:#ffffff26;border-radius:3px}.quick-edit-fields::-webkit-scrollbar-thumb:hover{background:#ffffff40}.field-style-controls{display:flex;align-items:center;gap:12px;margin-top:10px;padding-top:10px;border-top:1px solid rgba(255,255,255,.06)}.style-control{display:flex;align-items:center;gap:6px}.color-control{position:relative}.color-button{width:24px;height:24px;border-radius:4px;border:1px solid rgba(255,255,255,.15);cursor:pointer;transition:all .15s}.color-button:hover{transform:scale(1.1);border-color:#0d99ff}.color-picker-dropdown{position:absolute;top:100%;left:0;margin-top:8px;background:#3c3c3c;border:1px solid rgba(255,255,255,.1);border-radius:8px;padding:12px;box-shadow:0 8px 24px #0006;z-index:100;min-width:160px}.color-presets{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-bottom:10px}.color-preset{width:28px;height:28px;border-radius:4px;border:2px solid transparent;cursor:pointer;transition:all .15s}.color-preset.active{border-color:#0d99ff}.color-custom{display:flex;align-items:center;gap:8px;padding-top:10px;border-top:1px solid rgba(255,255,255,.06)}.color-custom input[type=color]{width:28px;height:28px;border:none;border-radius:4px;cursor:pointer;padding:0;background:none}.color-custom input[type=color]::-webkit-color-swatch-wrapper{padding:0}.color-custom input[type=color]::-webkit-color-swatch{border:1px solid rgba(255,255,255,.15);border-radius:4px}.color-custom span{font-size:11px;color:#ffffff80}.size-control{display:flex;align-items:center;gap:2px;background:#ffffff0f;border-radius:4px;padding:2px}.size-button{width:24px;height:24px;border:none;background:transparent;border-radius:4px;cursor:pointer;display:flex;align-items:center;justify-content:center;color:#ffffff80;transition:all .15s}.size-button:hover{background:#ffffff1a;color:#fff}.size-button:active{transform:scale(.95)}.size-button svg{font-size:10px}.size-value{min-width:40px;text-align:center;font-size:11px;font-weight:500;color:#fff;font-variant-numeric:tabular-nums}.preview-modal-overlay{position:fixed;inset:0;background:#1a1a1a;z-index:2000;display:flex;flex-direction:column}.preview-controls{display:flex;align-items:center;justify-content:space-between;padding:12px 20px;background:#000c;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid rgba(255,255,255,.1)}.preview-controls-left,.preview-controls-right{min-width:150px}.preview-controls-center{display:flex;align-items:center;gap:20px}.preview-size-label{font-size:13px;color:#ffffffb3;font-weight:500}.preview-device-selector{display:flex;background:#ffffff1a;border-radius:8px;padding:4px}.device-btn{width:36px;height:32px;border:none;background:transparent;border-radius:6px;color:#fff9;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.device-btn:hover{color:#ffffffe6}.device-btn.active{background:#fff3;color:#fff}.preview-zoom-controls{display:flex;align-items:center;gap:8px;background:#ffffff1a;border-radius:8px;padding:4px 8px}.preview-zoom-controls button{width:32px;height:28px;border:none;background:transparent;border-radius:6px;color:#ffffffb3;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s}.preview-zoom-controls button:hover{background:#ffffff26;color:#fff}.preview-zoom-controls .fit-btn{width:auto;padding:0 12px;font-size:12px;font-weight:500}.zoom-value{min-width:50px;text-align:center;font-size:13px;color:#fff;font-variant-numeric:tabular-nums}.preview-close-btn{display:flex;align-items:center;gap:8px;padding:8px 16px;background:#ff3b3033;border:none;border-radius:8px;color:#ff3b30;font-size:13px;font-weight:500;cursor:pointer;transition:all .15s}.preview-close-btn:hover{background:#ff3b304d}.preview-live-toggle{margin-left:12px}.live-btn{display:flex;align-items:center;gap:6px;padding:8px 14px;background:#ffffff1a;border:1px solid rgba(255,255,255,.15);border-radius:8px;color:#ffffffb3;font-size:12px;font-weight:500;cursor:pointer;transition:all .15s}.live-btn:hover{background:#ffffff26;color:#fff}.live-btn.active{background:#34c75933;border-color:#34c759;color:#34c759}.live-preview-iframe{background:#000}.preview-content{flex:1;display:flex;align-items:center;justify-content:center;overflow:hidden;padding:20px}.preview-frame{position:relative;transition:transform .2s ease}.preview-canvas{position:relative;box-shadow:0 20px 60px #00000080;border-radius:4px;overflow:hidden}.preview-frame.tv .preview-canvas{border:20px solid #2c2c2c;border-radius:8px}.preview-frame.tv:after{content:"";position:absolute;bottom:-60px;left:50%;transform:translate(-50%);width:200px;height:40px;background:linear-gradient(to bottom,#2c2c2c,#1a1a1a);border-radius:0 0 10px 10px}.preview-frame.tv:before{content:"";position:absolute;bottom:-70px;left:50%;transform:translate(-50%);width:300px;height:15px;background:#1a1a1a;border-radius:0 0 5px 5px}.preview-frame.tablet .preview-canvas{border:16px solid #2c2c2c;border-radius:20px}.preview-frame.tablet.portrait .preview-canvas{border-top-width:40px;border-bottom-width:40px}.preview-frame.tablet.landscape .preview-canvas{border-left-width:40px;border-right-width:40px}.preview-shortcuts{position:absolute;bottom:20px;left:50%;transform:translate(-50%);display:flex;gap:20px;padding:8px 16px;background:#0009;border-radius:8px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.preview-shortcuts span{font-size:12px;color:#ffffff80}.preview-shortcuts span:before{content:"⌨️";margin-right:4px}.mobile-edit-btn{display:none;width:44px;height:44px;border:none;background:var(--apple-accent);color:#fff;border-radius:10px;cursor:pointer;align-items:center;justify-content:center;font-size:18px;transition:all .2s}.mobile-edit-btn:active{transform:scale(.95);opacity:.9}@media(max-width:1024px){.editor-layout{grid-template-columns:50px 1fr 280px}.editor-toolbar{padding:8px 0}.tool-btn{width:40px;height:40px}.right-sidebar{width:280px}}@media(max-width:768px){.editor-layout{grid-template-columns:1fr;grid-template-rows:56px 1fr auto}.mobile-edit-btn{display:flex}.editor-header{padding:0 12px}.header-left .back-btn span,.header-left .layer-btn span,.header-center .action-btn span{display:none}.header-center .action-btn{padding:8px 12px}.header-right .scene-name-input{width:120px;font-size:13px}.header-right .save-btn{padding:8px 12px}.header-right .save-btn span{display:none}.editor-toolbar{grid-column:1;grid-row:3;flex-direction:row;justify-content:center;padding:8px 12px;border-right:none;border-top:1px solid var(--apple-separator);overflow-x:auto;gap:8px}.toolbar-divider{width:1px;height:32px;margin:0 4px}.toolbar-section-title{display:none}.canvas-area{grid-column:1;grid-row:2}.right-sidebar{display:none}.right-sidebar.mobile-visible{display:flex;position:fixed;top:0;right:0;bottom:0;width:300px;z-index:200;box-shadow:-4px 0 20px #00000026}.mobile-sidebar-overlay{position:fixed;inset:0;background:#0006;z-index:199}}@media(max-width:480px){.editor-header{padding:0 8px}.header-center{gap:4px}.header-center .action-btn{padding:6px 10px;font-size:13px}.header-right .scene-name-input{width:80px;font-size:12px}.tool-btn{width:36px;height:36px;font-size:14px}.right-sidebar.mobile-visible{width:100%}.preview-controls{padding:8px 12px;flex-wrap:wrap;gap:8px}.preview-controls-left,.preview-controls-right{min-width:auto}.preview-controls-center{order:3;width:100%;justify-content:center}.preview-device-selector,.preview-shortcuts{display:none}}@media(hover:none)and (pointer:coarse){.tool-btn{min-width:44px;min-height:44px}.action-btn,.save-btn,.back-btn,.layer-btn{min-height:44px}.context-menu-item{min-height:44px;padding:12px 16px}.quick-edit-field{padding:14px}.field-icon{width:36px;height:36px}.field-editor textarea{font-size:16px;min-height:80px}.color-preset,.size-button{width:40px;height:40px}.quick-edit-fields::-webkit-scrollbar,.properties-panel::-webkit-scrollbar,.editor-toolbar::-webkit-scrollbar{display:none}.tool-btn:hover,.quick-edit-field:hover,.action-btn:hover{background:inherit;transform:none}.tool-btn:active,.quick-edit-field:active,.action-btn:active{opacity:.7;transform:scale(.95)}}@media(max-width:768px)and (orientation:portrait){.canvas-area:before{content:"가로 모드로 회전하면 더 편리합니다";position:absolute;bottom:80px;left:50%;transform:translate(-50%);padding:8px 16px;background:#000000b3;color:#fff;font-size:12px;border-radius:20px;white-space:nowrap;z-index:100;animation:fadeInOut 5s forwards}@keyframes fadeInOut{0%{opacity:0}10%{opacity:1}80%{opacity:1}to{opacity:0;display:none}}}input[type=range]{-webkit-appearance:none;appearance:none;height:4px;border-radius:2px;outline:none;cursor:pointer}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:14px;height:14px;background:#fff;border-radius:50%;cursor:pointer;box-shadow:0 1px 3px #0000004d,0 0 0 1px #0000001a;transition:transform .15s ease}input[type=range]::-webkit-slider-thumb:hover{transform:scale(1.15)}input[type=range]::-moz-range-thumb{width:14px;height:14px;background:#fff;border-radius:50%;cursor:pointer;border:none;box-shadow:0 1px 3px #0000004d,0 0 0 1px #0000001a}@keyframes fadeIn{0%{opacity:0;transform:translate(-50%) translateY(-10px)}to{opacity:1;transform:translate(-50%) translateY(0)}}@keyframes toastSlideIn{0%{opacity:0;transform:translate(-50%) translateY(-20px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.editor-toast{position:fixed;top:70px;left:50%;transform:translate(-50%);padding:12px 24px;border-radius:8px;font-size:14px;font-weight:600;color:#fff;z-index:10000;box-shadow:0 4px 20px #00000040;animation:toastSlideIn .25s ease;white-space:nowrap;pointer-events:none}.editor-toast-success{background:#00c471}.editor-toast-error{background:#f04452}.figma-panel{display:flex;flex-direction:column;height:100%;background:#2c2c2c;color:#fff;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:11px;overflow-y:auto}.figma-panel::-webkit-scrollbar{width:8px}.figma-panel::-webkit-scrollbar-track{background:transparent}.figma-panel::-webkit-scrollbar-thumb{background:#ffffff26;border-radius:4px}.figma-panel::-webkit-scrollbar-thumb:hover{background:#ffffff40}.figma-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;padding:40px 20px;text-align:center;color:#fff6}.figma-empty-state .empty-icon{margin-bottom:16px;opacity:.3}.figma-empty-state .empty-icon svg{stroke:currentColor}.figma-empty-state p{margin:0;font-size:12px;line-height:1.5}.figma-object-header{padding:12px 16px;border-bottom:1px solid rgba(255,255,255,.06);display:flex;align-items:center;gap:8px}.object-type-badge{font-size:11px;font-weight:500;color:#ffffffe6;text-transform:capitalize}.figma-section{border-bottom:1px solid rgba(255,255,255,.06)}.figma-section-header{display:flex;align-items:center;justify-content:space-between;padding:10px 16px;cursor:pointer;-webkit-user-select:none;user-select:none;transition:background .15s}.figma-section-header:hover{background:#ffffff08}.figma-section-title{display:flex;align-items:center;gap:8px;font-size:11px;font-weight:500;color:#ffffffe6}.section-chevron{font-size:8px;color:#fff6;transition:transform .15s}.section-icon{color:#ffffff80}.section-actions{display:flex;gap:4px}.figma-section-content{padding:8px 16px 16px}.figma-input-row{display:grid;grid-template-columns:1fr 1fr;gap:8px}.figma-input-field{display:flex;align-items:center;background:#ffffff0f;border:1px solid transparent;border-radius:4px;padding:0 8px;height:28px;transition:all .15s}.figma-input-field:hover{background:#ffffff14}.figma-input-field:focus-within{background:#ffffff1a;border-color:#0d99ff}.figma-input-label{font-size:11px;font-weight:500;color:#ffffff80;min-width:16px;flex-shrink:0}.figma-input-wrapper{flex:1;display:flex;align-items:center}.figma-input-wrapper input{flex:1;background:none;border:none;color:#fff;font-size:11px;font-family:inherit;text-align:right;padding:0 4px;width:100%;min-width:0;outline:none}.figma-input-wrapper input[type=number]{-moz-appearance:textfield}.figma-input-wrapper input[type=number]::-webkit-inner-spin-button,.figma-input-wrapper input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.figma-input-unit{font-size:10px;color:#ffffff59;margin-left:2px}.figma-corner-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.figma-link-btn{width:24px;height:24px;display:flex;align-items:center;justify-content:center;background:none;border:none;border-radius:4px;color:#fff6;cursor:pointer;transition:all .15s}.figma-link-btn:hover{background:#ffffff14;color:#ffffffb3}.figma-link-btn.active{color:#0d99ff}.figma-link-btn.active:hover{background:#0d99ff26}.figma-slider-row{display:flex;align-items:center;gap:8px}.figma-slider-label{font-size:11px;font-weight:500;color:#ffffff80;min-width:16px}.figma-slider{flex:1;height:4px;-webkit-appearance:none;appearance:none;background:#ffffff26;border-radius:2px;outline:none;cursor:pointer}.figma-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:12px;height:12px;background:#fff;border-radius:50%;cursor:pointer;box-shadow:0 1px 3px #0006;transition:transform .1s}.figma-slider::-webkit-slider-thumb:hover{transform:scale(1.1)}.figma-slider::-moz-range-thumb{width:12px;height:12px;background:#fff;border-radius:50%;cursor:pointer;border:none;box-shadow:0 1px 3px #0006}.figma-slider.full{width:100%}.figma-slider-value{font-size:11px;color:#ffffffb3;min-width:32px;text-align:right;font-variant-numeric:tabular-nums}.figma-visibility-btn{width:24px;height:24px;display:flex;align-items:center;justify-content:center;background:none;border:none;border-radius:4px;color:#ffffff80;cursor:pointer;transition:all .15s;flex-shrink:0}.figma-visibility-btn:hover{background:#ffffff14;color:#fff}.figma-align-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:4px}.figma-align-btn{height:28px;display:flex;align-items:center;justify-content:center;background:#ffffff0f;border:none;border-radius:4px;color:#fff9;cursor:pointer;transition:all .15s}.figma-align-btn:hover{background:#ffffff1f;color:#fff}.figma-align-btn:active{background:#0d99ff;color:#fff}.figma-layer-btns{display:grid;grid-template-columns:repeat(4,1fr);gap:4px}.figma-layer-btn{height:28px;display:flex;align-items:center;justify-content:center;background:#ffffff0f;border:none;border-radius:4px;color:#fff9;cursor:pointer;transition:all .15s}.figma-layer-btn:hover{background:#ffffff1f;color:#fff}.figma-layer-btn:active{background:#0d99ff;color:#fff}.figma-color-row{display:flex;align-items:center;gap:8px}.figma-color-picker{width:28px;height:28px;padding:0;border:none;border-radius:4px;cursor:pointer;background:none;overflow:hidden}.figma-color-picker::-webkit-color-swatch-wrapper{padding:0}.figma-color-picker::-webkit-color-swatch{border:1px solid rgba(255,255,255,.15);border-radius:4px}.figma-color-input{flex:1;height:28px;background:#ffffff0f;border:1px solid transparent;border-radius:4px;padding:0 8px;font-size:11px;font-family:SF Mono,Monaco,Consolas,monospace;color:#fff;outline:none;transition:all .15s}.figma-color-input:hover{background:#ffffff14}.figma-color-input:focus{background:#ffffff1a;border-color:#0d99ff}.figma-color-opacity{font-size:11px;color:#ffffff80;min-width:36px;text-align:right}.figma-color-input-wrapper{display:flex;gap:8px;align-items:center}.figma-color-text{flex:1;height:28px;background:#ffffff0f;border:1px solid transparent;border-radius:4px;padding:0 8px;font-size:11px;font-family:SF Mono,Monaco,Consolas,monospace;color:#fff;outline:none;transition:all .15s}.figma-color-text:hover{background:#ffffff14}.figma-color-text:focus{background:#ffffff1a;border-color:#0d99ff}.figma-font-row{margin-bottom:8px}.figma-font-select{width:100%;height:28px;background:#ffffff0f;border:1px solid transparent;border-radius:4px;padding:0 8px;font-size:11px;color:#fff;outline:none;cursor:pointer;transition:all .15s}.figma-font-select:hover{background:#ffffff14}.figma-font-select:focus{border-color:#0d99ff}.figma-font-select option{background:#2c2c2c;color:#fff}.figma-style-btns{display:flex;gap:4px;margin-top:8px}.figma-style-btn{width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:#ffffff0f;border:none;border-radius:4px;color:#fff9;cursor:pointer;transition:all .15s;font-size:12px}.figma-style-btn:hover{background:#ffffff1f;color:#fff}.figma-style-btn.active{background:#0d99ff;color:#fff}.figma-placeholder-notice{display:flex;align-items:center;gap:12px;padding:12px 16px;background:#0d99ff1a;border-bottom:1px solid rgba(255,255,255,.06)}.figma-placeholder-notice>svg{font-size:18px;color:#0d99ff;flex-shrink:0}.placeholder-info{flex:1;display:flex;flex-direction:column;gap:2px}.placeholder-info span{font-size:12px;font-weight:500;color:#fff}.placeholder-info small{font-size:10px;color:#ffffff80}.figma-btn-primary{height:28px;padding:0 12px;background:#0d99ff;border:none;border-radius:6px;font-size:11px;font-weight:500;color:#fff;cursor:pointer;transition:all .15s;white-space:nowrap}.figma-btn-primary:hover{background:#0b87e3}.figma-btn-primary:active{transform:scale(.98)}.figma-btn-primary.full-width{width:100%;height:32px}.figma-widget-form{display:flex;flex-direction:column;gap:12px}.figma-form-group{display:flex;flex-direction:column;gap:6px}.figma-form-group>label{font-size:11px;font-weight:500;color:#ffffffb3}.figma-form-input,.figma-form-select{width:100%;height:28px;background:#ffffff0f;border:1px solid transparent;border-radius:4px;padding:0 8px;font-size:11px;color:#fff;outline:none;transition:all .15s}.figma-form-input:hover,.figma-form-select:hover{background:#ffffff14}.figma-form-input:focus,.figma-form-select:focus{background:#ffffff1a;border-color:#0d99ff}.figma-form-input::placeholder{color:#ffffff4d}.figma-form-hint{font-size:10px;color:#fff6;line-height:1.4}.figma-form-hint a{color:#0d99ff;text-decoration:none}.figma-form-hint a:hover{text-decoration:underline}.figma-media-list{display:flex;flex-direction:column;gap:6px;max-height:150px;overflow-y:auto}.figma-media-item{display:flex;align-items:center;gap:8px;padding:6px 8px;background:#ffffff0f;border-radius:4px}.figma-media-item img{width:32px;height:24px;object-fit:cover;border-radius:2px}.figma-media-item span{flex:1;font-size:11px;color:#ffffffb3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.figma-media-delete{width:20px;height:20px;display:flex;align-items:center;justify-content:center;background:#ff3b3033;border:none;border-radius:4px;color:#ff3b30;font-size:14px;cursor:pointer;transition:all .15s}.figma-media-delete:hover{background:#ff3b3066}.figma-checkbox-label{display:flex;align-items:center;gap:8px;cursor:pointer;font-size:11px;color:#ffffffb3}.figma-checkbox-label input[type=checkbox]{width:14px;height:14px;accent-color:#0d99ff;cursor:pointer}.figma-layers-panel{display:flex;flex-direction:column;background:#2c2c2c;border-top:1px solid rgba(255,255,255,.06);min-height:200px;max-height:320px}.figma-layers-header{display:flex;align-items:center;gap:8px;padding:10px 16px;font-size:11px;font-weight:500;color:#ffffffe6;border-bottom:1px solid rgba(255,255,255,.06)}.figma-layers-header svg{color:#ffffff80;font-size:12px}.figma-layers-header .layers-count{margin-left:auto;padding:2px 6px;background:#ffffff1a;border-radius:4px;font-size:10px;color:#fff9}.figma-layers-list{flex:1;overflow-y:auto;padding:4px 0}.figma-layers-list::-webkit-scrollbar{width:6px}.figma-layers-list::-webkit-scrollbar-track{background:transparent}.figma-layers-list::-webkit-scrollbar-thumb{background:#ffffff26;border-radius:3px}.figma-layer-item{display:flex;align-items:center;gap:8px;padding:6px 16px;cursor:pointer;transition:background .1s}.figma-layer-item:hover{background:#ffffff0d}.figma-layer-item.active{background:#0d99ff33}.figma-layer-item .layer-icon{width:16px;height:16px;display:flex;align-items:center;justify-content:center;color:#ffffff80;font-size:10px}.figma-layer-item.active .layer-icon{color:#0d99ff}.figma-layer-item .layer-name{flex:1;font-size:11px;color:#fffc;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.figma-layer-item.active .layer-name{color:#fff}.figma-layer-item .layer-lock-icon{display:flex;align-items:center;justify-content:center;font-size:10px;color:#ff9500;opacity:.8;margin-left:auto}.figma-layer-item.locked{opacity:.6}.figma-layer-item.locked .layer-name{color:#ffffff80}.figma-layers-empty{padding:20px 16px;text-align:center;font-size:11px;color:#fff6}.header-divider{width:1px;height:24px;background:#0000001a;margin:0 8px}.figma-touch-action{display:flex;flex-direction:column;gap:12px}.figma-action-types{display:flex;flex-direction:column;gap:4px}.figma-action-type-btn{display:flex;align-items:center;gap:10px;padding:10px 12px;background:#ffffff0a;border:1px solid rgba(255,255,255,.08);border-radius:6px;color:#ffffffb3;font-size:11px;cursor:pointer;transition:all .15s ease;text-align:left}.figma-action-type-btn:hover{background:#ffffff14;border-color:#ffffff1f}.figma-action-type-btn.active{background:#0d99ff26;border-color:#0d99ff;color:#0d99ff}.figma-action-type-btn svg{font-size:12px;flex-shrink:0}.figma-action-type-btn span{flex:1}.figma-action-preview{display:flex;align-items:center;gap:8px;padding:10px 12px;background:#0d99ff1a;border:1px solid rgba(13,153,255,.2);border-radius:6px;color:#0d99ff;font-size:11px;margin-top:8px}.figma-action-preview svg{font-size:12px;flex-shrink:0}.figma-action-badge{display:flex;align-items:center;justify-content:center;gap:6px;padding:8px 12px;background:linear-gradient(135deg,#0d99ff33,#a855f733);border:1px solid rgba(13,153,255,.3);border-radius:6px;color:#0d99ff;font-size:11px;font-weight:500;margin-top:4px}.figma-action-badge svg{font-size:12px;animation:pulse 2s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.figma-form-hint.warning{color:#ff9500;background:#ff95001a;padding:8px 10px;border-radius:4px;line-height:1.4}.figma-lock-btn{background:transparent;border:none;color:#ffffff80;cursor:pointer;padding:6px 8px;border-radius:4px;display:flex;align-items:center;justify-content:center;transition:all .15s;font-size:13px;margin-left:auto}.figma-lock-btn:hover{background:#ffffff14;color:#ffffffe6}.figma-lock-btn.locked{color:#ff9500}.figma-lock-btn.locked:hover{background:#ff950026;color:#ffb340}.editor-sidebar{width:320px;height:100%;background:#eaecef;border-right:2px solid #D1D6DB;display:flex;flex-direction:column;position:relative;transition:width .3s cubic-bezier(.4,0,.2,1)}.editor-sidebar.collapsed{width:60px;min-width:60px}.sidebar-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid #D1D6DB;background:#eaecef}.sidebar-title{font-size:17px;font-weight:600;color:#191f28;margin:0;letter-spacing:-.3px}.sidebar-toggle-btn{width:32px;height:32px;border:none;background:transparent;color:#8b95a1;font-size:18px;cursor:pointer;border-radius:6px;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.sidebar-toggle-btn:hover{background:#e5e8eb;color:#191f28}.editor-sidebar.collapsed .sidebar-toggle-btn{margin:16px auto;font-size:24px}.sidebar-tabs{display:flex;gap:0;border-bottom:2px solid #D1D6DB;background:#eaecef;flex-shrink:0}.sidebar-tab{flex:1;padding:12px 8px;border:none;background:transparent;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:4px;transition:all .2s ease;position:relative;color:#8b95a1}.sidebar-tab:hover{background:#e5e8eb;color:#333d4b}.sidebar-tab.active{background:#fff;color:#00adb5;font-weight:600}.sidebar-tab.active:after{content:"";position:absolute;bottom:0;left:0;right:0;height:2px;background:#00adb5}.tab-icon{font-size:18px}.tab-label{font-size:11px;font-weight:500;letter-spacing:-.1px}.sidebar-tab.active .tab-label{font-weight:600}.sidebar-content{flex:1;overflow:hidden;min-height:0;background:#fff}.sidebar-content::-webkit-scrollbar{width:8px}.sidebar-content::-webkit-scrollbar-track{background:transparent}.sidebar-content::-webkit-scrollbar-thumb{background:#0003;border-radius:4px}.sidebar-content::-webkit-scrollbar-thumb:hover{background:#0000004d}.sidebar-search{margin:16px;padding:10px 14px;border:1px solid #E5E8EB;border-radius:8px;font-size:14px;width:calc(100% - 32px);transition:all .2s ease;background:#f2f4f6;color:#191f28}.sidebar-search:focus{outline:none;border-color:#00adb5;background:#fff;box-shadow:0 0 0 3px #00adb51a}.sidebar-search::placeholder{color:#8b95a1}.sidebar-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:12px;padding:16px}.sidebar-card{aspect-ratio:1;border-radius:8px;overflow:hidden;cursor:pointer;border:2px solid transparent;transition:all .2s cubic-bezier(.4,0,.2,1);background:#f2f4f6;position:relative}.sidebar-card:hover{border-color:#00adb5;transform:scale(1.05);box-shadow:0 4px 12px #00adb51f}.sidebar-card img{width:100%;height:100%;object-fit:cover}.sidebar-card-label{position:absolute;bottom:0;left:0;right:0;background:#000000b3;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#fff;padding:6px 8px;font-size:11px;font-weight:500;text-align:center;letter-spacing:-.1px}.sidebar-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 20px;color:#8b95a1}.sidebar-loading-spinner{width:32px;height:32px;border:3px solid rgba(0,173,181,.15);border-top-color:#00adb5;border-radius:50%;animation:spin .8s linear infinite}.sidebar-loading-text{margin-top:12px;font-size:13px;font-weight:500}.sidebar-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 20px;color:#8b95a1;text-align:center}.sidebar-empty-icon{font-size:48px;margin-bottom:12px;opacity:.5}.sidebar-empty-text{font-size:14px;font-weight:500;margin-bottom:4px}.sidebar-empty-hint{font-size:12px;color:#aeaeb2}@media(max-width:768px){.editor-sidebar{position:fixed;top:0;left:0;bottom:0;width:100vw;z-index:1000;box-shadow:0 0 20px #0003}.editor-sidebar.collapsed{display:none}.sidebar-tabs{overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch}.sidebar-tab{min-width:80px}}@keyframes slideInLeft{0%{transform:translate(-100%);opacity:0}to{transform:translate(0);opacity:1}}.editor-sidebar{animation:slideInLeft .3s cubic-bezier(.4,0,.2,1)}.preview-tooltip{position:fixed;z-index:10000;background:#fff;border:2px solid #007aff;border-radius:12px;box-shadow:0 8px 24px #007aff4d;padding:16px;pointer-events:none;animation:fadeInScale .2s cubic-bezier(.34,1.56,.64,1);max-width:400px}@keyframes fadeInScale{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.preview-tooltip-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;padding-bottom:8px;border-bottom:1px solid rgba(0,0,0,.08)}.preview-tooltip-title{font-size:14px;font-weight:600;color:#1c1c1e;margin:0}.preview-tooltip-subtitle{font-size:11px;color:#8e8e93;margin:0}.preview-tooltip-content{display:flex;flex-direction:column;gap:8px}.preview-tooltip-image{width:100%;border-radius:8px;background:#f9f9f9}.preview-tooltip-meta{display:flex;justify-content:space-between;font-size:11px;color:#8e8e93}.preview-tooltip-hint{text-align:center;font-size:10px;color:#8e8e93;margin-top:8px;padding-top:8px;border-top:1px solid rgba(0,0,0,.05)}.template-tab{display:flex;flex-direction:column;height:100%;width:100%;overflow:hidden}.template-tab-toggle{display:flex;gap:4px;padding:12px 16px;border-bottom:1px solid rgba(0,0,0,.08);background:#f9f9f9;flex-shrink:0}.template-toggle-btn{flex:1;padding:8px 12px;border:1px solid rgba(0,0,0,.1);border-radius:6px;background:transparent;font-size:13px;font-weight:500;color:#8e8e93;cursor:pointer;transition:all .2s ease}.template-toggle-btn:hover{background:#00000008}.template-toggle-btn.active{background:#00adb5;border-color:#00adb5;color:#fff;font-weight:600}.custom-template-section{display:flex;flex-direction:column;gap:16px}.custom-template-save-btn{display:flex;align-items:center;justify-content:center;gap:8px;padding:12px 16px;background:#00adb5;color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease}.custom-template-save-btn:hover{background:#0052d4;transform:translateY(-1px);box-shadow:0 2px 8px #00adb54d}.custom-template-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.custom-template-card{position:relative}.custom-template-card-inner{display:flex;flex-direction:column;width:100%;background:#fff;border:2px solid rgba(0,0,0,.08);border-radius:8px;overflow:hidden;cursor:pointer;transition:all .2s ease;padding:0}.custom-template-card-inner:hover{border-color:#00adb5;transform:translateY(-2px);box-shadow:0 4px 12px #00adb526}.custom-template-preview{width:100%;background:#f0f0f0;display:flex;align-items:center;justify-content:center;overflow:hidden}.custom-template-preview.horizontal{aspect-ratio:16/9}.custom-template-preview.vertical{aspect-ratio:9/16}.custom-template-preview img{width:100%;height:100%;object-fit:cover}.custom-template-no-thumb{font-size:11px;color:#8e8e93;padding:16px;text-align:center}.custom-template-info{padding:8px 10px;display:flex;flex-direction:column;gap:2px;border-top:1px solid rgba(0,0,0,.05)}.custom-template-delete-btn{position:absolute;top:6px;right:6px;width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:#0009;border:none;border-radius:50%;color:#fff;font-size:11px;cursor:pointer;opacity:0;transition:all .2s ease}.custom-template-card:hover .custom-template-delete-btn{opacity:1}.custom-template-delete-btn:hover{background:#f04452}.custom-template-modal-overlay{position:fixed;inset:0;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:10000;animation:fadeIn .2s ease}.custom-template-modal{background:#fff;border-radius:12px;width:400px;max-width:90vw;box-shadow:0 20px 60px #0000004d;animation:slideUp .3s cubic-bezier(.4,0,.2,1)}.custom-template-modal-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px 0}.custom-template-modal-header h3{font-size:18px;font-weight:600;color:#191f28;margin:0}.custom-template-modal-close{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;border-radius:50%;color:#8e8e93;cursor:pointer;transition:all .2s}.custom-template-modal-close:hover{background:#f0f0f0;color:#333}.custom-template-modal-body{padding:20px 24px}.custom-template-modal-body label{display:block;font-size:13px;font-weight:600;color:#333d4b;margin-bottom:8px}.custom-template-modal-body input{width:100%;padding:10px 14px;border:1px solid #E5E8EB;border-radius:8px;font-size:14px;color:#191f28;outline:none;transition:border-color .2s;box-sizing:border-box}.custom-template-modal-body input:focus{border-color:#00adb5;box-shadow:0 0 0 3px #00adb51a}.custom-template-modal-footer{display:flex;gap:8px;padding:0 24px 20px;justify-content:flex-end}.modal-btn-cancel{padding:10px 20px;border:1px solid #E5E8EB;border-radius:8px;background:#fff;font-size:14px;font-weight:500;color:#333d4b;cursor:pointer;transition:all .2s}.modal-btn-cancel:hover{background:#f0f0f0}.modal-btn-save{padding:10px 20px;border:none;border-radius:8px;background:#00adb5;font-size:14px;font-weight:600;color:#fff;cursor:pointer;transition:all .2s}.modal-btn-save:hover:not(:disabled){background:#0052d4}.modal-btn-save:disabled{opacity:.5;cursor:not-allowed}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.template-tab-header{display:flex;align-items:center;gap:12px;padding:12px 16px;border-bottom:1px solid rgba(0,0,0,.08);background:#f9f9f9;flex-shrink:0}.template-back-btn{display:flex;align-items:center;gap:6px;padding:6px 12px;background:transparent;border:1px solid rgba(0,0,0,.1);border-radius:6px;font-size:13px;font-weight:500;color:#1c1c1e;cursor:pointer;transition:all .2s ease}.template-back-btn:hover{background:#0000000d}.template-category-title{display:flex;align-items:center;gap:8px;font-size:15px;font-weight:600;color:#1c1c1e}.template-search-container{position:relative;padding:12px 16px;border-bottom:1px solid rgba(0,0,0,.05);flex-shrink:0}.template-search-icon{position:absolute;left:28px;top:50%;transform:translateY(-50%);color:#8e8e93;font-size:13px;pointer-events:none}.template-search-container .sidebar-search{width:100%;padding-left:36px;margin:0}.template-tab-content{flex:1;overflow-y:auto;overflow-x:hidden;min-height:0}.template-tab-content::-webkit-scrollbar{width:0px}.template-tab-content::-webkit-scrollbar-track{background:transparent}.template-tab-content::-webkit-scrollbar-thumb{background:transparent}.template-section{padding:16px 16px 32px}.template-section-title{font-size:12px;font-weight:600;color:#8e8e93;text-transform:uppercase;letter-spacing:.5px;margin:0 0 12px}.template-orientation-sections{display:block}.template-orientation-sections>div{margin-bottom:24px}.template-orientation-sections>div:last-child{margin-bottom:0}.template-orientation-title{font-size:14px;font-weight:600;color:#1c1c1e;margin:0 0 12px;padding-bottom:8px;border-bottom:1px solid rgba(0,0,0,.08)}.template-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;min-height:0}.template-grid.vertical{grid-template-columns:repeat(3,1fr)}.template-card{display:flex;flex-direction:column;background:#fff;border:2px solid rgba(0,0,0,.08);border-radius:8px;overflow:hidden;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);padding:0}.template-card:hover,.template-card.hovered{border-color:#007aff;transform:translateY(-2px);box-shadow:0 4px 12px #007aff33}.template-card.dragging{opacity:.5;cursor:grabbing}.template-preview{width:100%;background:#f9f9f9;position:relative;overflow:hidden}.template-preview.horizontal{aspect-ratio:16/9;min-height:80px}.template-preview.vertical{aspect-ratio:9/16;min-height:120px}.template-preview-inner{width:100%;height:100%;position:relative;overflow:hidden}.template-info{padding:8px 10px;background:#fff;display:flex;flex-direction:column;gap:2px;border-top:1px solid rgba(0,0,0,.05)}.template-name{font-size:12px;font-weight:600;color:#1c1c1e;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.template-size{font-size:10px;color:#8e8e93}@media(max-width:768px){.category-grid,.template-grid{grid-template-columns:1fr}.template-grid.vertical{grid-template-columns:repeat(2,1fr)}}.icons-tab{display:flex;flex-direction:column;height:100%;width:100%}.icons-tab-header{display:flex;align-items:center;gap:12px;padding:12px 16px;border-bottom:1px solid rgba(0,0,0,.08);background:#f9f9f9}.icons-back-btn{padding:6px 12px;background:transparent;border:1px solid rgba(0,0,0,.1);border-radius:6px;font-size:13px;font-weight:500;color:#1c1c1e;cursor:pointer;transition:all .2s ease}.icons-back-btn:hover{background:#0000000d}.icons-category-title{font-size:15px;font-weight:600;color:#1c1c1e}.icons-search-container{position:relative;padding:12px 16px;border-bottom:1px solid rgba(0,0,0,.05)}.icons-search-icon{position:absolute;left:28px;top:50%;transform:translateY(-50%);color:#8e8e93;font-size:13px;pointer-events:none}.icons-search-container .sidebar-search{width:100%;padding-left:36px;margin:0}.icons-tab-content{flex:1;overflow-y:auto;overflow-x:hidden}.icons-section{padding:16px}.icons-section-title{font-size:12px;font-weight:600;color:#8e8e93;text-transform:uppercase;letter-spacing:.5px;margin:0 0 12px}.category-list{display:flex;flex-direction:column;gap:8px}.category-item{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:#f9f9f9;border:1px solid rgba(0,0,0,.08);border-radius:8px;cursor:pointer;transition:all .2s ease}.category-item:hover{background:#fff;border-color:#007aff;transform:translate(4px)}.category-name{font-size:14px;font-weight:600;color:#1c1c1e}.category-count{font-size:11px;color:#8e8e93;background:#0000000d;padding:2px 8px;border-radius:12px}.icons-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.icon-card{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:16px 8px;background:#f9f9f9;border:1px solid rgba(0,0,0,.08);border-radius:8px;cursor:pointer;transition:all .2s ease;gap:8px;aspect-ratio:1}.icon-card:hover{background:#fff;border-color:#007aff;transform:translateY(-2px);box-shadow:0 4px 12px #007aff26}.icon-preview{font-size:32px;color:#007aff;display:flex;align-items:center;justify-content:center}.icon-label{font-size:10px;font-weight:500;color:#3a3a3c;text-align:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:100%}@media(max-width:768px){.icons-grid{grid-template-columns:repeat(3,1fr)}}.components-tab{display:flex;flex-direction:column;height:100%;width:100%}.components-tab-header{display:flex;align-items:center;gap:12px;padding:12px 16px;border-bottom:1px solid rgba(0,0,0,.08);background:#f9f9f9}.components-back-btn{display:flex;align-items:center;gap:6px;padding:6px 12px;background:transparent;border:1px solid rgba(0,0,0,.1);border-radius:6px;font-size:13px;font-weight:500;color:#1c1c1e;cursor:pointer;transition:all .2s ease}.components-back-btn:hover{background:#0000000d}.components-category-title{display:flex;align-items:center;gap:8px;font-size:15px;font-weight:600;color:#1c1c1e}.components-search-container{position:relative;padding:12px 16px;border-bottom:1px solid rgba(0,0,0,.05)}.components-search-icon{position:absolute;left:28px;top:50%;transform:translateY(-50%);color:#8e8e93;font-size:13px;pointer-events:none}.components-search-container .sidebar-search{width:100%;padding-left:36px;margin:0}.components-tab-content{flex:1;overflow-y:auto;overflow-x:hidden;min-height:0}.components-section{padding:16px 16px 32px}.components-section-title{font-size:12px;font-weight:600;color:#8e8e93;text-transform:uppercase;letter-spacing:.5px;margin:0 0 12px}.category-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.category-card{display:flex;flex-direction:column;align-items:center;padding:20px 12px;background:#f9f9f9;border:1px solid rgba(0,0,0,.08);border-radius:8px;cursor:pointer;transition:all .2s ease;gap:8px}.category-card:hover{background:#fff;border-color:#007aff;transform:translateY(-2px);box-shadow:0 4px 12px #007aff26}.category-icon{font-size:36px;color:#007aff;display:flex;align-items:center;justify-content:center}.category-icon-small{display:flex;font-size:20px;color:#007aff}.category-name{font-size:14px;font-weight:600;color:#1c1c1e;text-align:center}.category-count{font-size:11px;color:#8e8e93}.components-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.component-card{display:flex;flex-direction:column;background:#fff;border:2px solid rgba(0,0,0,.08);border-radius:8px;overflow:hidden;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);padding:0}.component-card:hover{border-color:#007aff;transform:translateY(-2px);box-shadow:0 4px 12px #007aff33}.component-preview{width:100%;background:#f9f9f9;position:relative;overflow:hidden;aspect-ratio:3/2;display:flex;align-items:center;justify-content:center}.component-preview canvas{max-width:100%;max-height:100%}.component-info{padding:8px 10px;background:#fff;display:flex;flex-direction:column;gap:2px;border-top:1px solid rgba(0,0,0,.05)}.component-name{font-size:12px;font-weight:600;color:#1c1c1e;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media(max-width:768px){.category-grid,.components-grid{grid-template-columns:1fr}}.backgrounds-tab{display:flex;flex-direction:column;height:100%;width:100%}.backgrounds-tabs{display:flex;border-bottom:1px solid rgba(0,0,0,.08);background:#f9f9f9}.section-tab{flex:1;padding:12px 16px;border:none;background:transparent;font-size:13px;font-weight:500;color:#8e8e93;cursor:pointer;transition:all .2s ease;position:relative}.section-tab:hover{background:#00000008;color:#1c1c1e}.section-tab.active{background:#fff;color:#007aff;font-weight:600}.section-tab.active:after{content:"";position:absolute;bottom:0;left:0;right:0;height:2px;background:#007aff}.backgrounds-search-container{position:relative;padding:12px 16px;border-bottom:1px solid rgba(0,0,0,.05)}.backgrounds-search-icon{position:absolute;left:28px;top:50%;transform:translateY(-50%);color:#8e8e93;font-size:13px;pointer-events:none}.backgrounds-search-container .sidebar-search{width:100%;padding-left:36px;margin:0}.backgrounds-tab-content{flex:1;overflow-y:auto;overflow-x:hidden;min-height:0}.backgrounds-section{padding:16px 16px 32px}.backgrounds-section-title{font-size:12px;font-weight:600;color:#8e8e93;text-transform:uppercase;letter-spacing:.5px;margin:0 0 12px}.solid-colors-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.color-card{display:flex;flex-direction:column;align-items:center;padding:8px;background:transparent;border:1px solid rgba(0,0,0,.08);border-radius:6px;cursor:pointer;transition:all .2s ease;gap:6px}.color-card:hover{border-color:#007aff;transform:translateY(-1px)}.color-preview{width:100%;aspect-ratio:1;border-radius:4px;border:1px solid rgba(0,0,0,.1)}.color-name{font-size:10px;font-weight:500;color:#3a3a3c;text-align:center}.api-warning{margin:16px;padding:16px;background:#fff3cd;border:1px solid #ffc107;border-radius:8px}.api-warning-content p{margin:0;font-size:13px;color:#856404}.api-warning-content p:first-child{font-weight:600;margin-bottom:4px}.api-warning-hint{font-size:12px!important;opacity:.8}.popular-terms{display:flex;flex-wrap:wrap;gap:8px}.popular-term-btn{padding:6px 12px;background:#f9f9f9;border:1px solid rgba(0,0,0,.1);border-radius:16px;font-size:12px;font-weight:500;color:#3a3a3c;cursor:pointer;transition:all .2s ease}.popular-term-btn:hover{background:#007aff;border-color:#007aff;color:#fff}.backgrounds-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.background-card{position:relative;aspect-ratio:16/9;border-radius:6px;overflow:hidden;cursor:pointer;border:2px solid transparent;transition:all .2s ease}.background-card:hover{border-color:#007aff;transform:scale(1.02)}.background-card img{width:100%;height:100%;object-fit:cover}.background-info{position:absolute;bottom:0;left:0;right:0;padding:6px 8px;background:linear-gradient(to top,rgba(0,0,0,.7),transparent);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.background-photographer{font-size:9px;color:#fff;font-weight:500;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.load-more-btn{width:100%;padding:12px;margin-top:16px;background:#f9f9f9;border:1px solid rgba(0,0,0,.1);border-radius:8px;font-size:13px;font-weight:600;color:#007aff;cursor:pointer;transition:all .2s ease}.load-more-btn:hover{background:#007aff;border-color:#007aff;color:#fff}.load-more-btn:disabled{opacity:.5;cursor:not-allowed}@media(max-width:768px){.solid-colors-grid{grid-template-columns:repeat(4,1fr)}.backgrounds-grid{grid-template-columns:1fr}}.bg-search-modal-overlay{position:fixed;inset:0;background:#0006;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:2000;padding:20px}.bg-search-modal{background:#fff;border-radius:12px;width:100%;max-width:1000px;max-height:90vh;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 20px 60px #00000026,0 0 0 1px #0000000d}.bg-search-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid #e5e5e7;background:#f5f5f7}.bg-search-header h2{margin:0;font-size:17px;font-weight:600;color:#1d1d1f;letter-spacing:-.3px}.bg-search-header-actions{display:flex;gap:8px}.api-key-btn,.close-btn{background:#fff;border:1px solid #d2d2d7;color:#86868b;width:32px;height:32px;border-radius:6px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.api-key-btn:hover,.close-btn:hover{background:#f5f5f7;color:#1d1d1f;border-color:#c6c6c8}.api-key-btn.has-key{color:#34c759;border-color:#34c759;background:#34c75914}.api-settings-panel{background:#f5f5f7;padding:16px 20px;border-bottom:1px solid #e5e5e7}.api-settings-panel h3{margin:0 0 6px;font-size:14px;font-weight:600;color:#1d1d1f}.api-settings-desc{font-size:12px;color:#86868b;margin:0 0 12px;line-height:1.5}.api-settings-desc a{color:#0071e3;text-decoration:none}.api-settings-desc a:hover{text-decoration:underline}.api-key-inputs{display:flex;gap:12px;margin-bottom:12px}.api-key-input-group{flex:1}.api-key-input-group label{display:flex;align-items:center;gap:6px;font-size:12px;color:#86868b;margin-bottom:6px;font-weight:500}.key-set-icon{color:#34c759;font-size:11px}.api-key-input-group input{width:100%;padding:8px 12px;background:#fff;border:1px solid #d2d2d7;border-radius:6px;color:#1d1d1f;font-size:13px;transition:border-color .2s,box-shadow .2s}.api-key-input-group input:focus{outline:none;border-color:#0071e3;box-shadow:0 0 0 3px #0071e326}.save-api-keys-btn{background:#0071e3;color:#fff;border:none;padding:8px 20px;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer;transition:background .2s}.save-api-keys-btn:hover{background:#0077ed}.bg-search-bar{display:flex;align-items:center;gap:12px;padding:12px 20px;background:#fff;border-bottom:1px solid #e5e5e7}.bg-search-bar .search-icon{color:#86868b;font-size:14px}.bg-search-bar input{flex:1;background:transparent;border:none;color:#1d1d1f;font-size:15px;outline:none}.bg-search-bar input::placeholder{color:#86868b}.search-btn{background:#0071e3;color:#fff;border:none;padding:8px 16px;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer;transition:background .2s}.search-btn:hover:not(:disabled){background:#0077ed}.search-btn:disabled{background:#d2d2d7;color:#86868b;cursor:not-allowed}.popular-terms{display:flex;align-items:center;gap:8px;padding:10px 20px;border-bottom:1px solid #e5e5e7;overflow-x:auto;background:#fafafa}.popular-label{color:#86868b;font-size:12px;white-space:nowrap;font-weight:500}.popular-term-btn{background:#fff;border:1px solid #d2d2d7;color:#1d1d1f;padding:5px 12px;border-radius:14px;font-size:12px;cursor:pointer;white-space:nowrap;transition:all .2s}.popular-term-btn:hover{background:#f5f5f7;border-color:#0071e3;color:#0071e3}.bg-search-results{flex:1;overflow-y:auto;padding:16px 20px;min-height:300px;background:#fff}.no-api-key-message{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;min-height:300px;text-align:center;color:#86868b}.no-api-key-message svg{margin-bottom:16px;opacity:.4;color:#d2d2d7}.no-api-key-message h3{color:#1d1d1f;margin:0 0 8px;font-size:17px;font-weight:600}.no-api-key-message p{margin:0 0 20px;line-height:1.6;font-size:14px}.api-links{display:flex;flex-direction:column;gap:10px}.api-links a{display:flex;align-items:center;gap:6px;color:#0071e3;text-decoration:none;font-size:13px;font-weight:500}.api-links a:hover{text-decoration:underline}.loading-spinner{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;min-height:300px;color:#86868b}.spinner{width:32px;height:32px;border:2px solid #e5e5e7;border-top-color:#0071e3;border-radius:50%;animation:spin .8s linear infinite;margin-bottom:12px}.no-results{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;min-height:300px;color:#86868b;text-align:center}.no-results .hint{font-size:12px;color:#aeaeb2;margin-top:6px}.results-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:8px}.result-item{position:relative;aspect-ratio:16/10;border-radius:8px;overflow:hidden;cursor:pointer;transition:transform .2s,box-shadow .2s;border:1px solid #e5e5e7}.result-item:hover{transform:scale(1.02);box-shadow:0 8px 20px #0000001f}.result-item.selected{box-shadow:0 0 0 3px #0071e3;border-color:#0071e3}.result-item img{width:100%;height:100%;object-fit:cover}.result-overlay{position:absolute;bottom:0;left:0;right:0;padding:6px 8px;background:linear-gradient(transparent,#000000b3);display:flex;justify-content:space-between;align-items:flex-end;opacity:0;transition:opacity .2s}.result-item:hover .result-overlay{opacity:1}.photographer{font-size:10px;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:70%}.source-badge{font-size:9px;padding:2px 5px;border-radius:3px;font-weight:600;text-transform:uppercase}.source-badge.pexels{background:#05a081;color:#fff}.source-badge.unsplash{background:#000;color:#fff}.selected-check{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:36px;height:36px;background:#0071e3;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-size:16px;box-shadow:0 4px 12px #0071e366}.load-more-section{display:flex;justify-content:center;align-items:center;gap:16px;margin-top:20px;padding-top:16px;border-top:1px solid #e5e5e7}.results-count{font-size:13px;color:#86868b}.load-more-btn{background:#fff;border:1px solid #0071e3;color:#0071e3;padding:10px 32px;border-radius:20px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.load-more-btn:hover:not(:disabled){background:#0071e3;color:#fff}.load-more-btn:disabled{border-color:#d2d2d7;color:#86868b;cursor:not-allowed}.bg-search-footer{display:flex;justify-content:space-between;align-items:center;padding:12px 20px;background:#f5f5f7;border-top:1px solid #e5e5e7}.selected-info{display:flex;align-items:center;gap:10px}.selected-info img{width:56px;height:36px;object-fit:cover;border-radius:4px;border:1px solid #e5e5e7}.selected-details{display:flex;flex-direction:column;gap:1px}.selected-photographer{font-size:12px;color:#1d1d1f;font-weight:500}.selected-size{font-size:11px;color:#86868b}.footer-actions{display:flex;gap:10px;align-items:center}.view-original-btn{display:flex;align-items:center;gap:4px;color:#86868b;text-decoration:none;font-size:12px;transition:color .2s}.view-original-btn:hover{color:#0071e3}.confirm-btn{background:#0071e3;color:#fff;border:none;padding:10px 20px;border-radius:6px;font-size:13px;font-weight:600;cursor:pointer;transition:background .2s}.confirm-btn:hover{background:#0077ed}@media(max-width:768px){.bg-search-modal{max-height:95vh;border-radius:10px}.api-key-inputs{flex-direction:column}.results-grid{grid-template-columns:repeat(2,1fr)}.bg-search-footer{flex-direction:column;gap:12px}.selected-info{width:100%}.footer-actions{width:100%;justify-content:space-between}}.sticker-modal-overlay{position:fixed;inset:0;background:#0006;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:2000;padding:20px}.sticker-modal{background:#fff;border-radius:12px;width:100%;max-width:900px;max-height:90vh;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 20px 60px #00000026,0 0 0 1px #0000000d}.sticker-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid #e5e5e7;background:#f5f5f7}.sticker-header h2{margin:0;font-size:17px;font-weight:600;color:#1d1d1f;letter-spacing:-.3px}.sticker-header-actions{display:flex;gap:8px}.sticker-header .api-key-btn,.sticker-header .close-btn{background:#fff;border:1px solid #d2d2d7;color:#86868b;width:32px;height:32px;border-radius:6px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.sticker-header .api-key-btn:hover,.sticker-header .close-btn:hover{background:#f5f5f7;color:#1d1d1f;border-color:#c6c6c8}.sticker-header .api-key-btn.has-key{color:#34c759;border-color:#34c759;background:#34c75914}.sticker-modal .api-settings-panel{background:#f5f5f7;padding:16px 20px;border-bottom:1px solid #e5e5e7}.sticker-modal .api-settings-panel h3{margin:0 0 6px;font-size:14px;font-weight:600;color:#1d1d1f}.sticker-modal .api-settings-desc{font-size:12px;color:#86868b;margin:0 0 12px;line-height:1.5}.sticker-modal .api-settings-desc a{color:#0071e3;text-decoration:none}.sticker-modal .api-settings-desc a:hover{text-decoration:underline}.api-key-input-row{display:flex;gap:10px}.api-key-input-row input{flex:1;padding:8px 12px;background:#fff;border:1px solid #d2d2d7;border-radius:6px;color:#1d1d1f;font-size:13px;transition:border-color .2s,box-shadow .2s}.api-key-input-row input:focus{outline:none;border-color:#0071e3;box-shadow:0 0 0 3px #0071e326}.save-api-key-btn{background:#0071e3;color:#fff;border:none;padding:8px 20px;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer;transition:background .2s}.save-api-key-btn:hover{background:#0077ed}.api-key-status{margin:10px 0 0;font-size:12px;color:#34c759;display:flex;align-items:center;gap:6px}.key-set-icon{font-size:11px}.sticker-search-bar{display:flex;align-items:center;gap:12px;padding:12px 20px;background:#fff;border-bottom:1px solid #e5e5e7}.sticker-search-bar .search-icon{color:#86868b;font-size:14px}.sticker-search-bar input{flex:1;background:transparent;border:none;color:#1d1d1f;font-size:15px;outline:none}.sticker-search-bar input::placeholder{color:#86868b}.sticker-search-bar .search-btn{background:#0071e3;color:#fff;border:none;padding:8px 16px;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer;transition:background .2s}.sticker-search-bar .search-btn:hover:not(:disabled){background:#0077ed}.sticker-search-bar .search-btn:disabled{background:#d2d2d7;color:#86868b;cursor:not-allowed}.sticker-modal .popular-terms{display:flex;align-items:center;gap:8px;padding:10px 20px;border-bottom:1px solid #e5e5e7;overflow-x:auto;background:#fafafa}.sticker-modal .popular-label{color:#86868b;font-size:12px;white-space:nowrap;font-weight:500}.sticker-modal .popular-term-btn{background:#fff;border:1px solid #d2d2d7;color:#1d1d1f;padding:5px 12px;border-radius:14px;font-size:12px;cursor:pointer;white-space:nowrap;transition:all .2s}.sticker-modal .popular-term-btn:hover{background:#f5f5f7;border-color:#0071e3;color:#0071e3}.sticker-results{flex:1;overflow-y:auto;padding:16px 20px;min-height:300px;background:#fff}.sticker-modal .no-api-key-message{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;min-height:300px;text-align:center;color:#86868b}.sticker-modal .no-api-key-message svg{margin-bottom:16px;opacity:.4;color:#d2d2d7}.sticker-modal .no-api-key-message h3{color:#1d1d1f;margin:0 0 8px;font-size:17px;font-weight:600}.sticker-modal .no-api-key-message p{margin:0 0 20px;line-height:1.6;font-size:14px}.api-link{display:inline-flex;align-items:center;gap:6px;color:#0071e3;text-decoration:none;font-size:13px;font-weight:500}.api-link:hover{text-decoration:underline}.sticker-modal .loading-spinner{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;min-height:300px;color:#86868b}.sticker-modal .spinner{width:32px;height:32px;border:2px solid #e5e5e7;border-top-color:#0071e3;border-radius:50%;animation:spin .8s linear infinite;margin-bottom:12px}.sticker-modal .no-results{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;min-height:300px;color:#86868b;text-align:center}.sticker-modal .no-results .hint{font-size:12px;color:#aeaeb2;margin-top:6px}.sticker-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(70px,1fr));gap:8px}.sticker-item{position:relative;aspect-ratio:1;border-radius:8px;overflow:hidden;cursor:pointer;transition:transform .2s,box-shadow .2s;border:1px solid #e5e5e7;background:#fafafa;display:flex;align-items:center;justify-content:center;padding:8px}.sticker-item:hover{transform:scale(1.05);box-shadow:0 4px 12px #0000001a}.sticker-item.selected{box-shadow:0 0 0 3px #0071e3;border-color:#0071e3}.sticker-item.premium{background:linear-gradient(135deg,#fff9e6,#fff)}.sticker-item img{max-width:100%;max-height:100%;object-fit:contain}.premium-badge{position:absolute;top:4px;right:4px;width:16px;height:16px;background:#ffc107;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-size:8px}.sticker-item .selected-check{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:28px;height:28px;background:#0071e3;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-size:12px;box-shadow:0 4px 12px #0071e366}.sticker-modal .load-more-section{display:flex;justify-content:center;align-items:center;gap:16px;margin-top:20px;padding-top:16px;border-top:1px solid #e5e5e7}.sticker-modal .results-count{font-size:13px;color:#86868b}.sticker-modal .load-more-btn{background:#fff;border:1px solid #0071e3;color:#0071e3;padding:10px 32px;border-radius:20px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.sticker-modal .load-more-btn:hover:not(:disabled){background:#0071e3;color:#fff}.sticker-modal .load-more-btn:disabled{border-color:#d2d2d7;color:#86868b;cursor:not-allowed}.sticker-footer{display:flex;justify-content:space-between;align-items:center;padding:12px 20px;background:#f5f5f7;border-top:1px solid #e5e5e7}.sticker-footer .selected-info{display:flex;align-items:center;gap:10px}.sticker-footer .selected-info img{width:40px;height:40px;object-fit:contain;border-radius:4px;border:1px solid #e5e5e7;background:#fff;padding:4px}.sticker-footer .selected-details{display:flex;flex-direction:column;gap:1px}.selected-desc{font-size:12px;color:#1d1d1f;font-weight:500;max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.selected-tags{font-size:11px;color:#86868b}.sticker-footer .footer-actions{display:flex;gap:10px}.sticker-footer .confirm-btn{background:#0071e3;color:#fff;border:none;padding:10px 20px;border-radius:6px;font-size:13px;font-weight:600;cursor:pointer;transition:background .2s}.sticker-footer .confirm-btn:hover{background:#0077ed}.attribution{text-align:center;padding:8px;font-size:11px;color:#86868b;background:#f5f5f7;border-top:1px solid #e5e5e7}.attribution a{color:#0071e3;text-decoration:none}.attribution a:hover{text-decoration:underline}@media(max-width:768px){.sticker-modal{max-height:95vh;border-radius:10px}.sticker-grid{grid-template-columns:repeat(4,1fr)}.sticker-footer{flex-direction:column;gap:12px}.sticker-footer .selected-info{width:100%}.sticker-footer .footer-actions{width:100%;justify-content:flex-end}}.qrcode-modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.qrcode-modal{background:#fff;border-radius:16px;width:420px;max-width:90vw;box-shadow:0 20px 60px #0000004d;overflow:hidden}.qrcode-modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid #e5e5e7}.qrcode-modal-header h2{display:flex;align-items:center;gap:10px;margin:0;font-size:18px;font-weight:600;color:#1d1d1f}.qrcode-modal-header h2 svg{color:#1d1d1f}.qrcode-modal-header .close-btn{background:none;border:none;font-size:18px;color:#86868b;cursor:pointer;padding:8px;border-radius:8px;transition:all .2s}.qrcode-modal-header .close-btn:hover{background:#f5f5f7;color:#1d1d1f}.qrcode-modal-body{padding:24px;display:flex;flex-direction:column;gap:24px}.input-section label,.preview-section label{display:block;font-size:13px;font-weight:600;color:#1d1d1f;margin-bottom:8px}.input-section input{width:100%;padding:12px 14px;border:1px solid #d2d2d7;border-radius:10px;font-size:15px;color:#1d1d1f;background:#fafafa;outline:none;transition:all .2s;box-sizing:border-box}.input-section input:focus{border-color:#1d1d1f;background:#fff;box-shadow:0 0 0 3px #0000000d}.input-section .hint{margin:8px 0 0;font-size:12px;color:#86868b}.input-section .error{margin:8px 0 0;font-size:12px;color:#ff3b30}.preview-section{display:flex;flex-direction:column;align-items:center}.preview-section label{align-self:flex-start}.qr-preview{width:200px;height:200px;background:#f5f5f7;border:1px solid #e5e5e7;border-radius:12px;display:flex;align-items:center;justify-content:center;overflow:hidden}.qr-preview img{width:100%;height:100%;object-fit:contain}.qr-preview .placeholder{display:flex;flex-direction:column;align-items:center;gap:12px;color:#aeaeb2}.qr-preview .placeholder svg{font-size:48px;opacity:.5}.qr-preview .placeholder span{font-size:12px;text-align:center;padding:0 20px}.qrcode-modal-footer{display:flex;justify-content:flex-end;gap:12px;padding:16px 24px;background:#f5f5f7;border-top:1px solid #e5e5e7}.qrcode-modal-footer .cancel-btn{padding:10px 20px;background:#fff;border:1px solid #d2d2d7;border-radius:8px;font-size:14px;font-weight:500;color:#1d1d1f;cursor:pointer;transition:all .2s}.qrcode-modal-footer .cancel-btn:hover{background:#f5f5f7}.qrcode-modal-footer .generate-btn{padding:10px 24px;background:#1d1d1f;border:none;border-radius:8px;font-size:14px;font-weight:500;color:#fff;cursor:pointer;transition:all .2s}.qrcode-modal-footer .generate-btn:hover:not(:disabled){background:#3a3a3c}.qrcode-modal-footer .generate-btn:disabled{background:#d2d2d7;cursor:not-allowed}.clock-modal-overlay{position:fixed;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.clock-modal{background:#fff;border-radius:16px;width:900px;max-width:95vw;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 20px 60px #0000004d;overflow:hidden}.clock-modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid #e5e5e7;flex-shrink:0}.clock-modal-header h2{display:flex;align-items:center;gap:10px;margin:0;font-size:18px;font-weight:600;color:#1d1d1f}.clock-modal-header h2 svg{color:#1d1d1f}.clock-modal-header .close-btn{background:none;border:none;font-size:18px;color:#86868b;cursor:pointer;padding:8px;border-radius:8px;transition:all .2s}.clock-modal-header .close-btn:hover{background:#f5f5f7;color:#1d1d1f}.clock-modal-body{padding:24px;overflow-y:auto;flex:1}.modal-description{margin:0 0 20px;font-size:14px;color:#86868b}.clock-styles-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px}.clock-style-card{background:#f5f5f7;border:2px solid transparent;border-radius:12px;cursor:pointer;transition:all .2s;overflow:hidden}.clock-style-card:hover{border-color:#d2d2d7;transform:translateY(-2px);box-shadow:0 4px 12px #00000014}.clock-style-card.selected{border-color:#1d1d1f;background:#fff;box-shadow:0 4px 16px #0000001f}.preview-container{background:#1d1d1f;height:100px;display:flex;align-items:center;justify-content:center;padding:16px}.style-info{padding:14px 16px}.style-info h3{margin:0;font-size:14px;font-weight:600;color:#1d1d1f}.style-info .name-en{display:block;font-size:11px;color:#86868b;margin-top:2px}.style-info p{margin:6px 0 0;font-size:12px;color:#86868b}.clock-modal-footer{display:flex;justify-content:flex-end;gap:12px;padding:16px 24px;background:#f5f5f7;border-top:1px solid #e5e5e7;flex-shrink:0}.clock-modal-footer .cancel-btn{padding:10px 20px;background:#fff;border:1px solid #d2d2d7;border-radius:8px;font-size:14px;font-weight:500;color:#1d1d1f;cursor:pointer;transition:all .2s}.clock-modal-footer .cancel-btn:hover{background:#f5f5f7}.clock-modal-footer .select-btn{padding:10px 24px;background:#1d1d1f;border:none;border-radius:8px;font-size:14px;font-weight:500;color:#fff;cursor:pointer;transition:all .2s}.clock-modal-footer .select-btn:hover:not(:disabled){background:#3a3a3c}.clock-modal-footer .select-btn:disabled{background:#d2d2d7;cursor:not-allowed}.clock-preview{display:flex;align-items:center;justify-content:center;font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,sans-serif;text-align:center}.clock-preview.digital-classic{background:transparent}.clock-preview.digital-classic .time{font-size:32px;font-weight:700;color:#00d4ff;text-shadow:0 0 10px rgba(0,212,255,.5);font-family:Courier New,monospace}.clock-preview.minimal-white{background:transparent}.clock-preview.minimal-white .time{font-size:42px;font-weight:200;color:#fff;letter-spacing:4px}.clock-preview.neon-card{background:#00d4ff1a;border:2px solid #00d4ff;border-radius:10px;padding:12px 24px;box-shadow:0 0 20px #00d4ff4d,inset 0 0 20px #00d4ff1a}.clock-preview.neon-card .time{font-size:28px;font-weight:600;color:#00d4ff;text-shadow:0 0 10px rgba(0,212,255,.8)}.clock-preview.ampm-style{flex-direction:column;gap:2px}.clock-preview.ampm-style .ampm{font-size:14px;font-weight:600;color:#ff6b6b;letter-spacing:2px}.clock-preview.ampm-style .time{font-size:36px;font-weight:300;color:#fff}.clock-preview.with-date{flex-direction:column;gap:4px}.clock-preview.with-date .date{font-size:12px;color:#ffffffb3;letter-spacing:1px}.clock-preview.with-date .time{font-size:36px;font-weight:600;color:#fff}.clock-preview.gradient-style{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:12px;padding:16px 28px;box-shadow:0 8px 24px #667eea66}.clock-preview.gradient-style .time{font-size:28px;font-weight:700;color:#fff;text-shadow:0 2px 4px rgba(0,0,0,.2)}.clock-preview.glass-style{background:#ffffff1a;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.2);border-radius:16px;padding:14px 24px}.clock-preview.glass-style .time{font-size:32px;font-weight:500;color:#fff}.clock-preview.glass-style .seconds{font-size:18px;font-weight:300;color:#fff9}.clock-preview.segment-led{background:#0a0a0a;border:3px solid #1a1a1a;border-radius:8px;padding:12px 20px}.clock-preview.segment-led .time{font-size:32px;font-weight:700;color:#f33;font-family:Courier New,monospace;text-shadow:0 0 8px rgba(255,51,51,.8),0 0 20px rgba(255,51,51,.4);letter-spacing:3px}.clock-preview.full-info{flex-direction:column;gap:6px;background:#ffffff0d;border-radius:12px;padding:12px 20px}.clock-preview.full-info .top-row{display:flex;gap:8px;font-size:11px;color:#fff9}.clock-preview.full-info .time{font-size:28px;font-weight:600;color:#fff}.clock-preview.compact-badge{background:#fff;border-radius:20px;padding:8px 18px;box-shadow:0 2px 8px #00000026}.clock-preview.compact-badge .time{font-size:20px;font-weight:600;color:#1d1d1f}.clock-preview.big-datetime{background:transparent;display:flex;flex-direction:column;align-items:center;gap:2px}.clock-preview.big-datetime .date-line{font-size:13px;font-weight:600;color:#fff;opacity:.85;letter-spacing:1px}.clock-preview.big-datetime .time{font-size:32px;font-weight:700;color:#fff;letter-spacing:2px}.color-options-section{background:#f8f9fa;border:1px solid #e5e5e7;border-radius:12px;padding:16px;margin-bottom:20px;display:flex;gap:24px}.color-option-group{flex:1}.color-option-group label{display:block;font-size:13px;font-weight:600;color:#1d1d1f;margin-bottom:10px}.color-presets{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.color-preset{width:28px;height:28px;border-radius:6px;border:2px solid transparent;cursor:pointer;transition:all .15s ease;box-shadow:0 1px 3px #0000001a}.color-preset:hover{transform:scale(1.1)}.color-preset.active{border-color:#1d1d1f;box-shadow:0 0 0 2px #1d1d1f33}.color-input{width:28px;height:28px;padding:0;border:2px solid #d2d2d7;border-radius:6px;cursor:pointer;background:none}.color-input::-webkit-color-swatch-wrapper{padding:2px}.color-input::-webkit-color-swatch{border-radius:3px;border:none}.color-hex-input{margin-top:10px}.hex-input{width:100%;padding:8px 12px;border:1px solid #d2d2d7;border-radius:6px;font-size:13px;font-family:SF Mono,Courier New,monospace;color:#1d1d1f;background:#fff;box-sizing:border-box;transition:all .15s ease}.hex-input:focus{outline:none;border-color:#1d1d1f;box-shadow:0 0 0 2px #1d1d1f1a}.hex-input::placeholder{color:#aeaeb2}.font-size-section{background:#f8f9fa;border:1px solid #e5e5e7;border-radius:12px;padding:16px;margin-bottom:20px;display:flex;gap:24px}.font-size-group{flex:1}.font-size-group label{display:block;font-size:13px;font-weight:600;color:#1d1d1f;margin-bottom:10px}.font-size-control{display:flex;align-items:center;gap:12px}.font-slider{flex:1;-webkit-appearance:none;appearance:none;height:6px;background:#e5e5e7;border-radius:3px;outline:none}.font-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:18px;height:18px;background:#1d1d1f;border-radius:50%;cursor:pointer;transition:transform .15s ease}.font-slider::-webkit-slider-thumb:hover{transform:scale(1.15)}.font-slider::-moz-range-thumb{width:18px;height:18px;background:#1d1d1f;border-radius:50%;cursor:pointer;border:none}.font-size-value{min-width:50px;text-align:right;font-size:14px;font-weight:600;color:#1d1d1f;font-family:SF Mono,Courier New,monospace}@media(max-width:768px){.clock-modal{width:100%;max-width:100%;height:100%;max-height:100%;border-radius:0}.clock-styles-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}.preview-container{height:80px}}.scene-thumb-wrap .scene-thumb-overlay{position:absolute;inset:0;background:#00000073;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;color:#fff;font-size:13px;font-weight:600;opacity:0;transition:opacity .2s ease;letter-spacing:.02em}.scene-thumb-wrap:hover .scene-thumb-overlay{opacity:1}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.dashboard-container{display:flex;height:100vh;background-color:var(--color-bg-primary);color:var(--color-text-primary);font-family:var(--font-family)}.dashboard-sidebar{width:72px;background:#1b1d21;border-right:1px solid #2C2F36;display:flex;flex-direction:column;padding:12px 0;height:100vh;box-sizing:border-box;position:relative;z-index:200}.sidebar-brand{padding:8px 0 12px;display:flex;flex-direction:column;align-items:center;gap:4px;font-size:10px;font-weight:600;color:#fff;letter-spacing:-.2px;flex-shrink:0;border-bottom:1px solid rgba(255,255,255,.1);margin:0 8px 8px}.sidebar-brand svg{color:#4d9aff;font-size:24px}.sidebar-brand span{font-size:9px;font-weight:600;color:#fff9;text-align:center;line-height:1.2}.sidebar-nav{flex:1;display:flex;flex-direction:column;gap:2px;padding:0 6px;overflow-y:auto;scrollbar-width:none;-ms-overflow-style:none}.sidebar-nav::-webkit-scrollbar{width:0;height:0;display:none}.menu-item-wrapper{position:relative}.sidebar-nav button{background:transparent;border:none;color:#ffffffa6;padding:10px 4px;text-align:center;border-radius:var(--radius-md);cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;font-size:10px;font-weight:600;transition:all var(--transition-fast);width:100%;letter-spacing:-.1px;flex-shrink:0;min-height:56px;position:relative}.sidebar-nav button:hover{background-color:#ffffff14;color:#fff}.sidebar-nav button.active{background-color:#0064ff40;color:#fff}.sidebar-nav button.expanded{background-color:var(--color-main);color:#fff}.sidebar-nav button.active:hover{background-color:#0064ff4d}.sidebar-nav button.expanded:hover{background-color:var(--color-main-hover)}.sidebar-nav button>svg:first-child{font-size:20px;flex-shrink:0;opacity:1}.sidebar-nav button.active>svg:first-child{opacity:1;color:#4d9aff}.sidebar-nav button.expanded>svg:first-child{opacity:1;color:#fff}.sidebar-nav button span{display:flex;flex-direction:column;align-items:center;gap:0;overflow:hidden;font-size:10px;line-height:1.3}.sidebar-nav button span small{font-size:8px;opacity:.7;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-nav button.active span,.sidebar-nav button.expanded span{font-weight:600}.sidebar-nav button.expanded span small,.sidebar-nav button.active span small{opacity:.8}.menu-arrow{position:absolute;right:4px;top:50%;transform:translateY(-50%);font-size:8px;opacity:.5;transition:transform .2s ease}.menu-arrow.rotated{transform:translateY(-50%) rotate(90deg)}.sidebar-nav button.expanded .menu-arrow{opacity:1;color:#fff}.sidebar-footer{padding:8px 6px;border-top:1px solid rgba(255,255,255,.1);margin-top:auto;flex-shrink:0}.sidebar-footer button{width:100%;background:transparent;border:none;color:#ffffffa6;padding:10px 4px;border-radius:var(--radius-md);font-size:10px;font-weight:600;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;transition:all var(--transition-fast);min-height:52px}.sidebar-footer button:hover{background:#f0445226;color:#f04452}.sidebar-footer button svg{font-size:16px}.sidebar-footer button span{font-size:9px}.sidebar-footer button small{display:none}.flyout-panel{width:0;height:100vh;background:#2c2f36;border-right:1px solid #3A3D45;overflow:hidden;transition:width .25s ease;flex-shrink:0}.flyout-panel.open{width:220px}.flyout-header{padding:20px;font-size:16px;font-weight:700;color:#fff;border-bottom:1px solid rgba(255,255,255,.1);letter-spacing:-.3px;white-space:nowrap;min-width:220px;display:flex;align-items:center;justify-content:space-between}.flyout-close-btn{background:none;border:none;color:#ffffff80;cursor:pointer;padding:6px;font-size:15px;border-radius:6px;display:flex;align-items:center;transition:color .15s,background .15s}.flyout-close-btn:hover{color:#fff;background:#ffffff26}.flyout-edge-close{position:relative;z-index:10;width:24px;height:48px;border:none;background:#2c2f36;color:#ffffff80;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:11px;border-radius:0 8px 8px 0;align-self:center;flex-shrink:0;transition:color .15s,background .15s;box-shadow:2px 0 6px #0000001a}.flyout-edge-close:hover{color:#fff;background:#3a3d45}.flyout-content{padding:12px;display:flex;flex-direction:column;gap:4px;min-width:220px}.flyout-item{display:flex;align-items:center;gap:12px;padding:12px 14px;background:transparent;border:none;border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);width:100%;text-align:left}.flyout-item:hover{background:#ffffff14}.flyout-item.active{background:#0064ff33}.flyout-item>svg:first-child{font-size:16px;color:#ffffff80;flex-shrink:0}.flyout-item.active>svg:first-child{color:#4d9aff}.flyout-item-text{flex:1;display:flex;flex-direction:column;gap:2px}.flyout-item-label{font-size:14px;font-weight:500;color:#ffffffd9}.flyout-item.active .flyout-item-label{color:#fff;font-weight:600}.flyout-item-sublabel{font-size:11px;color:#fff6}.flyout-item-arrow{font-size:10px;color:#ffffff4d;opacity:0;transition:opacity var(--transition-fast)}.flyout-item:hover .flyout-item-arrow{opacity:1}.flyout-item.active .flyout-item-arrow{opacity:1;color:var(--color-main)}.dashboard-main{flex:1;display:flex;flex-direction:column;overflow-y:auto;background:var(--color-bg-primary);scrollbar-width:none;-ms-overflow-style:none}.dashboard-main::-webkit-scrollbar{width:0;height:0}.main-header{padding:12px 24px;display:flex;justify-content:space-between;align-items:center;background:#fffffff2;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-bottom:1px solid var(--color-border);position:sticky;top:0;z-index:100;min-height:48px}.header-info{display:flex;align-items:center;gap:16px}.header-rist-badge{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding-right:20px;border-right:2px solid var(--color-border);line-height:1;gap:2px}.header-rist-title{font-size:18px;font-weight:900;color:#191f28;letter-spacing:1px;line-height:1.2;white-space:nowrap}.header-rist-sub{font-size:10px;font-weight:600;color:#4e5968;letter-spacing:1.5px;white-space:nowrap}.header-info h1{margin:0;font-size:15px;font-weight:600;color:var(--color-text-primary);letter-spacing:-.3px}.header-info p{margin:0;color:var(--color-text-tertiary);font-size:12px}.header-subtitle{font-size:10px;color:var(--color-text-tertiary);text-transform:uppercase;letter-spacing:.8px;font-weight:500}.header-desc{display:none}.create-btn-pro{background:var(--color-main);color:#fff;border:none;padding:6px 12px;border-radius:var(--radius-md);font-weight:600;font-size:12px;cursor:pointer;display:flex;align-items:center;gap:5px;transition:all var(--transition-fast)}.create-btn-pro:hover{background:var(--color-main-hover)}.main-content{padding:20px 24px}.table-container{background:var(--color-bg-secondary);border-radius:var(--radius-lg);border:1px solid var(--color-border);overflow:hidden;box-shadow:var(--shadow-sm)}.pro-table,.data-table-pro{width:100%;border-collapse:collapse}.pro-table th,.data-table-pro th{text-align:left;padding:14px 20px;background:var(--color-bg-tertiary);color:var(--color-text-secondary);font-size:12px;text-transform:uppercase;font-weight:600;letter-spacing:.5px;border-bottom:1px solid var(--color-border)}.pro-table td,.data-table-pro td{padding:16px 20px;border-bottom:1px solid var(--color-border);font-size:14px;color:var(--color-text-primary)}.data-table-pro tbody tr{transition:background-color var(--transition-fast)}.data-table-pro tbody tr:hover{background-color:var(--color-bg-hover)}.data-table-pro tbody tr:last-child td{border-bottom:none}.badge{padding:5px 12px;border-radius:var(--radius-full);font-size:12px;font-weight:600}.badge.active{background:var(--color-green-bg);color:var(--color-green)}.badge.inactive{background:var(--color-orange-bg);color:var(--color-orange)}.action-btn{padding:8px 14px;border:none;border-radius:var(--radius-sm);cursor:pointer;font-size:13px;font-weight:600;margin-right:6px;transition:all var(--transition-fast)}.action-btn:hover{transform:translateY(-1px)}.action-btn.edit,.action-btn-edit{background:var(--color-fill-tertiary);color:var(--color-text-primary)}.action-btn.edit:hover,.action-btn-edit:hover{background:var(--color-fill-secondary)}.action-btn.delete,.action-btn-delete{background:var(--color-red-bg);color:var(--color-red)}.action-btn.delete:hover,.action-btn-delete:hover{background:var(--color-danger-bg)}.action-btn.mobile{background:var(--color-main-light);color:var(--color-main)}.action-btn.mobile:hover{background:#d4e8ff}.players-grid-pro,.players-grid-modern{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:20px}.players-grid-compact{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:10px}.player-card-modern.compact{font-size:12px}.player-card-modern.compact .player-card-header{padding:8px 10px 6px;gap:6px}.player-card-modern.compact .player-icon-wrapper{width:24px;height:24px;font-size:11px;flex-shrink:0}.player-card-modern.compact .player-title-info h3{font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:110px}.player-card-modern.compact .player-uid{display:none}.player-card-modern.compact .status-badge{font-size:9px;padding:2px 5px;gap:3px}.player-card-modern.compact .status-dot{width:5px;height:5px}.player-card-modern.compact .player-controls-section .control-row,.player-card-modern.compact .player-controls-section .player-info-row,.player-card-modern.compact .player-monitoring-detail{display:none}.player-card-modern.compact .player-controls-section{padding:6px 8px}.player-card-modern.compact .player-info-row.compact-show{display:flex;font-size:11px;padding:3px 0}.player-card-modern.compact .action-buttons-grid{gap:4px;margin-top:6px}.player-card-modern.compact .modern-action-btn{padding:6px 4px;font-size:12px;justify-content:center}.player-card-pro,.player-card-modern{background:var(--color-bg-secondary);border-radius:12px;border:1px solid var(--color-border);overflow:hidden;transition:box-shadow .2s ease;box-shadow:0 1px 4px #0000000d}.player-card-pro:hover,.player-card-modern:hover{box-shadow:0 4px 16px #0000001a}.player-card-modern.online{border-left:3px solid var(--color-green)}.player-card-modern.offline{border-left:3px solid var(--color-border);opacity:.85}.player-card-header{padding:14px 16px 12px;display:flex;align-items:center;gap:10px}.player-icon-wrapper{width:36px;height:36px;border-radius:8px;background:var(--color-bg-tertiary);color:var(--color-text-secondary);display:flex;align-items:center;justify-content:center;font-size:16px;flex-shrink:0}.player-card-modern.online .player-icon-wrapper{background:#34c7591f;color:var(--color-green)}.player-title-info{flex:1;min-width:0}.player-title-info h3{margin:0;font-size:15px;font-weight:600;color:var(--color-text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.player-uid{font-size:11px;color:var(--color-text-secondary);font-family:var(--font-mono);margin-top:2px;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.status-badge{display:flex;align-items:center;gap:5px;font-size:11px;font-weight:600;padding:4px 10px;border-radius:20px;flex-shrink:0;letter-spacing:.3px}.status-badge.online{color:var(--color-green);background:#34c7591f}.status-badge.offline{color:var(--color-text-secondary);background:var(--color-bg-tertiary)}.status-dot{width:6px;height:6px;border-radius:50%;background:currentColor}.status-badge.online .status-dot{animation:blink 1.5s infinite}.player-monitor-frame{position:relative;aspect-ratio:16/9;background:#141414;overflow:hidden}.player-monitor-frame img{width:100%;height:100%;object-fit:cover}.no-signal-screen{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#555;gap:8px;background:#1a1a1a}.no-signal-screen span{font-size:11px;font-weight:500;letter-spacing:1.5px;color:#444}.live-indicator{position:absolute;top:10px;right:10px;background:var(--color-red);color:#fff;padding:3px 8px;border-radius:4px;font-size:10px;font-weight:700;display:flex;align-items:center;gap:5px;letter-spacing:.5px}.blink-dot{width:5px;height:5px;background:#fff;border-radius:50%;animation:blink 1.2s infinite}@keyframes blink{0%,to{opacity:1}50%{opacity:.3}}.screenshot-timestamp{position:absolute;bottom:8px;right:8px;background:#0000008c;color:#ffffffd9;padding:2px 7px;border-radius:4px;font-size:10px;font-weight:500;font-variant-numeric:tabular-nums;letter-spacing:.3px;pointer-events:none}.player-controls-section{padding:14px 16px 16px;display:flex;flex-direction:column;gap:10px}.control-row{display:flex;align-items:center;gap:8px}.control-row label{font-size:12px;color:var(--color-text-secondary);font-weight:500;display:flex;align-items:center;gap:5px;white-space:nowrap;min-width:70px}.custom-select-wrapper{position:relative;flex:1}.modern-select{width:100%;padding:8px 32px 8px 10px;background:var(--color-bg-tertiary);border:1px solid var(--color-border);border-radius:6px;color:var(--color-text-primary);font-size:13px;appearance:none;cursor:pointer;transition:border-color .15s}.modern-select:hover{border-color:var(--color-border-hover)}.modern-select:focus{border-color:var(--color-main);outline:none;box-shadow:0 0 0 2px #00adb514}.select-arrow{position:absolute;right:10px;top:50%;transform:translateY(-50%);color:var(--color-text-secondary);pointer-events:none;font-size:10px}.player-info-row{display:flex;justify-content:space-between;align-items:center;font-size:12px;color:var(--color-text-secondary);padding:8px 10px;background:var(--color-bg-tertiary);border-radius:6px}.player-info-row span:first-child{display:flex;align-items:center;gap:5px}.action-buttons-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:6px;margin-top:2px}.modern-action-btn{padding:8px 6px;border:1px solid var(--color-border);border-radius:6px;font-size:12px;font-weight:500;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:5px;transition:all .15s;background:var(--color-bg-tertiary);color:var(--color-text-secondary)}.modern-action-btn:hover{background:var(--color-bg-hover);color:var(--color-text-primary);border-color:var(--color-border-hover)}.player-name-input{font-size:15px;font-weight:600;color:var(--color-text-primary);background:var(--color-bg-secondary);border:1.5px solid var(--color-main);border-radius:6px;padding:4px 10px;outline:none;width:200px;box-shadow:0 0 0 3px #00adb51a}.modern-action-btn.reload{background:var(--color-bg-tertiary);color:var(--color-text-secondary)}.modern-action-btn.reload:hover{background:var(--color-main);color:#fff;border-color:var(--color-main)}.modern-action-btn.capture{background:var(--color-bg-tertiary);color:var(--color-text-secondary)}.modern-action-btn.capture:hover{background:var(--color-text-primary);color:#fff;border-color:var(--color-text-primary)}.modern-action-btn.reboot{background:var(--color-bg-tertiary);color:#f80;border-color:#ff880040}.modern-action-btn.reboot:hover{background:#f80;color:#fff;border-color:#f80}.modern-action-btn.schedule{background:var(--color-bg-tertiary);color:#00c471;border-color:#00c47140}.modern-action-btn.schedule:hover,.modern-action-btn.schedule.active{background:#00c471;color:#fff;border-color:#00c471}.table-action-btn.reboot{background:#ff880014;color:#f80;border-color:#ff880040}.table-action-btn.reboot:hover{background:#f80;color:#fff}.table-action-btn.schedule{background:#00c47114;color:#00c471;border-color:#00c47140}.table-action-btn.schedule:hover,.table-action-btn.active{background:#00c471;color:#fff}.modern-action-btn.monitor-active{background:var(--color-main);color:#fff;border-color:var(--color-main)}.filter-btn-modern{padding:10px 18px;border-radius:var(--radius-full);border:1px solid var(--color-border);background:var(--color-bg-secondary);color:var(--color-text-primary);cursor:pointer;display:flex;align-items:center;gap:8px;font-size:14px;font-weight:500;transition:all var(--transition-fast)}.filter-btn-modern:hover{background:var(--color-bg-hover)}.filter-btn-modern.active{background:var(--color-main);color:#fff;border-color:var(--color-main)}.playlist-management-view{display:grid;grid-template-columns:300px 1fr;gap:var(--space-xl);background:var(--color-bg-secondary);border-radius:var(--radius-lg);border:1px solid var(--color-border);overflow:hidden;box-shadow:var(--shadow-sm)}.playlist-sidebar{padding:20px;border-right:1px solid var(--color-border);background:var(--color-bg-tertiary);display:flex;flex-direction:column;gap:8px}.playlist-item-pro{padding:14px 16px;background:var(--color-bg-secondary);border-radius:var(--radius-md);cursor:pointer;display:flex;align-items:center;gap:12px;font-size:14px;font-weight:500;transition:all var(--transition-fast);border:1px solid var(--color-border)}.playlist-item-pro:hover{background:var(--color-bg-hover)}.playlist-item-pro.active{background:var(--color-fill-tertiary);color:var(--color-text-primary);border-color:var(--color-border-active);font-weight:600}.playlist-detail-pro{padding:var(--space-xl)}.selector-card-pro{background:var(--color-bg-secondary);padding:14px 16px;border-radius:var(--radius-md);display:flex;align-items:center;gap:14px;cursor:pointer;border:1px solid var(--color-border);transition:all var(--transition-fast)}.selector-card-pro:hover{border-color:var(--color-border-hover)}.selector-card-pro.selected{border-color:var(--color-text-secondary);background:var(--color-fill-tertiary)}.check-box{width:22px;height:22px;border:2px solid var(--color-border);border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;color:var(--color-text-secondary);transition:all var(--transition-fast)}.selector-card-pro.selected .check-box{background:var(--color-text-primary);border-color:var(--color-text-primary);color:#fff}.player-preview-monitor{width:100%;aspect-ratio:16/9;background:#191f28;border-radius:var(--radius-md);margin:16px 0;position:relative;overflow:hidden}.player-preview-monitor img{width:100%;height:100%;object-fit:cover}.no-preview{display:flex;align-items:center;justify-content:center;height:100%;color:var(--color-text-secondary);font-size:13px;font-weight:600}.monitor-label{position:absolute;bottom:10px;right:10px;background:var(--color-text-primary);color:#fff;padding:4px 10px;border-radius:var(--radius-sm);font-size:11px;font-weight:700;display:flex;align-items:center;gap:5px}.status-item{display:flex;align-items:center;gap:10px;font-size:13px;color:var(--color-text-secondary)}.dot{width:10px;height:10px;border-radius:50%}.dot.online{background:var(--color-success);box-shadow:0 0 8px #00c47180}.dot.offline{background:var(--color-red)}.grid-layout{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px}.scene-card-pro{background:var(--color-bg-secondary);border-radius:var(--radius-lg);overflow:hidden;cursor:pointer;border:1px solid var(--color-border);transition:all var(--transition-slow);box-shadow:var(--shadow-sm)}.scene-card-pro:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}.card-preview-pro{height:160px;background:linear-gradient(135deg,var(--color-bg-tertiary) 0%,var(--color-bg-primary) 100%);display:flex;align-items:center;justify-content:center;font-size:48px;color:var(--color-text-secondary)}.card-info-pro{padding:16px}.card-info-pro h3{margin:0 0 6px;font-size:15px;font-weight:600;color:var(--color-text-primary)}.card-info-pro span{font-size:12px;color:var(--color-text-secondary)}.player-header-pro{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;font-size:22px;color:var(--color-text-primary)}.status-text{font-size:13px;font-weight:700}.status-text.online{color:var(--color-green)}.status-text.offline{color:var(--color-red)}.player-assign-pro{margin-top:16px;display:flex;flex-direction:column;gap:8px}.player-assign-pro label{font-size:12px;color:var(--color-text-secondary);font-weight:600}.player-assign-pro select{background:var(--color-bg-tertiary);color:var(--color-text-primary);border:1px solid var(--color-border);padding:12px 14px;border-radius:var(--radius-md);outline:none;font-size:14px}.player-assign-pro select:focus{border-color:var(--color-text-secondary);box-shadow:0 0 0 3px #0000000d}.playlist-layout{display:flex;gap:20px;height:calc(100vh - 200px)}.playlist-sidebar-panel{width:280px;background:var(--color-bg-secondary);border-radius:var(--radius-lg);padding:20px;border:1px solid var(--color-border);overflow-y:auto;box-shadow:var(--shadow-sm)}.playlist-sidebar-panel h3{margin:0 0 16px;color:var(--color-text-primary);font-size:16px;font-weight:600;letter-spacing:-.2px;display:flex;align-items:center;gap:8px}.playlist-create-form{display:flex;gap:8px;margin-bottom:16px;padding-bottom:16px;border-bottom:1px solid var(--color-border)}.playlist-create-form input{flex:1;padding:10px 12px;background:var(--color-bg-primary);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-primary);font-size:14px}.playlist-create-form input:focus{outline:none;border-color:var(--color-text-secondary)}.playlist-create-form input::placeholder{color:var(--color-text-tertiary)}.playlist-create-form button{padding:10px 14px;background:var(--color-main);color:#fff;border:none;border-radius:var(--radius-md);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background var(--transition-fast)}.playlist-create-form button:hover{background:var(--color-main-hover)}.empty-playlist-message{text-align:center;padding:24px 16px;color:var(--color-text-tertiary);font-size:13px;line-height:1.6}.playlist-list-item{padding:12px;background:var(--color-bg-tertiary);border-radius:var(--radius-md);border:1px solid var(--color-border);margin-bottom:8px;cursor:pointer;transition:all var(--transition-fast)}.playlist-list-item:hover{background:var(--color-bg-hover)}.playlist-list-item.selected{background:var(--color-fill-tertiary);border:2px solid var(--color-text-secondary)}.playlist-list-item .playlist-name{font-weight:600;font-size:14px;color:var(--color-text-primary);margin-bottom:4px}.playlist-list-item .playlist-count{font-size:11px;color:var(--color-text-secondary)}.playlist-content-panel{flex:1;background:var(--color-bg-secondary);border-radius:var(--radius-lg);padding:20px;border:1px solid var(--color-border);display:flex;flex-direction:column;gap:20px;overflow-y:auto;box-shadow:var(--shadow-sm)}.scene-library-section{background:var(--color-bg-tertiary);border-radius:var(--radius-md);padding:15px;border:1px solid var(--color-border)}.scene-library-section h3{margin:0 0 15px;color:var(--color-text-primary);font-size:14px;font-weight:600;letter-spacing:-.1px;display:flex;align-items:center;gap:8px}.scene-library-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;max-height:300px;overflow-y:auto}.scene-library-item{padding:10px;background:var(--color-bg-secondary);border-radius:var(--radius-md);border:1px solid var(--color-border);cursor:pointer;transition:all var(--transition-fast);position:relative}.scene-library-item:hover{border-color:var(--color-border-hover)}.scene-library-item.added{background:var(--color-green-bg);border:2px solid var(--color-green)}.scene-library-item img{width:100%;height:80px;object-fit:cover;border-radius:var(--radius-sm);margin-bottom:8px}.scene-library-item .scene-name{font-size:12px;font-weight:500;color:var(--color-text-primary);margin-bottom:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.scene-library-item .scene-duration{font-size:10px;color:var(--color-text-secondary)}.scene-library-item .added-check{position:absolute;top:5px;right:5px;background:var(--color-green);border-radius:50%;width:20px;height:20px;display:flex;align-items:center;justify-content:center;color:#fff}.playlist-confirm-section{display:flex;justify-content:space-between;align-items:center;margin-top:16px;padding-top:16px;border-top:1px solid var(--color-border)}.playlist-summary{display:flex;align-items:center;gap:8px}.playlist-summary .summary-label{font-size:13px;color:var(--color-text-secondary)}.playlist-summary .summary-count{font-size:14px;font-weight:600;color:var(--color-text-primary)}.playlist-confirm-btn{display:flex;align-items:center;gap:8px;padding:12px 24px;background:var(--color-main);color:#fff;border:none;border-radius:var(--radius-md);font-size:14px;font-weight:600;cursor:pointer;transition:all var(--transition-fast)}.playlist-confirm-btn:hover{background:var(--color-main-hover);transform:translateY(-1px);box-shadow:var(--shadow-md)}.playlist-items-section h3{margin:0 0 15px;color:var(--color-text-primary);font-size:14px;font-weight:600;letter-spacing:-.1px;display:flex;align-items:center;gap:8px}.playlist-item-card{background:var(--color-bg-tertiary);border-radius:var(--radius-md);margin-bottom:12px;border:1px solid var(--color-border);overflow:hidden}.playlist-item-header{padding:12px;cursor:pointer;display:flex;align-items:center;justify-content:space-between;transition:background var(--transition-fast)}.playlist-item-header:hover{background:var(--color-bg-hover)}.playlist-item-header.expanded{background:var(--color-fill-tertiary)}.playlist-item-info{display:flex;align-items:center;gap:12px}.playlist-item-thumbnail{width:50px;height:35px;border-radius:var(--radius-sm);overflow:hidden;background:var(--color-bg-secondary);flex-shrink:0}.playlist-item-thumbnail img{width:100%;height:100%;object-fit:cover}.playlist-item-details h4{margin:0;font-size:14px;color:var(--color-text-primary)}.playlist-item-details p{margin:3px 0 0;font-size:11px;color:var(--color-text-secondary)}.playlist-item-expand-icon{color:var(--color-text-secondary);transition:transform var(--transition-fast)}.playlist-item-expand-icon.expanded{transform:rotate(180deg)}.schedule-section{padding:15px;border-top:1px solid var(--color-border);background:var(--color-bg-secondary)}.schedule-section h4{margin:0 0 15px;color:var(--color-text-primary);font-size:13px;font-weight:600;letter-spacing:-.1px;display:flex;align-items:center;gap:6px}.schedule-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.schedule-field{display:flex;flex-direction:column;gap:5px}.schedule-field label{font-size:11px;color:var(--color-text-secondary);font-weight:500}.schedule-field input,.schedule-field select{padding:10px 12px;background:var(--color-bg-tertiary);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-primary);font-size:13px;transition:border-color var(--transition-fast)}.schedule-field input:focus,.schedule-field select:focus{border-color:var(--color-text-secondary);outline:none;box-shadow:0 0 0 3px #0000000d}.schedule-days{grid-column:1 / -1}.days-toggle{display:flex;gap:6px;flex-wrap:wrap}.day-btn{padding:8px 12px;border:1px solid var(--color-border);background:var(--color-bg-tertiary);border-radius:var(--radius-sm);font-size:12px;font-weight:500;cursor:pointer;transition:all var(--transition-fast);color:var(--color-text-primary)}.day-btn:hover{border-color:var(--color-border-hover)}.day-btn.active{background:var(--color-main);color:#fff;border-color:var(--color-main)}.schedule-actions{grid-column:1 / -1;margin-top:10px}.save-schedule-btn{width:100%;padding:12px;background:var(--color-main);color:#fff;border:none;border-radius:var(--radius-md);font-size:14px;font-weight:600;cursor:pointer;transition:all var(--transition-fast)}.save-schedule-btn:hover{background:var(--color-main-hover)}@keyframes mediaFadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes mediaRowFadeIn{0%{opacity:0}to{opacity:1}}.media-layout{display:flex;gap:20px;height:calc(100vh - 200px);animation:mediaFadeIn .3s ease-out}.folder-sidebar{width:260px;background:var(--color-bg-secondary);border-radius:var(--radius-lg);border:1px solid var(--color-border);display:flex;flex-direction:column;box-shadow:var(--shadow-sm)}.folder-sidebar-header{padding:16px 20px;border-bottom:1px solid var(--color-border);display:flex;align-items:center;justify-content:space-between}.folder-sidebar-header h3{margin:0;font-size:14px;font-weight:600;color:var(--color-text-primary);display:flex;align-items:center;gap:8px}.new-folder-btn{padding:6px 10px;background:var(--color-bg-tertiary);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text-primary);font-size:12px;cursor:pointer;display:flex;align-items:center;gap:4px;transition:all var(--transition-fast)}.new-folder-btn:hover{background:var(--color-bg-hover);border-color:var(--color-border-hover);color:var(--color-text-primary)}.folder-tree{flex:1;overflow-y:auto;padding:12px}.folder-tree-item{display:flex;align-items:center;gap:8px;padding:10px 12px;border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);color:var(--color-text-primary);font-size:14px}.folder-tree-item:hover{background:var(--color-bg-hover)}.folder-tree-item.active{background:var(--color-fill-tertiary);color:var(--color-text-primary);font-weight:500}.folder-tree-item svg{color:var(--color-text-secondary);flex-shrink:0}.folder-tree-children{padding-left:24px}.media-content{flex:1;background:var(--color-bg-secondary);border-radius:var(--radius-lg);border:1px solid var(--color-border);display:flex;flex-direction:column;box-shadow:var(--shadow-sm);position:relative}.media-toolbar{padding:16px 20px;border-bottom:1px solid var(--color-border);display:flex;align-items:center;justify-content:space-between;gap:16px}.media-breadcrumb{display:flex;align-items:center;gap:8px;font-size:14px}.breadcrumb-item{color:var(--color-text-secondary);cursor:pointer;transition:color var(--transition-fast);display:flex;align-items:center;gap:4px}.breadcrumb-item:hover{color:var(--color-text-primary)}.breadcrumb-item.current{color:var(--color-text-primary);font-weight:600}.breadcrumb-separator{color:var(--color-text-tertiary)}.media-actions{display:flex;align-items:center;gap:12px}.media-search{padding:10px 14px;background:var(--color-bg-tertiary);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-primary);font-size:14px;width:200px;transition:border-color var(--transition-fast)}.media-search:focus{border-color:var(--color-text-secondary);outline:none;box-shadow:0 0 0 3px #0000000d}.media-filter-btns{display:flex;gap:8px}.filter-btn{padding:8px 14px;border:1px solid var(--color-border);background:var(--color-bg-secondary);border-radius:var(--radius-md);color:var(--color-text-primary);font-size:13px;cursor:pointer;transition:all var(--transition-fast)}.filter-btn:hover{background:var(--color-bg-hover)}.filter-btn.active{background:var(--color-main);color:#fff;border-color:var(--color-main)}.upload-btn{padding:10px 16px;background:var(--color-main);color:#fff;border:none;border-radius:var(--radius-md);font-size:14px;font-weight:600;cursor:pointer;display:flex;align-items:center;gap:8px;transition:all var(--transition-fast)}.upload-btn:hover{background:var(--color-main-hover)}.upload-btn:disabled{opacity:.5;cursor:not-allowed}.media-grid-container{flex:1;overflow-y:auto;padding:20px}.media-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:16px}.media-card{background:var(--color-bg-tertiary);border-radius:var(--radius-md);border:1px solid var(--color-border);overflow:hidden;cursor:pointer;transition:all var(--transition-fast)}.media-card:hover{border-color:var(--color-border-hover);transform:translateY(-2px);box-shadow:var(--shadow-md)}.media-card.folder{background:var(--color-fill-tertiary)}.media-card-preview{height:100px;background:var(--color-bg-secondary);display:flex;align-items:center;justify-content:center;overflow:hidden}.media-card-preview img,.media-card-preview video{width:100%;height:100%;object-fit:cover}.media-card-preview .folder-icon{font-size:48px;color:var(--color-text-secondary)}.media-card-info{padding:12px}.media-card-info .media-name{font-size:13px;font-weight:500;color:var(--color-text-primary);margin-bottom:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.media-card-info .media-meta{font-size:11px;color:var(--color-text-secondary)}.context-menu{position:fixed;background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);padding:8px 0;min-width:160px;z-index:1000}.context-menu-item{padding:10px 16px;display:flex;align-items:center;gap:10px;cursor:pointer;font-size:14px;color:var(--color-text-primary);transition:background var(--transition-fast)}.context-menu-item:hover{background:var(--color-bg-hover)}.context-menu-item.danger{color:var(--color-red)}.context-menu-item.danger:hover{background:var(--color-red-bg)}.media-view-toggle{display:flex;border:1px solid var(--color-border);border-radius:6px;overflow:hidden}.media-view-toggle button{padding:5px 10px;background:transparent;border:none;font-size:15px;cursor:pointer;color:var(--color-text-secondary);transition:background .15s}.media-view-toggle button.active{background:var(--color-primary);color:#fff}.media-file-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:14px;animation:mediaFadeIn .3s ease-out;padding:4px 20px 20px;overflow-y:auto}.media-file-card{background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:10px;overflow:hidden;transition:box-shadow .2s,transform .2s;cursor:default}.media-file-card:hover{box-shadow:0 4px 16px #0000001a;transform:translateY(-2px)}.mfc-thumb{position:relative;width:100%;aspect-ratio:16/10;background:#f0f0f0;overflow:hidden}.mfc-thumb img,.mfc-thumb video{width:100%;height:100%;object-fit:cover;display:block;animation:mediaRowFadeIn .4s ease-out}.mfc-type-badge{position:absolute;top:6px;left:6px;font-size:13px;background:#00000080;border-radius:4px;padding:1px 5px}.mfc-duration{position:absolute;bottom:6px;right:6px;font-size:11px;font-weight:600;color:#fff;background:#000000a6;border-radius:4px;padding:2px 5px;letter-spacing:.3px}.mfc-actions-overlay{position:absolute;inset:0;background:#00000073;display:flex;align-items:center;justify-content:center;gap:8px;opacity:0;transition:opacity .2s}.media-file-card:hover .mfc-actions-overlay{opacity:1}.mfc-action-btn{width:32px;height:32px;border-radius:50%;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:13px;transition:transform .15s}.mfc-action-btn:hover{transform:scale(1.15)}.mfc-action-btn.rename{background:#fff;color:var(--color-primary)}.mfc-action-btn.delete{background:var(--color-danger, #F04452);color:#fff}.mfc-info{padding:8px 10px;display:flex;flex-direction:column;gap:3px}.mfc-name{font-size:12px;font-weight:500;color:var(--color-text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:block}.mfc-meta{font-size:11px;color:var(--color-text-tertiary, #8e8e93)}.mfc-rename-input{width:100%;font-size:12px;padding:3px 6px;border:1px solid var(--color-primary);border-radius:4px;outline:none;background:#fff;color:var(--color-text-primary)}.media-table-wrap{padding:0 20px 20px;overflow-x:auto}.media-pro-table{width:100%;border-collapse:collapse;font-size:13px}.media-pro-table thead tr{background:var(--color-bg-primary, #F2F4F6)}.media-pro-table th{padding:10px 12px;font-size:12px;font-weight:600;color:var(--color-text-secondary);text-align:left;white-space:nowrap;border-bottom:1px solid var(--color-border)}.media-pro-table td{padding:10px 12px;border-bottom:1px solid var(--color-border);vertical-align:middle}.media-pro-table tbody tr{animation:mediaRowFadeIn .3s ease-out both}.media-pro-table tbody tr:nth-child(1){animation-delay:0s}.media-pro-table tbody tr:nth-child(2){animation-delay:.03s}.media-pro-table tbody tr:nth-child(3){animation-delay:.06s}.media-pro-table tbody tr:nth-child(4){animation-delay:.09s}.media-pro-table tbody tr:nth-child(5){animation-delay:.12s}.media-pro-table tbody tr:nth-child(6){animation-delay:.15s}.media-pro-table tbody tr:nth-child(7){animation-delay:.18s}.media-pro-table tbody tr:nth-child(8){animation-delay:.21s}.media-pro-table tbody tr:nth-child(9){animation-delay:.24s}.media-pro-table tbody tr:nth-child(10){animation-delay:.27s}.media-pro-table tbody tr:nth-child(n+11){animation-delay:.3s}.media-pro-table tbody tr:hover{background:#f7f8fa}.mpt-thumb{width:56px;height:36px;border-radius:5px;overflow:hidden;background:#eee}.mpt-thumb img,.mpt-thumb video{width:100%;height:100%;object-fit:cover;display:block;animation:mediaRowFadeIn .4s ease-out}.mpt-filename{font-weight:500;color:var(--color-text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:260px;display:block}.mpt-badge{display:inline-block;padding:2px 7px;border-radius:4px;font-size:11px;font-weight:600}.mpt-badge.video{background:#e8f0fe;color:#1a73e8}.mpt-badge.image{background:#e6f4ea;color:#1e8e3e}.mpt-dur{font-variant-numeric:tabular-nums;font-size:13px;font-weight:500}.mpt-actions{display:flex;gap:6px;justify-content:center}.mpt-btn{width:30px;height:30px;border:1px solid var(--color-border);border-radius:6px;background:var(--color-bg-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:13px;transition:background .15s,color .15s}.mpt-btn.rename{color:var(--color-primary)}.mpt-btn.rename:hover{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.mpt-btn.delete{color:var(--color-danger, #F04452)}.mpt-btn.delete:hover{background:var(--color-danger, #F04452);color:#fff;border-color:var(--color-danger, #F04452)}.mpt-rename-input{width:100%;padding:5px 8px;font-size:13px;border:1px solid var(--color-primary);border-radius:5px;outline:none;background:#fff}.media-select-toolbar{display:flex;align-items:center;gap:12px;padding:10px 20px;background:#eff6ff;border-top:1px solid #C2D9FF;border-bottom:1px solid #C2D9FF;margin-bottom:8px}.media-select-count{font-size:14px;font-weight:600;color:var(--color-main)}.media-select-delete-btn{display:flex;align-items:center;gap:6px;padding:6px 14px;background:var(--color-danger);color:#fff;border:none;border-radius:var(--radius-md);font-size:13px;font-weight:600;cursor:pointer}.media-select-delete-btn:hover{background:#c0392b}.media-select-cancel-btn{padding:6px 14px;background:var(--color-bg-tertiary);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:13px;cursor:pointer;color:var(--color-text-secondary)}.media-select-cancel-btn:hover{background:var(--color-bg-hover)}.media-card-checkbox{position:absolute;top:8px;left:8px;width:18px;height:18px;cursor:pointer;z-index:10;-webkit-appearance:none;appearance:none;border:2px solid #ccc;border-radius:4px;background:#fff;box-shadow:none!important;outline:none!important}.media-card-checkbox:checked{background:var(--color-main);border-color:var(--color-main)}.media-card-checkbox:checked:after{content:"";display:block;width:4px;height:8px;border:2px solid white;border-top:none;border-left:none;transform:rotate(45deg) translate(2px,-1px)}.media-file-card{position:relative}.media-file-card.selected{outline:2px solid var(--color-main);outline-offset:-2px}.media-pro-table tr.selected td{background:#eff6ff}.modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content{background:var(--color-bg-secondary);border-radius:var(--radius-lg);padding:24px;width:400px;max-width:90%;box-shadow:var(--shadow-xl)}.modal-content h3{margin:0 0 20px;font-size:18px;color:var(--color-text-primary)}.modal-input{width:100%;box-sizing:border-box;padding:12px 14px;background:var(--color-bg-tertiary);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-primary);font-size:14px;margin-bottom:20px}.modal-input:focus{border-color:var(--color-text-secondary);outline:none;box-shadow:0 0 0 3px #0000000d}.modal-actions{display:flex;gap:12px;justify-content:flex-end}.modal-btn{padding:10px 20px;border-radius:var(--radius-md);font-size:14px;font-weight:600;cursor:pointer;transition:all var(--transition-fast)}.modal-btn.cancel{background:var(--color-bg-tertiary);border:1px solid var(--color-border);color:var(--color-text-primary)}.modal-btn.cancel:hover{background:var(--color-bg-hover)}.modal-btn.primary{background:var(--color-main);border:none;color:#fff}.modal-btn.primary:hover{background:var(--color-main-hover)}.monitoring-panel{background:var(--color-bg-secondary);border-radius:var(--radius-lg);border:1px solid var(--color-border);padding:24px;margin-top:20px;box-shadow:var(--shadow-sm)}.monitoring-panel h3{margin:0 0 20px;font-size:18px;color:var(--color-text-primary);display:flex;align-items:center;gap:10px}.monitoring-close-btn{margin-left:auto;padding:6px 12px;background:var(--color-bg-tertiary);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text-primary);font-size:12px;cursor:pointer}.monitoring-close-btn:hover{background:var(--color-bg-hover)}.monitoring-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.monitoring-screenshot{aspect-ratio:16/9;background:#191f28;border-radius:var(--radius-md);overflow:hidden}.monitoring-screenshot img{width:100%;height:100%;object-fit:cover}.monitoring-info{display:flex;flex-direction:column;gap:16px}.monitoring-info-item{display:flex;flex-direction:column;gap:4px}.monitoring-info-item label{font-size:12px;color:var(--color-text-secondary);font-weight:500}.monitoring-info-item span{font-size:14px;color:var(--color-text-primary)}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;color:var(--color-text-secondary)}.empty-state p{font-size:14px;margin:0}.player-monitoring-detail{margin-top:15px;padding:15px;background:var(--color-bg-tertiary);border-radius:var(--radius-md);border:1px solid var(--color-border)}.player-monitoring-detail h4{margin:0 0 12px;color:var(--color-text-primary);font-size:14px;font-weight:600;letter-spacing:-.1px;display:flex;align-items:center;gap:8px}.monitoring-status-row{font-size:12px;color:var(--color-text-secondary)}.monitoring-status-item{display:flex;justify-content:space-between;margin-bottom:8px;padding-bottom:8px;border-bottom:1px solid var(--color-border)}.monitoring-status-value{font-weight:600;text-transform:uppercase}.monitoring-status-value.playing{color:var(--color-green)}.monitoring-status-value.stopped{color:var(--color-red)}.monitoring-playlist-label{margin-top:10px;margin-bottom:8px;font-size:11px;color:var(--color-text-secondary);font-weight:600}.monitoring-scene-list{max-height:200px;overflow-y:auto}.monitoring-scene-item{padding:8px;margin-bottom:4px;background:var(--color-bg-secondary);border-radius:var(--radius-sm);border:1px solid var(--color-border);font-size:11px;display:flex;justify-content:space-between;align-items:center;transition:all var(--transition-fast)}.monitoring-scene-item.active{background:var(--color-fill-tertiary);border:1px solid var(--color-text-secondary)}.monitoring-scene-name{color:var(--color-text-primary);font-weight:400}.monitoring-scene-name.active{color:var(--color-text-primary);font-weight:600}.monitoring-scene-duration{color:var(--color-text-tertiary);font-size:10px}.mobile-menu-toggle{display:none;position:fixed;bottom:20px;right:20px;width:56px;height:56px;background:var(--color-text-primary);color:#fff;border:none;border-radius:50%;font-size:24px;cursor:pointer;z-index:1000;box-shadow:0 4px 12px #00000026;align-items:center;justify-content:center}@media(max-width:768px){.dashboard-container{flex-direction:column}.dashboard-sidebar{position:fixed;left:0;top:0;bottom:0;width:72px;z-index:999;transform:translate(-100%);transition:transform .3s ease}.dashboard-sidebar.mobile-open{transform:translate(0)}.flyout-panel{position:fixed;left:72px;top:0;height:100vh;z-index:998}.flyout-panel.open{width:220px}.mobile-menu-toggle{display:flex}.mobile-overlay{display:none;position:fixed;inset:0;background:#0006;z-index:998}.mobile-overlay.visible{display:block}.dashboard-main{margin-left:0;width:100%}.main-header{padding:12px 16px}.header-title{font-size:18px}.main-content{padding:16px}.table-container{overflow-x:auto}.pro-table,.data-table-pro{min-width:600px}.scene-grid,.scenes-grid{grid-template-columns:repeat(2,1fr)!important;gap:12px!important}.player-grid{grid-template-columns:1fr!important}}@media(max-width:480px){.scene-grid,.scenes-grid{grid-template-columns:1fr!important}.main-header{flex-direction:column;align-items:flex-start;gap:12px}.create-btn-pro{width:100%;justify-content:center}}.players-table-container{background:var(--color-bg-secondary);border-radius:12px;overflow:hidden;box-shadow:0 2px 8px #0000000a}.players-table{width:100%;border-collapse:collapse;background:var(--color-bg-secondary)}.players-table thead{background:#00000005;border-bottom:1px solid var(--color-border)}.players-table thead th{padding:16px 20px;text-align:left;font-size:12px;font-weight:600;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.5px}.players-table tbody tr{border-bottom:1px solid var(--color-border);transition:background-color .15s ease}.players-table tbody tr:hover{background:#00000005}.players-table tbody tr.online{background:#00c47105}.players-table tbody tr.offline{background:#f0445205}.players-table tbody td{padding:16px 20px;font-size:14px;color:var(--color-text-primary)}.status-badge-small{display:inline-flex;align-items:center;gap:6px;padding:4px 12px;border-radius:20px;font-size:11px;font-weight:600;letter-spacing:.3px;text-transform:uppercase}.status-badge-small.online{background:var(--color-success-bg);color:var(--color-success)}.status-badge-small.offline{background:var(--color-danger-bg);color:var(--color-danger)}.status-badge-small .status-dot{width:6px;height:6px;border-radius:50%}.status-badge-small.online .status-dot{background:var(--color-success);animation:pulse 2s infinite}.status-badge-small.offline .status-dot{background:var(--color-danger)}.table-select{padding:6px 12px;border:1px solid var(--color-border);border-radius:6px;background:var(--color-bg-primary);color:var(--color-text-primary);font-size:13px;cursor:pointer;transition:all .15s ease;min-width:150px}.table-select:hover{border-color:var(--color-main)}.table-select:focus{outline:none;border-color:var(--color-main);box-shadow:0 0 0 3px #00adb51a}.table-action-btn{padding:8px 12px;border:none;border-radius:6px;cursor:pointer;font-size:14px;transition:all .15s ease;display:inline-flex;align-items:center;justify-content:center}.table-action-btn.reload{background:var(--color-main-light);color:var(--color-main)}.table-action-btn.reload:hover{background:#d4e8ff}.table-action-btn.capture{background:var(--color-success-bg);color:var(--color-success)}.table-action-btn.capture:hover{background:#c5f5e1}.table-action-btn.monitor{background:var(--color-warning-bg);color:var(--color-warning)}.table-action-btn.monitor:hover{background:#ffe8b5}.table-action-btn.active{background:var(--color-danger-bg);color:var(--color-danger)}.table-action-btn.active:hover{background:#ffd6d8}.table-action-btn.delete{background:var(--color-danger-bg);color:var(--color-danger)}.table-action-btn.delete:hover{background:var(--color-danger);color:#fff}.modern-action-btn.delete{background:var(--color-bg-tertiary);color:var(--color-danger);border-color:#f0445240}.modern-action-btn.delete:hover{background:var(--color-danger);color:#fff;border-color:var(--color-danger)}.table-monitoring-panel{margin-top:20px;padding:24px;background:var(--color-bg-primary);border-radius:12px;border:1px solid var(--color-border)}.table-monitoring-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid var(--color-border)}.table-monitoring-header h4{margin:0;font-size:16px;font-weight:600;color:var(--color-text-primary);display:flex;align-items:center;gap:8px}@media(max-width:1400px){.players-table thead th,.players-table tbody td{padding:12px 16px;font-size:13px}}@media(max-width:768px){.players-table-container{overflow-x:auto}.players-table{min-width:1200px}}.playlist-3col-layout{display:grid;grid-template-columns:240px 1fr 1fr;gap:16px;height:calc(100vh - 195px);min-height:0}.pl-col{display:flex;flex-direction:column;background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);overflow:hidden;min-height:0}.pl-col-header{display:flex;align-items:center;gap:8px;padding:0 16px;height:52px;min-height:52px;background:var(--color-bg-tertiary);border-bottom:1px solid var(--color-border);font-size:14px;font-weight:600;color:var(--color-text-primary);flex-shrink:0}.pl-col-header svg{color:var(--color-primary);flex-shrink:0}.pl-preview-btn{margin-left:auto;display:flex;align-items:center;gap:5px;padding:5px 12px;background:var(--color-primary);color:#fff;border:none;border-radius:6px;font-size:12px;font-weight:600;cursor:pointer;flex-shrink:0;transition:opacity .15s}.pl-preview-btn:hover{opacity:.85}.pl-col-body{flex:1;overflow-y:auto;padding:0;min-height:0}.pl-col-library .pl-col-body,.pl-col-schedule .pl-col-body{padding:0}.pl-col-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;gap:12px;color:var(--color-text-tertiary);text-align:center;padding:20px}.pl-col-empty svg{opacity:.3}.pl-col-empty p{font-size:13px;line-height:1.5;margin:0}.pl-create-form{display:flex;flex-direction:column;gap:6px;padding:10px 12px;border-bottom:1px solid var(--color-border);flex-shrink:0}.pl-create-form input{width:100%;box-sizing:border-box;padding:8px 10px;border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:13px;background:#fff;color:var(--color-text-primary);outline:none;transition:border-color var(--transition-fast)}.pl-create-form input:focus{border-color:var(--color-primary);box-shadow:0 0 0 2px #00adb514}.pl-create-btn{width:100%;box-sizing:border-box;padding:9px 12px;background:var(--color-primary);color:#fff;border:none;border-radius:var(--radius-sm);cursor:pointer;display:flex;align-items:center;justify-content:center;gap:5px;font-size:13px;font-weight:600;transition:opacity var(--transition-fast)}.pl-create-btn:hover{opacity:.88}.pl-empty-msg{font-size:12px;color:var(--color-text-tertiary);text-align:center;padding:20px 8px;line-height:1.6}.pl-list{display:flex;flex-direction:column;gap:4px}.pl-list-item{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:var(--radius-md);cursor:pointer;border:1px solid transparent;transition:all var(--transition-fast)}.pl-list-item:hover{background:var(--color-bg-tertiary);border-color:var(--color-border)}.pl-list-item.selected{background:#00adb50f;border-color:var(--color-primary)}.pl-list-item-icon{width:26px;height:26px;border-radius:50%;background:var(--color-bg-tertiary);display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--color-text-tertiary)}.pl-list-item.selected .pl-list-item-icon{background:var(--color-primary);color:#fff}.pl-list-item-info{flex:1;min-width:0}.pl-list-item-name{font-size:13px;font-weight:600;color:var(--color-text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pl-list-item-count{font-size:11px;color:var(--color-text-tertiary);margin-top:2px}.pl-list-item-arrow{color:var(--color-primary);flex-shrink:0}.pl-list-item-actions{display:none;align-items:center;gap:4px;flex-shrink:0}.pl-list-item:hover .pl-list-item-actions{display:flex}.pl-item-btn{width:24px;height:24px;display:flex;align-items:center;justify-content:center;border:none;border-radius:4px;cursor:pointer;transition:background .15s}.pl-item-btn-rename{background:transparent;color:var(--color-text-secondary)}.pl-item-btn-rename:hover{background:var(--color-bg-tertiary);color:var(--color-primary)}.pl-item-btn-delete{background:transparent;color:var(--color-text-tertiary)}.pl-item-btn-delete:hover{background:#f044521a;color:var(--color-danger)}.pl-rename-input{width:100%;padding:2px 6px;border:1px solid var(--color-primary);border-radius:4px;font-size:13px;font-weight:600;color:var(--color-text-primary);background:#fff;outline:none}.pl-library-hint{font-size:12px;color:var(--color-text-tertiary);padding:0 14px;height:36px;display:flex;align-items:center;background:#fafbfc;border-bottom:1px solid var(--color-border);flex-shrink:0}.pl-library-hint strong{color:var(--color-primary)}.pl-scene-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:10px;padding:12px}.pl-scene-card{border-radius:var(--radius-md);border:2px solid var(--color-border);overflow:hidden;cursor:pointer;transition:all var(--transition-fast);background:var(--color-bg-tertiary)}.pl-scene-card:hover{border-color:var(--color-primary);box-shadow:0 2px 8px #00adb526;transform:translateY(-1px)}.pl-scene-card.added{border-color:#00c471;background:#00c4710d}.pl-scene-thumb{position:relative;width:100%;aspect-ratio:16/9;background:#1a1a2e;overflow:hidden}.pl-scene-thumb img{width:100%;height:100%;object-fit:cover}.pl-scene-thumb-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;color:#ffffff4d}.pl-scene-added-badge{position:absolute;top:4px;right:4px;width:20px;height:20px;border-radius:50%;background:#00c471;display:flex;align-items:center;justify-content:center;color:#fff}.pl-scene-info{padding:6px 8px}.pl-scene-name{font-size:12px;font-weight:600;color:var(--color-text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-bottom:2px}.pl-scene-dur{font-size:10px;color:var(--color-text-tertiary)}.pl-sched-card{background:#fff;border:none;border-bottom:1px solid #E5E8EB;border-radius:0;margin-bottom:0;overflow:hidden;transition:background .15s ease}.pl-sched-card:first-child{border-top:1px solid #E5E8EB}.pl-sched-card:hover{background:#f8fafc}.pl-sched-card.expanded{background:#eef4ff;border-bottom-color:#00adb5}.pl-sched-header{display:flex;align-items:center;height:56px;-webkit-user-select:none;user-select:none;gap:0}.pl-drag-handle{display:flex;align-items:center;justify-content:center;width:24px;flex-shrink:0;font-size:14px;color:#d0d5dd;cursor:grab;transition:color .15s;height:100%}.pl-drag-handle:hover{color:#8b95a1}.pl-sched-card[draggable]:active{cursor:grabbing;opacity:.75}.pl-sched-card.drag-over{background:#eef4ff;border-bottom-color:#00adb5}.pl-sched-thumb{width:64px;height:40px;flex-shrink:0;background:#e8ecf0;overflow:hidden;border-radius:6px;border:1px solid #E5E8EB;margin:0 10px 0 4px}.pl-sched-thumb img{width:100%;height:100%;object-fit:cover;display:block}.pl-sched-thumb-ph{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#1e2340,#2a3050);color:#ffffff4d}.pl-sched-info{flex:1;min-width:0;display:flex;align-items:center;gap:8px;padding:0 8px 0 0;cursor:pointer;height:100%}.pl-sched-info:hover .pl-sched-name{color:#00adb5}.pl-sched-seq{width:20px;height:20px;border-radius:50%;background:#00adb5;color:#fff!important;font-size:10px;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0;line-height:1}.pl-sched-name-wrap{flex:1;min-width:0}.pl-sched-name{font-size:13px;font-weight:500;color:#191f28;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.3;transition:color .15s}.pl-sched-dur{font-size:11px;color:#8b95a1;margin-top:2px}.pl-sched-chevron{color:#b0bac8;font-size:10px;flex-shrink:0;transition:transform .2s ease,color .15s ease}.pl-sched-chevron.expanded{transform:rotate(180deg);color:#00adb5}.pl-sched-remove-btn{width:36px;height:100%;border:none;border-left:1px solid #E5E8EB;background:transparent;color:#c5cdd8;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background .15s ease,color .15s ease;padding:0}.pl-sched-remove-btn:hover{background:#fff0f1;color:#f04452}.pl-sched-body{padding:16px;border-top:1px solid #EEF1F6;background:#f8fafd}.pl-sched-section-label{font-size:11px;font-weight:700;color:#4e5968;letter-spacing:.3px;margin-bottom:8px;margin-top:0;display:flex;align-items:center;gap:6px}.pl-sched-section-label:before{content:"";display:inline-block;width:3px;height:12px;background:#00adb5;border-radius:2px}.pl-sched-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:14px}.pl-sched-field{display:flex;flex-direction:column;gap:4px}.pl-sched-field label{font-size:11px;font-weight:600;color:#6b7684}.pl-sched-field input{padding:7px 9px;border:1.5px solid #E5E8EB;border-radius:8px;font-size:12px;background:#fff;color:#191f28;outline:none;transition:border-color .15s ease,box-shadow .15s ease;width:100%;box-sizing:border-box}.pl-sched-field input:focus{border-color:#00adb5;box-shadow:0 0 0 3px #00adb51a}.pl-days-toggle{display:flex;gap:4px;margin-bottom:14px}.pl-day-btn{flex:1;height:34px!important;min-width:0;border-radius:8px!important;border:1.5px solid #D0D5DD!important;background:#f2f4f6!important;color:#4e5968!important;font-size:12px!important;font-weight:700!important;cursor:pointer;transition:all .15s ease;display:flex!important;align-items:center!important;justify-content:center!important;padding:0!important;line-height:1!important;font-family:inherit!important}.pl-day-btn:hover{border-color:#00c471!important;color:#00c471!important;background:#edfaf4!important}.pl-day-btn.active{background:#00c471!important;border-color:#00c471!important;color:#fff!important;font-weight:800!important}.pl-sched-select{width:100%;padding:8px 10px;border:1.5px solid #E5E8EB;border-radius:8px;font-size:12px;background:#fff;color:#191f28;outline:none;cursor:pointer;margin-bottom:14px;transition:border-color .15s ease,box-shadow .15s ease;appearance:auto;box-sizing:border-box}.pl-sched-select:focus{border-color:#00adb5;box-shadow:0 0 0 3px #00adb51a}.pl-sched-save-btn{width:100%;padding:10px;background:#00adb5;color:#fff!important;border:none;border-radius:8px;font-size:13px;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:6px;transition:background .15s ease,transform .1s ease;letter-spacing:.2px}.pl-sched-save-btn:hover{background:#05d}.pl-sched-save-btn:active{transform:scale(.98)}.pl-sched-badge{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:50%;font-size:11px;font-weight:700;flex-shrink:0;margin-left:4px}.pl-sched-badge.set{background:#00c471;color:#fff}.pl-sched-badge.unset{background:#e5e8eb;color:#8b95a1;font-size:14px;line-height:1}.pl-col-footer{padding:14px 18px;border-top:1.5px solid var(--color-border);display:flex;justify-content:space-between;align-items:center;background:#fafbfc;flex-shrink:0}.pl-save-info{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--color-text-secondary)}.pl-save-count{font-weight:600;color:var(--color-text-primary)}.pl-save-dot{color:#d0d5dd}.pl-save-sched-count{font-weight:500;color:#00c471}.pl-footer-hint{margin-left:auto;font-size:11px;color:#b0bac8;white-space:nowrap}.pl-save-all-btn{padding:9px 22px;background:#00adb5;color:#fff!important;border:none;border-radius:8px;font-size:13px;font-weight:700;cursor:pointer;display:flex;align-items:center;gap:6px;transition:background .15s ease,transform .1s ease;letter-spacing:.2px}.pl-save-all-btn:hover{background:#05d}.pl-save-all-btn:active{transform:scale(.98)}.pl-view-toggle{margin-left:auto;display:flex;gap:2px}.pl-view-btn{width:26px;height:26px;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-bg-secondary);color:var(--color-text-tertiary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all var(--transition-fast)}.pl-view-btn:hover{border-color:var(--color-primary);color:var(--color-primary)}.pl-view-btn.active{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.pl-scene-table{width:100%;border-collapse:collapse;font-size:13px}.pl-scene-table thead tr{background:var(--color-bg-tertiary)}.pl-col-schedule .pl-scene-table{table-layout:fixed;border-bottom:1px solid var(--color-border);flex-shrink:0}.pl-col-schedule .pl-scene-table th:first-child{padding-left:6px}.pl-col-schedule .pl-scene-table th:last-child{text-align:center;padding-right:6px}.pl-scene-table th{padding:0 10px;height:36px;text-align:left;font-size:11px;font-weight:600;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.3px;border-bottom:1px solid var(--color-border);white-space:nowrap}.pl-scene-row{cursor:pointer;transition:background var(--transition-fast);border-bottom:1px solid var(--color-border)}.pl-scene-row:hover{background:var(--color-bg-tertiary)}.pl-scene-row.added{background:#00c4710d}.pl-scene-row.added:hover{background:#00c4711a}.pl-scene-row td{padding:0 10px;vertical-align:middle;height:56px}.pl-scene-row-check{text-align:center}.pl-row-checkbox{width:18px;height:18px;border-radius:4px;border:2px solid var(--color-border);display:flex;align-items:center;justify-content:center;transition:all var(--transition-fast);margin:0 auto;color:#fff}.pl-row-checkbox.checked{background:#00c471;border-color:#00c471}.pl-scene-row-thumb{width:64px;height:40px;border-radius:6px;background:#e8ecf0;overflow:hidden;border:1px solid #E5E8EB;flex-shrink:0}.pl-scene-row-thumb img{width:100%;height:100%;object-fit:cover;display:block}.pl-scene-row-thumb-ph{width:100%;height:100%;display:flex;align-items:center;justify-content:center;color:#ffffff4d;background:linear-gradient(135deg,#1e2340,#2a3050)}.pl-scene-row-name{font-weight:500;color:var(--color-text-primary);max-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pl-scene-row-dur{font-size:12px;color:var(--color-text-tertiary);white-space:nowrap}.pl-row-badge{display:inline-block;padding:3px 8px;border-radius:20px;font-size:11px;font-weight:600;background:var(--color-bg-tertiary);color:var(--color-text-tertiary);border:1px solid var(--color-border);white-space:nowrap}.pl-row-badge.added{background:#00c4711f;color:#00c471;border-color:#00c4714d}.sos-sidebar-btn{background:transparent;border:none;color:#f04452;padding:10px 4px;text-align:center;border-radius:var(--radius-md);cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;font-size:10px;font-weight:600;transition:all var(--transition-fast);width:100%;min-height:56px;flex-shrink:0}.sos-sidebar-btn svg{font-size:20px;flex-shrink:0}.sos-sidebar-btn span{display:flex;flex-direction:column;align-items:center;gap:0;font-size:10px;line-height:1.3}.sos-sidebar-btn small{font-size:8px;font-weight:500;opacity:.7;white-space:nowrap}.sos-sidebar-btn:hover{background:#f0445226}.sos-sidebar-btn.sos-active{background:#f0445226;animation:sos-pulse 1.5s infinite}@keyframes sos-pulse{0%,to{background:#f0445226}50%{background:#f0445247}}.sos-page{padding:24px;max-width:760px}.sos-status-banner{display:flex;align-items:center;gap:12px;padding:14px 20px;border-radius:10px;background:var(--color-bg-secondary);border:1.5px solid var(--color-border);color:var(--color-text-secondary);font-size:14px;font-weight:500;margin-bottom:24px}.sos-status-banner.active{background:#f0445214;border-color:#f04452;color:#f04452;animation:sos-pulse 1.5s infinite}.sos-status-banner svg{flex-shrink:0}.sos-content{display:flex;flex-direction:column;gap:20px}.sos-card{background:var(--color-bg-secondary);border:1.5px solid var(--color-border);border-radius:12px;overflow:hidden}.sos-trigger-card{border-color:#f044524d}.sos-card-title{padding:14px 20px;font-size:14px;font-weight:700;color:var(--color-text-primary);border-bottom:1px solid var(--color-border);display:flex;align-items:center;gap:8px;background:var(--color-bg-tertiary)}.sos-card-body{padding:20px}.sos-image-preview{width:100%;aspect-ratio:16/9;border-radius:8px;overflow:hidden;background:#000;margin-bottom:14px}.sos-image-preview img{width:100%;height:100%;object-fit:contain}.sos-image-placeholder{width:100%;aspect-ratio:16/9;border-radius:8px;background:var(--color-bg-tertiary);border:2px dashed var(--color-border);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;color:var(--color-text-tertiary);font-size:14px;margin-bottom:14px}.sos-image-placeholder small{font-size:12px;opacity:.7}.sos-image-select select{width:100%}.sos-hint{font-size:13px;color:var(--color-text-tertiary);margin:0 0 14px}.sos-hint-warn{color:#f80;font-weight:500}.sos-pin-form{display:flex;flex-direction:column;gap:10px}.sos-input{padding:10px 14px;border:1.5px solid var(--color-border);border-radius:8px;font-size:14px;color:var(--color-text-primary);background:var(--color-bg-primary);outline:none;width:100%;box-sizing:border-box}.sos-input:focus{border-color:var(--color-primary)}.sos-pin-save-btn{padding:10px;background:var(--color-primary);color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:opacity .15s}.sos-pin-save-btn:hover{opacity:.85}.sos-pin-set-status{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:#f0faf4;border:1px solid #b7ebd0;border-radius:8px}.sos-pin-ok{color:#00873a;font-size:14px;font-weight:600}.sos-pin-change-btn{padding:6px 14px;background:#f2f4f6;border:1px solid #e5e8eb;border-radius:6px;font-size:13px;color:#333d4b;cursor:pointer}.sos-pin-change-btn:hover{background:#e5e8eb}.sos-pin-form-actions{display:flex;gap:8px}.sos-pin-cancel-btn{flex:1;padding:10px;background:#f2f4f6;border:1px solid #e5e8eb;border-radius:8px;font-size:14px;color:#333d4b;cursor:pointer}.sos-pin-cancel-btn:hover{background:#e5e8eb}.sos-pin-save-btn{flex:2}.sos-trigger-btns{display:flex;gap:16px}.sos-trigger-btn{flex:1;padding:24px 16px;border:none;border-radius:12px;font-size:20px;font-weight:800;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:10px;letter-spacing:.5px;transition:opacity .15s,transform .1s;min-height:80px}.sos-trigger-btn:hover:not(:disabled){opacity:.88;transform:translateY(-2px)}.sos-trigger-btn:disabled{opacity:.35;cursor:not-allowed}.sos-trigger-btn.activate{background:#f04452;color:#fff}.sos-trigger-btn.deactivate{background:var(--color-bg-tertiary);color:var(--color-text-primary);border:2px solid var(--color-border);font-size:18px}.sos-preset-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:4px}.sos-preset-card{position:relative;border-radius:10px;overflow:hidden;border:2.5px solid var(--color-border);cursor:pointer;transition:border-color .15s,transform .1s;background:#000}.sos-preset-card:hover{border-color:#f04452;transform:translateY(-2px)}.sos-preset-card.selected{border-color:#f04452;box-shadow:0 0 0 3px #f0445233}.sos-preset-card img{width:100%;aspect-ratio:16/9;object-fit:cover;display:block}.sos-preset-card span{display:block;padding:7px 10px;font-size:12px;font-weight:600;color:var(--color-text-primary);background:var(--color-bg-tertiary);text-align:center}.sos-preset-check{position:absolute;top:6px;right:6px;width:22px;height:22px;background:#f04452;color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700}.quick-actions-panel.hidden{display:none}.quick-actions-panel{width:15%;min-width:200px;max-width:260px;height:100vh;background:#1b1d21;border-left:1px solid #2C2F36;display:flex;flex-direction:column;flex-shrink:0;overflow-y:auto}.quick-actions-header{padding:20px 16px;display:flex;align-items:center;gap:10px;font-size:14px;font-weight:700;color:#fff;border-bottom:1px solid rgba(255,255,255,.1);flex-shrink:0}.quick-actions-icon{color:#4d9aff;font-size:16px}.quick-actions-list{padding:12px 10px;display:flex;flex-direction:column;gap:4px}.quick-action-item{display:flex;align-items:center;gap:12px;padding:12px;background:transparent;border:none;border-radius:8px;cursor:pointer;transition:all .15s ease;width:100%;text-align:left}.quick-action-item:hover{background:#ffffff0f}.quick-action-icon-wrap{width:36px;height:36px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:14px;flex-shrink:0}.quick-action-text{display:flex;flex-direction:column;gap:2px;min-width:0}.quick-action-label{font-size:13px;font-weight:600;color:#ffffffe6;white-space:nowrap}.quick-action-desc{font-size:11px;color:#fff6;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media(max-width:900px){.quick-actions-panel{display:none}}.active-sessions-section{margin-top:16px;border-top:1px solid rgba(255,255,255,.07);padding-top:16px}.active-sessions-header{display:flex;align-items:center;gap:7px;font-size:11px;font-weight:700;color:#fff6;text-transform:uppercase;letter-spacing:.6px;margin-bottom:10px}.active-sessions-icon{font-size:11px;color:#ffffff59}.active-sessions-count{margin-left:auto;background:#00adb533;color:#4d9dff;font-size:11px;font-weight:700;padding:1px 7px;border-radius:999px;min-width:18px;text-align:center}.active-sessions-list{display:flex;flex-direction:column;gap:6px}.active-sessions-empty{font-size:12px;color:#ffffff40;text-align:center;padding:10px 0}.active-session-item{display:flex;align-items:center;gap:9px;padding:8px 10px;background:#ffffff0a;border-radius:8px;border:1px solid rgba(255,255,255,.06)}.active-session-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0;background:#00c471;box-shadow:0 0 6px #00c47199}.active-session-dot.admin{background:#00adb5;box-shadow:0 0 6px #00adb599}.active-session-dot.editor{background:#00c471;box-shadow:0 0 6px #00c47199}.active-session-dot.viewer{background:#8854d0;box-shadow:0 0 6px #8854d080}.active-session-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.active-session-name{font-size:13px;font-weight:600;color:#e1e4ec;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.active-session-meta{display:flex;align-items:center;gap:5px}.active-session-role{font-size:10px;font-weight:700;padding:1px 5px;border-radius:4px}.active-session-role.admin{background:#00adb526;color:#4d9dff}.active-session-role.editor{background:#00c47126;color:#00c471}.active-session-role.viewer{background:#8854d026;color:#a06be0}.active-session-browser{font-size:10px;color:#ffffff4d}.active-session-time{display:flex;align-items:center;gap:3px;font-size:10px;color:#ffffff4d;white-space:nowrap;flex-shrink:0}.active-session-time svg{font-size:9px}.play-mode-cell{display:flex;flex-direction:column;gap:4px}.play-mode-row{display:flex;align-items:center;gap:8px;padding:6px 10px;border-radius:8px;cursor:pointer;transition:background .15s ease;-webkit-user-select:none;user-select:none}.play-mode-row:hover{background:#00adb50a}.play-mode-row.active{background:#00adb514;border:1px solid rgba(0,173,181,.2)}.play-mode-row.inactive{opacity:.45;border:1px solid transparent}.play-mode-row input[type=radio]{margin:0;cursor:pointer;accent-color:var(--color-main)}.play-mode-icon{font-size:14px;line-height:1}.play-mode-label{font-size:12px;font-weight:600;color:var(--color-text-primary);min-width:60px}.play-mode-row.inactive .play-mode-label{color:var(--color-text-tertiary)}.play-mode-row .table-select{flex:1;min-width:140px}.play-mode-row .table-select:disabled{background:var(--color-bg-primary);color:var(--color-text-tertiary);cursor:not-allowed;opacity:.7}.table-action-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;min-width:280px}.table-action-txt{padding:5px 8px;font-size:11px;font-weight:600;background:transparent;border:1px solid transparent;border-radius:6px;cursor:pointer;font-family:inherit;white-space:nowrap;transition:background .15s ease,color .15s ease}.table-action-txt.reload{color:#00adb5;border-color:#00adb5}.table-action-txt.reboot{color:#f80;border-color:#f80}.table-action-txt.schedule{color:#00c471;border-color:#00c471}.table-action-txt.rotate{color:#7c3aed;border-color:#7c3aed}.table-action-txt.monitor{color:#6b7684;border-color:#6b7684}.table-action-txt.delete{color:#f04452;border-color:#f04452}.table-action-txt.wol{color:#0064ff;border-color:#0064ff}.table-action-txt.shutdown{color:#4e5968;border-color:#4e5968}.table-action-txt.reload:hover{background:#00adb51a}.table-action-txt.reboot:hover{background:#ff88001a}.table-action-txt.schedule:hover{background:#00c4711a}.table-action-txt.rotate:hover{background:#7c3aed1a}.table-action-txt.monitor:hover{background:#6b76841a}.table-action-txt.delete:hover{background:#f044521a}.table-action-txt.wol:hover{background:#0064ff1a}.table-action-txt.shutdown:hover{background:#4e59681a}.table-action-txt.schedule.active{background:#00c471;color:#fff}.table-action-txt.rotate.active{background:#7c3aed;color:#fff}.table-action-txt.monitor.active{background:#6b7684;color:#fff}.modern-action-btn.rotate{color:#7c3aed;border:1px solid #7C3AED;background:transparent}.modern-action-btn.rotate:hover{background:#7c3aed1a}.modern-action-btn.rotate.active{background:#7c3aed;color:#fff}.rotation-modal{max-width:440px}.rotation-hint{font-size:13px;color:var(--color-text-secondary);margin:4px 0 16px;line-height:1.5}.rotation-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:16px}.rotation-opt{display:flex;flex-direction:column;align-items:center;gap:4px;padding:14px 6px 10px;border:2px solid var(--color-border);border-radius:12px;background:var(--color-bg-secondary, #f8f9fa);cursor:pointer;transition:all .15s}.rotation-opt:hover{border-color:#7c3aed}.rotation-opt.selected{border-color:#7c3aed;background:#7c3aed14}.rotation-preview{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;transition:transform .25s}.rotation-preview-screen{font-size:30px;line-height:1;color:#7c3aed}.rotation-opt-label{font-size:14px;font-weight:700;color:var(--color-text-primary)}.rotation-opt-sub{font-size:11px;color:var(--color-text-tertiary)}.rotation-note{font-size:12.5px;line-height:1.5;padding:10px 12px;border-radius:10px;margin-bottom:16px}.rotation-note.info{background:#0064ff12;color:#0064ff}.rotation-note.warn{background:#ff88001a;color:#c2410c}.board-badge{display:inline-flex;align-items:center;gap:3px;padding:1px 6px;margin-left:6px;font-size:10px;font-weight:600;border-radius:8px;line-height:1.4;letter-spacing:.2px;vertical-align:middle;border:1px solid transparent;white-space:nowrap}.board-badge-windows{background:#e3f2fd;color:#0064ff;border-color:#bbdefb}.board-badge-quber{background:#fff3e0;color:#e65100;border-color:#ffe0b2}.board-badge-rockchip{background:#e8f5e9;color:#2e7d32;border-color:#c8e6c9}.board-badge-generic{background:#f1f3f5;color:#6b7684;border-color:#e5e8eb}.player-card-modern.board-windows{border-left:3px solid #0064FF}.player-card-modern.board-quber{border-left:3px solid #FF9100}.player-card-modern.board-rockchip{border-left:3px solid #4CAF50}.player-card-modern.board-generic{border-left:3px solid #B0BEC5}.players-table tr.board-row-windows td:first-child{border-left:3px solid #0064FF}.players-table tr.board-row-quber td:first-child{border-left:3px solid #FF9100}.players-table tr.board-row-rockchip td:first-child{border-left:3px solid #4CAF50}.players-table tr.board-row-generic td:first-child{border-left:3px solid #B0BEC5}.ov-modal-overlay{position:fixed;inset:0;background:#1118278c;display:flex;align-items:center;justify-content:center;z-index:1000;padding:24px;overflow-y:auto}.ov-schedule-modal{background:#fff;border-radius:14px;box-shadow:0 20px 60px #0000002e;width:100%;max-width:520px;max-height:calc(100vh - 48px);overflow-y:auto;padding:24px 26px;display:flex;flex-direction:column;gap:18px}.ov-schedule-modal-wide{max-width:880px}.ov-modal-title{margin:0;font-size:17px;font-weight:700;color:#222831;display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding-bottom:14px;border-bottom:1px solid #ECEFF3}.ov-board-badge{display:inline-flex;align-items:center;padding:3px 10px;background:#fff4e1;color:#c77700;border-radius:999px;font-size:11px;font-weight:700;letter-spacing:.3px}.ov-win-power-notice{margin:4px 0 14px;padding:10px 12px;background:#eef3ff;color:#1b64da;border:1px solid #CFE0FF;border-radius:8px;font-size:12px;line-height:1.6}.ov-win-power-notice b{color:#0b4fbf}.ov-modal-actions{display:flex;justify-content:flex-end;gap:8px;padding-top:16px;border-top:1px solid #ECEFF3}.ov-modal-cancel,.ov-modal-confirm{height:38px;padding:0 18px;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:background .15s ease}.ov-modal-cancel{background:#fff;color:#5b6573;border:1px solid #E5E8EC}.ov-modal-cancel:hover{background:#f7f8fa}.ov-modal-confirm{background:#0064ff;color:#fff;border:1px solid #0064FF}.ov-modal-confirm:hover{background:#0050cc}.ov-schedule-section{display:flex;flex-direction:column;gap:12px;padding:16px 18px;background:#fafbfc;border:1px solid #ECEFF3;border-radius:10px}.ov-schedule-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.ov-schedule-label{font-size:14px;font-weight:700;color:#222831}.ov-toggle{position:relative;display:inline-block;width:46px;height:26px;background:#cfd3d8;border:none;border-radius:26px;cursor:pointer;transition:background .2s ease;padding:0}.ov-toggle.on{background:#0064ff}.ov-toggle-knob{position:absolute;top:3px;left:3px;width:20px;height:20px;background:#fff;border-radius:50%;box-shadow:0 1px 3px #0003;transition:left .2s ease}.ov-toggle.on .ov-toggle-knob{left:23px}.ov-schedule-time-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.ov-schedule-time-row>label,.ov-schedule-time-row>span:first-child{font-size:13px;font-weight:600;color:#5b6573;min-width:80px}.ov-time-inputs{display:inline-flex;align-items:center;gap:6px}.ov-time-inputs select,.ov-time-inputs input{height:34px;padding:0 8px;border:1px solid #E5E8EC;border-radius:6px;background:#fff;font-size:13px;color:#222831;min-width:56px}.ov-schedule-days{display:flex;gap:6px;flex-wrap:wrap}.ov-day-btn{width:34px;height:34px;border-radius:50%;border:1px solid #E5E8EC;background:#fff;color:#7a8290;font-size:13px;font-weight:700;cursor:pointer;transition:all .15s ease}.ov-day-btn:hover{background:#f0f4ff;border-color:#b5cdff}.ov-day-btn.active{background:#0064ff;color:#fff;border-color:#0064ff}.ov-sched-adv{display:flex;flex-direction:column;gap:14px}.ov-sched-presets{display:flex;align-items:center;gap:6px;flex-wrap:wrap;padding:10px 12px;background:#f0f7ff;border:1px solid #CDE3FF;border-radius:10px}.ov-sched-presets-label{font-size:12px;font-weight:700;color:#4b5563;margin-right:4px}.ov-preset-btn{padding:6px 11px;border-radius:7px;border:1px solid #B5CDFF;background:#fff;color:#0064ff;font-size:12.5px;font-weight:600;cursor:pointer;transition:all .15s ease}.ov-preset-btn:hover{background:#0064ff;color:#fff;border-color:#0064ff}.ov-preset-btn.ghost{color:#7a8290;border-color:#e5e8ec}.ov-preset-btn.ghost:hover{background:#ef4444;color:#fff;border-color:#ef4444}.ov-sched-daygrid{display:flex;flex-direction:column;gap:6px}.ov-sched-daygrid-head{display:grid;grid-template-columns:60px 1fr 1fr;gap:12px;font-size:12px;font-weight:700;color:#9aa1ac;padding:0 4px 2px;text-align:center}.ov-sched-daygrid-head span:first-child{text-align:left}.ov-sched-dayrow{display:grid;grid-template-columns:60px 1fr 1fr;gap:12px;align-items:center;padding:6px 4px;border-radius:8px;transition:background .15s ease}.ov-sched-dayrow.active{background:#f7faff}.ov-sched-dayname{width:44px;height:34px;border-radius:8px;border:1px solid #E5E8EC;background:#fff;color:#7a8290;font-size:14px;font-weight:700;cursor:pointer;transition:all .15s ease;justify-self:start}.ov-sched-dayname:hover{background:#f0f4ff;border-color:#b5cdff}.ov-sched-dayname.on{background:#0064ff;color:#fff;border-color:#0064ff}.ov-sched-time{height:34px;border:1px solid #E5E8EC;border-radius:8px;padding:0 10px;font-size:14px;color:#1a1d22;background:#fff;width:100%;text-align:center}.ov-sched-time:disabled{background:#f3f4f6;color:#c0c4cc;cursor:not-allowed}.ov-sched-time:focus{outline:none;border-color:#0064ff;box-shadow:0 0 0 3px #0064ff1f}.ov-sched-hint{font-size:12px;color:#9aa1ac;line-height:1.6;padding:0 2px}.ov-advanced-presets{display:flex;align-items:center;gap:6px;flex-wrap:wrap;padding:12px;background:#f0f7ff;border:1px solid #CDE3FF;border-radius:8px}.ov-preset-label{font-size:12px;font-weight:700;color:#0050cc;margin-right:4px}.ov-preset-btn{height:30px;padding:0 12px;border-radius:6px;border:1px solid #CDE3FF;background:#fff;color:#0050cc;font-size:12px;font-weight:600;cursor:pointer;transition:all .15s ease}.ov-preset-btn:hover{background:#e5f0ff}.ov-preset-btn.ov-preset-clear{border-color:#ef9a9a;color:#c62828}.ov-preset-btn.ov-preset-clear:hover{background:#ffebee}.ov-advanced-table{width:100%;border-collapse:collapse;font-size:13px}.ov-advanced-table th,.ov-advanced-table td{padding:8px 6px;border-bottom:1px solid #ECEFF3;text-align:center}.ov-advanced-table th{background:#fafbfc;color:#5b6573;font-weight:700;font-size:12px}.ov-time-input{height:30px;padding:0 6px;border:1px solid #E5E8EC;border-radius:5px;font-size:12px;background:#fff;width:70px}.ov-time-clear{width:22px;height:22px;border-radius:50%;border:1px solid #E5E8EC;background:#fff;color:#9aa3ae;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;padding:0;margin-left:4px}.ov-time-clear:hover{background:#ffebee;color:#c62828;border-color:#ef9a9a}.ov-advanced-hint{margin:6px 0 0;padding:10px 12px;background:#fff4e1;border:1px solid #FFD18A;color:#8b5e00;border-radius:6px;font-size:12px;line-height:1.5}.device-groups{display:flex;flex-direction:column;gap:18px}.device-group{border:1px solid var(--color-border);border-radius:14px;background:var(--color-bg-secondary);overflow:hidden}.device-group-header,.device-group-row-inner{display:flex;align-items:center;gap:12px;width:100%;padding:14px 18px;background:var(--color-bg-tertiary);border:none;cursor:pointer;text-align:left;font-family:inherit;transition:background .15s ease}.device-group-header:hover,.device-group-row:hover .device-group-row-inner{background:var(--color-bg-secondary)}.device-group:not(.collapsed) .device-group-header{border-bottom:1px solid var(--color-border)}.dg-caret{display:inline-flex;color:var(--color-text-tertiary);font-size:12px;width:14px}.dg-icon{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:8px;background:#0064ff1a;color:var(--color-primary);font-size:15px;flex-shrink:0}.dg-label{font-size:15px;font-weight:700;color:var(--color-text-primary)}.dg-sub{font-size:11px;font-weight:500;color:var(--color-text-tertiary);letter-spacing:.3px}.dg-count{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;padding:0 7px;border-radius:11px;background:var(--color-primary);color:#fff;font-size:12px;font-weight:700}.dg-online{margin-left:auto;display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:600;color:var(--color-text-secondary)}.dg-online-dot{width:8px;height:8px;border-radius:50%;background:var(--color-success, #00C896);box-shadow:0 0 0 3px #00c89626}.device-group .players-grid-modern,.device-group .players-grid-compact{padding:18px}.players-table .device-group-row{cursor:pointer}.players-table .device-group-row td{padding:0;background:var(--color-bg-tertiary);border-top:2px solid var(--color-border)}.players-table .device-group-tbody.collapsed .device-group-row td{border-bottom:none}.ov-toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%);background:var(--color-text-primary);color:#fff;padding:12px 22px;border-radius:10px;font-size:13px;font-weight:600;z-index:10000;box-shadow:0 8px 24px #0000002e;animation:ovToastIn .3s ease;max-width:min(560px,calc(100vw - 48px));width:max-content;text-align:center;word-break:break-word;white-space:normal;pointer-events:none}.ov-toast-success{background:var(--color-success);color:#fff}.ov-toast-error{background:var(--color-danger);color:#fff}@keyframes ovToastIn{0%{opacity:0;transform:translate(-50%) translateY(10px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.dashboard-rail{width:64px;flex-shrink:0;background:#eef1f5;border-left:1px solid #D8DEE6;display:flex;flex-direction:column;align-items:center;padding:14px 0;gap:8px;height:100vh;box-sizing:border-box;z-index:200}.rail-btn{width:52px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:10px 0;border:none;border-radius:12px;background:transparent;color:#4a5562;cursor:pointer;transition:background .15s,color .15s}.rail-btn svg{font-size:22px}.rail-btn span{font-size:10px;font-weight:600;letter-spacing:-.2px}.rail-btn:hover{background:#0064ff14;color:var(--color-primary, #0064FF)}.rail-btn.active{background:var(--color-primary, #0064FF);color:#fff}@media(max-width:768px){.dashboard-rail{display:none}}.upload-progress-overlay{position:absolute;inset:0;z-index:50;display:flex;align-items:center;justify-content:center;background:#00000059;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.upload-progress-card{width:min(440px,90%);background:var(--color-bg-primary, #fff);border:1px solid var(--color-border, #e5e8eb);border-radius:16px;padding:24px 28px;box-shadow:0 12px 40px #0000002e}.upload-progress-title{font-size:16px;font-weight:700;color:var(--color-text-primary, #191f28);margin-bottom:8px}.upload-progress-filename{font-size:13px;color:var(--color-text-secondary, #8b95a1);margin-bottom:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.upload-progress-bar-track{width:100%;height:10px;background:var(--color-bg-tertiary, #f2f4f6);border-radius:999px;overflow:hidden}.upload-progress-bar-fill{height:100%;background:var(--color-primary, #0064FF);border-radius:999px;transition:width .2s ease}.upload-progress-bar-fill.is-encoding{background:repeating-linear-gradient(45deg,var(--color-primary, #0064FF),var(--color-primary, #0064FF) 12px,#4d94ff 12px,#4d94ff 24px);background-size:34px 34px;animation:upload-encoding-stripes .8s linear infinite}@keyframes upload-encoding-stripes{0%{background-position:0 0}to{background-position:34px 0}}.upload-progress-status{margin-top:12px;font-size:13px;font-weight:600;color:var(--color-primary, #0064FF);text-align:center}.optimize-modal-overlay{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;background:#00000073;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);padding:20px}.optimize-modal-card{width:min(560px,100%);max-height:80vh;display:flex;flex-direction:column;background:var(--color-bg-primary, #fff);border-radius:18px;box-shadow:0 20px 60px #00000040;overflow:hidden}.optimize-modal-head{padding:26px 28px 18px;border-bottom:1px solid var(--color-border, #e5e8eb)}.optimize-modal-badge{display:inline-block;font-size:12px;font-weight:700;color:#fff;background:var(--color-primary, #0064FF);padding:4px 10px;border-radius:999px;margin-bottom:12px}.optimize-modal-head h3{margin:0 0 8px;font-size:18px;font-weight:700;color:var(--color-text-primary, #191f28)}.optimize-modal-head p{margin:0;font-size:13.5px;line-height:1.6;color:var(--color-text-secondary, #6b7684)}.optimize-modal-list{list-style:none;margin:0;padding:12px 16px;overflow-y:auto;flex:1}.optimize-modal-item{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:10px}.optimize-modal-item:nth-child(odd){background:var(--color-bg-tertiary, #f8f9fa)}.optimize-kind{flex-shrink:0;font-size:11px;font-weight:700;padding:3px 8px;border-radius:6px;color:#fff}.optimize-kind--video{background:#0064ff}.optimize-kind--image{background:#00b894}.optimize-name{flex:1;font-size:13px;color:var(--color-text-primary, #191f28);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.optimize-dim{flex-shrink:0;font-size:12.5px;color:var(--color-text-secondary, #8b95a1)}.optimize-dim b{color:var(--color-primary, #0064FF)}.optimize-dim em{font-style:normal;color:#00b894;font-weight:600}.optimize-modal-actions{padding:16px 28px 22px;border-top:1px solid var(--color-border, #e5e8eb);text-align:right}.optimize-modal-confirm{padding:10px 28px;font-size:14px;font-weight:700;color:#fff;background:var(--color-primary, #0064FF);border:none;border-radius:10px;cursor:pointer}.optimize-modal-confirm:hover{background:#0052cc}.stats-dashboard-modern{padding:0;max-width:100%}.stats-cards-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px;margin-bottom:32px}.stat-card-modern{background:var(--color-bg-secondary);border-radius:12px;padding:24px;display:flex;align-items:center;gap:20px;box-shadow:0 2px 8px #0000000a;border:1px solid var(--color-border);transition:all .2s ease}.stat-card-modern:hover{box-shadow:0 4px 16px #00000014;transform:translateY(-2px)}.stat-icon-wrapper{width:56px;height:56px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:24px;flex-shrink:0}.stat-card-modern.primary .stat-icon-wrapper{background:#6366f11a;color:#6366f1}.stat-card-modern.success .stat-icon-wrapper{background:#10b9811a;color:var(--color-success)}.stat-card-modern.info .stat-icon-wrapper{background:#3b82f61a;color:#3b82f6}.stat-card-modern.warning .stat-icon-wrapper{background:#f59e0b1a;color:#f59e0b}.stat-content{flex:1}.stat-label{font-size:13px;font-weight:500;color:var(--color-text-secondary);margin-bottom:6px;text-transform:uppercase;letter-spacing:.3px}.stat-value{font-size:32px;font-weight:700;color:var(--color-text-primary);line-height:1;margin-bottom:4px}.stat-sublabel{font-size:12px;color:var(--color-text-secondary);opacity:.7}.stats-two-column{display:grid;grid-template-columns:repeat(auto-fit,minmax(500px,1fr));gap:24px}.stats-section{background:var(--color-bg-secondary);border-radius:12px;padding:24px;box-shadow:0 2px 8px #0000000a;border:1px solid var(--color-border)}.stats-section h3{font-size:16px;font-weight:600;color:var(--color-text-primary);margin:0 0 20px;display:flex;align-items:center;gap:8px}.stats-section h4{font-size:14px;font-weight:600;color:var(--color-text-primary);margin:24px 0 12px}.content-stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:12px}.content-stat-item{display:flex;align-items:center;gap:12px;padding:16px;background:#00000005;border-radius:8px;border:1px solid var(--color-border)}.content-stat-icon{width:40px;height:40px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:18px;flex-shrink:0}.content-stat-icon.scenes{background:#8b5cf61a;color:#8b5cf6}.content-stat-icon.playlists{background:#ec48991a;color:#ec4899}.content-stat-icon.groups{background:#f59e0b1a;color:#f59e0b}.content-stat-value{font-size:24px;font-weight:700;color:var(--color-text-primary);line-height:1}.content-stat-label{font-size:12px;color:var(--color-text-secondary);margin-top:2px}.player-status-distribution{margin-bottom:24px}.status-bar-container{background:#00000005;border-radius:8px;padding:16px;border:1px solid var(--color-border)}.status-bar{height:12px;border-radius:6px;overflow:hidden;display:flex;background:#0000000d;margin-bottom:12px}.status-bar-segment{height:100%;transition:width .3s ease}.status-bar-segment.online{background:linear-gradient(90deg,var(--color-success),#34d399)}.status-bar-segment.offline{background:linear-gradient(90deg,#ef4444,#f87171)}.status-bar-labels{display:flex;justify-content:space-between;gap:16px}.status-bar-label{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:500;color:var(--color-text-secondary)}.status-dot{width:8px;height:8px;border-radius:50%}.status-dot.online{background:var(--color-success)}.status-dot.offline{background:#ef4444}.recent-items-section{margin-top:20px}.recent-items-list{display:flex;flex-direction:column;gap:8px}.recent-item{display:flex;align-items:center;justify-content:space-between;padding:12px;background:#00000005;border-radius:6px;border:1px solid var(--color-border);transition:all .15s ease}.recent-item:hover{background:#0000000a}.recent-item-info{display:flex;flex-direction:column;gap:4px;flex:1}.recent-item-name{font-size:13px;font-weight:500;color:var(--color-text-primary)}.recent-item-date{font-size:11px;color:var(--color-text-secondary);display:flex;align-items:center;gap:4px}.recent-item-badge{padding:4px 10px;background:#6366f11a;color:#6366f1;border-radius:12px;font-size:11px;font-weight:600}.empty-state{padding:32px;text-align:center;color:var(--color-text-secondary);font-size:13px;background:#00000005;border-radius:8px;border:1px dashed var(--color-border)}.alert-box{margin-top:20px;padding:16px;border-radius:8px;display:flex;align-items:center;gap:12px;font-size:13px}.alert-box.warning{background:#f59e0b1a;border:1px solid rgba(245,158,11,.3);color:#f59e0b}.alert-box svg{font-size:20px;flex-shrink:0}@media(max-width:1200px){.stats-two-column,.content-stats-grid{grid-template-columns:1fr}}@media(max-width:768px){.stats-cards-grid{grid-template-columns:1fr}.stat-card-modern{padding:20px}.stat-value{font-size:28px}}.ov3-root{--ov-bg: #FFFFFF;--ov-bg-2: #FAFAFA;--ov-bg-row: #FAFAFA;--ov-bg-row-hover: #F5F6F7;--ov-line: #E5E7EB;--ov-line-2: #EFF1F3;--ov-ink: #0A0B0D;--ov-ink-2: #383D45;--ov-ink-3: #6B7280;--ov-ink-4: #9AA0A8;--ov-accent: #0064FF;--ov-pos: #0A8754;--ov-neg: #B11226;--ov-warn: #B45309;background:var(--ov-bg-2);color:var(--ov-ink);font-feature-settings:"tnum" on,"lnum" on,"cv11" on;-webkit-font-smoothing:antialiased;min-height:100%}.ov3-num{font-feature-settings:"tnum" on,"cv11" on;font-variant-numeric:tabular-nums;letter-spacing:-.01em}.ov3-mono{font-family:JetBrains Mono,Menlo,Consolas,monospace;font-variant-numeric:tabular-nums}.ov3-pagehead{display:flex;align-items:center;justify-content:space-between;padding:14px 24px;border-bottom:1px solid var(--ov-line);background:var(--ov-bg);gap:24px}.ov3-pagehead-l{display:flex;align-items:center;gap:12px}.ov3-pagehead h1{font-size:14px;font-weight:700;letter-spacing:-.01em;color:var(--ov-ink);margin:0}.ov3-crumb{font-size:11px;color:var(--ov-ink-4);font-weight:600;letter-spacing:.08em;text-transform:uppercase}.ov3-pagehead-r{display:flex;align-items:center;gap:16px;font-size:12px;color:var(--ov-ink-3)}.ov3-stamp{font-family:JetBrains Mono,Menlo,monospace;color:var(--ov-ink-2);letter-spacing:-.02em;font-variant-numeric:tabular-nums}.ov3-live{display:inline-flex;align-items:center;gap:5px;font-size:10px;font-weight:700;letter-spacing:.1em;color:var(--ov-pos);text-transform:uppercase}.ov3-live:before{content:"";width:5px;height:5px;border-radius:50%;background:var(--ov-pos)}.ov3-btn{border:1px solid var(--ov-line);background:var(--ov-bg);color:var(--ov-ink);padding:6px 12px;font-size:12px;font-weight:600;border-radius:4px;cursor:pointer;line-height:1;transition:background .1s}.ov3-btn:hover{background:var(--ov-bg-row-hover)}.ov3-btn-pri{background:var(--ov-ink);color:var(--ov-bg);border-color:var(--ov-ink)}.ov3-btn-pri:hover{background:var(--ov-ink-2)}.ov3-strip{display:grid;grid-template-columns:repeat(6,1fr);background:var(--ov-bg);border-bottom:1px solid var(--ov-line)}.ov3-strip-cell{padding:14px 18px;border-right:1px solid var(--ov-line-2);display:flex;flex-direction:column;gap:4px;position:relative}.ov3-strip-cell:last-child{border-right:none}.ov3-strip-lbl{font-size:10px;font-weight:700;color:var(--ov-ink-4);letter-spacing:.1em;text-transform:uppercase}.ov3-strip-val{font-size:22px;font-weight:700;color:var(--ov-ink);line-height:1.1;font-variant-numeric:tabular-nums;letter-spacing:-.01em}.ov3-strip-val.neg{color:var(--ov-neg)}.ov3-strip-val.pos{color:var(--ov-pos)}.ov3-strip-val.warn{color:var(--ov-warn)}.ov3-strip-sub{font-size:11px;color:var(--ov-ink-3);font-weight:500}.ov3-strip-sub.neg{color:var(--ov-neg)}.ov3-strip-sub.pos{color:var(--ov-pos)}.ov3-strip-bar{position:absolute;bottom:0;left:0;right:0;height:3px;background:var(--ov-line-2)}.ov3-strip-bar>i{display:block;height:100%;background:var(--ov-accent)}.ov3-grid-row{display:grid;grid-template-columns:1.6fr 1fr;gap:1px;background:var(--ov-line)}.ov3-grid-row.full{grid-template-columns:1fr}.ov3-grid-row.equal{grid-template-columns:1fr 1fr}.ov3-panel{background:var(--ov-bg);padding:0}.ov3-panel-head{display:flex;align-items:center;justify-content:space-between;padding:12px 18px;border-bottom:1px solid var(--ov-line-2)}.ov3-panel-head-l{display:flex;align-items:center;gap:14px}.ov3-panel-title{font-size:12px;font-weight:700;color:var(--ov-ink);text-transform:uppercase;letter-spacing:.08em;margin:0}.ov3-panel-meta{font-size:11px;color:var(--ov-ink-4);font-family:JetBrains Mono,monospace;font-variant-numeric:tabular-nums}.ov3-panel-tabs{display:flex;gap:0;border:1px solid var(--ov-line);border-radius:4px;overflow:hidden}.ov3-panel-tabs button{border:none;background:var(--ov-bg);color:var(--ov-ink-3);padding:4px 10px;font-size:11px;font-weight:600;cursor:pointer;border-right:1px solid var(--ov-line);line-height:1}.ov3-panel-tabs button:last-child{border-right:none}.ov3-panel-tabs button.active{background:var(--ov-ink);color:var(--ov-bg)}.ov3-chart-area{padding:16px 18px;height:240px}.ov3-chart-area svg{width:100%;height:100%;display:block}.ov3-status-table{width:100%;border-collapse:collapse;font-size:12px}.ov3-status-table tr{border-bottom:1px solid var(--ov-line-2)}.ov3-status-table tr:last-child{border-bottom:none}.ov3-status-table td{padding:10px 18px;vertical-align:middle}.ov3-status-table td:first-child{font-weight:600;color:var(--ov-ink);width:38%}.ov3-status-table td:nth-child(2){color:var(--ov-ink-2);font-family:JetBrains Mono,monospace;font-size:11px}.ov3-status-table td:last-child{text-align:right;font-size:11px;font-weight:700;letter-spacing:.04em}.ov3-ind-pos{color:var(--ov-pos)}.ov3-ind-neg{color:var(--ov-neg)}.ov3-ind-warn{color:var(--ov-warn)}.ov3-dot{display:inline-block;width:6px;height:6px;border-radius:50%;margin-right:5px;vertical-align:middle}.ov3-dot.pos{background:var(--ov-pos)}.ov3-dot.neg{background:var(--ov-neg)}.ov3-dot.warn{background:var(--ov-warn)}.ov3-heatmap-area{padding:16px 18px 20px}.ov3-heatmap-row{display:grid;grid-template-columns:28px repeat(24,1fr);gap:2px;margin-bottom:2px;align-items:center}.ov3-heatmap-row .ov3-dlabel{font-size:10px;color:var(--ov-ink-4);font-weight:600;text-align:right;padding-right:6px;font-family:JetBrains Mono,monospace}.ov3-heatmap-cell{aspect-ratio:1;background:var(--ov-line-2)}.ov3-heatmap-cols{display:grid;grid-template-columns:28px repeat(24,1fr);gap:2px;margin-top:4px}.ov3-heatmap-cols span{font-size:9px;color:var(--ov-ink-4);text-align:center;font-family:JetBrains Mono,monospace}.ov3-heatmap-foot{display:flex;align-items:center;justify-content:space-between;margin-top:12px;font-size:10px;color:var(--ov-ink-4);text-transform:uppercase;letter-spacing:.08em;font-weight:700}.ov3-heatmap-foot .ov3-scale{display:inline-flex;align-items:center;gap:6px}.ov3-heatmap-foot .ov3-scale .ov3-swatch{display:inline-flex;gap:2px}.ov3-heatmap-foot .ov3-scale .ov3-swatch span{width:11px;height:11px}.ov3-data-table{width:100%;border-collapse:collapse;font-size:12px}.ov3-data-table thead th{padding:8px 18px;background:var(--ov-bg-row);text-align:left;font-size:10px;font-weight:700;color:var(--ov-ink-4);text-transform:uppercase;letter-spacing:.08em;border-bottom:1px solid var(--ov-line);border-top:1px solid var(--ov-line-2);white-space:nowrap}.ov3-data-table thead th.r{text-align:right}.ov3-data-table tbody td{padding:10px 18px;border-bottom:1px solid var(--ov-line-2);color:var(--ov-ink-2);vertical-align:middle}.ov3-data-table tbody td.r{text-align:right}.ov3-data-table tbody tr:hover{background:var(--ov-bg-row-hover)}.ov3-data-table tbody tr:last-child td{border-bottom:none}.ov3-name{font-weight:600;color:var(--ov-ink)}.ov3-uid{font-family:JetBrains Mono,monospace;font-size:10px;color:var(--ov-ink-4);margin-top:2px}.ov3-badge{display:inline-block;padding:2px 6px;font-size:10px;font-weight:700;border-radius:3px;letter-spacing:.04em;text-transform:uppercase;border:1px solid;line-height:1.2;background:transparent}.ov3-badge.on{color:var(--ov-pos);border-color:var(--ov-pos);background:#0a87540a}.ov3-badge.off{color:var(--ov-neg);border-color:var(--ov-neg);background:#b112260a}.ov3-badge.warn{color:var(--ov-warn);border-color:var(--ov-warn);background:#b453090a}.ov3-badge.idle{color:var(--ov-ink-3);border-color:var(--ov-line)}.ov3-ago{font-family:JetBrains Mono,monospace;font-size:11px;color:var(--ov-ink-3)}.ov3-ago.danger{color:var(--ov-neg);font-weight:700}.ov3-power-actions{display:inline-flex;gap:4px}.ov3-icon-btn{width:24px;height:24px;border-radius:3px;border:1px solid var(--ov-line);background:var(--ov-bg);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;color:var(--ov-ink-2);padding:0}.ov3-icon-btn:hover:not(:disabled){background:var(--ov-bg-row-hover);color:var(--ov-ink)}.ov3-icon-btn:disabled{opacity:.35;cursor:not-allowed}.ov3-icon-btn.warn{color:var(--ov-warn)}.ov3-icon-btn.warn:hover:not(:disabled){background:#b453090f}.ov3-log{font-family:JetBrains Mono,monospace;font-size:11px}.ov3-log-row{display:grid;grid-template-columns:64px 32px 1fr;gap:12px;padding:8px 18px;border-bottom:1px solid var(--ov-line-2);align-items:baseline}.ov3-log-row:hover{background:var(--ov-bg-row-hover)}.ov3-log-row:last-child{border-bottom:none}.ov3-log-time{color:var(--ov-ink-4);font-weight:600;font-variant-numeric:tabular-nums}.ov3-log-tag{font-size:9px;font-weight:700;letter-spacing:.06em;text-align:center;padding:1px 0;border-radius:2px;border:1px solid;line-height:1.6}.ov3-log-tag.upd{color:var(--ov-pos);border-color:var(--ov-pos)}.ov3-log-tag.add{color:var(--ov-accent);border-color:var(--ov-accent)}.ov3-log-tag.warn{color:var(--ov-warn);border-color:var(--ov-warn)}.ov3-log-tag.err{color:var(--ov-neg);border-color:var(--ov-neg)}.ov3-log-msg{color:var(--ov-ink-2);font-family:Inter,Noto Sans KR,sans-serif}.ov3-log-msg b{color:var(--ov-ink);font-weight:700}.ov3-pl-table{width:100%;border-collapse:collapse;font-size:12px}.ov3-pl-table td{padding:10px 18px;border-bottom:1px solid var(--ov-line-2);vertical-align:middle}.ov3-pl-table tr:last-child td{border-bottom:none}.ov3-pl-table tr:hover{background:var(--ov-bg-row-hover);cursor:pointer}.ov3-pl-name{font-weight:600;color:var(--ov-ink)}.ov3-pl-meta{font-size:11px;color:var(--ov-ink-3);margin-top:2px;font-family:JetBrains Mono,monospace}.ov3-pl-bar{width:120px;height:4px;background:var(--ov-line-2);border-radius:0;overflow:hidden;display:inline-block;vertical-align:middle}.ov3-pl-bar i{display:block;height:100%;background:var(--ov-accent)}.ov3-pl-pct{font-family:JetBrains Mono,monospace;font-size:11px;color:var(--ov-ink-3);margin-left:8px}.ov3-pagefoot{padding:10px 18px;border-top:1px solid var(--ov-line);background:var(--ov-bg-2);display:flex;justify-content:space-between;font-size:10px;color:var(--ov-ink-4);font-family:JetBrains Mono,monospace;letter-spacing:.04em}.ov3-empty{padding:40px 20px;text-align:center;color:var(--ov-ink-4);font-size:12px}.ov3-toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%);background:var(--ov-ink);color:#fff;padding:12px 20px;border-radius:4px;font-size:13px;font-weight:500;z-index:9999;box-shadow:0 4px 12px #0003;font-family:JetBrains Mono,monospace;letter-spacing:.02em}.ov3-modal-overlay{position:fixed;inset:0;background:#0a0b0d99;display:flex;align-items:center;justify-content:center;z-index:9998}.ov3-modal{background:var(--ov-bg);border-radius:4px;padding:24px;min-width:400px;max-width:500px;border:1px solid var(--ov-line)}.ov3-modal-title{font-size:14px;font-weight:700;color:var(--ov-ink);margin:0 0 8px;text-transform:uppercase;letter-spacing:.06em}.ov3-modal-message{font-size:13px;color:var(--ov-ink-2);margin:0 0 20px;line-height:1.5}.ov3-modal-actions{display:flex;justify-content:flex-end;gap:8px}.ov3-modal-cancel,.ov3-modal-confirm{border:1px solid var(--ov-line);padding:8px 16px;border-radius:4px;font-size:12px;font-weight:600;cursor:pointer;background:var(--ov-bg);color:var(--ov-ink)}.ov3-modal-cancel:hover{background:var(--ov-bg-row-hover)}.ov3-modal-confirm{background:var(--ov-ink);color:var(--ov-bg);border-color:var(--ov-ink)}.ov3-modal-confirm.danger{background:var(--ov-neg);color:#fff;border-color:var(--ov-neg)}.ov3-modal-confirm:hover{opacity:.9}.settings-layout{display:flex;height:calc(100vh - 132px);margin:-20px -24px;overflow:hidden;background:var(--color-bg-primary)}.settings-sidebar{width:280px;background:var(--color-bg-secondary);border-right:1px solid var(--color-border);display:flex;flex-direction:column;overflow-y:auto}.settings-sidebar-header{display:flex;align-items:center;gap:12px;padding:25px 20px;border-bottom:1px solid var(--color-border)}.settings-sidebar-header span{font-size:18px;font-weight:700;color:var(--color-text-primary)}.settings-nav{display:flex;flex-direction:column;padding:10px 0}.settings-nav-item{display:flex;align-items:center;gap:15px;padding:16px 20px;background:transparent;border:none;border-left:3px solid transparent;color:var(--color-text-secondary);cursor:pointer;transition:all var(--transition-fast);text-align:left;font-size:15px;font-weight:500}.settings-nav-item svg{font-size:18px;flex-shrink:0}.settings-nav-item:hover{background:var(--color-bg-hover);color:var(--color-text-primary)}.settings-nav-item.active{background:var(--color-fill-tertiary);border-left-color:var(--color-text-primary);color:var(--color-text-primary);font-weight:600}.settings-content{flex:1;overflow-y:auto;padding:40px;background:var(--color-bg-primary)}.settings-page-header{margin-bottom:30px;padding-bottom:20px;border-bottom:1px solid var(--color-border)}.settings-page-header h1{font-size:32px;font-weight:700;color:var(--color-text-primary);margin:0 0 8px;letter-spacing:-.5px}.settings-page-header p{font-size:14px;color:var(--color-text-secondary);margin:0}.settings-section{margin-bottom:50px;animation:fadeIn .3s ease-in}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.section-header{margin-bottom:25px;padding-bottom:15px;border-bottom:1px solid var(--color-border)}.section-header h2{font-size:24px;font-weight:600;color:var(--color-text-primary);margin:0 0 5px}.section-header p{font-size:14px;color:var(--color-text-secondary);margin:0}.settings-card{background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:30px;margin-bottom:20px;box-shadow:var(--shadow-sm)}.setting-item{margin-bottom:30px}.setting-item:last-child{margin-bottom:0}.setting-label{display:flex;align-items:flex-start;gap:15px;margin-bottom:12px}.setting-icon{font-size:24px;color:var(--color-text-secondary);margin-top:2px}.setting-label h3{font-size:16px;font-weight:600;color:var(--color-text-primary);margin:0 0 4px}.setting-label p{font-size:13px;color:var(--color-text-secondary);margin:0}.setting-input,.setting-select{width:100%;background:var(--color-bg-primary);border:1px solid var(--color-border);color:var(--color-text-primary);padding:12px 16px;border-radius:var(--radius-md);font-size:14px;font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;transition:all var(--transition-fast)}.setting-input:focus,.setting-select:focus{outline:none;border-color:var(--color-text-secondary);box-shadow:0 0 0 3px #0000000d}.setting-input::placeholder{color:var(--color-text-tertiary)}.setting-select{cursor:pointer}.setting-hint{margin-top:8px;font-size:12px;color:var(--color-text-tertiary);line-height:1.5}.setting-hint a{color:var(--color-text-secondary);text-decoration:underline;transition:color var(--transition-fast)}.setting-hint a:hover{color:var(--color-text-primary)}.settings-actions{display:flex;gap:15px;justify-content:flex-end}.test-button,.save-button{padding:12px 24px;border:none;border-radius:var(--radius-md);font-size:14px;font-weight:600;cursor:pointer;transition:all var(--transition-fast);display:flex;align-items:center;gap:8px}.test-button{background:var(--color-bg-tertiary);color:var(--color-text-primary);border:1px solid var(--color-border)}.test-button:hover{background:var(--color-bg-hover);border-color:var(--color-border-hover)}.save-button{background:var(--color-text-primary);color:#fff}.save-button:hover{background:var(--color-text-secondary);transform:translateY(-1px);box-shadow:var(--shadow-md)}.test-result{margin-top:20px;padding:15px 20px;border-radius:var(--radius-md);font-size:14px;font-weight:500}.test-result.success{background:var(--color-green-bg);border:1px solid rgba(52,199,89,.3);color:var(--color-green)}.test-result.error{background:var(--color-red-bg);border:1px solid rgba(255,59,48,.3);color:var(--color-red)}.save-notification{margin-top:20px;padding:15px 20px;background:var(--color-green-bg);border:1px solid rgba(52,199,89,.3);color:var(--color-green);border-radius:var(--radius-md);font-size:14px;font-weight:500;display:flex;align-items:center;gap:10px;animation:slideIn .3s ease-out}@keyframes slideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px}.info-card{background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:20px;transition:all var(--transition-fast)}.info-card:hover{border-color:var(--color-border-hover);transform:translateY(-2px);box-shadow:var(--shadow-md)}.info-card h4{font-size:12px;font-weight:600;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.5px;margin:0 0 8px}.info-card p{font-size:16px;color:var(--color-text-primary);margin:0}.info-card a{color:var(--color-text-secondary);text-decoration:underline}.info-card a:hover{text-decoration:underline}@media(max-width:768px){.settings-layout{flex-direction:column}.settings-sidebar{width:100%;border-right:none;border-bottom:1px solid var(--color-border)}.settings-content{padding:20px}.settings-page-header h1{font-size:24px}.section-header h2{font-size:20px}.settings-card{padding:20px}.settings-actions{flex-direction:column}.test-button,.save-button{width:100%;justify-content:center}}.toggle-switch{position:relative;display:inline-block;width:52px;height:32px}.toggle-switch input{opacity:0;width:0;height:0}.toggle-slider{position:absolute;cursor:pointer;inset:0;background-color:var(--color-bg-tertiary);transition:.3s;border-radius:var(--radius-full)}.toggle-slider:before{position:absolute;content:"";height:26px;width:26px;left:3px;bottom:3px;background-color:#fff;transition:.3s;border-radius:50%;box-shadow:var(--shadow-sm)}.toggle-switch input:checked+.toggle-slider{background-color:var(--color-green)}.toggle-switch input:focus+.toggle-slider{box-shadow:0 0 0 3px #34c75933}.toggle-switch input:checked+.toggle-slider:before{transform:translate(20px)}.test-button:disabled{opacity:.6;cursor:not-allowed}.fa-spin{animation:fa-spin 1s infinite linear}@keyframes fa-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.update-status-header{display:flex;align-items:flex-start;gap:12px;margin-bottom:16px}.update-status-header h3{margin:0 0 2px;font-size:15px;font-weight:600;color:var(--color-text-primary)}.update-status-header p{margin:0;font-size:13px;color:var(--color-text-secondary)}.update-refresh-btn{margin-left:auto;background:transparent;border:1px solid var(--color-border);border-radius:6px;color:var(--color-text-secondary);cursor:pointer;padding:6px 10px;font-size:13px;transition:all .15s;flex-shrink:0}.update-refresh-btn:hover{border-color:var(--color-main);color:var(--color-main)}.update-version-box{display:flex;align-items:flex-start;gap:16px}.update-version-badge{background:var(--color-main);color:#fff;font-size:18px;font-weight:700;padding:8px 18px;border-radius:8px;white-space:nowrap;flex-shrink:0;letter-spacing:-.5px}.update-yml-preview{background:var(--color-bg-primary);border:1px solid var(--color-border);border-radius:6px;padding:10px 14px;font-size:12px;font-family:var(--font-mono, monospace);color:var(--color-text-secondary);margin:0;overflow-x:auto;white-space:pre;flex:1;line-height:1.6}.update-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:32px;color:var(--color-text-secondary);text-align:center}.update-empty p{margin:0;font-size:14px;font-weight:500}.update-empty small{font-size:12px;color:var(--color-text-tertiary)}.update-dropzone{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:36px 20px;border:2px dashed var(--color-border);border-radius:10px;cursor:pointer;transition:all .15s;color:var(--color-text-secondary);text-align:center}.update-dropzone:hover,.update-dropzone.drag-over{border-color:var(--color-main);background:#00adb508;color:var(--color-main)}.update-dropzone p{margin:0;font-size:14px;font-weight:500}.update-dropzone small{font-size:12px;opacity:.7}.update-progress{margin-top:12px;background:var(--color-bg-primary);border:1px solid var(--color-border);border-radius:6px;overflow:hidden;position:relative;height:32px;display:flex;align-items:center}.update-progress-bar{position:absolute;left:0;top:0;bottom:0;background:var(--color-main);opacity:.15;transition:width .3s}.update-progress span{position:relative;padding:0 12px;font-size:13px;font-weight:600;color:var(--color-main)}.update-upload-msg{margin-top:12px;padding:12px 16px;border-radius:7px;font-size:13px;font-weight:500}.update-upload-msg.success{background:#34c7591a;border:1px solid rgba(52,199,89,.3);color:#1a7a35}.update-upload-msg.error{background:#ff3b3014;border:1px solid rgba(255,59,48,.25);color:#c0392b}.update-file-list{display:flex;flex-direction:column;gap:6px}.update-file-item{display:flex;align-items:center;gap:10px;padding:10px 12px;background:var(--color-bg-primary);border:1px solid var(--color-border);border-radius:7px}.update-file-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.update-file-name{font-size:13px;font-weight:600;color:var(--color-text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-family:var(--font-mono, monospace)}.update-file-meta{font-size:11px;color:var(--color-text-secondary)}.update-file-download{color:var(--color-text-secondary);text-decoration:none;padding:6px 8px;border-radius:5px;border:1px solid var(--color-border);transition:all .15s;font-size:13px;flex-shrink:0}.update-file-download:hover{border-color:var(--color-main);color:var(--color-main)}.update-guide-list{margin:0;padding:0 0 0 18px;display:flex;flex-direction:column;gap:10px}.update-guide-list li{font-size:13px;color:var(--color-text-secondary);line-height:1.6}.update-guide-list li strong{color:var(--color-text-primary)}.update-guide-list code{background:var(--color-bg-primary);border:1px solid var(--color-border);border-radius:4px;padding:1px 6px;font-size:12px;font-family:var(--font-mono, monospace)}.backup-now-btn{display:flex;align-items:center;gap:6px;padding:10px 18px;background:var(--color-main);color:#fff;border:none;border-radius:7px;font-size:14px;font-weight:600;cursor:pointer;transition:all .15s;flex-shrink:0}.backup-now-btn:hover:not(:disabled){background:var(--color-main-hover, #009098)}.backup-now-btn:disabled{opacity:.6;cursor:not-allowed}.backup-file-list{display:flex;flex-direction:column;gap:6px}.backup-file-item{display:flex;align-items:center;gap:10px;padding:10px 12px;background:var(--color-bg-primary);border:1px solid var(--color-border);border-radius:7px;transition:border-color .15s}.backup-file-item:hover{border-color:var(--color-main)}.backup-file-icon{font-size:18px;flex-shrink:0;width:28px;text-align:center}.backup-actions{display:flex;gap:4px;flex-shrink:0}.backup-action-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:6px;border:1px solid var(--color-border);background:transparent;cursor:pointer;font-size:13px;text-decoration:none;transition:all .15s;color:var(--color-text-secondary)}.backup-action-btn.download:hover{border-color:var(--color-main);color:var(--color-main);background:#00adb50d}.backup-action-btn.restore:hover{border-color:#27ae60;color:#27ae60;background:#27ae600d}.backup-action-btn.delete:hover{border-color:var(--color-red, #e74c3c);color:var(--color-red, #e74c3c);background:#e74c3c0d}.backup-action-btn:disabled{opacity:.5;cursor:not-allowed}.sc-calendar{display:flex;flex-direction:column;flex:1;overflow:hidden;background:#fff;font-family:-apple-system,Segoe UI,sans-serif}.sc-nav{display:flex;align-items:center;justify-content:center;gap:16px;padding:10px 20px;background:#f2f4f6;border-bottom:1px solid #D0D5DD;flex-shrink:0}.sc-nav-btn{width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:#fff;border:1px solid #C5CDD8;border-radius:4px;color:#4e5968;cursor:pointer;font-size:11px;transition:background .15s}.sc-nav-btn:hover{background:#e5e8eb}.sc-nav-title{font-size:15px;font-weight:700;color:#191f28;min-width:120px;text-align:center}.sc-scroll{flex:1;overflow:auto}.sc-header{display:flex;position:sticky;top:0;z-index:10;background:#e8ecf0;border-bottom:2px solid #98A2B3}.sc-corner{flex-shrink:0;background:#d5dae0;border-right:2px solid #98A2B3;border-bottom:2px solid #98A2B3;position:sticky;left:0;z-index:12}.sc-date-cell{flex-shrink:0;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:6px 2px;border-right:1px solid #C5CDD8;gap:2px;box-sizing:border-box}.sc-date-cell.today{background:#ebf3ff}.sc-date-cell.sunday{background:#fff5f5}.sc-date-cell.saturday{background:#f0f5ff}.sc-dow{font-size:10px;font-weight:600;color:#6b7684;text-transform:uppercase}.sc-date{font-size:14px;font-weight:700;color:#191f28}.sc-date-cell.sunday .sc-dow,.sc-date-cell.sunday .sc-date{color:#e03131}.sc-date-cell.saturday .sc-dow,.sc-date-cell.saturday .sc-date{color:#1971c2}.sc-date-cell.today .sc-date{width:24px;height:24px;background:#191f28;color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px}.sc-body{display:flex}.sc-time-col{flex-shrink:0;position:sticky;left:0;z-index:5;background:#f2f4f6;border-right:2px solid #98A2B3}.sc-time-cell{height:60px;box-sizing:border-box;border-bottom:1px solid #C5CDD8;display:flex;align-items:flex-start;justify-content:flex-end;padding:3px 6px 0 0}.sc-time-label{font-size:10px;font-weight:600;color:#6b7684;-webkit-user-select:none;user-select:none;white-space:nowrap}.sc-days{display:flex}.sc-day-col{flex-shrink:0;border-right:1px solid #C5CDD8;position:relative;box-sizing:border-box;background:#fff}.sc-day-col.sunday{background:snow}.sc-day-col.saturday{background:#f8fbff}.sc-hr-line{position:absolute;left:0;right:0;height:0;border-top:1px solid #D0D5DD;pointer-events:none}.sc-half-line{position:absolute;left:0;right:0;height:0;border-top:1px dashed #E8ECF0;pointer-events:none}.sc-block{position:absolute;left:3px;right:3px;background:#1971c2;border:none;border-radius:4px;padding:3px 5px;cursor:pointer;overflow:hidden;box-sizing:border-box;transition:filter .1s,box-shadow .1s;z-index:1;box-shadow:0 1px 3px #1971c24d}.sc-block:hover{filter:brightness(1.15);box-shadow:0 3px 8px #1971c266;z-index:2}.sc-block-name{font-size:10px;font-weight:700;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.4}.sc-block-time{font-size:9px;color:#ffffffd9;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.3}.sc-block-playlist{font-size:9px;color:#ffffffbf;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.3;margin-top:1px}.sm2-layout{display:flex;height:calc(100vh - 132px);margin:-20px -24px;overflow:hidden;background:var(--color-bg-primary)}.sm2-sidebar{width:300px;min-width:300px;flex-shrink:0;background:var(--color-bg-secondary);border-right:1px solid var(--color-border);display:flex;flex-direction:column;overflow:hidden}.sm2-panel-hd{display:flex;align-items:center;gap:8px;padding:14px 16px;border-bottom:1px solid var(--color-border);flex-shrink:0}.sm2-panel-title{flex:1;font-size:15px;font-weight:700;color:var(--color-text-primary);letter-spacing:-.3px}.sm2-add-btn{display:flex;align-items:center;gap:5px;height:32px;padding:0 12px;background:#00adb5;color:#fff;border:none;border-radius:8px;font-size:13px;font-weight:600;cursor:pointer;transition:background .15s;flex-shrink:0}.sm2-add-btn:hover{background:#009098}.sm2-back-btn{width:30px;height:30px;display:flex;align-items:center;justify-content:center;background:#f2f4f6;border:none;border-radius:6px;color:var(--color-text-secondary);cursor:pointer;font-size:13px;flex-shrink:0;transition:background .15s}.sm2-back-btn:hover{background:#e5e8eb;color:var(--color-text-primary)}.sm2-list{flex:1;overflow-y:auto;padding:10px;display:flex;flex-direction:column;gap:6px}.sm2-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:48px 20px;text-align:center;font-size:13px;color:var(--color-text-secondary)}.sm2-card{background:var(--color-bg-primary);border:1.5px solid var(--color-border);border-radius:10px;padding:11px 12px;cursor:pointer;transition:border-color .15s,box-shadow .15s}.sm2-card:hover{border-color:#b8ceff;box-shadow:0 2px 8px #00adb512}.sm2-card-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:7px}.sm2-card-name{font-size:13px;font-weight:600;color:var(--color-text-primary);letter-spacing:-.2px;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sm2-card-btns{display:flex;gap:3px;flex-shrink:0}.sm2-icon-btn{width:26px;height:26px;display:flex;align-items:center;justify-content:center;border:none;border-radius:5px;font-size:11px;cursor:pointer;transition:all .15s}.sm2-icon-btn.edit{background:#f2f4f6;color:var(--color-text-secondary)}.sm2-icon-btn.edit:hover{background:#e5e8eb;color:var(--color-text-primary)}.sm2-icon-btn.del{background:#fff2f2;color:#f04452}.sm2-icon-btn.del:hover{background:#f04452;color:#fff}.sm2-card-info{display:flex;flex-direction:column;gap:2px}.sm2-card-info span{font-size:11px;color:var(--color-text-secondary)}.sm2-form-wrap{display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden}.sm2-form-body{flex:1;overflow-y:auto;overflow-x:hidden;padding:14px 16px;display:flex;flex-direction:column;gap:12px;min-height:0}.sm2-field{display:flex;flex-direction:column;gap:5px}.sm2-field label{font-size:11px;font-weight:600;color:var(--color-text-secondary);letter-spacing:-.1px}.sm2-field input,.sm2-field select{height:36px;padding:0 10px;border:1.5px solid var(--color-border);border-radius:7px;font-size:13px;color:var(--color-text-primary);background:var(--color-bg-primary);outline:none;transition:border-color .15s;box-sizing:border-box;width:100%}.sm2-field input:focus,.sm2-field select:focus{border-color:#00adb5;box-shadow:0 0 0 3px #00adb51a}.sm2-field input.err,.sm2-field select.err{border-color:#f04452}.sm2-err{font-size:10px;color:#f04452;font-weight:600}.sm2-err-inline{font-size:10px;color:#f04452;font-weight:600;margin-left:6px}.sm2-row2{display:flex;gap:8px}.sm2-row2 input,.sm2-row2 .sm2-field{flex:1;min-width:0}.sm2-days{display:flex;gap:5px}.sm2-day{flex:1;height:32px;border-radius:6px;font-size:12px;cursor:pointer;transition:all .15s;min-width:0}.sm2-form-footer{display:flex;gap:8px;padding:12px 16px;border-top:1px solid var(--color-border);flex-shrink:0}.sm2-btn-cancel{flex:1;display:flex;align-items:center;justify-content:center;gap:6px;height:38px;background:#f2f4f6;color:var(--color-text-secondary);border:none;border-radius:8px;font-size:13px;font-weight:600;cursor:pointer;transition:background .15s}.sm2-btn-cancel:hover{background:#e5e8eb}.sm2-btn-save{flex:2;display:flex;align-items:center;justify-content:center;gap:6px;height:38px;background:#00adb5;color:#fff;border:none;border-radius:8px;font-size:13px;font-weight:700;cursor:pointer;transition:background .15s}.sm2-btn-save:hover{background:#009098}.sm2-calendar{flex:1;overflow:hidden;display:flex;flex-direction:column}.caption-manager{max-width:800px;display:flex;flex-direction:column;gap:20px}.caption-global-switch{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 20px;border-radius:12px;border:2px solid;transition:background .2s,border-color .2s}.caption-global-switch.enabled{background:#edfaf3;border-color:#b3ecce}.caption-global-switch.disabled{background:#f8f9fa;border-color:#e5e8eb}.caption-global-left{display:flex;align-items:center;gap:14px}.caption-global-right{display:flex;align-items:center;gap:10px;flex-shrink:0}.caption-style-toggle{display:flex;align-items:center;gap:5px;padding:7px 13px;border:1px solid #C5CDD8;border-radius:8px;background:#fff;color:#4e5968;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s}.caption-style-toggle svg{font-size:11px;transition:transform .25s ease}.caption-style-toggle.open svg{transform:rotate(180deg)}.caption-style-toggle:hover{border-color:#00adb5;color:#00adb5;background:#ebf3ff}.caption-global-icon{width:44px;height:44px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:800;letter-spacing:-.5px;flex-shrink:0;transition:background .2s,color .2s}.caption-global-switch.enabled .caption-global-icon{background:#00c471;color:#fff}.caption-global-switch.disabled .caption-global-icon{background:#e5e8eb;color:#b0b8c1}.caption-global-info{display:flex;flex-direction:column;gap:3px}.caption-global-info strong{font-size:15px;font-weight:700;color:#191f28}.caption-global-info span{font-size:13px;color:#4e5968}.caption-global-btn{display:flex;align-items:center;gap:6px;padding:8px 16px;border:none;border-radius:8px;font-size:14px;font-weight:700;cursor:pointer;transition:all .2s;flex-shrink:0}.caption-global-btn .caption-toggle-icon{font-size:24px;line-height:1}.caption-global-btn.on{background:#00c471;color:#fff}.caption-global-btn.on:hover:not(:disabled){background:#009e5a}.caption-global-btn.off{background:#e5e8eb;color:#6b7684}.caption-global-btn.off:hover:not(:disabled){background:#d0d5dd}.caption-global-btn:disabled{opacity:.6;cursor:not-allowed}.caption-global-btn svg{font-size:22px}.caption-global-switch.style-open{border-radius:12px 12px 0 0;border-bottom-color:transparent}.caption-style-panel{max-height:0;overflow:hidden;transition:max-height .3s ease,opacity .25s ease;opacity:0;margin-top:-8px}.caption-style-panel.open{max-height:260px;opacity:1;margin-top:0}.caption-style-inner{background:#f8f9fa;border:1px solid #E5E8EB;border-top:none;border-radius:0 0 12px 12px;padding:16px 20px 12px;display:flex;flex-direction:column;gap:14px}.caption-style-row{display:flex;align-items:center;gap:20px;flex-wrap:wrap}.caption-style-field{display:flex;flex-direction:column;gap:6px}.caption-style-label{font-size:11px;font-weight:700;color:#8b95a1;text-transform:uppercase;letter-spacing:.05em}.caption-style-divider{width:1px;height:40px;background:#e5e8eb;flex-shrink:0}.caption-font-size-wrap{display:flex;align-items:center;gap:5px}.caption-font-step-btn{width:28px;height:32px;border:1px solid #E5E8EB;border-radius:6px;background:#fff;color:#333d4b;font-size:17px;font-weight:500;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s,border-color .15s;flex-shrink:0}.caption-font-step-btn:hover{background:#e5e8eb;border-color:#c5cdd8}.caption-font-size-input{width:54px;height:32px;border:1px solid #E5E8EB;border-radius:6px;font-size:14px;font-weight:600;color:#191f28;text-align:center;outline:none;background:#fff;-moz-appearance:textfield;transition:border-color .15s}.caption-font-size-input::-webkit-inner-spin-button,.caption-font-size-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.caption-font-size-input:focus{border-color:#00adb5;box-shadow:0 0 0 2px #00adb51a}.caption-font-size-unit{font-size:12px;color:#8b95a1;font-weight:500}.caption-font-weight-wrap{display:flex;gap:5px}.caption-font-weight-btn{padding:6px 12px;border:1px solid #E5E8EB;border-radius:6px;background:#fff;color:#6b7684;font-size:12px;cursor:pointer;transition:all .15s;white-space:nowrap}.caption-font-weight-btn:hover{border-color:#c5cdd8;background:#f2f4f6}.caption-font-weight-btn.active{border-color:#00adb5;background:#ebf3ff;color:#00adb5}.caption-font-save-btn{display:flex;align-items:center;gap:6px;padding:8px 16px;background:#00adb5;color:#fff;border:none;border-radius:8px;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s;margin-left:auto;flex-shrink:0}.caption-font-save-btn:hover:not(:disabled){background:#009098}.caption-font-save-btn.saved{background:#00c471}.caption-font-save-btn:disabled{opacity:.6;cursor:not-allowed}.caption-preview-bar{width:100%;background:#000000d1;border-radius:8px;padding:10px 24px;display:flex;align-items:center;justify-content:center;box-sizing:border-box;min-height:48px;overflow:hidden}.caption-preview-text{color:#fff;font-family:Noto Sans KR,Apple SD Gothic Neo,Malgun Gothic,sans-serif;text-shadow:0 2px 8px rgba(0,0,0,.9);letter-spacing:.02em;white-space:nowrap;display:block}.caption-style-mode-row{align-items:flex-start;gap:16px}.caption-style-field-grow{flex:0 0 auto}.caption-mode-wrap{display:flex;gap:6px}.caption-mode-btn{display:flex;align-items:center;gap:6px;padding:8px 14px;border:1px solid #E5E8EB;border-radius:6px;background:#fff;color:#6b7684;font-size:13px;cursor:pointer;transition:all .15s;white-space:nowrap}.caption-mode-btn:hover{border-color:#c5cdd8;background:#f2f4f6}.caption-mode-btn.active{border-color:#00adb5;background:#ebf3ff;color:#00adb5;font-weight:600}.caption-mode-btn svg{font-size:12px}.caption-mode-desc{margin:0;padding-top:26px;font-size:12px;color:#8b95a1;line-height:1.5}.caption-preview-bar.marquee-mode{justify-content:flex-start;padding-left:0;padding-right:0;position:relative}.caption-preview-text.marquee-demo{position:absolute;left:0;white-space:nowrap;will-change:transform;animation-name:captionPreviewMarquee;animation-timing-function:linear;animation-iteration-count:infinite}@keyframes captionPreviewMarquee{0%{transform:translate(100%)}to{transform:translate(-100%)}}.caption-body{display:flex;flex-direction:column;gap:16px;transition:opacity .2s}.caption-body-disabled{opacity:.4;pointer-events:none}.caption-count-row{display:flex;align-items:center;justify-content:space-between}.caption-count-label{font-size:14px;font-weight:600;color:#333d4b}.caption-count-badge{font-size:13px;color:#6b7684;background:#f2f4f6;padding:4px 10px;border-radius:20px}.caption-count-badge strong{color:#00c471}.caption-info-banner{display:flex;align-items:center;gap:14px;background:#ebf3ff;border:1px solid #C2D8FF;border-radius:10px;padding:14px 18px}.caption-info-icon{width:40px;height:40px;background:#00adb5;color:#fff;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:800;flex-shrink:0;letter-spacing:-.5px}.caption-info-text{flex:1;display:flex;flex-direction:column;gap:2px}.caption-info-text strong{font-size:14px;font-weight:700;color:#191f28}.caption-info-text span{font-size:13px;color:#4e5968}.caption-stats{display:flex;align-items:center;gap:4px;font-size:13px;color:#4e5968;flex-shrink:0}.caption-stat-active{font-size:20px;font-weight:700;color:#00adb5}.caption-stat-total{font-size:16px;font-weight:600;color:#333d4b}.caption-stat-divider{color:#c5cdd8;margin:0 2px}.caption-stat-label{font-size:11px;color:#8b95a1}.caption-add-row{display:flex;gap:10px}.caption-add-input{flex:1;height:44px;padding:0 14px;border:1px solid #E5E8EB;border-radius:8px;font-size:14px;color:#191f28;background:#fff;outline:none;transition:border-color .15s}.caption-add-input:focus{border-color:#00adb5;box-shadow:0 0 0 3px #00adb514}.caption-add-input::placeholder{color:#b0b8c1}.caption-add-btn{display:flex;align-items:center;gap:6px;padding:0 18px;height:44px;background:#00adb5;color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;white-space:nowrap;transition:background .15s}.caption-add-btn:hover:not(:disabled){background:#009098}.caption-add-btn:disabled{background:#c5cdd8;cursor:not-allowed}.caption-empty{text-align:center;padding:60px 20px;color:#8b95a1}.caption-empty-icon{width:56px;height:56px;background:#f2f4f6;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:18px;font-weight:800;color:#b0b8c1;margin:0 auto 16px;letter-spacing:-1px}.caption-empty p{margin:0 0 6px;font-size:15px;font-weight:600;color:#4e5968}.caption-empty-sub{font-size:13px!important;font-weight:400!important;color:#8b95a1!important}.caption-list{display:flex;flex-direction:column;gap:8px}.caption-item{display:flex;align-items:center;gap:10px;background:#fff;border:1px solid #E5E8EB;border-radius:10px;padding:12px 14px;transition:border-color .15s,box-shadow .15s,opacity .15s}.caption-item:hover{border-color:#c2d8ff;box-shadow:0 2px 8px #00adb50f}.caption-item.inactive{opacity:.5;background:#f8f9fa}.caption-item-num{width:22px;height:22px;background:#f2f4f6;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;color:#8b95a1;flex-shrink:0}.caption-item-drag{color:#c5cdd8;font-size:14px;cursor:grab;flex-shrink:0;padding:0 2px}.caption-item-text-wrap{flex:1;min-width:0}.caption-item-text{display:block;font-size:14px;color:#191f28;cursor:text;padding:2px 0;border-bottom:1px dashed transparent;transition:border-color .15s;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.caption-item-text:hover{border-bottom-color:#b0b8c1}.caption-edit-input{width:100%;height:30px;padding:0 8px;border:1px solid #00ADB5;border-radius:4px;font-size:14px;color:#191f28;background:#fff;outline:none;box-shadow:0 0 0 3px #00adb51a}.caption-item-actions{display:flex;align-items:center;gap:6px;flex-shrink:0}.caption-toggle-btn{background:none;border:none;cursor:pointer;font-size:22px;display:flex;align-items:center;transition:color .15s;padding:2px}.caption-toggle-btn.on{color:#00c471}.caption-toggle-btn.off{color:#c5cdd8}.caption-toggle-btn:hover.on{color:#009e5a}.caption-toggle-btn:hover.off{color:#8b95a1}.caption-delete-btn{background:none;border:none;cursor:pointer;color:#c5cdd8;font-size:14px;padding:6px;border-radius:6px;display:flex;align-items:center;transition:color .15s,background .15s}.caption-delete-btn:hover{color:#f04452;background:#fff0f1}.caption-hint{font-size:12px;color:#8b95a1;margin:0;padding:4px 0}.scap{padding:4px 0 40px}.scap__loading{padding:24px;color:var(--color-text-secondary, #6b7684)}.scap__head{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:18px 20px;background:var(--color-surface, #fff);border:1px solid var(--color-border, #e5e8eb)}.scap__head-left{display:flex;align-items:center;gap:14px;min-width:0}.scap__cc{flex:0 0 auto;width:42px;height:42px;display:grid;place-items:center;background:var(--color-primary, #0064ff);color:#fff;font-weight:800;font-size:15px;letter-spacing:.5px}.scap__title{margin:0;font-size:18px;font-weight:700;color:var(--color-text, #191f28)}.scap__sub{margin:3px 0 0;font-size:13px;line-height:1.5;color:var(--color-text-secondary, #6b7684)}.scap__head-right{display:flex;align-items:center;gap:10px}.scap__count{font-size:13px;color:var(--color-text-secondary, #6b7684);white-space:nowrap}.scap__count strong{color:var(--color-primary, #0064ff);font-weight:700}.scap__halls{display:flex;flex-direction:column;gap:14px;margin-top:16px}.scap-hall{padding:16px 18px;background:var(--color-surface, #fff);border:1px solid var(--color-border, #e5e8eb);border-left:3px solid transparent;transition:border-color .15s ease,background .15s ease}.scap-hall.is-on{border-left-color:#16a34a}.scap-hall.is-off{background:var(--color-surface-alt, #fafbfc)}.scap-hall__head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.scap-hall__name{display:flex;align-items:center;gap:8px;min-width:0}.scap-hall__name strong{font-size:16px;font-weight:700;color:var(--color-text, #191f28)}.scap-hall__dot{width:8px;height:8px;background:var(--color-border-strong, #c9cdd2);flex:0 0 auto}.scap-hall.is-on .scap-hall__dot{background:#16a34a}.scap-hall__meta{font-size:12px;color:var(--color-text-secondary, #8b95a1);padding:2px 8px;background:var(--color-surface-alt, #f2f4f6)}.scap-hall__add{display:flex;gap:8px;margin-bottom:10px}.scap-hall__add .caption-add-input{flex:1;min-width:0}.scap-hall__list{display:flex;flex-direction:column;gap:6px}.scap-hall__empty{margin:2px 0 0;font-size:13px;color:var(--color-text-secondary, #8b95a1)}.scap-hall__warn{margin:10px 0 0;padding:8px 12px;font-size:12.5px;line-height:1.5;color:#8a6d00;background:#fff8e1;border:1px solid #ffe9a8}@media(max-width:720px){.scap__head{align-items:flex-start;flex-direction:column}.scap-hall__add{flex-direction:column}}.template-scene-creator{display:flex;flex-direction:column;width:100%;height:100%;min-height:0;background:#f5f5f7;overflow:hidden}.creator-header{display:flex;align-items:center;justify-content:space-between;padding:12px 24px;background:#fff;border-bottom:1px solid #d1d1d6}.header-left{display:flex;align-items:center;gap:16px}.back-btn{display:flex;align-items:center;gap:8px;padding:8px 16px;background:transparent;border:1px solid #d1d1d6;border-radius:8px;font-size:14px;font-weight:500;color:#1d1d1f;cursor:pointer;transition:all .2s ease}.back-btn:hover{background:#f5f5f7}.creator-header h2{margin:0;font-size:18px;font-weight:600;color:#1d1d1f;letter-spacing:-.3px}.step-indicator{display:flex;gap:16px;font-size:13px;font-weight:500}.step-indicator span{color:#86868b;padding:6px 12px;border-radius:6px;transition:all .2s ease}.step-indicator span.active{color:#fff;background:#1d1d1f}.step-indicator span.completed{color:#34c759}.template-selection-step{flex:1;overflow-y:auto;padding:0;min-height:0}.step-title{padding:24px 32px 20px}.step-title h3{margin:0 0 6px;font-size:24px;font-weight:600;color:#1d1d1f;letter-spacing:-.4px}.step-title p{margin:0;font-size:14px;color:#86868b;letter-spacing:-.1px}.orientation-filter{display:flex;gap:12px;margin:0;padding:12px 32px 16px;background:transparent}.orientation-filter button{flex:none;padding:10px 24px;background:#fff;border:1.5px solid #d1d1d6;border-radius:20px;font-size:13px;font-weight:600;color:#1d1d1f;cursor:pointer;transition:all .2s ease;letter-spacing:-.1px}.orientation-filter button:hover{border-color:#86868b;background:#f5f5f7}.orientation-filter button.active{background:#1d1d1f;color:#fff;border-color:#1d1d1f}.category-filter-row{display:flex;align-items:center;justify-content:space-between;padding:0 32px 20px;gap:16px}.category-filter{display:flex;gap:8px;flex-wrap:wrap;flex:1}.custom-layout-btn{flex-shrink:0;display:flex;align-items:center;gap:7px;padding:10px 20px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:8px;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s ease;letter-spacing:-.1px;white-space:nowrap;box-shadow:0 2px 8px #667eea59}.custom-layout-btn:hover{transform:translateY(-1px);box-shadow:0 4px 14px #667eea80}.category-filter button{padding:8px 16px;background:#fff;border:1px solid #d1d1d6;border-radius:20px;font-size:14px;font-weight:500;color:#1d1d1f;cursor:pointer;transition:all .2s ease}.category-filter button:hover{background:#f5f5f7}.category-filter button.active{background:#1d1d1f;color:#fff;border-color:#1d1d1f}.template-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:20px;padding:0 32px 32px}.template-card{background:#fff;border:1.5px solid #e5e5ea;border-radius:10px;overflow:hidden;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);box-shadow:0 1px 4px #0000000a}.template-card:hover{transform:translateY(-3px);box-shadow:0 8px 20px #0000001a;border-color:#1d1d1f}.template-preview{background:#1c1c1e;overflow:hidden;width:100%;position:relative}.template-preview img{width:100%;height:100%;object-fit:cover;display:block}.template-layout-preview{width:100%;height:100%;background:#1c1c1e;display:block;padding:0;margin:0;position:absolute;inset:0;box-sizing:border-box;overflow:hidden}.layout-grid{width:100%;height:100%;margin:0;padding:0}.template-info{padding:12px 14px;border-top:1px solid #f0f0f5}.template-info h4{margin:0 0 4px;font-size:13px;font-weight:600;color:#1d1d1f;letter-spacing:-.2px}.template-info p{margin:0;font-size:11px;color:#86868b;font-weight:500;letter-spacing:0}.media-assignment-step{flex:1;display:flex;flex-direction:column;overflow:hidden}.scene-name-bar{display:flex;align-items:center;gap:16px;padding:12px 24px;background:#fff;border-bottom:1px solid #E5E8EB;flex-shrink:0}.scene-name-bar-left{flex:1;display:flex;align-items:center;gap:12px;min-width:0}.layout-badge{flex-shrink:0;display:inline-flex;align-items:center;padding:4px 10px;background:#f2f4f6;border:1px solid #E5E8EB;border-radius:6px;font-size:12px;font-weight:600;color:#333d4b;white-space:nowrap;max-width:160px;overflow:hidden;text-overflow:ellipsis}.scene-name-field{flex:1;display:flex;align-items:center;gap:10px;min-width:0}.scene-name-field label{flex-shrink:0;font-size:13px;font-weight:600;color:#333d4b;white-space:nowrap}.scene-name-field input{flex:1;min-width:0;padding:8px 12px;background:#f2f4f6;border:1.5px solid transparent;border-radius:8px;font-size:14px;font-weight:500;color:#191f28;transition:all .15s ease}.scene-name-field input:focus{outline:none;background:#fff;border-color:#00adb5;box-shadow:0 0 0 3px #00adb514}.scene-name-field input::placeholder{color:#8b95a1}.scene-name-bar-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.snb-cancel-btn,.snb-save-btn{display:flex;align-items:center;gap:6px;padding:8px 18px;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .15s ease;white-space:nowrap;min-height:36px;border:none}.snb-cancel-btn{background:#f2f4f6;color:#333d4b;border:1px solid #E5E8EB}.snb-cancel-btn:hover{background:#e5e8eb}.snb-save-btn{background:#00adb5;color:#fff}.snb-save-btn:hover{background:#009098;box-shadow:0 2px 8px #00adb54d}.assignment-container{flex:1;display:grid;grid-template-columns:560px 1fr;gap:0;overflow:hidden}.zones-panel{background:#fff;border-right:1px solid #E5E8EB;display:flex;flex-direction:column;overflow:hidden}.scene-name-section{display:none}.zones-panel h4{margin:0;padding:20px 24px 16px;font-size:15px;font-weight:600;color:#1d1d1f;letter-spacing:-.2px;border-bottom:1px solid #d1d1d6}.zones-list{flex:1;overflow-y:auto;padding:16px 24px}.zone-item{background:#f5f5f7;border:1px solid #d1d1d6;border-radius:12px;padding:16px;margin-bottom:12px;transition:all .2s ease}.zone-item:hover{background:#fff;box-shadow:0 2px 8px #0000000a}.zone-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.zone-header h5{margin:0;font-size:14px;font-weight:600;color:#1d1d1f;letter-spacing:-.1px}.remove-btn{padding:4px 8px;background:transparent;border:none;color:#ff3b30;font-size:12px;cursor:pointer;opacity:.7;transition:opacity .2s ease}.remove-btn:hover{opacity:1}.assigned-media{display:flex;align-items:center;gap:10px;padding:10px;background:#fff;border:1px solid #d1d1d6;border-radius:8px;margin-bottom:8px;font-size:13px;color:#1d1d1f}.assigned-media svg{font-size:16px;color:#34c759}.media-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:500;letter-spacing:-.1px}.empty-zone{display:flex;align-items:center;justify-content:center;gap:8px;padding:20px;border:2px dashed #d1d1d6;border-radius:8px;margin-bottom:8px;color:#86868b;font-size:13px;font-weight:500}.empty-zone svg{font-size:14px}.media-select{width:100%;padding:12px 14px;background:#f5f5f7;border:1px solid transparent;border-radius:8px;font-size:13px;font-weight:500;color:#1d1d1f;cursor:pointer;transition:all .2s ease}.media-select:hover{background:#e8e8ed}.media-select:focus{outline:none;background:#fff;border-color:#1d1d1f;box-shadow:0 0 0 3px #0000000d}.action-buttons{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:20px 24px;border-top:1px solid #d1d1d6}.cancel-btn,.save-btn{display:flex;align-items:center;justify-content:center;gap:8px;padding:12px 20px;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease;letter-spacing:-.1px}.cancel-btn{background:#fff;border:1px solid #d1d1d6;color:#1d1d1f}.cancel-btn:hover{background:#f5f5f7}.save-btn:hover{background:#2fb350;transform:translateY(-1px);box-shadow:0 4px 12px #34c7594d}.media-library-panel{background:#f5f5f7;overflow-y:auto;padding:32px;display:flex;flex-direction:column}.media-library-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}.media-library-header h4{margin:0;font-size:18px;font-weight:600;color:#1d1d1f;letter-spacing:-.3px}.media-controls{display:flex;align-items:center;gap:16px}.media-filter-tabs{display:flex;gap:8px}.media-filter-tabs button{display:flex;align-items:center;gap:6px;padding:8px 14px;background:#fff;border:1px solid #d1d1d6;border-radius:6px;font-size:13px;font-weight:500;color:#1d1d1f;cursor:pointer;transition:all .2s ease}.media-filter-tabs button:hover{background:#f5f5f7;border-color:#86868b}.media-filter-tabs button.active{background:#1d1d1f;color:#fff;border-color:#1d1d1f}.view-mode-toggle{display:flex;gap:4px;background:#fff;border:1px solid #d1d1d6;border-radius:6px;padding:4px}.view-mode-toggle button{padding:6px 12px;background:transparent;border:none;border-radius:4px;font-size:16px;color:#86868b;cursor:pointer;transition:all .2s ease}.view-mode-toggle button:hover{background:#f5f5f7}.view-mode-toggle button.active{background:#1d1d1f;color:#fff}.media-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:16px}.media-card{background:#fff;border:1px solid #d1d1d6;border-radius:12px;overflow:hidden;cursor:pointer;transition:all .2s ease}.media-card:hover:not(.media-disabled){transform:translateY(-2px);box-shadow:0 4px 12px #0000000f}.media-card.media-disabled{opacity:.35;cursor:not-allowed;filter:grayscale(40%);background:#fafafa}.zone-type-badge{font-size:12px;margin-left:2px}.media-card img{width:100%;aspect-ratio:16/9;object-fit:cover}.video-thumb,.pdf-thumb{aspect-ratio:16/9;background:#f5f5f7;display:flex;align-items:center;justify-content:center;font-size:32px;color:#86868b}.media-info{padding:12px;display:flex;flex-direction:column;gap:4px}.media-info .filename{font-size:13px;font-weight:500;color:#1d1d1f;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;letter-spacing:-.1px}.media-info .filetype{font-size:11px;font-weight:600;color:#86868b;letter-spacing:.5px}.media-table-wrapper{flex:1;overflow-y:auto;background:#fff;border-radius:8px;border:1px solid #d1d1d6}.media-table{width:100%;border-collapse:collapse}.media-table thead{position:sticky;top:0;background:#f5f5f7;z-index:10}.media-table th{padding:12px 16px;text-align:left;font-size:12px;font-weight:600;color:#86868b;letter-spacing:.3px;text-transform:uppercase;border-bottom:1px solid #d1d1d6}.media-table tbody tr{border-bottom:1px solid #f5f5f7;transition:all .2s ease}.media-table tbody tr:hover{background:#f5f5f7}.media-table td{padding:12px 16px;font-size:13px;color:#1d1d1f}.table-thumb{width:48px;height:32px;border-radius:4px;overflow:hidden;background:#f5f5f7;display:flex;align-items:center;justify-content:center}.table-thumb img{width:100%;height:100%;object-fit:cover}.table-thumb svg{font-size:18px;color:#86868b}.filename-cell{font-weight:500;letter-spacing:-.1px}.type-badge{display:inline-block;padding:4px 10px;background:#f5f5f7;border-radius:4px;font-size:11px;font-weight:600;color:#1d1d1f;letter-spacing:.3px}.size-cell{color:#86868b;font-weight:500}.zones-tabbar{flex:1;display:flex;flex-direction:row;overflow:hidden;border-top:1px solid #e5e8eb}.zone-tabs-header{display:flex;flex-direction:column;gap:4px;width:130px;min-width:130px;background:#f2f4f6;border-right:1px solid #e5e8eb;padding:10px 8px;overflow-y:auto;overflow-x:hidden;flex-shrink:0}.zone-tab{padding:10px 12px;background:transparent;border:none;border-radius:8px;cursor:pointer;transition:all .15s ease;display:flex;align-items:center;justify-content:space-between;gap:6px;color:#8b95a1;font-size:13px;font-weight:500;letter-spacing:-.1px;text-align:left;width:100%}.zone-tab:hover{color:#333d4b;background:#e5e8eb}.zone-tab.active{color:#00adb5;background:#fff;font-weight:700;box-shadow:0 2px 8px #00adb51a;border:1px solid rgba(0,173,181,.15)}.zone-tab-name{font-weight:inherit;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.zone-tab-badge{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 5px;background:#c7d2e0;color:#6b7684;border-radius:10px;font-size:11px;font-weight:700;flex-shrink:0;transition:all .15s ease}.zone-tab.active .zone-tab-badge{background:#00adb5;color:#fff}.zone-tab:not(.active) .zone-tab-badge{background:#c7d2e0;color:#6b7684}.zone-tab-content{flex:1;overflow-y:auto;background:#fff}.zone-content-panel{padding:16px 20px;display:flex;flex-direction:column;gap:12px;height:100%;transition:all .2s ease}.zone-content-panel.drag-active{background:#34c7590d;border:2px dashed #34c759;border-radius:8px}.drop-zone-compact{display:flex;align-items:center;justify-content:center;gap:8px;padding:12px;border:2px dashed #d1d1d6;border-radius:8px;background:#fff;color:#86868b;font-size:13px;font-weight:500;transition:all .2s ease}.drop-zone-compact:hover,.drop-zone-compact.drag-over{border-color:#34c759;background:#34c7590d;color:#34c759}.drop-zone-compact svg{font-size:14px}.assigned-media-list{display:flex;flex-direction:column;gap:8px}.media-list-item{display:flex;flex-direction:row;align-items:center;gap:8px;padding:6px 8px;background:#fff;border:1px solid #d1d1d6;border-radius:8px;transition:all .2s ease;min-width:0}.media-list-item:hover{box-shadow:0 2px 8px #0000000f;border-color:#c7d2e0}.media-order-btns{display:flex;flex-direction:column;gap:2px;flex-shrink:0}.media-order-btn{width:20px;height:18px;display:flex;align-items:center;justify-content:center;background:#f2f4f6;border:1px solid #d1d1d6;border-radius:3px;cursor:pointer;color:#555;font-size:9px;padding:0;transition:all .15s}.media-order-btn:hover:not(:disabled){background:#00adb5;border-color:#00adb5;color:#fff}.media-order-btn:disabled{opacity:.3;cursor:not-allowed}.media-list-row1,.media-list-row2{display:none}.media-list-thumb{width:56px;height:42px;border-radius:5px;overflow:hidden;background:#f2f4f6;display:flex;align-items:center;justify-content:center;flex-shrink:0;border:1px solid #e5e8eb}.media-list-thumb img,.media-list-thumb video{width:100%;height:100%;object-fit:cover}.media-list-icon{font-size:16px;color:#34c759;display:flex;align-items:center;justify-content:center;flex-shrink:0;width:20px}.media-list-info{flex:1;display:flex;flex-direction:column;gap:0;min-width:0}.media-list-name{font-size:12px;font-weight:500;color:#1d1d1f;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0}.media-list-type{display:none}.media-list-duration{display:flex;align-items:center;gap:4px;flex-shrink:0}.media-list-remove{margin-left:0;flex-shrink:0}.duration-input{width:56px;padding:4px 6px;border:1px solid #d1d1d6;border-radius:6px;font-size:13px;text-align:center;color:#1d1d1f;background:#f5f5f7;outline:none;transition:border-color .2s ease}.duration-input:focus{border-color:#00adb5;background:#fff}.duration-label{font-size:12px;color:#86868b;white-space:nowrap}.media-list-remove{padding:6px 8px;background:transparent;border:none;color:#ff3b30;cursor:pointer;opacity:.7;transition:opacity .2s ease;font-size:14px}.media-list-remove:hover{opacity:1}.empty-media-list{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;text-align:center;color:#86868b;font-size:13px;font-weight:500;border:2px dashed #d1d1d6;border-radius:12px;background:#fafafa;min-height:240px}.drop-zone{min-height:200px;border:2px dashed #d1d1d6;border-radius:12px;padding:20px;transition:all .2s ease}.drop-zone.drag-over{border-color:#34c759;background:#34c7590d}.assigned-media-preview{display:flex;flex-direction:column;gap:12px;align-items:center}.assigned-media-preview img{width:100%;max-height:200px;object-fit:contain;border-radius:8px}.video-preview-thumb{width:100%;height:200px;background:#f5f5f7;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:48px;color:#86868b}.assigned-media-info{display:flex;align-items:center;gap:10px;padding:12px;background:#f5f5f7;border-radius:8px;width:100%}.assigned-media-info svg{font-size:18px;color:#34c759}.assigned-media-info .media-name{flex:1;font-size:14px;font-weight:500;color:#1d1d1f}.assigned-media-info .media-type{font-size:11px;font-weight:600;color:#86868b;letter-spacing:.3px}.empty-drop-zone{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;min-height:180px;color:#86868b;text-align:center}.empty-drop-zone svg{font-size:32px}.empty-drop-zone span{font-size:14px;font-weight:500;line-height:1.5}@media(max-width:1024px){.assignment-container{grid-template-columns:1fr}.zones-panel{border-right:none;border-bottom:1px solid #d1d1d6}}.custom-template-creator{display:flex;flex-direction:column;height:100%;background:#f5f5f7}.creator-header{display:flex;align-items:center;justify-content:space-between;padding:20px 32px;background:#fff;border-bottom:1px solid #e5e5ea}.header-left{display:flex;align-items:center;gap:20px}.header-right{display:flex;align-items:center;gap:12px}.creator-header h2{margin:0;font-size:22px;font-weight:600;color:#1d1d1f;letter-spacing:-.4px}.template-name-input{width:280px;padding:10px 16px;background:#f5f5f7;border:1px solid transparent;border-radius:8px;font-size:15px;color:#1d1d1f;transition:all .2s ease}.template-name-input:focus{outline:none;background:#fff;border-color:#1d1d1f;box-shadow:0 0 0 3px #0000000d}.template-name-input::placeholder{color:#86868b}.back-btn,.save-btn{display:flex;align-items:center;gap:8px;padding:10px 20px;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease;letter-spacing:-.1px}.back-btn{background:#f5f5f7;color:#1d1d1f}.back-btn:hover{background:#e5e5ea}.save-btn{background:#34c759;color:#fff}.save-btn:hover{background:#2fb350;box-shadow:0 4px 12px #34c75940}.creator-body{flex:1;display:grid;grid-template-columns:400px 1fr;gap:0;overflow:hidden}.settings-panel{background:#f5f5f7;border-right:1px solid #e5e5ea;overflow-y:auto;padding:24px 20px}.setting-section{margin-bottom:24px}.setting-section label{display:block;font-size:12px;font-weight:600;color:#86868b;margin-bottom:10px;letter-spacing:.3px;text-transform:uppercase}.orientation-buttons{display:grid;grid-template-columns:1fr 1fr;gap:8px}.orientation-buttons button{display:flex;align-items:center;justify-content:center;gap:8px;padding:12px;background:#fff;border:1.5px solid #d1d1d6;border-radius:8px;font-size:13px;font-weight:600;color:#1d1d1f;cursor:pointer;transition:all .15s ease}.orientation-buttons button:hover{border-color:#86868b}.orientation-buttons button.active{background:#1d1d1f;color:#fff;border-color:#1d1d1f}.orientation-buttons button svg{font-size:16px}.mode-buttons{display:grid;grid-template-columns:1fr 1fr;gap:8px}.mode-buttons button{display:flex;align-items:center;justify-content:center;gap:8px;padding:12px;background:#fff;border:1.5px solid #d1d1d6;border-radius:8px;font-size:13px;font-weight:600;color:#1d1d1f;cursor:pointer;transition:all .15s ease}.mode-buttons button:hover{border-color:#86868b}.mode-buttons button.active{background:#34c759;color:#fff;border-color:#34c759}.mode-buttons button svg{font-size:16px}.section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.add-zone-btn{display:flex;align-items:center;gap:6px;padding:6px 12px;background:#34c759;border:none;border-radius:6px;font-size:12px;font-weight:600;color:#fff;cursor:pointer;transition:all .2s ease}.add-zone-btn:hover{background:#2fb350;transform:translateY(-1px)}.zones-list{display:flex;flex-direction:column;gap:8px}.zone-list-item{display:flex;align-items:center;justify-content:space-between;padding:12px;background:#f5f5f7;border:1px solid #d1d1d6;border-radius:8px;cursor:pointer;transition:all .2s ease}.zone-list-item:hover{background:#fff;box-shadow:0 2px 8px #0000000a}.zone-list-item.selected{background:#fff;border-color:#1d1d1f;box-shadow:0 0 0 3px #0000000d}.zone-list-info{display:flex;flex-direction:column;gap:4px}.zone-list-name{font-size:14px;font-weight:600;color:#1d1d1f;letter-spacing:-.1px}.zone-list-size{font-size:12px;color:#86868b}.zone-delete-btn{padding:6px 8px;background:transparent;border:none;color:#ff3b30;cursor:pointer;opacity:.7;transition:opacity .2s ease}.zone-delete-btn:hover{opacity:1}.zone-edit-panel{margin-top:12px;padding:16px;background:#fff;border:2px solid #34c759;border-radius:10px;box-shadow:0 2px 12px #34c75926}.zone-edit-header{margin-bottom:12px}.zone-edit-header label{font-size:11px;font-weight:700;color:#34c759;letter-spacing:.5px;text-transform:uppercase}.zone-name-field{margin-bottom:12px}.zone-name-field input{width:100%;padding:10px 12px;background:#f5f5f7;border:1px solid transparent;border-radius:8px;font-size:14px;font-weight:600;color:#1d1d1f;transition:all .2s ease;box-sizing:border-box}.zone-name-field input:focus{outline:none;background:#fff;border-color:#34c759;box-shadow:0 0 0 3px #34c7591a}.zone-coords{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.coord-item{display:grid;grid-template-columns:16px 1fr;align-items:center;gap:8px;padding:10px 12px;background:#f5f5f7;border-radius:8px}.coord-label{font-size:12px;font-weight:700;color:#86868b;text-align:left}.coord-item input{width:100%;padding:0;background:transparent;border:none;font-size:15px;font-weight:700;color:#1d1d1f;text-align:right;box-sizing:border-box}.coord-item input:focus{outline:none}.coord-item input[type=number]::-webkit-inner-spin-button,.coord-item input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.coord-item input[type=number]{-moz-appearance:textfield}.preview-panel{background:#0a0a0a;display:flex;flex-direction:column;overflow:hidden}.preview-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;background:#ffffff0d;border-bottom:1px solid rgba(255,255,255,.1)}.preview-header h3{margin:0;font-size:16px;font-weight:600;color:#fff;letter-spacing:-.2px}.preview-info{display:flex;align-items:center;gap:16px}.preview-size,.preview-grid{font-size:13px;font-weight:500;color:#fff9}.preview-canvas-wrapper{flex:1;display:flex;align-items:center;justify-content:center;padding:32px;overflow:auto}.preview-canvas{position:relative;width:100%;max-width:800px;background:#2a2a2c;border:2px solid rgba(255,255,255,.2);border-radius:4px;box-shadow:0 8px 24px #00000080}.preview-canvas.draw-mode{cursor:crosshair}.grid-lines{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:1}.drawing-box{position:absolute;border:2px dashed #34c759;background:#34c75926;pointer-events:none;z-index:100;animation:drawingPulse 1s ease-in-out infinite}@keyframes drawingPulse{0%,to{border-color:#34c759;background:#34c75926}50%{border-color:#2fb350;background:#34c75940}}.preview-zone{position:absolute;border:1px solid rgba(255,255,255,.9);display:flex;align-items:center;justify-content:center;cursor:grab;opacity:.7;z-index:10;transition:opacity .15s cubic-bezier(.4,0,.2,1)}.preview-zone.dragging{transition:none;cursor:grabbing}.preview-zone:hover{opacity:.85;border-color:#fff}.preview-zone.selected{opacity:1;border-color:#fff;border-width:2px;z-index:20}.zone-label{font-size:14px;font-weight:600;color:#fff;text-shadow:0 2px 4px rgba(0,0,0,.5);letter-spacing:-.1px;pointer-events:none;-webkit-user-select:none;user-select:none}.resize-handle{position:absolute;width:12px;height:12px;background:#fff;border:2px solid #1d1d1f;border-radius:50%;z-index:10;transition:all .15s ease}.resize-handle:hover{background:#34c759;transform:scale(1.3);box-shadow:0 0 8px #34c75999}.resize-handle.nw{top:-6px;left:-6px;cursor:nw-resize}.resize-handle.ne{top:-6px;right:-6px;cursor:ne-resize}.resize-handle.sw{bottom:-6px;left:-6px;cursor:sw-resize}.resize-handle.se{bottom:-6px;right:-6px;cursor:se-resize}@media(max-width:1024px){.creator-body{grid-template-columns:1fr}.settings-panel{border-right:none;border-bottom:1px solid #d1d1d6}}.lw-mirror-page{display:flex;flex-direction:column;height:100%;background:#f7f8fa}.lw-mirror-toolbar{display:flex;justify-content:space-between;align-items:center;padding:14px 20px;background:#fff;border-bottom:1px solid #eaecef;flex-wrap:wrap;gap:12px}.lw-mirror-status{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.badge{padding:4px 10px;border-radius:4px;font-size:12px;font-weight:600;border:1px solid #d1d6db;background:#fff;color:#4e5968}.badge-on{color:#191f28}.badge-off{color:#8b95a1}.last-sync{font-size:12px;color:#8b95a1}.lw-mirror-actions{display:flex;gap:8px;align-items:center}.btn-link{display:inline-flex;align-items:center;gap:6px;padding:7px 12px;border-radius:6px;background:#fff;color:#4e5968;text-decoration:none;font-size:13px;font-weight:500;border:1px solid #d1d6db;transition:background .15s}.btn-link:hover{background:#f2f4f6}.btn-sync{display:inline-flex;align-items:center;gap:6px;padding:7px 14px;border-radius:6px;background:#191f28;color:#fff;border:1px solid #191f28;font-size:13px;font-weight:600;cursor:pointer;transition:background .15s}.btn-sync:hover{background:#333d4b}.btn-sync:disabled{background:#d1d6db;color:#fff;border-color:#d1d6db;cursor:not-allowed}.spin{animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.lw-mirror-content{display:grid;grid-template-columns:1fr 400px;gap:16px;padding:16px;flex:1;min-height:0;overflow:hidden}.lw-cal{background:#fff;border:1px solid #eaecef;border-radius:8px;overflow:hidden;display:flex;flex-direction:column}.lw-cal-header{display:flex;align-items:center;justify-content:center;background:#191f28;color:#fff;padding:20px 16px;gap:28px;border-bottom:1px solid #191f28}.lw-cal-header h2{margin:0;font-size:26px;font-weight:700;letter-spacing:1px;color:#fff}.lw-cal-nav{background:transparent;border:1px solid transparent;color:#ffffffb3;font-size:16px;cursor:pointer;padding:8px 14px;border-radius:6px;transition:background .15s,color .15s}.lw-cal-nav:hover{background:#ffffff1f;color:#fff}.lw-cal-weekdays{display:grid;grid-template-columns:repeat(7,1fr);background:#fafbfc;border-bottom:1px solid #eaecef}.lw-cal-wd{text-align:center;padding:12px 0;font-size:13px;font-weight:700;letter-spacing:1px;color:#6b7684}.lw-cal-wd.sun{color:#e34d4d}.lw-cal-wd.sat{color:#4e5968}.lw-cal-grid{display:grid;grid-template-columns:repeat(7,1fr);flex:1;min-height:0;background:#fff}.lw-cal-cell{background:#fff;padding:10px 12px;min-height:120px;display:flex;flex-direction:column;cursor:pointer;transition:background .12s;overflow:hidden;border-right:1px solid #f2f4f6;border-bottom:1px solid #f2f4f6}.lw-cal-cell:nth-child(7n){border-right:none}.lw-cal-cell:hover:not(.empty){background:#fafbfc}.lw-cal-cell.empty{background:#fff;cursor:default}.lw-cal-cell.selected{background:#f7f8fa;box-shadow:inset 0 0 0 2px #191f28}.lw-cal-day{font-size:16px;font-weight:700;color:#191f28;margin-bottom:8px;line-height:1}.lw-cal-day.sun{color:#e34d4d}.lw-cal-day.sat{color:#4e5968}.lw-cal-events{list-style:none;padding:0;margin:0;font-size:13px;line-height:1.5;color:#4e5968}.lw-cal-events li{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding:1px 0;margin-bottom:2px;color:#333d4b;font-weight:500}.lw-cal-events li.more{color:#8b95a1;font-size:12px;font-weight:400}.lw-cal-loading{text-align:center;padding:20px;color:#8b95a1}.lw-detail{background:#fff;border:1px solid #eaecef;border-radius:8px;padding:18px;overflow-y:auto;display:flex;flex-direction:column}.lw-detail h3{margin:0 0 14px;padding-bottom:12px;border-bottom:1px solid #eaecef;font-size:15px;font-weight:700;color:#191f28}.lw-detail .empty{color:#8b95a1;text-align:center;padding:40px 0;font-size:13px}.lw-detail-list{display:flex;flex-direction:column;gap:12px}.lw-detail-card{border:1px solid #eaecef;border-radius:8px;padding:14px;background:#fff;transition:border-color .15s}.lw-detail-card:hover{border-color:#b0b8c1}.lw-detail-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.lw-detail-header h4{margin:0;font-size:15px;font-weight:700;color:#191f28}.status{font-size:11px;padding:3px 8px;border-radius:4px;background:#f2f4f6;color:#4e5968;font-weight:600;border:1px solid #eaecef}.lw-detail-title{font-size:13px;color:#4e5968;margin-bottom:10px;line-height:1.5}.lw-detail-meta{display:flex;gap:12px;font-size:12px;color:#6b7684;margin-bottom:10px}.lw-detail-meta .warn{color:#191f28;font-weight:600}.lw-detail-halls{background:#fafbfc;border:1px solid #eaecef;border-radius:6px;padding:10px 12px;margin-bottom:10px}.halls-label{font-size:11px;font-weight:600;color:#8b95a1;margin-bottom:6px;text-transform:uppercase;letter-spacing:.5px}.lw-detail-halls ul{margin:0;padding-left:16px;font-size:12px;line-height:1.7;color:#4e5968}.lw-detail-halls li strong{color:#191f28;font-weight:600}.lw-detail-card details{margin-top:8px;font-size:12px}.lw-detail-card details summary{cursor:pointer;color:#4e5968;font-size:12px;font-weight:500;padding:4px 0}.lw-detail-card details summary:hover{color:#191f28}.lw-detail-card pre{background:#fafbfc;padding:10px;border:1px solid #eaecef;border-radius:6px;font-size:11px;line-height:1.6;white-space:pre-wrap;max-height:200px;overflow-y:auto;margin:6px 0 0;color:#4e5968;font-family:inherit}.lw-detail-footer{display:flex;justify-content:space-between;align-items:center;margin-top:10px;padding-top:10px;border-top:1px solid #eaecef;font-size:11px}.lw-detail-footer .uid{color:#8b95a1;font-family:Roboto Mono,monospace}.lw-detail-footer a{color:#4e5968;text-decoration:none;font-weight:500;display:inline-flex;align-items:center;gap:4px}.lw-detail-footer a:hover{color:#191f28;text-decoration:underline}@media(max-width:1100px){.lw-mirror-content{grid-template-columns:1fr}.lw-detail{max-height:400px}}.lw-selection-panel{background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-xs);padding:20px;display:flex;flex-direction:column;min-height:100%}.lw-sel-header{display:flex;justify-content:space-between;align-items:center;padding-bottom:14px;margin-bottom:12px;border-bottom:1px solid var(--color-border)}.lw-sel-header h3{margin:0;font-size:14px;font-weight:700;color:var(--color-text-primary);display:flex;align-items:center;gap:6px}.lw-sel-date{font-size:12px;font-weight:500;color:var(--color-text-tertiary);font-variant-numeric:tabular-nums}.lw-sel-hint{font-size:12px;color:var(--color-text-secondary);margin:0 0 12px;line-height:1.6}.lw-sel-priority{display:inline-block;margin-top:4px;color:var(--color-warning);font-size:11px;font-weight:500}.lw-sel-empty{padding:32px 16px;text-align:center;color:var(--color-text-tertiary);font-size:13px;background:var(--color-bg-tertiary);border-radius:var(--radius-md)}.lw-sel-list{display:flex;flex-direction:column;gap:8px;flex:1;overflow-y:auto;margin-bottom:14px}.lw-sel-row{display:flex;align-items:flex-start;gap:10px;background:var(--color-bg-primary);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:12px 14px;text-align:left;cursor:pointer;transition:border-color .15s,background .15s,transform .15s;font-family:inherit;width:100%}.lw-sel-row:hover{background:var(--color-bg-hover);border-color:var(--color-border-hover)}.lw-sel-row.draft{background:#e0f7f8;border-color:#00adb5}.lw-sel-row.pending{border-color:var(--color-warning);background:var(--color-warning-bg)}.lw-sel-row-icon{flex-shrink:0;margin-top:2px;font-size:16px;color:#00adb5;display:inline-flex}.lw-sel-row-icon .empty-circle{color:var(--color-border-dark)}.lw-sel-row-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}.lw-sel-row-top{display:flex;justify-content:space-between;align-items:center;gap:6px;flex-wrap:wrap}.lw-sel-time{font-size:12px;font-weight:600;color:var(--color-text-secondary);font-variant-numeric:tabular-nums}.lw-sel-pending-badge{font-size:10px;font-weight:600;color:var(--color-warning);background:#fff;border:1px solid #ffd591;padding:2px 6px;border-radius:var(--radius-xs)}.lw-sel-organizer{font-size:13px;font-weight:700;color:var(--color-text-primary);line-height:1.35;word-break:keep-all}.lw-sel-title{font-size:12px;color:var(--color-text-secondary);line-height:1.4;word-break:keep-all}.lw-sel-meta{display:flex;gap:8px;font-size:11px;color:var(--color-text-tertiary);margin-top:2px}.lw-sel-actions{display:flex;gap:8px;padding-top:12px;border-top:1px solid var(--color-border)}.lw-sel-cancel{flex-shrink:0;height:40px;padding:0 16px;background:var(--color-bg-primary);color:var(--color-text-secondary);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:13px;font-weight:600;cursor:pointer;transition:background .15s,border-color .15s}.lw-sel-cancel:hover:not(:disabled){background:var(--color-bg-hover);border-color:var(--color-border-hover)}.lw-sel-cancel:disabled{opacity:.5;cursor:not-allowed}.lw-sel-apply{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:6px;height:40px;padding:0 16px;background:var(--color-border-dark);color:#fff;border:none;border-radius:var(--radius-md);font-size:13px;font-weight:700;cursor:not-allowed;transition:background .15s,box-shadow .15s}.lw-sel-apply.active{background:#00adb5;cursor:pointer}.lw-sel-apply.active:hover:not(:disabled){background:#0091a0;box-shadow:0 2px 8px #00adb540}.lw-sel-apply:disabled{cursor:not-allowed}.lw-sel-row-wrap{display:flex;flex-direction:column;gap:6px;margin-bottom:4px}.lw-sel-room-chips{display:flex;align-items:center;flex-wrap:wrap;gap:6px;padding:6px 8px 8px;border-top:1px dashed var(--color-border)}.lw-sel-room-chips-label{font-size:11px;font-weight:600;color:var(--color-text-secondary, #7A8290);letter-spacing:.3px;margin-right:2px}.lw-sel-room-chip{display:inline-flex;align-items:center;justify-content:center;min-width:28px;height:28px;padding:0 8px;border:1.5px solid var(--color-border, #D5DAE0);border-radius:14px;background:#fff;color:var(--color-text-secondary, #7A8290);font-size:12px;font-weight:700;cursor:pointer;transition:background .12s ease,border-color .12s ease,color .12s ease}.lw-sel-room-chip:hover:not(:disabled){border-color:#00adb5;color:#00adb5}.lw-sel-room-chip.self{border-style:dashed;border-color:#00adb5;color:#00adb5}.lw-sel-room-chip.on{background:#00adb5;border-color:#00adb5;color:#fff}.lw-sel-room-chip.on.self{border-style:solid;box-shadow:0 0 0 2px #00adb52e}.lw-sel-room-chip.pending{opacity:.55;cursor:wait}.lw-sel-room-chip:disabled{cursor:not-allowed}.space-detail{max-width:1600px;margin:0 auto;padding:24px 28px}.space-detail__header{display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding:18px 22px;background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-xs);margin-bottom:16px}.space-detail__title{font-size:22px;font-weight:700;letter-spacing:-.5px;color:#222831;margin:0;line-height:1.2}.space-detail__display-type{font-size:12px;font-weight:500;color:var(--color-text-tertiary);padding:4px 10px;background:var(--color-bg-tertiary);border-radius:var(--radius-full);white-space:nowrap}.space-detail__status{padding:4px 12px;border-radius:var(--radius-full);font-size:12px;font-weight:600;display:inline-flex;align-items:center;gap:6px;white-space:nowrap}.space-detail__status:before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor;display:inline-block;flex-shrink:0}.space-detail__status--online{background:var(--color-success-bg);color:var(--color-success)}.space-detail__status--offline{background:var(--color-danger-bg);color:var(--color-danger)}.space-detail__status--unpaired{background:var(--color-warning-bg);color:var(--color-warning)}.space-detail__status-player{font-weight:500;opacity:.8;margin-left:2px}.space-detail__last-seen{margin-left:auto;font-size:12px;color:var(--color-text-tertiary)}.space-card{background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-xs);padding:20px;display:flex;flex-direction:column;position:relative;min-height:100%}.space-card__header{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:700;color:var(--color-text-primary);padding-bottom:14px;margin-bottom:16px;border-bottom:1px solid var(--color-border)}.space-card__header-icon{color:#222831;font-size:13px;display:inline-flex}.space-card__header-meta{margin-left:auto;font-size:12px;font-weight:500;color:var(--color-text-tertiary)}.space-card.is-locked{opacity:.5;pointer-events:none}.space-card__lock-badge{position:absolute;top:12px;right:12px;background:var(--color-warning-bg);color:var(--color-warning);padding:4px 10px;border-radius:var(--radius-xs);font-size:11px;font-weight:600;border:1px solid #ffd591;z-index:2;pointer-events:auto}.space-detail__grid{display:grid;gap:14px;margin-bottom:16px;align-items:stretch}.space-detail__grid--3col{grid-template-columns:repeat(3,minmax(0,1fr))}.space-detail__grid--2col{grid-template-columns:repeat(2,minmax(0,1fr))}@media(max-width:1100px){.space-detail__grid--3col,.space-detail__grid--2col{grid-template-columns:1fr}}.space-form__row{margin-bottom:12px}.space-form__label{display:block;font-size:12px;font-weight:500;color:var(--color-text-tertiary);margin-bottom:6px}.space-form__label-required{color:#dc2626}.space-form__label-hint{font-size:11px;color:var(--color-text-tertiary);font-weight:400}.space-form__input{width:100%;height:38px;padding:0 12px;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-bg-primary);color:var(--color-text-primary);font-size:13px;box-sizing:border-box;transition:border-color .15s,box-shadow .15s}.space-form__input:hover{border-color:var(--color-border-hover)}.space-form__input:focus{outline:none;border-color:#222831;box-shadow:0 0 0 3px #7b2d3b1f}.space-form__time-row{display:flex;align-items:flex-end;gap:10px;flex-wrap:wrap;margin-bottom:12px}.space-form__time-sep{padding-bottom:10px;font-size:16px;font-weight:600;color:var(--color-text-tertiary)}.space-form__advanced-toggle{width:100%;margin-top:4px;padding:10px;background:var(--color-bg-tertiary);border:1px dashed var(--color-border-dark);border-radius:var(--radius-sm);font-size:12px;color:var(--color-text-secondary);cursor:pointer;transition:background .15s,border-color .15s}.space-form__advanced-toggle:hover{background:var(--color-bg-hover);border-color:#222831}.space-form__advanced-section{margin-top:14px;padding-top:14px;border-top:1px dashed var(--color-border);display:flex;flex-direction:column;gap:10px}.space-form__error{margin-top:12px;padding:10px 12px;border-radius:var(--radius-sm);font-size:12px;background:var(--color-danger-bg);color:var(--color-danger);border:1px solid #f5c6cb}.space-form__actions{display:flex;gap:8px;margin-top:16px}.space-btn{height:40px;padding:0 18px;border:none;border-radius:var(--radius-md);font-size:13px;font-weight:600;cursor:pointer;transition:all .15s}.space-btn--primary{flex:1;background:#222831;color:#fff}.space-btn--primary:hover:not(:disabled){background:#6a2733;box-shadow:0 2px 8px #7b2d3b40}.space-btn--primary:disabled{opacity:.6;cursor:not-allowed}.space-btn--ghost{background:var(--color-bg-primary);color:var(--color-text-secondary);border:1px solid var(--color-border)}.space-btn--ghost:hover:not(:disabled){background:var(--color-bg-hover);border-color:var(--color-border-hover)}.space-events{display:flex;flex-direction:column;gap:10px}.space-event-row{padding:12px 14px;border-radius:var(--radius-md);border:1px solid var(--color-border);background:var(--color-bg-primary);transition:border-color .15s,background .15s}.space-event-row:hover{border-color:var(--color-border-hover)}.space-event-row.is-editing{border:2px solid #222831;background:#fbf5f6}.space-event-row__inner{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.space-event-row__body{flex:1;min-width:0}.space-event-row__time{font-size:13px;font-weight:600;color:var(--color-text-secondary);margin-bottom:4px;font-variant-numeric:tabular-nums}.space-event-row__title{font-size:14px;font-weight:500;color:var(--color-text-primary);margin-bottom:2px;word-break:keep-all}.space-event-row__org{font-size:12px;color:var(--color-text-tertiary)}.space-event-row__actions{display:flex;gap:4px;flex-shrink:0}.space-event-row__icon-btn{width:32px;height:32px;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-bg-primary);color:var(--color-text-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:12px;transition:all .15s}.space-event-row__icon-btn:hover{background:var(--color-bg-hover);border-color:var(--color-border-hover)}.space-event-row__icon-btn--danger{color:var(--color-danger)}.space-event-row__icon-btn--danger:hover{background:var(--color-danger-bg);border-color:#f5c6cb}.space-empty{padding:36px 16px;text-align:center;font-size:13px;color:var(--color-text-tertiary);background:var(--color-bg-tertiary);border-radius:var(--radius-md);line-height:1.7}.space-empty-hint{font-size:12px;opacity:.7;display:block;margin-top:2px}.space-notice{display:flex;align-items:flex-start;gap:14px;padding:16px 20px;border-radius:var(--radius-lg);border:1px solid;margin-bottom:16px}.space-notice__icon{font-size:24px;line-height:1;flex-shrink:0}.space-notice__body{flex:1;min-width:0}.space-notice__title{font-size:14px;font-weight:700;margin-bottom:4px}.space-notice__text{font-size:12px;color:var(--color-text-secondary);line-height:1.6}.space-notice__links{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.space-notice__link{display:inline-flex;align-items:center;gap:4px;padding:7px 13px;font-size:12px;font-weight:600;color:var(--color-primary, #0064FF);background:#fff;border:1px solid var(--color-primary, #0064FF);border-radius:999px;cursor:pointer;transition:background .15s,color .15s}.space-notice__link:hover{background:var(--color-primary, #0064FF);color:#fff}.space-notice--neutral{background:var(--color-bg-tertiary);border-color:var(--color-border)}.space-notice--neutral .space-notice__title{color:var(--color-text-primary)}.space-notice--brand{background:#fdf6f7;border-color:#e8d0d6}.space-notice--brand .space-notice__title{color:#222831}.space-notice--info{background:var(--color-main-light);border-color:#c7d4ff}.space-notice--info .space-notice__title{color:#1f4f8b}.bg-panel__header{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding-bottom:14px;margin-bottom:16px;border-bottom:1px solid var(--color-border)}.bg-panel__title{font-size:14px;font-weight:700;color:var(--color-text-primary);display:inline-flex;align-items:center;gap:8px}.bg-panel__hint{font-size:12px;font-weight:500;color:var(--color-text-tertiary)}.bg-panel__chip{margin-left:auto;background:var(--color-main-light);color:var(--color-main);border:1px solid #c7d4ff;font-size:11px;font-weight:600;padding:4px 10px;border-radius:var(--radius-full);white-space:nowrap}.bg-panel__error{background:var(--color-danger-bg);border:1px solid #ffa39e;border-radius:var(--radius-md);padding:10px 14px;margin-bottom:12px;font-size:12px;color:var(--color-danger);display:flex;justify-content:space-between;align-items:center;gap:8px}.bg-panel__error-close{background:transparent;border:none;cursor:pointer;color:var(--color-danger);font-size:14px;padding:0 4px}.bg-panel__tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}@media(max-width:900px){.bg-panel__tiles{grid-template-columns:repeat(2,1fr)}}@media(max-width:600px){.bg-panel__tiles{grid-template-columns:1fr}}.bg-panel__tiles-empty{grid-column:1 / -1;padding:24px;text-align:center;color:var(--color-text-tertiary);font-size:12px}.bg-tile{padding:0;border:2px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden;cursor:pointer;background:transparent;text-align:left;transition:border-color .12s,box-shadow .12s;display:flex;flex-direction:column}.bg-tile:not(:disabled):hover{border-color:var(--color-border-hover);box-shadow:var(--shadow-sm)}.bg-tile.is-selected{border-color:#222831;box-shadow:0 0 0 3px #7b2d3b26}.bg-tile:disabled{cursor:wait}.bg-tile__shot{width:100%;position:relative;overflow:hidden;background:#f5f6f9;-webkit-user-select:none;user-select:none;pointer-events:none}.bg-tile__caption{padding:12px 14px;font-size:13px;font-weight:600;color:var(--color-text-primary);background:var(--color-bg-primary);border-top:1px solid var(--color-border);display:flex;align-items:center;justify-content:space-between;gap:6px}.bg-tile.is-selected .bg-tile__caption{background:#fbf5f6;color:#222831}.bg-tile__check{font-size:11px;font-weight:600;flex-shrink:0}.bg-preview{min-width:0}.bg-preview__container{width:100%;max-width:1200px}.bg-preview__title{font-size:13px;font-weight:600;color:var(--color-text-primary);margin-bottom:10px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.bg-preview__title-sub{font-size:12px;color:var(--color-text-tertiary);font-weight:400}.bg-preview__frame{width:100%;background:#fff;border-radius:var(--radius-md);overflow:hidden;position:relative;border:1px solid var(--color-border)}.bg-preview__iframe{width:100%;height:100%;border:none;position:absolute;top:0;left:0;display:block}.bg-preview__loading{color:var(--color-text-tertiary);font-size:13px;text-align:center;padding:40px;position:absolute;inset:0;display:flex;align-items:center;justify-content:center}.bg-preview__saving{margin-top:10px;font-size:12px;color:#222831}.parking-mode-btn{flex:1 1 220px;text-align:left;padding:14px 16px;border:1.5px solid var(--color-border);border-radius:12px;background:var(--color-bg-primary, #fff);cursor:pointer;transition:border-color .15s,background .15s}.parking-mode-btn:hover{border-color:#b0bec5}.parking-mode-btn.is-active{border-color:var(--color-primary, #0064FF);background:#0064ff0a}.parking-mode-btn .pm-title{font-size:14px;font-weight:700;color:var(--color-text-primary);display:flex;align-items:center;gap:6px}.parking-mode-btn .pm-default{font-size:11px;font-weight:600;color:var(--color-primary, #0064FF);background:#0064ff1a;padding:2px 7px;border-radius:999px}.parking-mode-btn .pm-desc{font-size:12px;color:var(--color-text-secondary);margin-top:5px;line-height:1.5}.playlist-manager{display:flex;height:calc(100vh - 60px);background-color:var(--color-bg-primary);color:var(--color-text-primary);font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif}.sidebar{width:280px;background-color:var(--color-bg-secondary);border-right:1px solid var(--color-border);display:flex;flex-direction:column}.sidebar h3,.scenes-sidebar h3{padding:20px;margin:0;font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--color-text-secondary);border-bottom:1px solid var(--color-border)}.create-playlist{padding:16px;display:flex;gap:8px;border-bottom:1px solid var(--color-border)}.create-playlist input{flex:1;background:var(--color-bg-primary);border:1px solid var(--color-border);color:var(--color-text-primary);padding:10px 14px;border-radius:var(--radius-md);font-size:14px;transition:all var(--transition-fast)}.create-playlist input:focus{outline:none;border-color:var(--color-text-secondary);box-shadow:0 0 0 3px #0000000d}.create-playlist input::placeholder{color:var(--color-text-tertiary)}.create-playlist button{background:var(--color-text-primary);border:none;color:#fff;width:40px;border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);display:flex;align-items:center;justify-content:center}.create-playlist button:hover{background:var(--color-text-secondary)}.playlist-list{list-style:none;padding:0;margin:0;overflow-y:auto;flex:1}.playlist-list li{padding:14px 20px;cursor:pointer;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--color-border);transition:all var(--transition-fast)}.playlist-list li:hover{background-color:var(--color-bg-hover)}.playlist-list li.active{background-color:var(--color-fill-tertiary);border-left:3px solid var(--color-text-primary);color:var(--color-text-primary);font-weight:600}.playlist-list li .count{font-size:11px;background:var(--color-bg-tertiary);padding:4px 10px;border-radius:var(--radius-full);color:var(--color-text-secondary);font-weight:500}.playlist-list li.active .count{background:var(--color-text-primary);color:#fff}.main-content{flex:1;display:flex;flex-direction:column;background-color:var(--color-bg-primary)}.playlist-header{padding:20px 24px;border-bottom:1px solid var(--color-border);display:flex;justify-content:space-between;align-items:center;background-color:var(--color-bg-secondary)}.playlist-header h2{margin:0;font-size:20px;font-weight:600;color:var(--color-text-primary)}.save-btn{background:var(--color-text-primary);color:#fff;border:none;padding:10px 20px;border-radius:var(--radius-md);cursor:pointer;display:flex;align-items:center;gap:8px;font-weight:600;font-size:14px;transition:all var(--transition-fast)}.save-btn:hover{background:var(--color-text-secondary);transform:translateY(-1px);box-shadow:var(--shadow-md)}.playlist-editor{flex:1;overflow-y:auto;padding:24px}.playlist-timeline{display:flex;flex-direction:column;gap:12px;max-width:900px;margin:0 auto}.playlist-item{display:flex;align-items:center;background:var(--color-bg-secondary);border-radius:var(--radius-lg);padding:16px;gap:16px;border:1px solid var(--color-border);transition:all var(--transition-fast);box-shadow:var(--shadow-sm)}.playlist-item:hover{border-color:var(--color-border-hover);box-shadow:var(--shadow-md)}.item-order{font-size:18px;font-weight:700;color:var(--color-text-tertiary);width:32px;text-align:center}.item-thumb{width:128px;height:72px;background:var(--color-bg-tertiary);border-radius:var(--radius-md);overflow:hidden;display:flex;align-items:center;justify-content:center}.item-thumb img{width:100%;height:100%;object-fit:cover}.no-thumb{font-size:11px;color:var(--color-text-tertiary)}.item-info{flex:1}.item-info h4{margin:0 0 8px;font-size:16px;font-weight:600;color:var(--color-text-primary)}.item-duration{display:flex;align-items:center;gap:8px;color:var(--color-text-secondary);font-size:13px}.item-duration input{background:var(--color-bg-primary);border:1px solid var(--color-border);color:var(--color-text-primary);width:60px;padding:6px 10px;border-radius:var(--radius-sm);text-align:center;font-size:13px}.item-duration input:focus{outline:none;border-color:var(--color-text-secondary);box-shadow:0 0 0 3px #0000000d}.item-actions{display:flex;gap:6px}.item-actions button{background:var(--color-bg-tertiary);border:none;color:var(--color-text-secondary);width:34px;height:34px;border-radius:var(--radius-md);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all var(--transition-fast)}.item-actions button:hover:not(:disabled){background:var(--color-bg-hover);color:var(--color-text-primary)}.item-actions button:disabled{opacity:.3;cursor:not-allowed}.item-actions .delete-btn{background:var(--color-red-bg);color:var(--color-red)}.item-actions .delete-btn:hover{background:var(--color-red);color:#fff}.scenes-sidebar{width:320px;background-color:var(--color-bg-secondary);border-left:1px solid var(--color-border);display:flex;flex-direction:column}.scenes-grid{padding:16px;overflow-y:auto;flex:1;display:grid;grid-template-columns:1fr 1fr;gap:12px}.scene-card{background:var(--color-bg-primary);border-radius:var(--radius-md);overflow:hidden;cursor:pointer;position:relative;border:1px solid var(--color-border);transition:all var(--transition-fast)}.scene-card:hover{transform:translateY(-2px);border-color:var(--color-border-hover);box-shadow:var(--shadow-md)}.scene-thumb{height:80px;background:var(--color-bg-tertiary);display:flex;align-items:center;justify-content:center}.scene-thumb img{width:100%;height:100%;object-fit:cover}.scene-name{padding:10px 12px;font-size:12px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--color-text-primary)}.add-overlay{position:absolute;inset:0;background:#1d1d1fd9;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:600;font-size:13px;opacity:0;transition:opacity var(--transition-fast);gap:6px}.scene-card:hover .add-overlay{opacity:1}.no-selection{flex:1;display:flex;align-items:center;justify-content:center;color:var(--color-text-tertiary);font-size:16px;flex-direction:column;gap:12px}.no-selection svg{font-size:48px;opacity:.5}.empty-state{text-align:center;padding:48px 24px;color:var(--color-text-tertiary);border:2px dashed var(--color-border);border-radius:var(--radius-lg)}.empty-state svg{font-size:48px;margin-bottom:16px;opacity:.5}.empty-state p{margin:0;font-size:15px}.auth-page{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:space-between;background:#f2f4f6;padding:0}.auth-header{width:100%;padding:20px 28px;display:flex;align-items:center}.auth-header-logo{display:flex;align-items:center;gap:10px}.auth-header-img{width:32px;height:auto;object-fit:contain}.auth-header-text{display:flex;flex-direction:column;gap:1px}.auth-header-title{font-size:13px;font-weight:700;color:#191f28;letter-spacing:-.3px;line-height:1.2}.auth-header-sub{font-size:11px;color:#8b95a1;font-weight:500;line-height:1.2}.auth-top{width:100%;display:flex;flex-direction:column;align-items:center;flex:1;justify-content:center;padding-bottom:20px}.auth-logo{text-align:center;margin-bottom:36px}.auth-logo-img{display:block;margin:0 auto;width:320px;max-width:80%;height:auto}.auth-logo-rist{font-size:48px;font-weight:900;color:#191f28;letter-spacing:8px;margin:0 0 6px;line-height:1;text-transform:uppercase}.auth-logo-rist-sub{font-size:18px;font-weight:700;color:#333d4b;letter-spacing:6px;margin:0}.auth-card{width:100%;max-width:400px;background:#fff;border-radius:20px;padding:40px 36px;box-shadow:0 4px 32px #00000014;border:1px solid #E5E8EB}.auth-form{display:flex;flex-direction:column;gap:16px}.auth-field{display:flex;flex-direction:column;gap:6px}.auth-field label{font-size:13px;font-weight:600;color:#333d4b;letter-spacing:-.1px}.auth-field input{height:48px;padding:0 16px;background:#f8f9fa;border:1.5px solid #E5E8EB;border-radius:10px;font-size:15px;color:#191f28;outline:none;transition:all .15s ease;box-sizing:border-box;width:100%}.auth-field input:focus{background:#fff;border-color:#00adb5;box-shadow:0 0 0 3px #00adb51a}.auth-field input.error{border-color:#f04452;background:#fff5f5}.auth-error-msg{font-size:12px;color:#f04452}.auth-error-banner{background:#fff2f2;border:1px solid #FFCCC7;border-radius:10px;padding:12px 14px;font-size:13px;color:#f04452;text-align:center;letter-spacing:-.1px;margin-bottom:16px}.auth-remember{display:flex;align-items:center;gap:8px;cursor:pointer;margin-top:-4px}.auth-remember input[type=checkbox]{width:16px;height:16px;accent-color:#00ADB5;cursor:pointer;flex-shrink:0}.auth-remember span{font-size:13px;color:#4e5968;font-weight:500;-webkit-user-select:none;user-select:none}.auth-btn-row{display:flex;gap:10px;margin-top:4px}.auth-cancel-btn{flex:1;height:52px;background:#f2f4f6;color:#4e5968;border:1.5px solid #E5E8EB;border-radius:12px;font-size:15px;font-weight:600;cursor:pointer;letter-spacing:-.3px;transition:all .15s ease}.auth-cancel-btn:hover:not(:disabled){background:#e5e8eb;border-color:#d1d6db}.auth-cancel-btn:disabled{opacity:.4;cursor:not-allowed}.auth-submit-btn{flex:2;height:52px;background:#00adb5;color:#fff;border:none;border-radius:12px;font-size:15px;font-weight:700;cursor:pointer;letter-spacing:-.3px;transition:all .15s ease;display:flex;align-items:center;justify-content:center;gap:8px}.auth-submit-btn:hover:not(:disabled){background:#009098;transform:translateY(-1px);box-shadow:0 4px 16px #00adb54d}.auth-submit-btn:disabled{opacity:.5;cursor:not-allowed}.auth-spinner{width:18px;height:18px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:auth-spin .7s linear infinite}@keyframes auth-spin{to{transform:rotate(360deg)}}.auth-bottom{width:100%;padding:20px;display:flex;align-items:center;justify-content:center;gap:8px;border-top:1px solid #E5E8EB;background:#fff}.auth-bottom-text{font-size:12px;color:#8b95a1}.auth-bottom-url{font-size:12px;color:#00adb5;font-family:monospace;background:#f0f5ff;padding:3px 10px;border-radius:6px}.auth-bottom-btn{padding:5px 12px;background:#f2f4f6;border:1px solid #E5E8EB;border-radius:6px;font-size:12px;font-weight:500;color:#333d4b;cursor:pointer;transition:all .15s}.auth-bottom-btn:hover{background:#e5e8eb}.lg-page{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:space-between;background:#f2f4f6;padding:0}.lg-spinner{width:40px;height:40px;border:3px solid #E5E8EB;border-top-color:#00adb5;border-radius:50%;animation:lg-spin .8s linear infinite;margin:auto}.lg-card{background:#fff;border-radius:16px;padding:40px 36px 36px;width:100%;max-width:460px;box-shadow:0 4px 24px #00000012;border:1px solid #E5E8EB;margin:auto;display:flex;flex-direction:column;gap:0}.lg-logo{text-align:center;margin-bottom:24px}.lg-logo-img{width:72px;height:auto;object-fit:contain;margin-bottom:14px}.lg-title{font-size:22px;font-weight:800;color:#191f28;letter-spacing:-.5px;margin:0 0 6px}.lg-sub{font-size:14px;color:#8b95a1;margin:0}.lg-badge{font-size:13px;font-weight:600;border-radius:8px;padding:10px 14px;text-align:center;margin-bottom:20px}.lg-badge-warning{background:#fff8e6;color:#b25c00;border:1px solid #FFDDA0}.lg-badge-error{background:#fff2f2;color:#c00020;border:1px solid #FFCCC7}.lg-machine-section{margin-bottom:20px}.lg-machine-label{font-size:12px;font-weight:700;color:#8b95a1;text-transform:uppercase;letter-spacing:.5px;margin:0 0 8px}.lg-machine-id-row{display:flex;align-items:center;gap:10px;background:#f2f4f6;border:1px solid #E5E8EB;border-radius:10px;padding:12px 14px;margin-bottom:8px}.lg-machine-id-value{flex:1;font-family:Consolas,Courier New,monospace;font-size:15px;font-weight:700;color:#00adb5;letter-spacing:1px;word-break:break-all}.lg-copy-btn{flex-shrink:0;height:32px;padding:0 12px;background:#fff;border:1px solid #C2D9FF;border-radius:8px;font-size:13px;font-weight:600;color:#00adb5;cursor:pointer;transition:all .15s;white-space:nowrap}.lg-copy-btn:hover{background:#ebf3ff}.lg-machine-hint{font-size:13px;color:#8b95a1;line-height:1.6;margin:0}.lg-divider{height:1px;background:#e5e8eb;margin:20px 0}.lg-key-section{display:flex;flex-direction:column;gap:10px}.lg-key-label{font-size:12px;font-weight:700;color:#8b95a1;text-transform:uppercase;letter-spacing:.5px}.lg-key-input{width:100%;padding:12px 14px;border:1px solid #E5E8EB;border-radius:10px;font-family:Consolas,Courier New,monospace;font-size:13px;color:#191f28;background:#fafafa;resize:none;outline:none;transition:border-color .15s;box-sizing:border-box;line-height:1.6}.lg-key-input:focus{border-color:#00adb5;background:#fff}.lg-key-input::placeholder{color:#c4cad3}.lg-error-msg{font-size:13px;color:#f04452;background:#fff2f2;border:1px solid #FFCCC7;border-radius:8px;padding:10px 14px;text-align:center}.lg-btn{height:52px;border:none;border-radius:12px;font-size:15px;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;transition:all .15s;width:100%}.lg-btn-primary{background:#00adb5;color:#fff}.lg-btn-primary:hover:not(:disabled){background:#009098}.lg-btn-primary:disabled{opacity:.5;cursor:not-allowed}.lg-btn-spinner{width:16px;height:16px;border:2px solid rgba(255,255,255,.4);border-top-color:#fff;border-radius:50%;animation:lg-spin .7s linear infinite;flex-shrink:0}.lg-footer{padding:20px;font-size:12px;color:#8b95a1;text-align:center}@keyframes lg-spin{to{transform:rotate(360deg)}}.mobile-quick-edit{display:flex;flex-direction:column;height:100vh;height:100dvh;background:#f5f5f7;font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,sans-serif;overflow:hidden;-webkit-overflow-scrolling:touch}.mq-header{display:flex;align-items:center;gap:12px;padding:12px 16px;background:#fff;border-bottom:1px solid #e5e5ea;flex-shrink:0;padding-top:env(safe-area-inset-top,12px)}.mq-back-btn{display:flex;align-items:center;justify-content:center;width:40px;height:40px;background:transparent;border:none;color:#1d1d1f;font-size:18px;cursor:pointer;border-radius:8px;-webkit-tap-highlight-color:transparent}.mq-back-btn:active{background:#f0f0f0}.mq-title{flex:1;margin:0;font-size:17px;font-weight:600;color:#1d1d1f;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mq-save-btn{display:flex;align-items:center;gap:6px;padding:10px 16px;background:#1d1d1f;color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s;-webkit-tap-highlight-color:transparent}.mq-save-btn:active{transform:scale(.96)}.mq-save-btn.saved{background:#34c759}.mq-save-btn:disabled{opacity:.6}.mq-preview{flex-shrink:0;padding:16px;background:#fff;border-bottom:1px solid #e5e5ea}.mq-canvas-wrapper{width:100%;aspect-ratio:16 / 9;background:#000;border-radius:8px;overflow:hidden}.mq-canvas-wrapper canvas{width:100%!important;height:100%!important;object-fit:contain}.mq-fields{flex:1;overflow-y:auto;padding:16px;padding-bottom:env(safe-area-inset-bottom,16px)}.mq-section-title{margin:0 0 12px;font-size:13px;font-weight:500;color:#86868b;text-transform:uppercase;letter-spacing:.5px}.mq-empty{text-align:center;padding:40px 20px;color:#86868b;font-size:15px}.mq-field{background:#fff;border-radius:12px;margin-bottom:12px;overflow:hidden;box-shadow:0 1px 3px #0000000a;transition:all .2s}.mq-field.active{box-shadow:0 2px 8px #00000014}.mq-field-header{display:flex;align-items:center;gap:12px;padding:16px;cursor:pointer;-webkit-tap-highlight-color:transparent}.mq-field-header:active{background:#f5f5f7}.mq-field-icon{display:flex;align-items:center;justify-content:center;width:36px;height:36px;background:#f5f5f7;border-radius:8px;color:#1d1d1f;font-size:14px}.mq-field.placeholder .mq-field-icon,.mq-field.image .mq-field-icon{background:#e8f4fd;color:#0071e3}.mq-field-label{flex:1;font-size:16px;font-weight:500;color:#1d1d1f}.mq-field-editor{padding:0 16px 16px;animation:slideDown .2s ease}@keyframes slideDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.mq-field-editor textarea{width:100%;padding:12px;border:1px solid #e5e5ea;border-radius:8px;font-size:16px;font-family:inherit;resize:none;background:#f5f5f7;color:#1d1d1f;-webkit-appearance:none}.mq-field-editor textarea:focus{outline:none;border-color:#1d1d1f;background:#fff}.mq-text-controls{display:flex;flex-direction:column;gap:12px;margin-top:12px}.mq-color-picker{display:flex;gap:8px;flex-wrap:wrap}.mq-color{width:36px;height:36px;border:2px solid transparent;border-radius:50%;cursor:pointer;transition:all .2s;-webkit-tap-highlight-color:transparent}.mq-color.active{border-color:#1d1d1f;transform:scale(1.1)}.mq-color[style*=ffffff]{border-color:#e5e5ea}.mq-font-size{display:flex;align-items:center;justify-content:center;gap:16px;padding:8px;background:#f5f5f7;border-radius:8px}.mq-font-size button{display:flex;align-items:center;justify-content:center;width:40px;height:40px;background:#fff;border:1px solid #e5e5ea;border-radius:8px;color:#1d1d1f;font-size:14px;cursor:pointer;-webkit-tap-highlight-color:transparent}.mq-font-size button:active{background:#f0f0f0}.mq-font-size span{font-size:15px;font-weight:500;color:#1d1d1f;min-width:60px;text-align:center}.mq-image-buttons{display:flex;gap:12px}.mq-image-btn{flex:1;display:flex;flex-direction:column;align-items:center;gap:8px;padding:20px;background:#f5f5f7;border:2px dashed #d2d2d7;border-radius:12px;cursor:pointer;transition:all .2s;-webkit-tap-highlight-color:transparent}.mq-image-btn:active{background:#e8e8ed;border-color:#1d1d1f}.mq-image-btn svg{font-size:24px;color:#1d1d1f}.mq-image-btn span{font-size:14px;font-weight:500;color:#1d1d1f}.mq-image-btn.camera{background:#e8f4fd;border-color:#0071e3}.mq-image-btn.camera svg{color:#0071e3}@media(orientation:landscape)and (max-height:500px){.mq-preview{position:fixed;left:0;top:56px;width:50%;height:calc(100% - 56px);padding:12px}.mq-canvas-wrapper{height:100%;aspect-ratio:auto}.mq-fields{margin-left:50%;height:calc(100vh - 56px)}}@media(min-width:768px){.mobile-quick-edit{max-width:600px;margin:0 auto}}
