/*!
 * SR-DevBox 开发者效率工具箱
 *
 * @author     Zhu Rui
 * @website    https://srdevbox.com
 * @email      30501250@qq.com
 * @copyright  © 2026 Zhu Rui. All Rights Reserved.
 *
 * 本文件及其相关代码为 SR-DevBox 项目的组成部分，版权归作者 Zhu Rui 所有。
 * 未经书面许可，禁止以任何形式复制、修改、分发或用于商业目的。
 *
 * This file is part of the SR-DevBox project.
 * Copyright (c) 2026 Zhu Rui. All rights reserved.
 * Unauthorized copying, modification, distribution, or commercial use is prohibited.
 */html,body{margin:0;padding:0;width:100%;height:100%;overflow:hidden;background:#ffffff;color:#f3f4f6;font-family:Outfit,Microsoft YaHei,sans-serif}.pg-app *{margin:0;padding:0;box-sizing:border-box;-webkit-user-select:none;user-select:none}.pg-app{--pg-bg: #ffffff;--pg-panel-bg: rgba(13, 13, 23, .78);--pg-border: rgba(255, 255, 255, .08);--pg-cyan: #06b6d4;--pg-indigo: #6366f1;--pg-text: #f3f4f6;--pg-text-dim: #9ca3af;--pg-font: "Outfit", "Microsoft YaHei", sans-serif;--pg-code: "JetBrains Mono", monospace;font-family:var(--pg-font);background:var(--pg-bg);color:var(--pg-text);overflow:hidden;height:100vh;width:100vw;font-size:13px}.pg-layout{display:flex;width:100%;height:100%}.pg-sidebar{width:320px;min-width:320px;height:100%;background:#0b0b14;border-right:1px solid var(--pg-border);display:flex;flex-direction:column;overflow-y:auto;overflow-x:hidden;z-index:500;box-shadow:6px 0 24px #00000080}.pg-sidebar::-webkit-scrollbar{width:4px}.pg-sidebar::-webkit-scrollbar-thumb{background:rgba(6,182,212,.2);border-radius:2px}.pg-header{padding:16px 18px;border-bottom:1px solid var(--pg-border);display:flex;align-items:center;gap:10px;flex-shrink:0;position:sticky;top:0;z-index:1000;background:#0b0b14}.pg-logo-link{display:flex;align-items:center;flex-shrink:0;text-decoration:none;transition:opacity .2s}.pg-logo-link:hover{opacity:.8}.pg-logo-img{width:32px;height:32px;border-radius:8px;object-fit:contain}.pg-header-title{font-size:15px;font-weight:700;letter-spacing:.5px}.pg-header-badge{font-size:10px;color:var(--pg-cyan);background:rgba(6,182,212,.1);border:1px solid rgba(6,182,212,.2);padding:2px 8px;border-radius:10px;margin-left:auto}.pg-section{position:relative;padding:14px 18px;border-bottom:1px solid var(--pg-border)}.pg-section-title{font-size:11.5px;font-weight:600;text-transform:uppercase;letter-spacing:1.2px;color:var(--pg-text-dim);margin-bottom:12px;display:flex;align-items:center;justify-content:space-between;gap:8px;cursor:pointer;transition:color .2s}.pg-section-title-left{display:flex;align-items:center;gap:8px}.pg-section-title-right{display:flex;align-items:center;gap:8px;margin-left:auto}.pg-entity-count-badge{font-size:10px;font-family:var(--pg-code);font-weight:700;color:var(--pg-cyan);background:rgba(6,182,212,.12);border:1px solid rgba(6,182,212,.3);padding:1px 6px;border-radius:10px;line-height:1.2}.pg-section-title:hover{color:var(--pg-text)}.pg-section-chevron{width:14px;height:14px;margin-left:auto;transition:transform .25s ease;opacity:.4}.pg-section.collapsed .pg-section-chevron{transform:rotate(-90deg)}.pg-section-content{overflow:hidden;max-height:2000px;transition:max-height .3s cubic-bezier(.4,0,.2,1),opacity .25s ease;opacity:1}.pg-section.collapsed .pg-section-content{max-height:0;opacity:0;pointer-events:none}.pg-param-row{margin-bottom:12px}.pg-param-row:last-child{margin-bottom:0}.pg-param-row.disabled{opacity:.35;pointer-events:none;filter:grayscale(.6)}.pg-param-label{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px;font-size:11.5px;color:#cbd5e1;font-weight:500}.pg-label-text{font-size:11.5px;color:#cbd5e1;font-weight:500}.pg-param-value{color:#38bdf8;font-family:var(--pg-code);font-size:11px;font-weight:600;background:rgba(6,182,212,.1);border:1px solid rgba(6,182,212,.22);padding:1px 6px;border-radius:4px;min-width:32px;text-align:right}.pg-param-group{background:rgba(255,255,255,.025);border:1px solid rgba(255,255,255,.065);border-radius:8px;padding:10px 10px 6px;margin-bottom:12px;transition:border-color .2s}.pg-param-group:hover{border-color:#06b6d438}.pg-param-header{font-size:11px;font-weight:600;color:#94a3b8;margin-bottom:8px;display:flex;align-items:center;gap:4px}.pg-color-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.pg-color-row:last-child{margin-bottom:0}.pg-tip-box{display:flex;align-items:flex-start;gap:8px;font-size:11px;line-height:1.45;color:#94a3b8;background:rgba(6,182,212,.06);border:1px solid rgba(6,182,212,.2);border-radius:8px;padding:8px 10px}.pg-tip-box i,.pg-tip-box svg{width:14px;height:14px;color:var(--pg-cyan);flex-shrink:0;margin-top:1px}.pg-slider{width:100%;height:4px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:rgba(255,255,255,.12);border-radius:2px;outline:none;cursor:pointer;transition:background .2s}.pg-slider:hover{background:rgba(255,255,255,.18)}.pg-slider::-webkit-slider-thumb{-webkit-appearance:none;width:13px;height:13px;border-radius:50%;background:var(--pg-cyan);cursor:pointer;box-shadow:0 0 8px #06b6d499;transition:transform .15s,box-shadow .15s}.pg-slider::-webkit-slider-thumb:hover{transform:scale(1.25);box-shadow:0 0 12px #06b6d4d9}.pg-select{width:100%;background:rgba(255,255,255,.05);border:1px solid var(--pg-border);color:var(--pg-text);padding:8px 12px;border-radius:8px;font-family:var(--pg-font);font-size:12px;cursor:pointer;outline:none;transition:border-color .2s}.pg-select:hover,.pg-select:focus{border-color:#06b6d44d}.pg-select option{background:#0b0b14;color:var(--pg-text)}.pg-toggle-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.pg-toggle{width:36px;height:20px;background:rgba(255,255,255,.1);border-radius:10px;border:none;cursor:pointer;position:relative;transition:background .2s}.pg-toggle.on{background:rgba(6,182,212,.3)}.pg-toggle:after{content:"";position:absolute;top:3px;left:3px;width:14px;height:14px;border-radius:50%;background:var(--pg-text-dim);transition:all .2s}.pg-toggle.on:after{left:19px;background:var(--pg-cyan);box-shadow:0 0 6px #06b6d466}.pg-presets-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-bottom:12px}.pg-preset-btn{position:relative;background:rgba(255,255,255,.035);border:1px solid var(--pg-border);border-radius:7px;padding:8px 4px;color:#d1d5db;font-family:var(--pg-font);font-size:11.5px;font-weight:500;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);text-align:center}.pg-preset-btn:hover{background:rgba(6,182,212,.12);border-color:#06b6d466;color:#fff;transform:translateY(-1px)}.pg-preset-btn.active{background:linear-gradient(135deg,rgba(6,182,212,.28),rgba(99,102,241,.22));border-color:#06b6d4;color:#38bdf8;font-weight:700;box-shadow:0 0 14px #06b6d459,inset 0 0 0 1px #06b6d480;transform:translateY(-1px)}.pg-preset-btn.active:after{content:"";position:absolute;bottom:2px;left:50%;transform:translate(-50%);width:14px;height:2px;border-radius:2px;background:#06b6d4;box-shadow:0 0 6px #06b6d4}.pg-textarea{width:100%;height:80px;background:rgba(0,0,0,.2);border:1px solid var(--pg-border);border-radius:8px;color:#e5e7eb;font-family:var(--pg-code);font-size:11px;padding:8px;resize:vertical;outline:none;margin-bottom:8px}.pg-textarea:focus{border-color:var(--pg-cyan)}.pg-file-label{display:flex;align-items:center;justify-content:center;gap:6px;width:100%;background:rgba(255,255,255,.03);border:1px dashed var(--pg-border);border-radius:8px;padding:10px;cursor:pointer;transition:all .2s;font-size:12px;color:var(--pg-text-dim)}.pg-file-label:hover{border-color:var(--pg-cyan);color:var(--pg-text);background:rgba(6,182,212,.05)}.pg-file-label-upload{margin-top:10px;padding:13px 12px;font-size:13px;font-weight:700;letter-spacing:.6px;color:#fff;background:linear-gradient(135deg,#06b6d4,#4f46e5);border:1px solid rgba(6,182,212,.55);border-style:solid;border-radius:10px;box-shadow:0 2px 14px #06b6d44d,inset 0 1px #ffffff2e}.pg-file-label-upload i,.pg-file-label-upload svg{width:18px;height:18px;color:#fff}.pg-file-label-upload:hover{color:#fff;background:linear-gradient(135deg,#22d3ee,#6366f1);border-color:#22d3eecc;box-shadow:0 4px 22px #06b6d473,inset 0 1px #ffffff38;transform:translateY(-1px)}.pg-file-label-upload:active{transform:translateY(0);box-shadow:0 1px 8px #06b6d459}.pg-file-input{display:none}.pg-status-box{font-size:11px;padding:8px 10px;border-radius:6px;margin-top:8px;display:none}.pg-status-success{background:rgba(16,185,129,.1);border:1px solid rgba(16,185,129,.2);color:#10b981}.pg-status-error{background:rgba(239,68,68,.1);border:1px solid rgba(239,68,68,.2);color:#ef4444}.pg-status-busy{background:rgba(6,182,212,.08);border:1px solid rgba(6,182,212,.25);color:var(--pg-cyan)}.pg-sidebar-actions{position:sticky;bottom:0;background:#0b0b14;border-top:1px solid var(--pg-border);padding:14px 18px;margin-top:auto;z-index:15;box-shadow:0 -8px 24px #0009}.pg-action-row{display:flex;gap:8px;margin-bottom:8px}.pg-action-row:last-child{margin-bottom:0}.pg-btn{flex:1;padding:10px 12px;border-radius:8px;font-family:var(--pg-font);font-size:12px;font-weight:600;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center;gap:6px;border:1px solid transparent}.pg-btn i{width:14px;height:14px}.pg-btn-primary{background:linear-gradient(135deg,#06b6d4,#4f46e5);color:#fff;border-color:#06b6d44d}.pg-btn-primary:hover{box-shadow:0 0 16px #06b6d44d;transform:translateY(-1px)}.pg-btn-secondary{background:rgba(255,255,255,.04);border-color:var(--pg-border);color:var(--pg-text)}.pg-btn-secondary:hover{background:rgba(255,255,255,.08);border-color:#ffffff26}.pg-btn-accent{background:rgba(6,182,212,.1);border-color:#06b6d44d;color:var(--pg-cyan)}.pg-btn-accent:hover{background:rgba(6,182,212,.2);box-shadow:0 0 12px #06b6d426;transform:translateY(-1px)}.pg-btn-export-png{background:linear-gradient(135deg,#ec4899,#8b5cf6);color:#fff;border-color:#ec489959;box-shadow:0 2px 10px #ec489940}.pg-btn-export-png:hover{background:linear-gradient(135deg,#f43f5e,#a855f7);border-color:#f43f5e99;box-shadow:0 4px 16px #ec489973;transform:translateY(-1px)}.pg-btn-export-gif{background:linear-gradient(135deg,#10b981,#059669);color:#fff;border-color:#10b98159;box-shadow:0 2px 10px #10b98140}.pg-btn-export-gif:hover{background:linear-gradient(135deg,#34d399,#10b981);border-color:#34d39999;box-shadow:0 4px 16px #10b98173;transform:translateY(-1px)}.pg-btn:active{transform:translateY(0)}.pg-preview{flex:1;position:relative;display:flex;flex-direction:column;background:#ffffff}.pg-toolbar{position:absolute;top:16px;left:16px;right:16px;z-index:5;display:flex;align-items:center;gap:8px;background:var(--pg-panel-bg);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.12);border-radius:12px;padding:8px 14px;box-shadow:0 8px 24px -8px #0009}.pg-toolbar-btn{width:36px;height:36px;border-radius:8px;background:rgba(255,255,255,.04);border:1px solid var(--pg-border);color:var(--pg-text-dim);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:6px;transition:all .2s;flex-shrink:0}.pg-toolbar-btn:hover{background:rgba(6,182,212,.1);border-color:#06b6d44d;color:var(--pg-cyan)}.pg-toolbar-btn.active{background:rgba(6,182,212,.12);border-color:var(--pg-cyan);color:var(--pg-cyan);box-shadow:0 0 10px #06b6d426}.pg-toolbar-btn i,.pg-toolbar-btn svg{width:16px;height:16px;stroke:currentColor;stroke-width:2px;display:inline-block;vertical-align:middle;flex-shrink:0}.pg-toolbar-sep{width:1px;height:24px;background:var(--pg-border);margin:0 4px}.pg-toolbar-info{margin-left:auto;font-size:11px;font-family:var(--pg-code);color:var(--pg-text-dim);display:flex;align-items:center;gap:12px}.pg-toolbar-stat{display:flex;align-items:center;gap:4px}.pg-toolbar-stat .pg-dot{width:6px;height:6px;border-radius:50%;background:#10b981;box-shadow:0 0 6px #10b981}.pg-canvas-wrap{flex:1;position:relative;width:100%;height:100%;overflow:hidden;cursor:grab}.pg-canvas-wrap:active{cursor:grabbing}.pg-canvas-wrap canvas{display:block;width:100%;height:100%;position:absolute;top:0;left:0}.pg-footer-bar{position:absolute;bottom:16px;left:16px;right:16px;z-index:5;display:flex;align-items:center;justify-content:space-between;background:var(--pg-panel-bg);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.1);border-radius:10px;padding:8px 14px;font-size:11px;color:var(--pg-text-dim)}.pg-fps{font-family:var(--pg-code);color:var(--pg-cyan)}.pg-color-picker{width:48px;height:24px;border:1px solid rgba(255,255,255,.35);border-radius:6px;background:none;cursor:pointer;outline:none;padding:0;box-shadow:0 0 4px #0006}.pg-color-picker::-webkit-color-swatch-wrapper{padding:0}.pg-color-picker::-webkit-color-swatch{border:none;border-radius:5px}.pg-entity-list{display:flex;flex-direction:column;gap:5px;max-height:195px;overflow-y:auto;overflow-x:hidden;padding:2px 4px 6px 2px;margin-bottom:10px}.pg-entity-list::-webkit-scrollbar{width:4px}.pg-entity-list::-webkit-scrollbar-thumb{background:rgba(6,182,212,.25);border-radius:2px}.pg-entity-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:20px 12px;background:rgba(255,255,255,.02);border:1px dashed rgba(255,255,255,.1);border-radius:8px;color:var(--pg-text-dim);font-size:11px;text-align:center}.pg-entity-empty i,.pg-entity-empty svg{width:20px;height:20px;opacity:.45}.pg-entity-item{position:relative;display:flex;align-items:center;justify-content:space-between;padding:6px 8px;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.08);border-left:3px solid transparent;border-radius:7px;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);-webkit-user-select:none;user-select:none}.pg-entity-item:hover{background:rgba(255,255,255,.065);border-color:#06b6d44d;transform:translate(2px)}.pg-entity-item.active{background:linear-gradient(90deg,rgba(6,182,212,.22) 0%,rgba(99,102,241,.12) 100%);border-color:#06b6d4a6;border-left:3px solid #06b6d4;box-shadow:0 2px 12px #06b6d438,inset 0 0 0 1px #06b6d440}.pg-entity-item.is-light.active{background:linear-gradient(90deg,rgba(245,158,11,.22) 0%,rgba(234,88,12,.12) 100%);border-color:#f59e0ba6;border-left:3px solid #f59e0b;box-shadow:0 2px 12px #f59e0b38,inset 0 0 0 1px #f59e0b40}.pg-entity-item.is-hidden{opacity:.5;filter:grayscale(.5);background:rgba(0,0,0,.25);border-style:dashed}.pg-entity-item-main{display:flex;align-items:center;gap:7px;flex:1;min-width:0}.pg-entity-icon-tag{display:flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:5px;background:rgba(255,255,255,.05);flex-shrink:0;transition:all .2s}.pg-entity-icon-tag.is-glass{color:#38bdf8;background:rgba(6,182,212,.15)}.pg-entity-icon-tag.is-glb{color:#a78bfa;background:rgba(167,139,250,.15)}.pg-entity-icon-tag.is-light{background:rgba(245,158,11,.15)}.pg-entity-icon-tag i,.pg-entity-icon-tag svg{width:12px;height:12px}.pg-entity-info{display:flex;align-items:center;gap:6px;flex:1;min-width:0}.pg-entity-name{font-size:12px;font-weight:500;color:#e5e7eb;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:color .2s}.pg-entity-item.active .pg-entity-name{color:#fff;font-weight:600;text-shadow:0 0 8px rgba(6,182,212,.5)}.pg-entity-item.is-light.active .pg-entity-name{text-shadow:0 0 8px rgba(245,158,11,.5)}.pg-entity-type-tag{font-size:9.5px;color:var(--pg-text-dim);background:rgba(255,255,255,.06);padding:1px 4px;border-radius:4px;flex-shrink:0}.pg-entity-item.active .pg-entity-type-tag{color:var(--pg-cyan);background:rgba(6,182,212,.2);font-weight:600}.pg-entity-item.is-light.active .pg-entity-type-tag{color:#fbbf24;background:rgba(245,158,11,.2);font-weight:600}.pg-entity-selected-badge{font-size:9px;font-weight:700;color:var(--pg-cyan);background:rgba(6,182,212,.18);border:1px solid rgba(6,182,212,.4);padding:1px 4px;border-radius:4px;letter-spacing:.5px;flex-shrink:0;display:none}.pg-entity-item.active .pg-entity-selected-badge{display:inline-block}.pg-entity-item.is-light.active .pg-entity-selected-badge{color:#fbbf24;border-color:#f59e0b66;background:rgba(245,158,11,.18)}.pg-entity-actions{display:flex;align-items:center;gap:3px;margin-left:6px;flex-shrink:0}.pg-entity-action-btn{background:transparent;border:1px solid transparent;color:var(--pg-text-dim);cursor:pointer;padding:4px;border-radius:4px;display:flex;align-items:center;justify-content:center;transition:all .15s ease}.pg-entity-action-btn i,.pg-entity-action-btn svg{width:13px;height:13px}.pg-entity-action-btn:hover{color:#fff;background:rgba(255,255,255,.1);border-color:#ffffff26}.pg-entity-action-btn.btn-eye.active{color:var(--pg-cyan)}.pg-entity-action-btn.btn-eye:not(.active){color:#9ca3af;opacity:.7}.pg-entity-action-btn.btn-delete:hover{color:#ef4444;background:rgba(239,68,68,.18);border-color:#ef444459}.pg-entity-toolbar{display:flex;flex-direction:column;gap:6px}.pg-entity-btn-group{display:grid;grid-template-columns:1fr 1fr;gap:6px}.pg-btn-add-glass{background:rgba(6,182,212,.08);border:1px solid rgba(6,182,212,.25);color:#e0f2fe;font-size:11.5px;padding:7px 10px}.pg-btn-add-glass:hover{background:rgba(6,182,212,.18);border-color:#06b6d480;color:#fff;box-shadow:0 0 10px #06b6d440;transform:translateY(-1px)}.pg-btn-add-light{background:rgba(245,158,11,.08);border:1px solid rgba(245,158,11,.25);color:#fef3c7;font-size:11.5px;padding:7px 10px}.pg-btn-add-light:hover{background:rgba(245,158,11,.18);border-color:#f59e0b80;color:#fff;box-shadow:0 0 10px #f59e0b40;transform:translateY(-1px)}.pg-btn-danger-outline{background:rgba(239,68,68,.06);border:1px solid rgba(239,68,68,.22);color:#f87171;font-size:11.5px;padding:6px 10px}.pg-btn-danger-outline:hover:not(.disabled){background:rgba(239,68,68,.16);border-color:#ef444473;color:#fff;box-shadow:0 0 10px #ef444433;transform:translateY(-1px)}.pg-btn-danger-outline.disabled,.pg-btn-danger-outline[disabled]{opacity:.35;pointer-events:none;filter:grayscale(.7)}/*!
* SR-DevBox 开发者效率工具箱 - 3D 毛玻璃编辑器动画系统样式
* @author     Zhu Rui
* @website    https://srdevbox.com
* @copyright  © 2026 Zhu Rui. All Rights Reserved.
*/.pg-timeline-dock{position:absolute;bottom:48px;left:16px;right:16px;z-index:20;background:rgba(13,13,24,.88);backdrop-filter:blur(28px);-webkit-backdrop-filter:blur(28px);border:1px solid rgba(255,255,255,.12);box-shadow:0 16px 40px #00000080,0 0 0 1px #00e5ff1a;border-radius:12px;display:flex;flex-direction:column;overflow:hidden;transition:all .25s cubic-bezier(.4,0,.2,1);-webkit-user-select:none;user-select:none;font-family:Outfit,-apple-system,BlinkMacSystemFont,sans-serif}.pg-timeline-dock.pg-tl-hidden{display:none!important}.pg-timeline-dock.collapsed{height:44px!important}.pg-timeline-dock.collapsed .pg-timeline-body{display:none!important}.pg-timeline-header{height:44px;min-height:44px;background:rgba(15,20,32,.95);border-bottom:1px solid rgba(255,255,255,.08);display:flex;align-items:center;justify-content:space-between;padding:0 10px;gap:6px;overflow-x:auto;overflow-y:hidden;white-space:nowrap;scrollbar-width:none;-webkit-overflow-scrolling:touch}.pg-timeline-header::-webkit-scrollbar{display:none}.pg-tl-btn-group{display:flex;align-items:center;gap:4px;flex-shrink:0;flex-wrap:nowrap}.pg-tl-btn{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);color:#e0e0f0;border-radius:6px;height:28px;padding:0 7px;font-size:11px;font-weight:500;display:flex;align-items:center;justify-content:center;gap:4px;cursor:pointer;transition:all .15s ease;flex-shrink:0;white-space:nowrap;-webkit-user-select:none;user-select:none}.pg-tl-btn:hover{background:rgba(255,255,255,.14);border-color:#00e5ff66;color:#fff}.pg-tl-btn.active{background:rgba(0,229,255,.2);border-color:#00e5ff;color:#00e5ff;box-shadow:0 0 8px #00e5ff4d}.pg-tl-btn-icon{width:28px;min-width:28px;padding:0}.pg-tl-btn-primary{background:linear-gradient(135deg,#00c6ff,#0072ff);border:none;color:#fff;font-weight:600;box-shadow:0 2px 8px #0072ff59}.pg-tl-btn-primary:hover{background:linear-gradient(135deg,#28d0ff,#1a82ff);box-shadow:0 4px 12px #0072ff80}.pg-tl-btn-accent{background:linear-gradient(135deg,#ff9900,#ff5500);border:none;color:#fff;font-weight:600}.pg-tl-btn-accent:hover{background:linear-gradient(135deg,#ffaa22,#ff6611)}.pg-tl-btn-export{background:linear-gradient(135deg,#10b981,#059669);border:none;color:#fff;font-weight:600;box-shadow:0 2px 8px #10b9814d}.pg-tl-btn-export:hover{background:linear-gradient(135deg,#34d399,#10b981);box-shadow:0 4px 12px #10b98173}.pg-tl-subgroup{display:flex;align-items:center;gap:2px;background:rgba(0,0,0,.3);padding:2px;border-radius:7px;border:1px solid rgba(255,255,255,.08);flex-shrink:0}.pg-tl-physics-group{border-color:#f59e0b40;background:rgba(245,158,11,.04)}.pg-tl-physics-group:hover,.pg-tl-physics-group:focus-within{border-color:#f59e0b80}.pg-tl-path-group{border-color:#00e5ff40;background:rgba(0,229,255,.04)}.pg-tl-path-group:hover,.pg-tl-path-group:focus-within{border-color:#00e5ff80}.pg-tl-btn-sub{background:rgba(255,255,255,.04);border:1px solid transparent;color:#94a3b8;font-size:11px}.pg-tl-btn-sub:hover{background:rgba(255,255,255,.1);color:#f1f5f9}.pg-tl-btn-orient{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);color:#94a3b8;font-size:11px}.pg-tl-btn-orient:hover{background:rgba(255,255,255,.12);color:#f8fafc}.pg-tl-btn-orient.active{background:rgba(0,229,255,.18);border-color:#00e5ff;color:#00e5ff}.pg-tl-time-capsule{display:flex;align-items:center;gap:3px;background:rgba(0,0,0,.45);border:1px solid rgba(0,229,255,.2);border-radius:6px;padding:0 6px;height:28px;font-family:JetBrains Mono,monospace;font-size:11px;flex-shrink:0;transition:border-color .15s,box-shadow .15s}.pg-tl-time-capsule:hover,.pg-tl-time-capsule:focus-within{border-color:#00e5ff;box-shadow:0 0 8px #00e5ff40}.pg-tl-time-cur{color:#00e5ff;font-weight:600;letter-spacing:.3px}.pg-tl-time-slash{color:#ffffff4d;font-weight:300}.pg-tl-dur-input{width:36px;background:transparent;border:none;outline:none;color:#cbd5e1;font-family:JetBrains Mono,monospace;font-size:11px;font-weight:600;text-align:center}.pg-tl-dur-input:focus{color:#00e5ff}.pg-tl-dur-input::-webkit-inner-spin-button,.pg-tl-dur-input::-webkit-outer-spin-button{opacity:.4}.pg-tl-dur-unit{color:#64748b;font-size:10px}.pg-tl-timecode{font-family:JetBrains Mono,monospace;font-size:12px;font-weight:600;color:#00e5ff;background:rgba(0,0,0,.4);padding:4px 8px;border-radius:6px;border:1px solid rgba(0,229,255,.2);letter-spacing:.5px;text-align:center;flex-shrink:0}.pg-tl-sep{width:1px;height:18px;background:rgba(255,255,255,.12);margin:0 2px}.pg-tl-btn-record{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.15);color:#99b;font-weight:500;transition:all .2s ease}.pg-tl-btn-record:hover{background:rgba(239,68,68,.2);border-color:#ef444480;color:#fca5a5}.pg-tl-btn-record.active{background:linear-gradient(135deg,#ef4444,#b91c1c)!important;border-color:#f88!important;color:#fff!important;font-weight:700;box-shadow:0 0 16px #ef4444d9,0 0 0 2px #ef444466;animation:pgPulseRecord 1.4s infinite}.pg-record-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:#666;margin-right:2px;transition:all .2s ease}.pg-tl-btn-record.active .pg-record-dot{background:#ffffff;box-shadow:0 0 8px #fff}@keyframes pgPulseRecord{0%{box-shadow:0 0 #ef4444cc,0 0 10px #ef444499}70%{box-shadow:0 0 0 8px #ef444400,0 0 14px #ef4444cc}to{box-shadow:0 0 #ef444400,0 0 10px #ef444499}}.pg-tl-easing-select{background:rgba(0,0,0,.35);border:1px solid rgba(255,255,255,.1);color:#00e5ff;font-size:11px;border-radius:6px;height:28px;padding:0 6px;outline:none;cursor:pointer;font-family:inherit;font-weight:500}.pg-tl-easing-select:hover,.pg-tl-easing-select:focus{border-color:#00e5ff;background:rgba(0,229,255,.1)}.pg-tl-easing-select option{background:#121222;color:#fff}.pg-timeline-body{display:flex;height:190px;max-height:280px;position:relative;background:rgba(8,8,16,.75);overflow:hidden}.pg-tl-track-headers{width:240px;min-width:240px;max-width:240px;background:rgba(15,15,28,.95);border-right:1px solid rgba(255,255,255,.08);display:flex;flex-direction:column;overflow-y:auto}.pg-tl-ruler-header{height:28px;min-height:28px;background:rgba(255,255,255,.04);border-bottom:1px solid rgba(255,255,255,.08);display:flex;align-items:center;padding:0 10px;font-size:11px;color:#88a;font-weight:600}.pg-tl-entity-group-header{height:30px;min-height:30px;background:rgba(255,255,255,.03);border-bottom:1px solid rgba(255,255,255,.06);display:flex;align-items:center;justify-content:space-between;padding:0 8px 0 6px;cursor:pointer;font-size:11px;font-weight:600;transition:background .15s ease;border-left:3px solid transparent}.pg-tl-entity-group-header:hover{background:rgba(255,255,255,.07)}.pg-tl-entity-group-header.selected{background:rgba(0,229,255,.08)}.pg-tl-entity-info{display:flex;align-items:center;gap:6px;overflow:hidden;flex:1}.pg-tl-entity-toggle{display:flex;align-items:center;justify-content:center;width:16px;height:16px;color:#94a3b8;cursor:pointer;transition:transform .15s ease}.pg-tl-entity-toggle:hover{color:#fff}.pg-tl-entity-badge{width:8px;height:8px;border-radius:2px;flex-shrink:0}.pg-tl-entity-name{color:#e2e8f0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:11px}.pg-tl-track-row-header{height:26px;min-height:26px;display:flex;align-items:center;justify-content:space-between;padding:0 8px 0 24px;border-bottom:1px solid rgba(255,255,255,.03);font-size:11px;color:#94a3b8;transition:background .1s}.pg-tl-track-row-header:hover{background:rgba(255,255,255,.04);color:#f1f5f9}.pg-tl-track-row-header.active{background:rgba(0,229,255,.08);color:#00e5ff}.pg-tl-track-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:flex;align-items:center;gap:6px;flex:1}.pg-tl-track-actions{display:flex;align-items:center;gap:3px;opacity:.45;transition:opacity .15s ease}.pg-tl-entity-group-header:hover .pg-tl-track-actions,.pg-tl-track-row-header:hover .pg-tl-track-actions{opacity:1}.pg-tl-action-btn{width:20px;height:20px;padding:0;font-size:10px;background:transparent;border:none;color:#94a3b8;border-radius:4px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .15s ease}.pg-tl-action-btn:hover{background:rgba(255,255,255,.15);color:#fff}.pg-tl-action-btn.delete:hover{background:rgba(239,68,68,.25);color:#f87171}.pg-tl-action-btn.clear:hover{background:rgba(245,158,11,.25);color:#fbbf24}.pg-tl-lanes-wrapper{flex:1;display:flex;flex-direction:column;overflow:hidden;position:relative}.pg-tl-ruler-canvas-wrap{height:28px;min-height:28px;width:100%;background:rgba(20,20,35,.95);border-bottom:1px solid rgba(255,255,255,.08);position:relative;cursor:pointer}.pg-tl-ruler-canvas{width:100%;height:100%;display:block}.pg-tl-lanes-container{flex:1;overflow-y:auto;overflow-x:hidden;position:relative}.pg-tl-entity-master-lane{height:30px;min-height:30px;border-bottom:1px solid rgba(255,255,255,.06);position:relative;width:100%;background:rgba(255,255,255,.02)}.pg-tl-track-lane{height:26px;min-height:26px;border-bottom:1px solid rgba(255,255,255,.03);position:relative;width:100%;background:rgba(255,255,255,.005)}.pg-tl-track-lane:nth-child(2n){background:rgba(0,0,0,.15)}.pg-keyframe-diamond{position:absolute;top:50%;transform:translate(-50%,-50%) rotate(45deg);width:9px;height:9px;background:#00e5ff;border:1px solid #ffffff;box-shadow:0 0 6px #00e5ff99;border-radius:2px;cursor:pointer;z-index:10;transition:transform .1s,box-shadow .1s}.pg-keyframe-diamond:hover{transform:translate(-50%,-50%) rotate(45deg) scale(1.4);background:#ffd27f!important;box-shadow:0 0 10px #ffd27f!important}.pg-keyframe-diamond.selected{background:#ffd27f!important;border-color:#fa0!important;box-shadow:0 0 12px #ffd27f,0 0 0 2px #ffd27f80!important}.pg-summary-keyframe-diamond{position:absolute;top:50%;transform:translate(-50%,-50%) rotate(45deg);width:8px;height:8px;border-radius:1px;border:1px solid rgba(255,255,255,.9);cursor:pointer;z-index:10}.pg-tl-playhead{position:absolute;top:0;bottom:0;width:2px;background:#ff3366;box-shadow:0 0 8px #f36c;pointer-events:none;z-index:30;transform:translate(-50%)}.pg-tl-playhead-handle{position:absolute;top:0;left:50%;transform:translate(-50%);width:12px;height:14px;background:#ff3366;clip-path:polygon(0% 0%,100% 0%,100% 65%,50% 100%,0% 65%);cursor:ew-resize;pointer-events:auto}.pg-curve-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.65);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:100;display:flex;align-items:center;justify-content:center}.pg-curve-modal{width:440px;background:rgba(18,18,32,.96);border:1px solid rgba(255,255,255,.15);box-shadow:0 24px 60px #000c,0 0 0 1px #00e5ff33;border-radius:14px;padding:18px;display:flex;flex-direction:column;gap:14px;color:#fff;font-size:12px}.pg-curve-header{display:flex;align-items:center;justify-content:space-between;font-size:14px;font-weight:600;color:#00e5ff}.pg-curve-canvas-wrap{width:100%;height:180px;background:#0a0a14;border:1px solid rgba(255,255,255,.1);border-radius:8px;position:relative;overflow:hidden}.pg-curve-presets-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.pg-gif-modal{width:380px;background:rgba(18,18,32,.96);border:1px solid rgba(255,255,255,.15);box-shadow:0 24px 60px #000c;border-radius:14px;padding:20px;display:flex;flex-direction:column;gap:14px;color:#fff}.pg-gif-progress-bar{width:100%;height:8px;background:rgba(255,255,255,.1);border-radius:4px;overflow:hidden;position:relative}.pg-gif-progress-fill{height:100%;width:0%;background:linear-gradient(90deg,#00c6ff,#0072ff);border-radius:4px;transition:width .1s ease}.pg-tl-group-transport,.pg-tl-group-record,.pg-tl-group-fx,.pg-tl-group-export{display:flex;align-items:center;gap:4px;flex-shrink:0;flex-wrap:nowrap}@media (max-width: 1440px){.pg-timeline-header{gap:4px;padding:0 8px}.pg-tl-btn{padding:0 6px;font-size:11px;gap:3px}.pg-tl-easing-select{max-width:125px}}
