:root{color-scheme:light;font-family:Inter,Spline Sans,Space Grotesk,system-ui,sans-serif;background:#f1f5f9;--bg: #f1f5f9;--panel: #ffffff;--panel-secondary: #f8fafc;--panel-shadow: rgba(0, 0, 0, .08);--panel-shadow-hover: 0 8px 24px rgba(0, 0, 0, .12);--ink: #1e293b;--ink-secondary: #475569;--muted: #64748b;--accent: #6366f1;--accent-strong: #4f46e5;--accent-light: rgba(99, 102, 241, .1);--teal: #0ea5e9;--line: #e2e8f0;--line-strong: #cbd5e1;--page-bg: #f1f5f9;--success: #10b981;--success-bg: rgba(16, 185, 129, .1);--success-border: rgba(16, 185, 129, .25);--error: #ef4444;--error-bg: rgba(239, 68, 68, .1);--error-border: rgba(239, 68, 68, .25);--warning: #f59e0b;--warning-bg: rgba(245, 158, 11, .1);--warning-border: rgba(245, 158, 11, .25);--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 20px}:root[data-theme=dark]{color-scheme:dark;--bg: #0d1117;--panel: rgba(30, 41, 59, .95);--panel-secondary: rgba(51, 65, 85, .8);--panel-shadow: rgba(0, 0, 0, .3);--panel-shadow-hover: 0 8px 24px rgba(0, 0, 0, .4);--ink: #f1f5f9;--ink-secondary: #cbd5e1;--muted: #94a3b8;--accent: #818cf8;--accent-strong: #a5b4fc;--accent-light: rgba(129, 140, 248, .15);--teal: #38bdf8;--line: rgba(71, 85, 105, .6);--line-strong: rgba(100, 116, 139, .8);--page-bg: linear-gradient(135deg, #1a1d24 0%, #22262e 50%, #1e2028 100%);--success: #34d399;--success-bg: rgba(52, 211, 153, .15);--success-border: rgba(52, 211, 153, .3);--error: #f87171;--error-bg: rgba(248, 113, 113, .15);--error-border: rgba(248, 113, 113, .3);--warning: #fbbf24;--warning-bg: rgba(251, 191, 36, .15);--warning-border: rgba(251, 191, 36, .3)}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:var(--page-bg);color:var(--ink)}#root{min-height:100vh}.app-root{min-height:100vh;padding:32px}.loading{font-size:18px;padding:48px}.auth-shell{min-height:100vh;display:grid;place-items:center;padding:32px;background:linear-gradient(135deg,#1a365d,#1b69aa,#2563eb)}.auth-card{width:min(440px,100%);background:var(--panel);border-radius:24px;padding:36px;box-shadow:0 30px 60px var(--panel-shadow);animation:fadeIn .6s ease-out}.auth-brand{display:grid;gap:6px;justify-items:start;margin-bottom:6px}.auth-actions{display:flex;justify-content:flex-end;margin-bottom:16px}.auth-header h1{margin:8px 0;font-family:Space Grotesk,sans-serif;font-size:30px}.eyebrow{text-transform:uppercase;letter-spacing:.16em;font-size:11px;color:var(--teal);margin:0}.subtle{color:var(--muted);margin:0}.auth-form{display:grid;gap:16px;margin-top:24px}label{display:grid;gap:8px;font-size:14px;color:var(--muted)}input{border:1px solid var(--line);border-radius:12px;padding:12px 14px;font-size:15px;font-family:inherit;background:var(--panel);color:var(--ink)}button{border:none;border-radius:var(--radius-sm);padding:10px 16px;font-weight:500;font-size:13px;font-family:inherit;background:linear-gradient(135deg,var(--accent) 0%,#8b5cf6 100%);color:#fff;cursor:pointer;box-shadow:0 2px 4px #6366f133;transition:all .15s ease}button:hover{transform:translateY(-1px);box-shadow:0 4px 12px #6366f14d}button:disabled{opacity:.6;cursor:not-allowed;box-shadow:none}button.ghost{background:transparent;color:var(--ink-secondary);padding:8px 12px;border:1px solid var(--line);box-shadow:none}button.ghost:hover{background:var(--panel-secondary);border-color:var(--line-strong);box-shadow:none;transform:none}.theme-toggle{padding:8px 14px}.error{color:#d34835;font-size:13px}.app-shell{display:grid;gap:24px}.top-bar{display:flex;justify-content:space-between;align-items:center;gap:16px;background:#1b69aa;color:#fff;padding:10px 20px;border-radius:0 0 12px 12px}.top-bar .ghost,.top-bar .user-chip span,.top-bar .selector-label,.top-bar .selector-hint,.top-bar .selector-arrow,.top-bar .selector-channel{color:#ffffffd9}.top-bar .ghost:hover{background:#ffffff26;color:#fff}.top-bar.compact{padding-bottom:6px}.top-bar.compact h1{font-size:24px}.top-bar.compact .build-badge{margin-top:6px;font-size:10px;padding:4px 10px}.top-bar.compact .brand-logo{width:350px}.top-bar.compact .brand-name{font-size:10px}.top-bar-left{display:flex;align-items:center;gap:18px}.brand{display:flex;align-items:center;gap:16px}.brand-logo{width:350px;height:auto;display:block}.brand-text{display:flex;flex-direction:column;gap:2px}.brand-title{margin:0;font-size:26px;font-weight:700;color:var(--ink);letter-spacing:-.02em;line-height:1}.brand-subtitle{font-size:13px;font-weight:600;color:var(--accent);text-transform:uppercase;letter-spacing:.15em}.brand-name{margin:0;font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--teal)}.top-bar h1{margin:4px 0 0;font-family:Space Grotesk,sans-serif;font-size:32px}.build-badge{display:inline-flex;align-items:center;justify-content:center;margin-top:10px;padding:6px 12px;border-radius:6px;background:linear-gradient(135deg,var(--accent) 0%,#8b5cf6 100%);color:#fff;font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.user-chip{display:flex;align-items:center;gap:12px;background:#ffffff26;padding:10px 16px;border-radius:999px;border:1px solid rgba(255,255,255,.2)}.workspace{display:grid;grid-template-columns:minmax(240px,320px) minmax(0,1fr);gap:24px;align-items:start}.workspace.workspace-collapsed{grid-template-columns:minmax(0,1fr);gap:24px}.workspace.workspace-collapsed .project-panel{display:none}.panel{background:var(--panel);border-radius:22px;padding:20px;box-shadow:0 18px 40px var(--panel-shadow);display:grid;gap:16px;animation:riseIn .6s ease-out}.panel.panel-collapsible{padding:16px 20px}.panel-summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:16px;cursor:pointer}.panel-summary::-webkit-details-marker{display:none}.panel-summary:after{content:"+";font-size:20px;color:var(--teal);font-weight:700}.panel[open]>.panel-summary:after{content:"-"}.panel.panel-collapsible[open]>.panel-summary{margin-bottom:12px}.panel-summary h2{margin:0;font-family:Space Grotesk,sans-serif}.panel-summary p{margin:4px 0 0}.panel-header h2{margin:0;font-family:Space Grotesk,sans-serif}.panel-body{display:grid;gap:16px}.list{display:grid;gap:10px}.list-item{display:flex;justify-content:space-between;align-items:center;padding:12px 14px;background:var(--panel);border-radius:14px;border:1px solid var(--line);text-align:left}.list-item-button{flex:1;text-align:left;background:transparent;border:none;padding:0;cursor:pointer}.list-item strong{display:block}.list-item span{font-size:12px;color:var(--muted)}.list-item.active{border-color:var(--accent);background:var(--accent-light)}.list-item.active strong{color:var(--ink)}.list-item.active span{color:var(--ink);opacity:.7}.stack{display:grid;gap:12px}.empty{font-size:14px;color:var(--muted)}.channel-editor{display:grid;gap:20px}.workspace.workspace-collapsed .channel-editor{width:100%}.project-panel{max-height:46vh;overflow:hidden}.project-panel .panel-body{overflow:auto;max-height:36vh;padding-right:6px}.app-fullscreen{padding:16px}.workspace-fullscreen{display:block;flex:1}.app-shell{display:flex;flex-direction:column;min-height:100vh;background:var(--bg);overflow:hidden}.channel-editor-fullscreen{width:100%}.top-bar-center{display:flex;align-items:center;gap:12px}.workspace-selector{display:flex;align-items:center;gap:10px;padding:8px 14px;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-md);cursor:pointer;min-width:220px;box-shadow:none}.workspace-selector:hover{border-color:var(--line-strong);transform:none;box-shadow:none}.selector-icon{font-size:14px}.selector-label{display:flex;align-items:center;gap:8px;flex:1;text-align:left}.selector-label strong{color:var(--ink);font-size:13px}.selector-channel{color:var(--muted);font-size:12px}.selector-hint{color:var(--muted);font-size:12px;font-style:italic}.selector-arrow{font-size:10px;color:var(--muted)}.publish-indicator{display:flex;align-items:center;gap:6px;padding:6px 12px;border-radius:var(--radius-md);font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.publish-indicator .indicator-dot{width:8px;height:8px;border-radius:50%;animation:pulse 2s infinite}.publish-indicator.live{background:#22c55e26;color:#22c55e}.publish-indicator.live .indicator-dot{background:#22c55e;box-shadow:0 0 8px #22c55e}.publish-indicator.processing{background:#eab30826;color:#eab308}.publish-indicator.processing .indicator-dot{background:#eab308;box-shadow:0 0 8px #eab308;animation:pulse 1s infinite}.publish-indicator.offline{background:#64748b26;color:#64748b}.publish-indicator.offline .indicator-dot{background:#64748b;animation:none}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.quick-import-btn{display:flex;align-items:center;gap:8px;padding:8px 14px;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-md);color:var(--ink);font-size:13px;font-weight:500;cursor:pointer;box-shadow:none;transition:all .15s ease}.quick-import-btn:hover:not(:disabled){border-color:var(--accent);background:var(--accent-light);transform:none;box-shadow:none}.quick-import-btn:disabled{opacity:.5;cursor:not-allowed}.quick-import-btn .btn-icon{font-size:14px}.empty-panel{display:flex;align-items:center;justify-content:center;min-height:400px;flex:1;background:var(--panel)}.empty-content{text-align:center;max-width:400px}.empty-content h2{margin:0 0 12px;font-size:24px;color:var(--ink)}.empty-content p{margin:0 0 20px;color:var(--muted)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;z-index:1000;animation:fadeIn .2s ease}.modal{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);width:min(540px,90vw);max-height:80vh;background:var(--panel);border-radius:var(--radius-xl);box-shadow:0 24px 48px #0003;z-index:1001;display:flex;flex-direction:column;overflow:hidden;animation:riseIn .3s ease}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:18px 20px;border-bottom:1px solid var(--line)}.modal-header h2{margin:0;font-size:18px;font-weight:600}.modal-close{width:32px;height:32px;padding:0;display:flex;align-items:center;justify-content:center;font-size:16px;border-radius:50%}.modal-tabs{display:flex;gap:0;border-bottom:1px solid var(--line)}.modal-tab{flex:1;padding:12px 16px;background:transparent;border:none;border-bottom:2px solid transparent;border-radius:0;color:var(--muted);font-size:13px;font-weight:500;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;box-shadow:none}.modal-tab:hover{background:var(--panel-secondary);transform:none;box-shadow:none}.modal-tab.active{color:var(--accent);border-bottom-color:var(--accent);background:transparent}.modal-tab:disabled{opacity:.4;cursor:not-allowed}.tab-badge{font-size:10px;padding:2px 8px;background:var(--accent-light);color:var(--accent);border-radius:10px;font-weight:600}.modal-body{flex:1;overflow:auto;padding:16px 20px}.modal-section{display:grid;gap:16px}.modal-list{display:grid;gap:8px;max-height:240px;overflow:auto}.modal-list-item{display:flex;align-items:center;gap:10px;padding:10px 12px;background:var(--panel-secondary);border:1px solid var(--line);border-radius:var(--radius-sm);transition:all .15s ease}.modal-list-item:hover{border-color:var(--line-strong)}.modal-list-item.active{border-color:var(--accent);background:var(--accent-light)}.modal-list-btn{flex:1;text-align:left;background:transparent;border:none;padding:0;cursor:pointer;box-shadow:none}.modal-list-btn:hover{transform:none;box-shadow:none}.modal-list-btn strong{display:block;font-size:13px;color:var(--ink);margin-bottom:2px}.modal-list-btn span{font-size:11px;color:var(--muted)}.modal-form{display:flex;gap:8px;align-items:center;padding-top:8px;border-top:1px solid var(--line)}.modal-form input{flex:1;padding:8px 12px;font-size:13px}.modal-form button{padding:8px 16px;font-size:12px;white-space:nowrap}.channel-form{flex-direction:column;align-items:stretch}.channel-form .form-row{display:flex;gap:8px}.channel-form .form-row input{flex:1}.checkbox-label{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--muted);cursor:pointer}.checkbox-label input[type=checkbox]{width:16px;height:16px;margin:0;padding:0;cursor:pointer}.virtual-url-input{flex:1}.channel-form button{align-self:flex-end}button.small{padding:5px 10px;font-size:11px}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.quick-import-modal{width:min(480px,90vw)}.modal-desc{margin:0 0 16px;color:var(--muted);font-size:13px}.import-options{display:grid;gap:14px}.import-options label{display:grid;gap:6px}.import-options label>span{font-size:12px;color:var(--muted);font-weight:500}.import-options select{padding:10px 12px;font-size:13px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--panel);color:var(--ink)}.file-input-label{display:grid;gap:6px}.file-input-wrapper{position:relative;border:2px dashed var(--line);border-radius:var(--radius-sm);padding:20px;text-align:center;transition:all .15s ease;cursor:pointer}.file-input-wrapper:hover{border-color:var(--accent);background:var(--accent-light)}.file-input-wrapper input[type=file]{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;cursor:pointer}.file-name{font-size:13px;color:var(--muted)}.modal-footer{display:flex;justify-content:flex-end;gap:10px;padding:16px 20px;border-top:1px solid var(--line)}.warning{color:var(--warning);font-size:12px;padding:8px 12px;background:var(--warning-bg);border:1px solid var(--warning-border);border-radius:var(--radius-sm);margin-top:8px}.asset-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.asset-count{font-size:12px;color:var(--muted)}.view-toggle{display:flex;gap:4px}.view-btn{width:28px;height:28px;padding:0;display:flex;align-items:center;justify-content:center;background:var(--panel-secondary);border:1px solid var(--line);border-radius:var(--radius-sm);color:var(--muted);font-size:14px;cursor:pointer;box-shadow:none}.view-btn:hover{border-color:var(--line-strong);transform:none;box-shadow:none}.view-btn.active{background:var(--accent-light);border-color:var(--accent);color:var(--accent)}.asset-container{max-height:200px;overflow-y:auto;margin-bottom:12px}.asset-grid-view{display:grid;grid-template-columns:repeat(auto-fill,minmax(70px,1fr));gap:8px}.asset-thumb{display:flex;flex-direction:column;background:var(--panel-secondary);border:1px solid var(--line);border-radius:var(--radius-sm);overflow:hidden;cursor:grab;transition:all .15s ease}.asset-thumb:hover{border-color:var(--accent)}.asset-thumb-preview{width:100%;aspect-ratio:1;display:flex;align-items:center;justify-content:center;background:var(--line);overflow:hidden}.asset-thumb-preview img{width:100%;height:100%;object-fit:cover}.asset-icon{font-size:24px}.asset-thumb-info{padding:4px 6px}.asset-thumb-name{font-size:9px;color:var(--ink-secondary);display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.asset-thumb-actions{display:flex;justify-content:center;gap:4px;padding:4px;border-top:1px solid var(--line);opacity:0;transition:opacity .15s ease}.asset-thumb:hover .asset-thumb-actions{opacity:1}.asset-thumb-actions button{width:22px;height:22px;padding:0;font-size:10px;border-radius:4px}.asset-list-view{display:flex;flex-direction:column;gap:6px}.asset-card{display:flex;align-items:center;gap:10px;padding:8px 10px;background:var(--panel-secondary);border:1px solid var(--line);border-radius:var(--radius-sm);cursor:grab;transition:all .15s ease}.asset-card:hover{border-color:var(--accent)}.asset-card-icon{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:var(--line);border-radius:4px;font-size:16px;flex-shrink:0;overflow:hidden}.asset-card-thumb{width:100%;height:100%;object-fit:cover}.asset-card-info{flex:1;min-width:0}.asset-card-info strong{display:block;font-size:12px;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.asset-card-info span{font-size:10px;color:var(--muted)}.asset-actions{display:flex;gap:6px}button.danger{color:var(--error)}button.danger:hover{background:var(--error-bg)}.asset-preview-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000bf;z-index:1000;animation:fadeIn .2s ease}.asset-preview-modal{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);background:var(--panel);border-radius:var(--radius-lg);box-shadow:0 24px 48px #0000004d;z-index:1001;max-width:90vw;max-height:90vh;display:flex;flex-direction:column;animation:slideUp .25s ease}.asset-preview-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid var(--line);gap:16px}.asset-preview-header span{font-size:14px;font-weight:500;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.asset-preview-body{padding:16px;overflow:auto;display:flex;align-items:center;justify-content:center}.asset-preview-body img{max-width:80vw;max-height:70vh;object-fit:contain;border-radius:var(--radius-sm)}.editor-stage{display:grid;gap:20px}.import-panel .panel-body{display:grid;gap:12px}.editor-layout{display:grid;gap:16px}.workspace.workspace-collapsed .editor-layout{grid-template-columns:minmax(260px,360px) minmax(0,1fr)}.editor-slide-list{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-lg);padding:14px;display:grid;gap:12px;box-shadow:0 4px 16px var(--panel-shadow)}:root[data-theme=dark] .editor-slide-list{background:var(--panel);border-color:var(--line)}.slide-list-header{display:flex;justify-content:space-between;align-items:center;gap:8px}.slide-thumbs{display:grid;gap:12px}.slide-thumb{border:2px solid var(--line);border-radius:var(--radius-md);padding:8px;background:var(--panel-secondary);text-align:left;cursor:pointer;transition:all .15s ease}.slide-thumb:hover{border-color:var(--line-strong);background:var(--panel)}.slide-thumb.active{border-color:var(--accent);box-shadow:0 4px 12px #6366f133;background:var(--panel)}.slide-thumb-row{display:flex;gap:8px;align-items:stretch}.slide-thumb-row .slide-thumb{flex:1}.slide-reorder-btns{display:flex;flex-direction:column;gap:4px}.reorder-btn{width:24px;height:24px;padding:0;border:1px solid var(--line);border-radius:6px;background:var(--panel);color:var(--ink-muted);cursor:pointer;font-size:10px;display:flex;align-items:center;justify-content:center;transition:all .15s ease}.reorder-btn:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.reorder-btn:disabled{opacity:.3;cursor:not-allowed}.thumb-canvas{aspect-ratio:16 / 9;border-radius:8px;display:grid;place-items:center;color:#fff;font-size:11px;text-align:center;padding:6px}.editor-center{display:grid;gap:12px}.editor-center .editor-preview{order:-1}.editor-center .editor-ribbon{order:1}.editor-ribbon{display:grid;gap:8px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));padding:10px;border-radius:var(--radius-lg);border:1px solid var(--line);background:var(--panel);box-shadow:0 4px 16px var(--panel-shadow)}:root[data-theme=dark] .editor-ribbon{background:var(--panel)}.ribbon-group{display:grid;gap:8px}.ribbon-group-wide{grid-column:span 2}.ribbon-group input,.ribbon-group select{font-size:13px}.ribbon-group-compact{gap:6px}.ribbon-group-compact input,.ribbon-group-compact select{font-size:12px;padding:6px 8px}.ribbon-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.ribbon-row-compact{gap:6px}.ribbon-row-compact .compact-input{max-width:140px;width:100%}.ribbon-row-compact button{flex:0 0 auto}.toggle-btn{border:1px solid var(--line);background:var(--panel-secondary);color:var(--ink);border-radius:var(--radius-sm);padding:6px 10px;font-size:12px;font-weight:500;letter-spacing:.02em;box-shadow:none}.toggle-btn:hover{border-color:var(--line-strong);transform:none;box-shadow:none}.toggle-btn.active{background:linear-gradient(135deg,var(--accent) 0%,#8b5cf6 100%);border-color:var(--accent);color:#fff}.toggle-btn:disabled{opacity:.5;cursor:not-allowed}.link-toggle-row{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.link-toggle{display:flex;gap:6px}.ribbon-group input[type=color]{height:32px;padding:0;border-radius:var(--radius-sm);border:1px solid var(--line)}.color-palette{display:flex;flex-wrap:wrap;gap:6px}.color-chip{width:18px;height:18px;border-radius:999px;border:1px solid rgba(0,0,0,.15)}.ribbon-title{text-transform:uppercase;font-size:11px;letter-spacing:.12em;color:var(--muted)}.font-sample{font-size:14px;color:#0f172a}.layer-controls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.layer-controls button{border:1px solid var(--line);border-radius:var(--radius-sm);padding:6px 8px;background:var(--panel-secondary);color:var(--ink);font-size:12px;font-weight:500;box-shadow:none}.layer-controls button:hover{border-color:var(--line-strong);background:var(--panel);transform:none;box-shadow:none}.preview-ticker{display:block;width:100%;overflow:hidden;padding:10px 0;color:inherit}.compact-btn{padding:8px 12px;font-size:12px}.compact-input{padding:6px 8px;font-size:12px}.compact-btn-secondary{padding:5px 8px;font-size:11px;border-radius:10px;width:auto;justify-self:start}.preview-ticker-text{display:inline-block;padding-left:100%;white-space:nowrap;animation:preview-ticker-move linear infinite;animation-duration:var(--ticker-duration, 20s)}@keyframes preview-ticker-move{0%{transform:translate(100%)}to{transform:translate(-100%)}}.slide-list-actions{display:flex;gap:8px}.thumb-preview{width:100%;min-height:60px;border:1px solid var(--line);background:#0e1116}.thumb-item{pointer-events:none}.slide-thumb-label{margin:8px 0 0;font-size:11px;color:var(--ink-secondary);display:flex;align-items:center;justify-content:space-between;gap:8px}.slide-duration{font-size:10px;color:var(--muted);font-family:JetBrains Mono,monospace;background:var(--panel-secondary);padding:2px 6px;border-radius:4px}.slide-thumb p{margin:0}.slide-thumb.active .slide-thumb-label{color:var(--ink)}.schedule-sidebar{display:flex;flex-direction:column;gap:10px;padding:8px 0}.schedule-summary h3{margin:0;font-size:14px}.schedule-active-mini{display:flex;align-items:center;gap:6px;font-size:12px;padding:6px 8px;background:#6366f11a;border:1px solid var(--accent);border-radius:var(--radius-sm)}.schedule-active-dot{width:8px;height:8px;border-radius:50%;background:#22c55e;flex-shrink:0;animation:pulse-dot 2s infinite}@keyframes pulse-dot{0%,to{opacity:1}50%{opacity:.4}}.schedule-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;z-index:1000;display:flex;align-items:center;justify-content:center}.schedule-modal{background:var(--panel);border:1px solid var(--line);border-radius:16px;width:960px;max-width:95vw;max-height:85vh;display:flex;flex-direction:column;box-shadow:0 20px 60px #00000080}.schedule-modal-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid var(--line)}.schedule-modal-header h2{margin:0;font-size:18px}.schedule-close{background:none;border:none;color:var(--ink-muted);font-size:18px;cursor:pointer;padding:4px 8px;border-radius:6px}.schedule-close:hover{background:var(--panel-secondary)}.schedule-active-bar{display:flex;align-items:center;gap:8px;padding:10px 20px;background:#22c55e14;border-bottom:1px solid var(--line);font-size:13px}.schedule-active-time{color:var(--ink-muted);font-family:monospace;font-size:12px;margin-left:auto}.schedule-modal-body{padding:16px 20px;overflow-y:auto;flex:1;display:flex;flex-direction:column;gap:16px}.schedule-toolbar{display:flex;gap:8px}.schedule-mode-toggle{display:flex;gap:4px;margin-bottom:8px}.schedule-add-form{background:var(--panel-secondary);border:1px solid var(--line);border-radius:10px;padding:14px;display:flex;flex-direction:column;gap:10px}.schedule-form-row{display:flex;gap:12px;align-items:flex-end;flex-wrap:wrap}.schedule-form-row label{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--ink-muted)}.schedule-form-row select,.schedule-form-row input[type=time],.schedule-form-row input[type=date]{padding:6px 10px;font-size:13px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--panel);color:var(--ink)}.schedule-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;min-height:200px}.schedule-col{background:var(--panel-secondary);border:1px solid var(--line);border-radius:8px;display:flex;flex-direction:column;min-width:0}.schedule-col.today{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.schedule-col-header{padding:8px 6px;text-align:center;border-bottom:1px solid var(--line);font-size:12px;font-weight:600;display:flex;flex-direction:column;align-items:center;gap:2px}.schedule-today-badge{font-size:9px;background:var(--accent);color:#fff;padding:1px 6px;border-radius:4px;font-weight:500}.schedule-col-body{padding:6px;display:flex;flex-direction:column;gap:4px;flex:1}.schedule-empty{font-size:11px;color:var(--ink-muted);text-align:center;padding:12px 0;opacity:.5}.schedule-card{background:var(--panel);border:1px solid var(--line);border-radius:6px;padding:6px 8px}.schedule-card.inactive{opacity:.4}.schedule-card-name{font-size:11px;font-weight:600;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.schedule-card-time{font-size:10px;color:var(--ink-muted);font-family:monospace}.schedule-card-actions{display:flex;gap:4px;margin-top:4px}.schedule-card-actions button{padding:2px 6px;font-size:10px}.font-select{min-width:130px;max-width:160px;font-size:12px}.font-select option{padding:4px 8px;font-size:14px}.size-input{width:68px!important;min-width:68px;text-align:center;flex-shrink:0}.editor-preview{width:100%;border-radius:18px;border:1px solid rgba(15,139,141,.2);position:relative;overflow:hidden;background:#0e1116;aspect-ratio:16 / 9}.editor-canvas{width:1280px;height:720px;position:relative;transform-origin:top left;transform:scale(var(--preview-scale, .35))}.editor-actions{display:flex;justify-content:flex-end;gap:12px}.editor-inspector{background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:12px;display:grid;gap:12px}.inspector-section{display:grid;gap:10px}.inspector-row{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:6px 8px;font-size:12px;border-radius:4px}.inspector-row:nth-child(2n){background:var(--panel-secondary)}.inspector-row-label{color:var(--muted);font-weight:500;font-size:11px;white-space:nowrap;min-width:60px}.inspector-row-control{display:flex;align-items:center;gap:6px;flex:1;justify-content:flex-end}.inspector-row-control input[type=number],.inspector-row-control input[type=text],.inspector-row-control select,.inspector-row-control textarea{max-width:140px;font-size:12px;padding:4px 8px}.inspector-row-control input[type=color]{width:28px;height:28px;padding:0;border-radius:6px;border:1px solid var(--line);cursor:pointer}.inspector-row-control input[type=checkbox]{margin:0}.inspector-group{border:1px solid var(--line);border-radius:8px;padding:8px;background:var(--panel-secondary)}.inspector-group-title{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin-bottom:6px}.layout-row{display:flex;gap:8px;flex-wrap:wrap}.layout-row label.inline.compact{flex:1;min-width:60px}.layout-row label.inline.compact input{width:100%;min-width:50px}.selection-list{display:grid;gap:8px}.selection-item{background:#1e1e1e;border:1px solid var(--line);border-radius:12px;padding:8px;text-align:left;display:grid;gap:2px;cursor:pointer;color:#e2e8f0}.selection-item.active{border-color:var(--accent);background:#4a4a4a;color:#fff}.preview-item{position:absolute;padding:8px 12px;border-radius:10px;background:#ffffffd9;color:#0f172a;font-size:14px;cursor:grab;-webkit-user-select:none;user-select:none}.preview-item.active{outline:2px solid rgba(255,122,89,.8);box-shadow:0 10px 20px #ff7a5940}.preview-item.text{background:transparent;color:#f8fafc;text-shadow:0 4px 12px rgba(0,0,0,.6)}.preview-item.widget{background:#0f172ab3;color:#f8fafc;text-shadow:0 4px 12px rgba(0,0,0,.6)}.preview-item.weather-weekly{background:transparent;color:#f8fafc;padding:24px;border-radius:0}.preview-item.image{background:transparent;color:#0b3d3a;padding:0;border-radius:0}.preview-item img{display:block;border-radius:10px}.preview-item.fit img{width:100%;height:100%;max-width:none;max-height:none;object-fit:cover;border-radius:0}.slide-gradient-overlay{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.preview-placeholder{font-size:12px;color:#f8fafc;opacity:.8}.preview-widget{display:inline-flex;align-items:center;gap:10px;padding:6px 10px}.preview-widget-text{display:inline-block}.preview-weather{gap:12px;padding:8px 12px}.preview-weather-text{display:flex;flex-direction:column;align-items:flex-start;line-height:1.1;gap:2px}.preview-weather-temp{font-size:1.05em;letter-spacing:.02em}.preview-weather-desc{font-size:.6em;text-transform:uppercase;letter-spacing:.12em;opacity:.78}.preview-qrcode{display:inline-flex;align-items:center;justify-content:center;padding:8px;background:transparent;border-radius:8px}.preview-qrcode svg{display:block;border-radius:4px}.preview-weekly{display:flex;flex-direction:column;gap:16px;height:100%}.preview-weekly-header{display:flex;align-items:baseline;justify-content:space-between;gap:12px;font-size:18px;text-transform:uppercase;letter-spacing:.08em}.preview-weekly-location{font-size:12px;opacity:.7}.preview-weekly-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:10px;flex:1}.preview-weekly-card{background:#0f172a8c;border:1px solid rgba(255,255,255,.12);border-radius:12px;padding:8px;display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center}.preview-weekly-day{font-size:10px;letter-spacing:.12em;text-transform:uppercase;opacity:.7}.preview-weekly-temps{display:flex;flex-direction:column;gap:2px;font-size:12px}.preview-weekly-desc{font-size:9px;letter-spacing:.1em;text-transform:uppercase;opacity:.65}.preview-weekly-empty{grid-column:1 / -1;text-align:center;font-size:12px;opacity:.7;align-self:center}.weather-icon{width:28px;height:28px;stroke:currentColor;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;fill:#ffffff2e;filter:drop-shadow(0 2px 4px rgba(2,6,23,.3))}.weather-icon--sun{color:#ffe08a}.weather-icon--partly{color:#f5d780}.weather-icon--cloud,.weather-icon--fog{color:#e2e8f0}.weather-icon--drizzle,.weather-icon--rain,.weather-icon--showers,.weather-icon--sleet{color:#9ad1ff}.preview-item.transit-board{--transit-font-size: 14px;background:transparent;color:#f8fafc;padding:12px 16px;border-radius:10px;display:flex;flex-direction:column;align-items:stretch;box-sizing:border-box;gap:12px}.preview-item.transit-board.fullscreen{padding:60px 40px 40px;border-radius:0;border:none;box-shadow:none;background:transparent}.preview-item.transit-board:not(.fullscreen){overflow:hidden}.preview-item.transit-board.horizontal .preview-transit-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(100px,1fr));gap:8px;flex:1}.preview-item.transit-board.horizontal .preview-transit-row{display:flex;flex-direction:column;align-items:center;text-align:center;gap:6px;padding:10px 8px;min-width:0}.preview-item.transit-board.horizontal .preview-transit-line{font-size:10px;padding:4px 8px;width:auto;min-width:40px}.preview-item.transit-board.horizontal .preview-transit-dest{font-size:9px;white-space:normal;word-break:break-word;line-height:1.2}.preview-item.transit-board.horizontal .preview-transit-time{font-size:12px;text-align:center}.preview-item.transit-board.horizontal .preview-transit-platform{font-size:9px;margin-top:2px}.preview-item.transit-board.horizontal .preview-transit-header{flex-direction:row;justify-content:space-between;margin-bottom:10px}.preview-transit{display:flex;flex-direction:column;gap:16px;height:100%;width:100%}.preview-transit-header{display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center;width:100%}.preview-transit-title{font-size:20px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.preview-transit-station{font-size:14px;opacity:.8}.preview-transit-list{display:flex;flex-direction:column;gap:8px;flex:1;width:100%}.preview-transit-row{display:grid;grid-template-columns:60px 1fr 60px 40px;gap:10px;align-items:center;background:#0f172a99;border:1px solid rgba(255,255,255,.12);border-radius:10px;padding:10px 14px;font-size:var(--transit-font-size, 13px)}.preview-transit-line{font-weight:700;background:#e63946;color:#fff;padding:3px 8px;border-radius:6px;text-align:center;font-size:11px}.preview-transit-dest{font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.preview-transit-time{font-weight:600;text-align:right;font-variant-numeric:tabular-nums}.preview-transit-delay{color:#f59e0b;font-size:10px;margin-left:3px}.preview-transit-platform{background:#ffffff26;padding:2px 6px;border-radius:4px;font-size:11px;text-align:center}.preview-transit-empty{text-align:center;font-size:12px;opacity:.7;padding:20px}.preview-analog-clock{display:flex;align-items:center;justify-content:center;padding:0;background:transparent}.preview-analog-clock svg{display:block}.preview-news-ticker{display:block;width:100%;overflow:hidden;padding:8px 0;background:transparent}.preview-news-card{display:flex;width:100%;height:100%;overflow:hidden;border-radius:10px;background:#0f172ad9}.preview-news-card-img{width:40%;object-fit:cover;flex-shrink:0}.preview-news-card-body{padding:16px 20px;display:flex;flex-direction:column;gap:8px;flex:1;overflow:hidden}.preview-news-card-source{font-size:11px;text-transform:uppercase;letter-spacing:.1em;opacity:.6}.preview-news-card-title{font-size:18px;font-weight:700;line-height:1.3;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.preview-news-card-desc{font-size:13px;opacity:.7;line-height:1.5;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.preview-news-full{position:relative;width:100%;height:100%;overflow:hidden;background:#0e1116}.preview-news-full-img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;opacity:.5}.preview-news-full-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(to top,rgba(0,0,0,.9) 0%,rgba(0,0,0,.3) 50%,transparent 100%)}.preview-news-full-body{position:absolute;bottom:0;left:0;right:0;padding:40px 60px;color:#fff;display:flex;flex-direction:column;gap:10px}.preview-news-full-source{font-size:14px;text-transform:uppercase;letter-spacing:.12em;color:#c5a059;font-weight:600}.preview-news-full-title{font-size:36px;font-weight:700;line-height:1.2;color:#fff}.preview-news-full-desc{font-size:18px;line-height:1.6;color:#e2e8f0;opacity:.85}.preview-news-full-date{font-size:13px;color:#94a3b8;margin-top:4px}.preview-news-full-counter{position:absolute;top:20px;right:30px;font-size:14px;color:#ffffff80;font-family:monospace}.preview-menu-widget{width:100%;height:100%;padding:30px 50px;display:flex;flex-direction:column;gap:12px;color:#fff}.preview-menu-title{font-size:28px;font-weight:700;color:#c5a059;border-bottom:2px solid rgba(197,160,89,.3);padding-bottom:10px}.preview-menu-item{font-size:20px;display:flex;align-items:center;gap:12px}.preview-menu-dot{color:#c5a059;font-size:10px}.preview-events-widget{width:100%;height:100%;padding:30px 50px;display:flex;flex-direction:column;gap:10px;color:#fff}.preview-events-title{font-size:28px;font-weight:700;color:#c5a059;border-bottom:2px solid rgba(197,160,89,.3);padding-bottom:10px}.preview-event-row{display:flex;gap:16px;align-items:baseline;font-size:18px}.preview-event-time{font-family:monospace;font-weight:600;color:#c5a059;min-width:60px}.preview-event-name{flex:1}.tool-panel button{width:fit-content}.tool-panel-body{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;align-items:start}.tool-panel-body .stack{gap:10px}.tool-panel-body label{font-size:12px}.selected-item-tools{padding:12px;border-radius:16px;border:1px dashed rgba(255,122,89,.35);background:#fff4f1;display:grid;gap:10px}.selected-item-head{display:grid;gap:2px}.selected-item-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px;align-items:end}.selected-item-tools .compact{font-size:12px}.item-editor-form{display:grid;gap:10px}.item-editor-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.item-editor-bar .item-meta{display:flex;flex-direction:column;gap:2px}.item-editor-actions{display:flex;gap:8px;flex-wrap:wrap}.item-editor-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:8px}.item-editor-form .compact{display:flex;flex-direction:column;gap:6px;font-size:12px}.item-editor-form .compact input,.item-editor-form .compact select{padding:6px 8px;font-size:13px}.asset-panel .asset-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px}.asset-card{padding:12px;background:var(--panel);border-radius:14px;border:1px dashed rgba(15,139,141,.2);cursor:grab;display:flex;align-items:center;justify-content:space-between;gap:10px}.asset-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.asset-card strong{display:block;font-size:14px;color:var(--ink)}.asset-card span{font-size:12px;color:var(--muted)}.asset-card .danger{color:#b42318;border-color:#b4231833}.file-input input[type=file]{padding:8px 0}.timeline-panel{overflow:hidden}.timeline-ruler{position:relative;height:24px;border-bottom:1px solid var(--line);font-size:12px;color:var(--muted)}.timeline-ruler div{position:absolute;top:4px}.timeline-tracks{display:grid;gap:14px;padding-top:10px;overflow-x:auto}.timeline-track{border:1px solid var(--line);border-radius:16px;padding:10px;background:#faf8f5}.timeline-track.over{border-color:var(--accent);box-shadow:inset 0 0 0 1px #ff7a594d}.track-header{font-size:12px;color:var(--muted);margin-bottom:8px}.track-lane{position:relative;min-height:72px}.timeline-item-wrap{position:absolute;top:10px}.timeline-item{background:linear-gradient(120deg,#ffd9c8,#ffbfa8);border-radius:12px;padding:8px 28px 8px 32px;display:grid;gap:4px;min-width:120px;cursor:grab;box-shadow:0 12px 20px #ff7a5940;position:relative}.timeline-item.selected{outline:2px solid #0f8b8d;box-shadow:0 12px 24px #0f8b8d4d}.timeline-item strong{font-size:13px}.timeline-item span{font-size:11px;color:#5b2e24}.timeline-item-delete{position:absolute;top:6px;right:6px;width:20px;height:20px;border-radius:999px;border:1px solid rgba(91,46,36,.2);background:#fffc;color:#5b2e24;font-size:16px;line-height:1;display:grid;place-items:center;padding:0;cursor:pointer;opacity:0;pointer-events:none;transition:opacity .15s ease,transform .15s ease}.timeline-item:hover .timeline-item-delete,.timeline-item.selected .timeline-item-delete{opacity:1;pointer-events:auto;transform:scale(1.02)}.timeline-item-content{display:grid;gap:4px;cursor:pointer}.timeline-item-select{position:absolute;top:6px;left:6px;width:20px;height:20px;border-radius:999px;border:1px solid rgba(15,139,141,.4);background:#ffffffe6;color:#0f8b8d;font-size:12px;line-height:1;display:grid;place-items:center;padding:0;cursor:pointer;transition:opacity .15s ease,transform .15s ease}.timeline-item-select:hover{background:#0f8b8d;color:#fff;transform:scale(1.1)}.timeline-item.selected .timeline-item-select{background:#0f8b8d;color:#fff}.timeline-actions{display:flex;justify-content:flex-end;gap:12px}.publish-links{margin-top:12px;font-size:13px;color:#5b2e24}.publish-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.publish-status{display:grid;gap:4px;font-size:12px;color:#5b2e24}.publish-links a{color:inherit;font-weight:600}@keyframes fadeIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes riseIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 900px){.app-root{padding:20px}.workspace{grid-template-columns:1fr}.top-bar{flex-direction:column;align-items:flex-start}}@media (min-width: 980px){.editor-layout{grid-template-columns:minmax(180px,.6fr) minmax(520px,1.6fr) minmax(220px,.8fr);align-items:start}}@media (max-width: 600px){.panel{padding:16px}.timeline-item{min-width:100px}}.left-sidebar{display:flex;flex-direction:column;gap:0;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:0 4px 16px var(--panel-shadow);overflow:hidden;min-width:260px;max-width:360px}.sidebar-tabs{display:flex;border-bottom:1px solid var(--line);background:var(--panel-secondary);flex-shrink:0}.sidebar-tab{flex:1;padding:8px 10px;font-size:12px;font-weight:500;color:var(--ink-muted);background:transparent;border:none;border-bottom:2px solid transparent;cursor:pointer;transition:all .15s ease;letter-spacing:.03em}.sidebar-tab:hover{color:var(--ink);background:var(--panel);box-shadow:none;transform:none}.sidebar-tab.active{color:var(--accent);border-bottom-color:var(--accent);background:var(--panel)}.drafts-panel{display:flex;flex-direction:column;gap:8px;padding:10px;flex:1;min-height:0;overflow:hidden}.drafts-panel-header{display:flex;align-items:center;justify-content:space-between;gap:8px}.drafts-panel-title{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:var(--ink-muted)}.drafts-panel-actions{display:flex;gap:4px}.drafts-btn-save{padding:4px 8px;font-size:11px;font-weight:500;border-radius:var(--radius-sm);border:1px solid var(--accent);color:var(--accent);background:transparent;cursor:pointer;transition:all .15s;box-shadow:none}.drafts-btn-save:hover{background:var(--accent);color:#fff;transform:none;box-shadow:none}.drafts-btn-template{padding:4px 7px;font-size:12px;border-radius:var(--radius-sm);border:1px solid var(--line);color:var(--ink-muted);background:transparent;cursor:pointer;transition:all .15s;box-shadow:none;line-height:1}.drafts-btn-template:hover{color:#f59e0b;border-color:#f59e0b;transform:none;box-shadow:none}.drafts-empty{font-size:12px;color:var(--ink-muted);text-align:center;padding:12px 0}.drafts-error{color:#ef4444}.drafts-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px;overflow-y:auto;flex:1;min-height:0}.draft-item{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 10px;background:var(--panel-secondary);border:1px solid var(--line);border-radius:var(--radius-md);transition:border-color .15s}.draft-item:hover{border-color:var(--line-strong)}.draft-info{display:flex;flex-direction:column;gap:2px;min-width:0}.draft-name{font-size:12px;font-weight:500;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.draft-meta{font-size:10px;color:var(--ink-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.draft-item-actions{display:flex;gap:4px;flex-shrink:0}.draft-btn-load{padding:3px 8px;font-size:11px;font-weight:500;border-radius:var(--radius-sm);border:1px solid var(--accent);color:var(--accent);background:transparent;cursor:pointer;transition:all .15s;box-shadow:none}.draft-btn-load:hover{background:var(--accent);color:#fff;transform:none;box-shadow:none}.draft-btn-delete{padding:3px 6px;font-size:11px;border-radius:var(--radius-sm);border:1px solid var(--line);color:var(--ink-muted);background:transparent;cursor:pointer;transition:all .15s;box-shadow:none}.draft-btn-delete:hover{border-color:#ef4444;color:#ef4444;transform:none;box-shadow:none}.templates-panel{display:flex;flex-direction:column;gap:10px;padding:10px;flex:1;min-height:0;overflow-y:auto}.templates-section-title{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:var(--ink-muted);margin:0;padding:4px 0 6px;border-bottom:1px solid var(--line)}.templates-personal-header{display:flex;align-items:center;justify-content:space-between;gap:8px}.templates-personal-header .templates-section-title{border-bottom:none}.templates-btn-save{font-size:11px;white-space:nowrap;margin-top:8px}.templates-category{display:flex;flex-direction:column;gap:4px}.templates-category-label{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.12em;color:var(--muted);padding:2px 0}.template-card{display:flex;align-items:center;gap:8px;padding:8px 10px;background:var(--panel-secondary);border:1px solid var(--line);border-radius:var(--radius-md);transition:border-color .15s;position:relative}.template-card:hover{border-color:var(--line-strong)}.template-hover-preview{position:fixed;width:400px;background:var(--panel);border:1px solid var(--line-strong);border-radius:var(--radius-lg);box-shadow:0 8px 32px #00000080;z-index:9999;overflow:hidden;pointer-events:none}.template-hover-preview .thumb-preview{width:100%;aspect-ratio:16 / 9;border:none;border-radius:0}.template-hover-info{padding:6px 10px;font-size:11px;color:var(--ink-muted);text-align:center;border-top:1px solid var(--line)}.template-emoji{font-size:20px;line-height:1;flex-shrink:0;width:28px;text-align:center}.template-info{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}.template-name{font-size:12px;font-weight:500;color:var(--ink)}.template-desc{font-size:10px;color:var(--ink-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.template-btn-use{padding:3px 8px;font-size:11px;font-weight:500;border-radius:var(--radius-sm);border:1px solid var(--accent);color:var(--accent);background:transparent;cursor:pointer;transition:all .15s;box-shadow:none;flex-shrink:0}.template-btn-use:hover{background:var(--accent);color:#fff;transform:none;box-shadow:none}.template-btn-delete{padding:3px 6px;font-size:11px;border-radius:var(--radius-sm);border:1px solid var(--line);color:var(--ink-muted);background:transparent;cursor:pointer;transition:all .15s;box-shadow:none}.template-btn-delete:hover{border-color:#ef4444;color:#ef4444;transform:none;box-shadow:none}.templates-empty{font-size:12px;color:var(--ink-muted);text-align:center;padding:8px 0}.left-sidebar .editor-slide-list{border:none;border-radius:0;box-shadow:none;flex:1;overflow-y:auto;min-height:0}.preview-item.sticker{padding:0;background:transparent}.ribbon-group-stickers{min-width:240px;max-width:320px}.sticker-category-select{width:100%;margin-bottom:6px;font-size:11px;padding:3px 6px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--panel-secondary);color:var(--ink);cursor:pointer}.sticker-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;max-height:180px;overflow-y:auto}.sticker-card{display:flex;flex-direction:column;align-items:center;gap:2px;padding:6px 4px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--panel-secondary);cursor:pointer;transition:border-color .12s,background .12s;box-shadow:none;min-height:56px}.sticker-card:hover{border-color:var(--accent);background:var(--panel);transform:none;box-shadow:none}.sticker-card dotlottie-player{flex-shrink:0}.sticker-card-name{font-size:9px;color:var(--ink-muted);text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:48px;display:block}.inspector-label{font-size:11px;color:var(--ink-muted);min-width:48px}.inspector-value{font-size:11px;color:var(--ink)}.sticker-size-presets{display:flex;align-items:center;gap:4px;flex-wrap:wrap}.sticker-size-btn{padding:2px 8px;font-size:11px;font-weight:500;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--panel-secondary);color:var(--ink-muted);cursor:pointer;transition:all .12s;box-shadow:none}.sticker-size-btn:hover{border-color:var(--accent);color:var(--accent);transform:none;box-shadow:none}.sticker-size-btn.active{border-color:var(--accent);background:var(--accent);color:#fff}.sticker-size-input{width:52px;padding:2px 6px;font-size:11px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--panel-secondary);color:var(--ink)}.sticker-popup-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;z-index:1000;display:flex;align-items:center;justify-content:center}.sticker-popup{background:var(--panel);border:1px solid var(--line);border-radius:16px;width:560px;max-width:90vw;max-height:80vh;display:flex;flex-direction:column;box-shadow:0 20px 60px #00000080}.sticker-popup-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid var(--line)}.sticker-popup-header h3{margin:0;font-size:16px;color:var(--ink)}.sticker-popup-close{background:none;border:none;color:var(--ink-muted);font-size:18px;cursor:pointer;padding:4px 8px;border-radius:6px}.sticker-popup-close:hover{background:var(--panel-secondary);color:var(--ink)}.sticker-popup-categories{display:flex;gap:6px;padding:12px 20px;border-bottom:1px solid var(--line);flex-wrap:wrap}.sticker-cat-btn{padding:6px 14px;font-size:12px;font-weight:500;border:1px solid var(--line);border-radius:20px;background:var(--panel-secondary);color:var(--ink-muted);cursor:pointer;transition:all .15s;box-shadow:none}.sticker-cat-btn:hover{border-color:var(--accent);color:var(--accent);transform:none;box-shadow:none}.sticker-cat-btn.active{background:var(--accent);border-color:var(--accent);color:#fff}.sticker-popup-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:10px;padding:16px 20px;overflow-y:auto;flex:1}.sticker-popup-card{display:flex;flex-direction:column;align-items:center;gap:6px;padding:12px 8px;border:1px solid var(--line);border-radius:12px;background:var(--panel-secondary);cursor:pointer;transition:all .15s;box-shadow:none}.sticker-popup-card:hover{border-color:var(--accent);background:var(--panel);transform:none;box-shadow:0 4px 12px #6366f126}.sticker-popup-name{font-size:11px;color:var(--ink-muted);text-align:center;line-height:1.2}.image-picker-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:10px;padding:16px 20px;overflow-y:auto;max-height:60vh}.image-picker-card{display:flex;flex-direction:column;align-items:center;gap:6px;padding:8px;border:1px solid var(--line);border-radius:8px;background:var(--panel-secondary);cursor:pointer;transition:all .15s;box-shadow:none}.image-picker-card:hover{border-color:var(--accent);box-shadow:0 4px 12px #6366f126;transform:none}.image-picker-thumb{width:100%;aspect-ratio:16 / 9;object-fit:cover;border-radius:4px;background:#1a1a1a}.image-picker-name{font-size:11px;color:var(--ink-muted);text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
