:root{--primary-color:#4a90e2;--secondary-color:#7b68ee;--success-color:#52c41a;--warning-color:#faad14;--danger-color:#f5222d;--bg-color:#f5f7fa;--panel-bg:#fff;--border-color:#e0e6ed;--text-color:#333;--text-secondary:#666;--shadow-light:0 2px 8px rgba(0,0,0,0.08);--shadow-medium:0 4px 16px rgba(0,0,0,0.12);--shadow-heavy:0 8px 24px rgba(0,0,0,0.16);--transition-fast:0.2s ease;--transition-medium:0.3s ease;--gradient-primary:linear-gradient(135deg,#667eea 0,#764ba2 100%);--gradient-secondary:linear-gradient(135deg,#f093fb 0,#f5576c 100%)}body.dark{--bg-color:#1a1a2e;--panel-bg:#16213e;--border-color:#2d3561;--text-color:#eaeaea;--text-secondary:#b0b0b0}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,sans-serif;background:var(--bg-color);color:var(--text-color);transition:background 0.3s ease,color 0.3s ease}.main-container{max-width:1600px;margin:0 auto;padding:20px}.tool-header{display:flex;justify-content:space-between;align-items:center;padding:15px 20px;background:var(--panel-bg);border-radius:12px;box-shadow:var(--shadow-light);margin-bottom:20px}.tool-header h1{font-size:24px;font-weight:600;background:var(--gradient-primary);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.tool-actions{display:flex;gap:8px;align-items:center}.search-box{position:relative;margin-right:8px}.search-input{width:200px;padding:6px 30px 6px 12px;border:1.5px solid var(--border-color);border-radius:6px;font-size:13px;background:var(--panel-bg);color:var(--text-color);transition:all var(--transition-fast)}.search-input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px rgba(74,144,226,0.1);width:240px}.search-icon{position:absolute;right:10px;top:50%;transform:translateY(-50%);font-size:14px;opacity:0.5;pointer-events:none}.search-results{position:absolute;top:calc(100% + 8px);left:0;right:0;background:var(--panel-bg);border:1.5px solid var(--border-color);border-radius:8px;box-shadow:var(--shadow-medium);max-height:400px;overflow-y:auto;display:none;z-index:1000}.search-results.show,#searchResults.show{display:block}.search-result-item{padding:10px 12px;cursor:pointer;transition:background var(--transition-fast);border-bottom:1px solid var(--border-color)}.search-result-item:last-child{border-bottom:none}.search-result-item:hover{background:var(--bg-color)}.search-result-item.active{background:rgba(74,144,226,0.1);border-left:3px solid var(--primary-color)}.search-result-title{font-weight:600;font-size:13px;color:var(--text-color);margin-bottom:4px}.search-result-desc{font-size:11px;color:var(--text-secondary);line-height:1.4}.search-result-path{font-size:10px;color:var(--primary-color);margin-top:4px;opacity:0.8}.search-no-results{padding:20px;text-align:center;color:var(--text-secondary);font-size:13px}.btn-action,.btn-primary,.btn-secondary,.btn-small,.btn-ai,.btn-theme{padding:6px 12px;border:none;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer;transition:all var(--transition-fast);display:inline-flex;align-items:center;gap:4px}.btn-action{background:var(--panel-bg);color:var(--text-color);border:1.5px solid var(--border-color)}.btn-action:hover{background:var(--bg-color);border-color:var(--primary-color);transform:translateY(-1px)}.btn-action.active{background:var(--primary-color);color:white;border-color:var(--primary-color);box-shadow:0 0 0 3px rgba(74,144,226,0.2);transform:scale(0.98)}.btn-primary{background:var(--primary-color);color:white}.btn-primary:hover{background:#3a7bc8;box-shadow:0 4px 12px rgba(74,144,226,0.3);transform:translateY(-1px)}.btn-secondary{background:var(--text-secondary);color:white}.btn-secondary:hover{background:#555}.btn-small{padding:4px 8px;font-size:12px}.btn-ai{background:var(--gradient-secondary);color:white;font-weight:600}.btn-ai:hover{opacity:0.9;transform:translateY(-1px)}.btn-theme{background:linear-gradient(135deg,#667eea 0,#764ba2 100%);color:white;padding:8px 16px;border-radius:20px;box-shadow:0 2px 8px rgba(102,126,234,0.3);position:relative;overflow:hidden}.btn-theme::before{content:'';position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:rgba(255,255,255,0.2);transform:translate(-50%,-50%);transition:width 0.6s,height 0.6s}.btn-theme:hover::before{width:300px;height:300px}.btn-theme:hover{box-shadow:0 4px 16px rgba(102,126,234,0.5);transform:translateY(-2px)}.btn-theme .theme-icon{font-size:16px;transition:transform 0.5s ease}body.dark .btn-theme{background:linear-gradient(135deg,#f093fb 0,#f5576c 100%);box-shadow:0 2px 8px rgba(240,147,251,0.3)}body.dark .btn-theme:hover{box-shadow:0 4px 16px rgba(240,147,251,0.5)}body.dark .btn-theme .theme-icon::before{content:'☀️'}.btn-theme:active{transform:translateY(0)}.workspace{display:grid;grid-template-columns:1fr 400px;gap:20px;margin-bottom:20px}.preview-panel,.control-panel,.code-panel{background:var(--panel-bg);border-radius:12px;box-shadow:var(--shadow-light);overflow:hidden}.panel-header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:linear-gradient(to right,#f8f9fa,#e9ecef);border-bottom:2px solid var(--border-color)}body.dark .panel-header{background:linear-gradient(to right,#1e2a3a,#2d3561)}.panel-header h3{font-size:16px;font-weight:600;color:var(--text-color)}.preview-actions{display:flex;gap:8px;align-items:center}.flex-container-wrapper{position:relative;padding:30px;min-height:500px;display:flex;justify-content:center;align-items:center}.flex-container{display:flex;background:linear-gradient(135deg,rgba(74,144,226,0.1),rgba(123,104,238,0.1));border:3px dashed var(--primary-color);border-radius:8px;padding:15px;position:relative;transition:all var(--transition-medium);width:600px;height:400px}.flex-container::before{content:'Flex Container';position:absolute;top:-25px;left:10px;background:var(--primary-color);color:white;padding:2px 10px;border-radius:4px;font-size:11px;font-weight:600}.flex-item{background:var(--gradient-primary);color:white;padding:20px;border-radius:8px;min-width:60px;min-height:60px;cursor:pointer;transition:all var(--transition-fast);box-shadow:var(--shadow-light);position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center}.flex-item:hover{transform:scale(1.05);box-shadow:var(--shadow-medium)}.flex-item.selected{outline:3px solid var(--warning-color);outline-offset:2px}.flex-item:not(.has-icon){font-size:24px;font-weight:bold}.flex-item:not(.has-icon)::after{content:attr(data-index)}.flex-item.has-icon{padding-top:16px;padding-bottom:16px}.flex-item.has-icon::before{content:attr(data-icon);display:block;font-size:22px;line-height:1;margin-bottom:6px;opacity:0.95;animation:iconFloat 2s ease-in-out infinite}@keyframes iconFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-2px)}}.flex-item.has-icon::after{content:attr(data-index);display:block;font-size:20px;font-weight:bold;line-height:1;opacity:0.9}.guide-lines{position:absolute;top:0;left:0;right:0;bottom:0;pointer-events:none;z-index:10}.guide-line{position:absolute;background:rgba(250,173,20,0.5);pointer-events:none}.guide-line.horizontal{height:1px;left:0;right:0}.guide-line.vertical{width:1px;top:0;bottom:0}.controls-wrapper{padding:16px;max-height:600px;overflow-y:auto}.controls-wrapper::-webkit-scrollbar{width:6px}.controls-wrapper::-webkit-scrollbar-track{background:var(--bg-color)}.controls-wrapper::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:3px}.controls-wrapper::-webkit-scrollbar-thumb:hover{background:var(--text-secondary)}.control-group{margin-bottom:20px;padding:12px;background:var(--bg-color);border-radius:8px;border:1.5px solid var(--border-color)}.control-group h4{font-size:14px;font-weight:600;margin-bottom:12px;color:var(--primary-color);display:flex;align-items:center;gap:6px}.control-item{display:flex;align-items:center;gap:10px;margin-bottom:10px;position:relative}.info-icon{font-size:14px;cursor:help;opacity:0.6;transition:opacity 0.2s;user-select:none;flex-shrink:0;position:relative}.info-icon:hover{opacity:1;transform:scale(1.1)}.property-tooltip{position:fixed;background:linear-gradient(135deg,#2d3561 0,#1a1a2e 100%);color:#fff;padding:12px 16px;border-radius:8px;font-size:12px;line-height:1.6;white-space:pre-line;box-shadow:0 4px 20px rgba(0,0,0,0.3),0 0 0 1px rgba(74,144,226,0.3);z-index:999999;min-width:260px;max-width:320px;opacity:0;visibility:hidden;transform:translateY(-5px);transition:all 0.3s cubic-bezier(0.4,0,0.2,1);pointer-events:none}.property-tooltip.show{opacity:1;visibility:visible;transform:translateY(0)}body.dark .property-tooltip{background:linear-gradient(135deg,#1e2a3a 0,#16213e 100%);box-shadow:0 4px 20px rgba(0,0,0,0.5),0 0 0 1px rgba(102,126,234,0.5)}.property-tooltip::before{content:'';position:absolute;right:-6px;top:50%;transform:translateY(-50%);width:0;height:0;border-top:6px solid transparent;border-bottom:6px solid transparent;border-left:6px solid #2d3561}body.dark .property-tooltip::before{border-left-color:#1e2a3a}.control-item label{font-size:13px;font-weight:500;min-width:130px;color:var(--text-color)}.control-select,.control-input,.control-number{flex:1;padding:6px 10px;border:1.5px solid var(--border-color);border-radius:6px;font-size:13px;background:var(--panel-bg);color:var(--text-color);transition:all var(--transition-fast)}.control-select:focus,.control-input:focus,.control-number:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px rgba(74,144,226,0.1)}.control-item.keyboard-focused{background:rgba(74,144,226,0.08);border-radius:6px;padding:8px;margin:-8px;margin-bottom:2px;animation:focusPulse 0.3s ease-out}@keyframes focusPulse{0%{box-shadow:0 0 0 0 rgba(74,144,226,0.4)}50%{box-shadow:0 0 0 8px rgba(74,144,226,0)}100%{box-shadow:0 0 0 0 rgba(74,144,226,0)}}.control-item.keyboard-focused::before{content:'';position:absolute;left:-4px;top:50%;transform:translateY(-50%);width:3px;height:60%;background:var(--primary-color);border-radius:2px;animation:slideIn 0.2s ease-out}@keyframes slideIn{from{transform:translateY(-50%) scaleY(0);opacity:0}to{transform:translateY(-50%) scaleY(1);opacity:1}}.keyboard-hint{position:fixed;bottom:20px;right:20px;background:var(--panel-bg);border:1.5px solid var(--primary-color);border-radius:8px;padding:12px 16px;box-shadow:var(--shadow-medium);font-size:12px;color:var(--text-color);z-index:1000;opacity:0;visibility:hidden;transform:translateY(10px);transition:all 0.3s ease}.keyboard-hint.show{opacity:1;visibility:visible;transform:translateY(0)}.keyboard-hint kbd{background:var(--bg-color);padding:2px 6px;border-radius:4px;border:1px solid var(--border-color);font-family:monospace;font-size:11px;margin:0 2px}.control-range{flex:1;height:6px;border-radius:3px;background:var(--border-color);outline:none;-webkit-appearance:none}.control-range::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:16px;height:16px;border-radius:50%;background:var(--primary-color);cursor:pointer;box-shadow:0 2px 4px rgba(0,0,0,0.2);transition:all var(--transition-fast)}.control-range::-webkit-slider-thumb:hover{transform:scale(1.2);background:var(--secondary-color)}.value-display{min-width:50px;text-align:right;font-size:12px;font-weight:600;color:var(--primary-color)}.tooltip{font-size:11px;color:var(--text-secondary);font-style:italic}.item-selector{display:flex;gap:6px;flex-wrap:wrap;flex:1}.item-btn{width:36px;height:36px;border:2px solid var(--border-color);border-radius:6px;background:var(--panel-bg);color:var(--text-color);font-size:14px;font-weight:600;cursor:pointer;transition:all var(--transition-fast)}.item-btn:hover{border-color:var(--primary-color);transform:scale(1.05)}.item-btn.active{background:var(--primary-color);color:white;border-color:var(--primary-color)}.code-panel{grid-column:1 / -1}.code-actions{display:flex;gap:8px}.code-display{padding:20px;background:#282c34;overflow-x:auto}.code-display pre{margin:0}.code-display code{font-family:'Consolas','Monaco','Courier New',monospace;font-size:13px;line-height:1.6;color:#abb2bf;display:block}.modal{display:none;position:fixed;z-index:1000;left:0;top:0;width:100%;height:100%;background-color:rgba(0,0,0,0.6);backdrop-filter:blur(4px);animation:fadeIn 0.3s ease}.modal.show{display:flex;align-items:center;justify-content:center}@keyframes fadeIn{from{opacity:0}to{opacity:1}}.modal-content{background:var(--panel-bg);border-radius:12px;box-shadow:0 8px 32px rgba(0,0,0,0.2);max-width:750px;width:88%;max-height:80vh;display:flex;flex-direction:column;animation:slideUp 0.3s ease}@keyframes slideUp{from{transform:translateY(30px);opacity:0}to{transform:translateY(0);opacity:1}}.modal-header{padding:12px 16px;border-bottom:1.5px solid var(--border-color);flex-shrink:0;display:flex;align-items:center;justify-content:space-between;background:linear-gradient(to right,rgba(74,144,226,0.05),rgba(123,104,238,0.05))}.modal-header h3{margin:0;font-size:15px;font-weight:600;color:var(--text-color);display:flex;align-items:center;gap:8px}.close-btn{width:26px;height:26px;font-size:16px;font-weight:bold;color:var(--text-secondary);background:var(--bg-color);border:none;border-radius:6px;cursor:pointer;line-height:1;transition:all 0.25s cubic-bezier(0.4,0,0.2,1);display:flex;align-items:center;justify-content:center;flex-shrink:0}.close-btn:hover{background:var(--danger-color);color:white;transform:rotate(90deg)}.modal-body{padding:14px;overflow-y:auto;flex:1;min-height:0}.modal-body::-webkit-scrollbar{width:6px}.modal-body::-webkit-scrollbar-track{background:var(--bg-color);border-radius:3px}.modal-body::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:3px}.modal-body::-webkit-scrollbar-thumb:hover{background:var(--primary-color)}.template-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(155px,1fr));gap:10px}.template-card{padding:10px;border:1.5px solid var(--border-color);border-radius:8px;cursor:pointer;transition:all 0.25s cubic-bezier(0.4,0,0.2,1);background:var(--bg-color)}.template-card:hover{border-color:var(--primary-color);box-shadow:0 4px 12px rgba(74,144,226,0.15);transform:translateY(-2px)}.template-preview{width:100%;height:90px;background:white;border:1px solid var(--border-color);border-radius:6px;margin-bottom:7px;padding:6px}.mini-flex{width:100%;height:100%;display:flex;border:2px dashed var(--primary-color);padding:4px;border-radius:4px}.mini-item{background:var(--gradient-primary);border-radius:3px;min-width:18px;min-height:18px}.template-card h4{font-size:12px;font-weight:600;margin-bottom:2px;color:var(--text-color)}.template-card p{font-size:10.5px;color:var(--text-secondary);margin:0;line-height:1.4}.guide-content{position:relative;min-height:300px}.guide-step{display:none;animation:fadeIn 0.4s ease}.guide-step.active{display:block}.guide-step h4{font-size:18px;margin-bottom:12px;color:var(--primary-color)}.guide-step p{font-size:14px;line-height:1.6;margin-bottom:12px;color:var(--text-color)}.guide-step ul{list-style:none;padding-left:0}.guide-step li{padding:8px 0;font-size:14px;line-height:1.5}.guide-step kbd{padding:2px 6px;background:var(--bg-color);border:1px solid var(--border-color);border-radius:4px;font-family:monospace;font-size:12px}.guide-navigation{display:flex;justify-content:space-between;align-items:center;margin-top:20px;padding-top:20px;border-top:1px solid var(--border-color)}.guide-dots{display:flex;gap:8px}.dot{width:10px;height:10px;border-radius:50%;background:var(--border-color);cursor:pointer;transition:all var(--transition-fast)}.dot.active{background:var(--primary-color);transform:scale(1.3)}.toast{position:fixed;bottom:30px;right:30px;background:var(--panel-bg);padding:12px 20px;border-radius:8px;box-shadow:var(--shadow-medium);display:none;align-items:center;gap:10px;z-index:2000;animation:slideInRight 0.3s ease}.toast.show{display:flex}@keyframes slideInRight{from{transform:translateX(100%);opacity:0}to{transform:translateX(0);opacity:1}}.toast-icon{font-size:20px}.toast-message{font-size:14px;color:var(--text-color)}.modal-large{max-width:900px;width:90%;height:80vh}.modal-large .modal-body{display:flex;height:calc(80vh - 120px);padding:0}.learn-sidebar{width:180px;background:var(--bg-color);border-right:2px solid var(--border-color);padding:16px 0;overflow-y:auto}.learn-nav-item{padding:12px 20px;cursor:pointer;font-size:14px;font-weight:500;color:var(--text-secondary);transition:all 0.2s;border-left:3px solid transparent}.learn-nav-item:hover{background:var(--panel-bg);color:var(--primary-color)}.learn-nav-item.active{background:var(--panel-bg);color:var(--primary-color);border-left-color:var(--primary-color)}.learn-content{flex:1;padding:24px;overflow-y:auto}.learn-content::-webkit-scrollbar{width:8px}.learn-content::-webkit-scrollbar-track{background:var(--bg-color)}.learn-content::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:4px}.learn-content::-webkit-scrollbar-thumb:hover{background:var(--text-secondary)}.learn-section{display:none}.learn-section.active{display:block}.learn-section h3{font-size:22px;font-weight:700;color:var(--primary-color);margin-bottom:24px;padding-bottom:12px;border-bottom:3px solid var(--primary-color)}.learn-card{background:var(--bg-color);border:2px solid var(--border-color);border-radius:8px;padding:20px;margin-bottom:20px;transition:all 0.3s}.learn-card:hover{border-color:var(--primary-color);box-shadow:var(--shadow-medium);transform:translateY(-2px)}.learn-card h4{font-size:16px;font-weight:600;color:var(--secondary-color);margin-bottom:8px;display:inline-block;background:var(--gradient-primary);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.prop-desc{font-size:14px;color:var(--text-secondary);margin-bottom:12px;line-height:1.6}.code-block{background:#282c34;border-radius:6px;padding:16px;margin:12px 0;overflow-x:auto}.code-block code{font-family:'Monaco','Menlo','Ubuntu Mono',monospace;font-size:13px;line-height:1.6;color:#abb2bf;white-space:pre}.prop-tip{display:block;padding:10px 12px;background:linear-gradient(135deg,rgba(74,144,226,0.1),rgba(123,104,238,0.1));border-left:3px solid var(--primary-color);border-radius:4px;font-size:13px;color:var(--text-color);margin-top:10px}@media (max-width:1200px){.workspace{grid-template-columns:1fr}.flex-container{width:100%;max-width:600px}}@media (max-width:768px){.tool-header{flex-direction:column;gap:10px}.tool-actions{width:100%;justify-content:space-between;flex-wrap:wrap}.search-box{width:100%;margin-bottom:8px}.search-input{width:100%}.template-grid{grid-template-columns:1fr}.modal-content{width:95%}}@media (hover:none) and (pointer:coarse){.btn-action,.btn-primary,.btn-secondary,.btn-small,.btn-ai,.btn-theme{min-height:44px;min-width:44px;padding:8px 14px}.item-btn{min-width:44px;min-height:44px}.control-select,.control-input,.control-number{min-height:44px;font-size:16px}.control-range{height:12px}.flex-item{min-width:80px;min-height:80px;font-size:24px;cursor:grab}.flex-item:active{cursor:grabbing}.flex-item:hover{transform:none}.flex-item:active{transform:scale(0.95)}.search-result-item{padding:14px 16px;min-height:60px}}.flex-item{touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}.touch-feedback{background:rgba(74,144,226,0.2) !important;transform:scale(0.98)}.flex-container.virtual-mode{overflow:hidden;position:relative}.flex-container.virtual-mode .flex-item{will-change:transform}.performance-indicator{position:fixed;top:80px;right:20px;background:var(--panel-bg);border:1.5px solid var(--border-color);border-radius:8px;padding:8px 12px;font-size:11px;color:var(--text-secondary);box-shadow:var(--shadow-light);z-index:100;display:none}.performance-indicator.show{display:block}.perf-label{font-weight:600;margin-right:6px}.perf-value{color:var(--primary-color);font-family:monospace}.perf-value.good{color:var(--success-color)}.perf-value.warning{color:var(--warning-color)}.perf-value.bad{color:var(--danger-color)}body.fullscreen-mode{overflow:auto}body.fullscreen-mode .header,body.fullscreen-mode .footer{display:none !important}.fullscreen{position:fixed;top:0;left:0;width:100vw;height:100vh;z-index:999;background:var(--bg-color);padding:20px;overflow-y:auto;overflow-x:hidden}.fullscreen .tool-header{flex-shrink:0;margin-bottom:20px}.fullscreen .workspace{min-height:600px;margin-bottom:20px}.fullscreen .preview-panel{min-height:500px}.fullscreen .control-panel{min-height:500px}.fullscreen .code-panel{flex-shrink:0;margin-top:20px}.fullscreen::-webkit-scrollbar{width:12px}.fullscreen::-webkit-scrollbar-track{background:var(--bg-color);border-radius:6px}.fullscreen::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:6px;transition:background 0.3s}.fullscreen::-webkit-scrollbar-thumb:hover{background:var(--primary-color)}.fullscreen-exit-btn{position:fixed;bottom:30px;right:30px;background:var(--primary-color);color:white;border:none;border-radius:50%;width:56px;height:56px;font-size:24px;cursor:pointer;box-shadow:0 4px 12px rgba(74,144,226,0.4);transition:all 0.3s ease;z-index:1000;display:none}.fullscreen-exit-btn:hover{background:#3a7bc8;transform:scale(1.1);box-shadow:0 6px 16px rgba(74,144,226,0.6)}.fullscreen-exit-btn:active{transform:scale(0.95)}body.fullscreen-mode .fullscreen-exit-btn{display:block}@keyframes pulse{0%,100%{transform:scale(1)}50%{transform:scale(1.05)}}.animate-pulse{animation:pulse 2s infinite}@media print{.tool-header,.control-panel,.panel-header,.code-actions{display:none}.workspace{grid-template-columns:1fr}}