:root{--bg-primary: #535353;--bg-secondary: #4a4a4a;--bg-tertiary: #3d3d3d;--bg-dark: #2d2d2d;--bg-panel: #d4d0c8;--bg-panel-header: #7a96df;--bg-panel-header-inactive: #7f7f7f;--bg-workspace: #808080;--bg-timeline: #d4d0c8;--text-primary: #000000;--text-secondary: #333333;--text-panel-header: #ffffff;--text-muted: #666666;--border-color: #808080;--border-dark: #404040;--border-light: #ffffff;--accent-color: #316ac5;--selection-color: #316ac5;--highlight-color: #ffcc00;--stage-bg: #808080;--panel-header-height: 20px;--toolbar-width: 66px;--timeline-height: 180px;--properties-width: 250px;--library-height: 200px}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body{height:100%;overflow:hidden}body{font-family:Tahoma,Segoe UI,Arial,sans-serif;font-size:11px;color:var(--text-primary);background:var(--bg-primary)}#app{height:100vh;width:100vw}.flash-app{display:flex;flex-direction:column;height:100vh;width:100vw}.menu-bar{display:flex;height:22px;background:var(--bg-panel);border-bottom:1px solid var(--border-dark);padding:0 4px}.menu-item{position:relative;padding:2px 8px;cursor:pointer;font-size:11px}.menu-item:hover{background:var(--selection-color);color:#fff}.menu-dropdown{display:none;position:absolute;top:100%;left:0;background:var(--bg-panel);border:1px solid var(--border-dark);box-shadow:2px 2px 4px #0000004d;z-index:100;min-width:150px}.menu-item:hover .menu-dropdown{display:block}.menu-dropdown button{display:block;width:100%;padding:4px 20px;text-align:left;border:none;background:transparent;cursor:pointer;font-size:11px;font-family:inherit}.menu-dropdown button:hover{background:var(--selection-color);color:#fff}.main-area{display:flex;flex:1;overflow:hidden}.left-panels{display:flex;flex-direction:column;width:var(--toolbar-width);background:var(--bg-panel);border-right:1px solid var(--border-dark)}.center-area{display:flex;flex-direction:column;flex:1;overflow:hidden}.right-panels{display:flex;flex-direction:column;width:var(--properties-width);background:var(--bg-panel);border-left:1px solid var(--border-dark)}.status-bar{height:20px;background:var(--bg-panel);border-top:1px solid var(--border-dark);display:flex;align-items:center;justify-content:space-between;padding:0 8px;font-size:11px;color:var(--text-secondary)}.toolbar{background:var(--bg-panel);border-right:1px solid var(--border-dark);display:flex;flex-direction:column;padding:4px}.toolbar .tool-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:2px}.toolbar .toolbar-section-label{font-size:9px;color:var(--text-primary);padding:4px 2px 2px;border-top:1px solid var(--border-color);margin-top:4px}.toolbar .toolbar-section-label:first-child{border-top:none;margin-top:0}.toolbar .color-swatches{padding:4px}.toolbar .color-swatch-row{display:flex;gap:4px;justify-content:center}.toolbar .color-swatch{width:26px;height:26px;padding:0;border:1px solid var(--border-dark);cursor:pointer}.tool-button{width:28px;height:26px;border:1px solid transparent;background:transparent;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--text-primary);font-size:14px}.tool-button:hover{border:1px solid var(--border-color);background:linear-gradient(to bottom,#fff,#e0e0e0)}.tool-button.active{border:1px solid var(--border-dark);background:linear-gradient(to bottom,silver,#a0a0a0);box-shadow:inset 1px 1px 2px #0000004d}.stage-container{flex:1;background:var(--stage-bg);display:flex;align-items:center;justify-content:center;overflow:hidden;position:relative;min-height:200px}.stage-canvas{background:#fff;box-shadow:2px 2px 8px #0006}.panel{background:var(--bg-panel);border:1px solid var(--border-dark);display:flex;flex-direction:column}.panel-header{height:var(--panel-header-height);background:linear-gradient(to bottom,#7a96df,#5a76bf);border-bottom:1px solid var(--border-dark);display:flex;align-items:center;padding:0 6px;font-size:11px;font-weight:700;color:var(--text-panel-header);user-select:none}.panel-header-inactive{background:linear-gradient(to bottom,#9f9f9f,#7f7f7f)}.panel-content{flex:1;overflow-y:auto;padding:6px;background:var(--bg-panel)}.library-panel{flex:1;min-height:150px;border-top:1px solid var(--border-dark);display:flex;flex-direction:column}.library-content{flex:1;overflow-y:auto;background:#fff;border:1px inset var(--border-color);margin:4px}.library-item{display:flex;align-items:center;padding:2px 4px;cursor:pointer;border-bottom:1px solid #e0e0e0}.library-item:hover{background:#e8e8e8}.library-item.selected{background:var(--selection-color);color:#fff}.library-item-icon{width:16px;height:16px;margin-right:4px;font-size:12px}.library-toolbar{display:flex;gap:2px;padding:2px 4px;border-top:1px solid var(--border-color);background:var(--bg-panel)}.library-toolbar .tool-button{width:20px;height:18px;font-size:11px}.timeline-header{height:24px;background:linear-gradient(to bottom,#7a96df,#5a76bf);border-bottom:1px solid var(--border-dark);display:flex;align-items:center;padding:0 8px;gap:12px;color:#fff;font-weight:700}.timeline-controls,.playback-controls{display:flex;gap:2px}.playback-controls .tool-button,.timeline-controls .tool-button{width:22px;height:20px;font-size:11px;background:linear-gradient(to bottom,#f0f0f0,#d0d0d0);border:1px solid var(--border-color);color:var(--text-primary)}.playback-controls .tool-button:hover,.timeline-controls .tool-button:hover{background:linear-gradient(to bottom,#fff,#e0e0e0)}.playback-controls .tool-button:active,.timeline-controls .tool-button:active{background:linear-gradient(to bottom,silver,#a0a0a0)}.frame-info{font-size:11px;color:#fff;margin-left:auto;font-weight:400}.timeline-content{flex:1;display:grid;grid-template-columns:160px 1fr;overflow:hidden}.layer-list{background:var(--bg-timeline);border-right:2px solid var(--border-dark);overflow-y:auto}.frame-grid{background:silver;overflow:auto;position:relative}.layer-item{height:20px;display:flex;align-items:center;padding:0 4px;border-bottom:1px solid var(--border-color);cursor:pointer;background:#e8e8e8}.layer-btn{width:16px;height:16px;border:none;background:transparent;color:var(--text-muted);cursor:pointer;font-size:9px;padding:0;display:flex;align-items:center;justify-content:center}.layer-btn:hover{background:#0000001a}.layer-btn.active{color:var(--text-primary)}.layer-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px;margin-left:4px}.frame-row{height:20px;display:flex;border-bottom:1px solid #a0a0a0}.frame-cell{width:7px;height:20px;border-right:1px solid #b0b0b0;background:#e0e0e0;cursor:pointer}.frame-cell.keyframe{background:#d0d0d0;position:relative}.frame-cell.keyframe:after{content:"";display:block;width:5px;height:5px;background:transparent;border:1px solid #000;border-radius:50%;position:absolute;left:1px;top:50%;transform:translateY(-50%)}.frame-cell.tween{background:#b8d8b8;position:relative}.frame-cell.tween:before{content:"";position:absolute;top:50%;left:0;right:0;height:1px;background:#4a8a4a;transform:translateY(-50%)}.frame-cell.tween.has-content{background:#98c898}.frame-cell:hover{background:#d0d0d0}.playhead:before{content:"";position:absolute;top:-2px;left:-4px;width:9px;height:9px;background:red;clip-path:polygon(0 0,100% 0,50% 100%)}.property-group{margin-bottom:8px;background:#fff;border:1px solid var(--border-color);padding:4px}.property-group-title{font-size:11px;font-weight:700;color:var(--text-primary);margin-bottom:4px;padding-bottom:2px;border-bottom:1px solid #e0e0e0}.property-row{display:flex;align-items:center;margin-bottom:3px}.property-label{width:50px;font-size:11px;color:var(--text-secondary)}.property-input{flex:1;height:18px;background:#fff;border:1px solid var(--border-color);padding:0 4px;color:var(--text-primary);font-size:11px;font-family:inherit}.property-input:focus{outline:none;border-color:var(--accent-color)}.empty-state{color:var(--text-muted);font-size:11px;text-align:center;padding:12px;font-style:italic}::-webkit-scrollbar{width:16px;height:16px}::-webkit-scrollbar-track{background:#e0e0e0;border:1px solid #808080}::-webkit-scrollbar-thumb{background:linear-gradient(to right,#f0f0f0,silver,#a0a0a0);border:1px solid #808080}::-webkit-scrollbar-thumb:hover{background:linear-gradient(to right,#f8f8f8,#d0d0d0,#b0b0b0)}::-webkit-scrollbar-button{background:linear-gradient(to bottom,#f0f0f0,silver);border:1px solid #808080;display:block;height:16px;width:16px}.toolbar-separator{height:1px;background:var(--border-color);margin:4px 2px;box-shadow:0 1px 0 var(--border-light)}.color-picker-container{display:flex;flex-direction:column;align-items:center;gap:1px;margin-top:4px}.color-label{font-size:9px;color:var(--text-secondary);font-weight:700}.color-input{width:24px;height:24px;border:2px inset var(--border-color);padding:1px;cursor:pointer;background:#fff}.color-input::-webkit-color-swatch-wrapper{padding:0}.color-input::-webkit-color-swatch{border:1px solid #808080}.stroke-width-container{display:flex;flex-direction:column;align-items:center;gap:1px;margin-top:4px}.stroke-width-input{width:28px;height:18px;background:#fff;border:1px solid var(--border-color);color:var(--text-primary);font-size:11px;text-align:center;padding:0;font-family:inherit}.stroke-width-input:focus{outline:none;border-color:var(--accent-color)}.stroke-width-input::-webkit-outer-spin-button,.stroke-width-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.frame-header{height:16px;display:flex;background:#c8c8c8;border-bottom:1px solid #808080;position:sticky;top:0;z-index:5}.frame-header-cell{width:7px;height:16px;border-right:1px solid #b0b0b0;font-size:8px;display:flex;align-items:center;justify-content:center;color:#666}.frame-header-cell:nth-child(5n){border-right:1px solid #808080;background:#b8b8b8}.frame-header-cell.numbered{font-weight:700;color:#333}.context-menu{position:fixed;background:var(--bg-panel);border:1px solid var(--border-dark);box-shadow:2px 2px 4px #0000004d;z-index:1000;min-width:150px}.context-menu-item{padding:4px 20px;cursor:pointer;font-size:11px}.context-menu-item:hover{background:var(--selection-color);color:#fff}.context-menu-separator{height:1px;background:var(--border-color);margin:2px 0}.btn{padding:2px 8px;background:linear-gradient(to bottom,#f0f0f0,#d0d0d0);border:1px solid var(--border-color);cursor:pointer;font-size:11px;font-family:inherit}.btn:hover{background:linear-gradient(to bottom,#fff,#e0e0e0)}.btn:active{background:linear-gradient(to bottom,silver,#a0a0a0)}.script-panel{position:fixed;right:260px;bottom:190px;width:400px;height:250px;background:var(--bg-panel);border:1px solid var(--border-dark);display:none;flex-direction:column;z-index:100;box-shadow:2px 2px 8px #0000004d}.script-panel.open{display:flex}.script-panel .panel-header{cursor:move;display:flex;justify-content:space-between;align-items:center}.script-panel .panel-close{background:none;border:none;color:#fff;font-size:14px;cursor:pointer;padding:0 4px}.script-panel .panel-close:hover{color:#fcc}.script-editor-toolbar{display:flex;gap:4px;padding:4px;background:var(--bg-panel);border-bottom:1px solid var(--border-color)}.script-editor-content{flex:1;display:flex;flex-direction:column}.script-textarea{flex:1;background:#1e1e1e;color:#d4d4d4;border:none;padding:8px;font-family:Consolas,Monaco,Courier New,monospace;font-size:12px;line-height:1.4;resize:none}.script-textarea:focus{outline:none}.script-output{height:60px;background:#0a0a0a;color:#0c0;border-top:1px solid var(--border-color);padding:4px 8px;font-family:Consolas,Monaco,Courier New,monospace;font-size:11px;overflow-y:auto}.script-output-line{margin:1px 0}.script-output-line.error{color:#f66}.frame-cell.has-script:before{content:"a";position:absolute;top:1px;right:1px;font-size:6px;color:#666;font-weight:700}.tools-panel{flex:1}.tools-panel .panel-content{display:flex;flex-direction:column;padding:4px}.tool-grid{display:flex;flex-wrap:wrap;gap:1px;justify-content:center}.color-section{margin-top:8px;padding-top:8px;border-top:1px solid var(--border-color)}.color-row{display:flex;align-items:center;margin-bottom:4px;font-size:10px}.color-row label{width:40px}.color-row input[type=color]{width:24px;height:24px;border:1px inset var(--border-color);padding:1px;cursor:pointer}.color-row input[type=number]{width:40px;height:18px;border:1px solid var(--border-color);padding:0 4px;font-size:10px}.properties-panel{flex:1;min-height:200px}.properties-form{display:flex;flex-direction:column;gap:8px}.property-section{background:#fff;border:1px solid var(--border-color);padding:4px}.property-section-title{font-size:10px;font-weight:700;color:var(--text-primary);margin-bottom:4px;padding-bottom:2px;border-bottom:1px solid #e0e0e0}.property-row{display:flex;align-items:center;margin-bottom:3px;font-size:11px}.property-row label{width:60px;color:var(--text-secondary)}.property-row input{flex:1;height:18px;border:1px solid var(--border-color);padding:0 4px;font-size:11px;font-family:inherit}.property-row span{color:var(--text-muted)}.no-selection{color:var(--text-muted);font-size:11px;padding:8px}.document-info{margin-top:12px}.symbol-list{background:#fff;border:1px inset var(--border-color);min-height:100px}.symbol-item{display:flex;align-items:center;padding:3px 6px;cursor:pointer;border-bottom:1px solid #e0e0e0;font-size:11px}.symbol-item:hover{background:#e8e8e8}.symbol-item.selected{background:var(--selection-color);color:#fff}.symbol-icon{margin-right:6px}.symbol-name{flex:1}.symbol-delete{background:none;border:none;cursor:pointer;font-size:14px;color:#999;padding:0 4px}.symbol-delete:hover{color:#f66}.library-empty{padding:16px;text-align:center;color:var(--text-muted)}.hint{font-size:10px;color:#999;margin-top:4px}.timeline-panel{height:var(--timeline-height);min-height:var(--timeline-height);flex-shrink:0;background:var(--bg-timeline);border-bottom:2px solid var(--border-dark);display:flex;flex-direction:column}.timeline-breadcrumb{display:flex;align-items:center;gap:4px;padding:4px 8px;background:linear-gradient(to bottom,#e8e8e8,#d8d8d8);border-bottom:1px solid var(--border-color);font-size:11px}.breadcrumb-item{padding:2px 6px;cursor:pointer;border-radius:2px}.breadcrumb-item:hover:not(.active){background:#0000001a}.breadcrumb-item.active{font-weight:700;cursor:default}.breadcrumb-separator{color:#666}.timeline-panel .panel-header{display:flex;align-items:center;gap:12px}.timeline-panel .playback-controls{display:flex;align-items:center;gap:2px;margin-left:auto}.timeline-panel .playback-controls button{width:22px;height:20px;font-size:11px;background:linear-gradient(to bottom,#f0f0f0,#d0d0d0);border:1px solid var(--border-color);cursor:pointer}.timeline-panel .playback-controls button:hover{background:linear-gradient(to bottom,#fff,#e0e0e0)}.frame-counter{font-size:11px;font-weight:400;margin-left:8px}.timeline-content{flex:1;display:flex;overflow:hidden}.timeline-layers{width:160px;background:var(--bg-timeline);border-right:2px solid var(--border-dark);display:flex;flex-direction:column}.layer-header-row{display:flex;justify-content:flex-end;align-items:center;gap:2px;padding:2px 4px;background:#d8d8d8;border-bottom:1px solid var(--border-color);height:18px}.layer-header-btn{width:16px;height:14px;padding:0;display:flex;align-items:center;justify-content:center;background:none;border:none;cursor:pointer;color:#444}.layer-header-btn:hover{color:#000}.layer-controls{display:flex;gap:2px;padding:2px 4px;border-top:1px solid var(--border-color);background:#d8d8d8}.layer-controls button{width:22px;height:18px;padding:0;display:flex;align-items:center;justify-content:center;background:linear-gradient(to bottom,#f0f0f0,#d0d0d0);border:1px solid var(--border-color);cursor:pointer}.layer-controls button:hover{background:linear-gradient(to bottom,#fff,#e0e0e0)}.layer-list{flex:1;overflow-y:auto}.layer-item{display:flex;align-items:center;padding:0 4px;gap:2px;border-bottom:1px solid var(--border-color);cursor:pointer;background:#e8e8e8;font-size:11px}.layer-item:hover{background:#d8d8d8}.layer-item.selected{background:var(--selection-color);color:#fff}.layer-icon{display:flex;align-items:center;justify-content:center;width:14px;height:14px;flex-shrink:0}.layer-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-left:2px;cursor:text}.layer-name-input{flex:1;height:16px;margin-left:2px;padding:0 2px;border:1px solid var(--accent-color);background:#fff;font-size:11px;font-family:inherit;outline:none}.layer-item.selected .layer-name-input{border-color:#fff}.layer-option-btn{width:14px;height:14px;padding:0;display:flex;align-items:center;justify-content:center;background:none;border:none;cursor:pointer;font-size:14px;color:#333;line-height:1}.layer-item.selected .layer-option-btn{color:#fff}.layer-option-btn:hover{background:#0000001a}.layer-option-btn svg{width:8px;height:10px}.layer-outline-btn{width:12px;height:12px;padding:0;border:1px solid #666;cursor:pointer;flex-shrink:0;margin-left:2px}.layer-outline-btn:hover{border-color:#000}.timeline-frames{flex:1;overflow:auto;position:relative;background:silver}.frame-header{display:flex;height:16px;background:#c8c8c8;border-bottom:1px solid #808080;position:sticky;top:0;z-index:5}.frame-number{font-size:8px;display:flex;align-items:center;justify-content:center;color:#666;border-right:1px solid #b0b0b0}.frame-number:nth-child(5n){border-right:1px solid #808080;background:#b8b8b8}.frame-grid{position:relative}.frame-row{display:flex}.frame-cell{border-right:1px solid #b0b0b0;background:#e0e0e0;cursor:pointer;position:relative}.frame-cell:nth-child(5n){border-right:1px solid #808080}.frame-cell.keyframe{background:#d0d0d0}.frame-cell.keyframe:after{content:"";display:block;width:5px;height:5px;background:transparent;border:1px solid #000;border-radius:50%;position:absolute;left:2px;top:50%;transform:translateY(-50%)}.frame-cell.has-content{background:#a8c8e8}.frame-cell.has-content.keyframe{background:#88a8d8}.frame-cell.has-content.keyframe:after{background:#000;border-color:#000}.frame-cell.span{background:#c8c8c8}.frame-cell.span.has-content{background:#98b8d8}.frame-cell.span-end:after{content:"";display:block;width:6px;height:12px;background:#e8e8e8;position:absolute;right:1px;top:50%;transform:translateY(-50%);border:1px solid #383838}.frame-cell.keyframe.span-end:before{content:"";display:block;width:3px;height:8px;background:gray;position:absolute;right:1px;top:50%;transform:translateY(-50%)}.frame-cell.tween{background:#b8d8b8}.frame-cell.current{background:#f88!important}.playhead{position:absolute;top:0;width:1px;height:100%;background:red;pointer-events:none;z-index:10}.timeline-footer{display:flex;gap:4px;padding:4px;border-top:1px solid var(--border-color)}.timeline-footer button{padding:2px 8px;font-size:10px;background:linear-gradient(to bottom,#f0f0f0,#d0d0d0);border:1px solid var(--border-color);cursor:pointer}.timeline-footer button:hover{background:linear-gradient(to bottom,#fff,#e0e0e0)}.timeline-info{display:flex;gap:8px;margin-left:auto;align-items:center}.timeline-info-item{padding:2px 6px;font-size:10px;background:#fff;border:1px solid var(--border-color);min-width:40px;text-align:center}.script-panel{position:fixed;right:260px;bottom:200px;width:450px;height:280px;background:var(--bg-panel);border:1px solid var(--border-dark);display:flex;flex-direction:column;z-index:100;box-shadow:2px 2px 8px #0000004d}.script-panel .panel-header button{background:none;border:none;color:#fff;font-size:14px;cursor:pointer;padding:0 4px}.script-content{flex:1;display:flex;flex-direction:column;padding:0}.script-toolbar{display:flex;gap:4px;padding:4px;background:var(--bg-panel);border-bottom:1px solid var(--border-color);align-items:center}.script-toolbar button{padding:2px 8px;font-size:10px;background:linear-gradient(to bottom,#f0f0f0,#d0d0d0);border:1px solid var(--border-color);cursor:pointer}.script-hint{font-size:9px;color:var(--text-muted);margin-left:auto}.script-editor{flex:1;background:#1e1e1e;color:#d4d4d4;border:none;padding:8px;font-family:Consolas,Monaco,Courier New,monospace;font-size:12px;line-height:1.4;resize:none}.script-editor:focus{outline:none}.no-frame{padding:16px;text-align:center;color:var(--text-muted)}.symbol-edit-indicator{position:absolute;top:8px;left:50%;transform:translate(-50%);background:#0066cce6;color:#fff;padding:4px 12px;border-radius:4px;font-size:11px;z-index:50}.symbol-edit-indicator button{background:#fff;color:#06c;border:none;padding:2px 8px;cursor:pointer;font-size:10px;border-radius:2px}.stage-container canvas{display:block;position:absolute;top:0;left:0}
