:root{--primary-color:#4a90e2;--secondary-color:#7b68ee;--success-color:#52c41a;--warning-color:#faad14;--danger-color:#f5222d;--text-color:#333;--text-secondary:#666;--border-color:#d9d9d9;--bg-color:#f5f5f5;--panel-bg:#fff;--code-bg:#f6f8fa;--shadow-light:0 2px 8px rgba(0,0,0,0.1);--shadow-medium:0 4px 12px rgba(0,0,0,0.15);--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{--text-color:#e8e8e8;--text-secondary:#b0b0b0;--border-color:#404040;--bg-color:#1a1a1a;--panel-bg:#2d2d2d;--code-bg:#1e1e1e}*{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);line-height:1.6;transition:background var(--transition-medium),color var(--transition-medium)}.main-container{max-width:1500px;margin:0 auto;padding:20px}.tool-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding:10px 16px;background:var(--panel-bg);border-radius:12px;box-shadow:var(--shadow-light)}.tool-header h1{font-size:22px;font-weight:700;background:var(--gradient-primary);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.tool-actions{display:flex;gap:10px;align-items:center}.search-box{position:relative;margin-right:10px}.search-input{width:200px;padding:6px 30px 6px 10px;border:1.5px solid var(--border-color);border-radius:8px;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:250px}.search-icon{position:absolute;right:8px;top:50%;transform:translateY(-50%);font-size:14px;pointer-events:none;opacity:0.5}.search-results{position:absolute;top:calc(100% + 5px);left:0;right:0;background:var(--panel-bg);border:1.5px solid var(--border-color);border-radius:8px;max-height:300px;overflow-y:auto;display:none;z-index:10000;box-shadow:var(--shadow-medium)}.search-results.show{display:block}.search-result-item{padding:8px 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:rgba(74,144,226,0.1)}.search-result-title{font-size:13px;font-weight:600;color:var(--primary-color);margin-bottom:2px}.search-result-desc{font-size:11px;color:var(--text-secondary)}.search-no-results{padding:20px;text-align:center;color:var(--text-secondary);font-size:13px}.btn-action,.btn-primary,.btn-secondary,.btn-small,.btn-theme{padding:6px 12px;border:none;border-radius:8px;font-size:13px;font-weight:500;cursor:pointer;transition:all var(--transition-fast);display:inline-flex;align-items:center;gap:5px}.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 10px;font-size:12px}.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)}.btn-theme:hover{box-shadow:0 4px 16px rgba(102,126,234,0.5);transform:translateY(-2px)}body.dark .btn-theme{background:linear-gradient(135deg,#f093fb 0,#f5576c 100%);box-shadow:0 2px 8px rgba(240,147,251,0.3)}.workspace{display:grid;grid-template-columns:1fr 450px;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:10px;align-items:center}.toggle-label{display:inline-flex;align-items:center;gap:6px;font-size:13px;cursor:pointer;padding:4px 8px;border-radius:6px;transition:background var(--transition-fast);margin-bottom:0;line-height:1}.toggle-label:hover{background:rgba(74,144,226,0.1)}.toggle-label input[type="checkbox"]{cursor:pointer;width:16px;height:16px}.toggle-text{font-size:13px;color:var(--text-color);user-select:none}.btn-success{background:var(--success-color);color:white;border:none}.btn-success:hover{background:#389e0d;box-shadow:0 2px 8px rgba(82,196,26,0.3)}.btn-danger{background:var(--danger-color);color:white;border:none}.btn-danger:hover{background:#cf1322;box-shadow:0 2px 8px rgba(245,34,45,0.3)}.btn-small span{font-size:16px;font-weight:bold}.grid-container-wrapper{position:relative;padding:30px;min-height:500px;display:flex;justify-content:center;align-items:center}.grid-container{display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(2,100px);gap:10px;background:linear-gradient(135deg,rgba(74,144,226,0.05),rgba(123,104,238,0.05));border:3px dashed var(--primary-color);border-radius:8px;padding:15px;position:relative;transition:all var(--transition-medium);width:600px;height:400px}.grid-container::before{content:'Grid 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}.grid-container.show-grid-lines{background-image:repeating-linear-gradient(0deg,transparent,transparent calc(100% / 2 - 1px),rgba(74,144,226,0.3) calc(100% / 2 - 1px),rgba(74,144,226,0.3) calc(100% / 2)),repeating-linear-gradient(90deg,transparent,transparent calc(100% / 3 - 1px),rgba(74,144,226,0.3) calc(100% / 3 - 1px),rgba(74,144,226,0.3) calc(100% / 3))}body.dark .grid-container.show-grid-lines{background-image:repeating-linear-gradient(0deg,transparent,transparent calc(100% / 2 - 1px),rgba(74,144,226,0.6) calc(100% / 2 - 1px),rgba(74,144,226,0.6) calc(100% / 2)),repeating-linear-gradient(90deg,transparent,transparent calc(100% / 3 - 1px),rgba(74,144,226,0.6) calc(100% / 3 - 1px),rgba(74,144,226,0.6) calc(100% / 3))}.grid-item{background:var(--gradient-primary);color:white;padding:20px;border-radius:8px;cursor:pointer;transition:all var(--transition-fast);box-shadow:var(--shadow-light);display:flex;align-items:center;justify-content:center;font-size:20px;font-weight:bold;position:relative}.grid-item:hover{transform:scale(1.05);box-shadow:var(--shadow-medium);z-index:10}.grid-item.selected{background:var(--gradient-secondary);box-shadow:0 0 0 3px rgba(245,87,108,0.3);transform:scale(1.02)}.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}.control-item label{font-size:13px;font-weight:500;min-width:90px;color:var(--text-color);flex-shrink:0}.control-item label.label-long{min-width:165px}.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-input.input-short{max-width:160px}.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)}.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:10px 14px;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:200px;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}.property-tooltip-title{font-weight:600;margin-bottom:4px;color:#4a90e2}.property-tooltip-name{font-size:11px;color:#52c41a;margin-bottom:4px;font-weight:500}.property-tooltip-desc{margin-bottom:4px}.property-tooltip-tip{font-size:11px;color:#b0b0b0;margin-top:6px;padding-top:6px;border-top:1px solid rgba(255,255,255,0.1)}.value-display{min-width:50px;font-size:12px;color:var(--text-secondary);font-weight:500}.item-selector{display:flex;gap:6px;flex-wrap:wrap}.item-btn{width:36px;height:36px;border:1.5px solid var(--border-color);background:var(--panel-bg);color:var(--text-color);border-radius:6px;cursor:pointer;font-weight:600;transition:all var(--transition-fast)}.item-btn:hover{border-color:var(--primary-color);background:rgba(74,144,226,0.1)}.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-wrapper{padding:20px;background:var(--code-bg);max-height:400px;overflow-y:auto}.code-wrapper::-webkit-scrollbar{width:8px;height:8px}.code-wrapper::-webkit-scrollbar-track{background:var(--bg-color);border-radius:4px}.code-wrapper::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:4px}.code-wrapper::-webkit-scrollbar-thumb:hover{background:var(--primary-color)}.code-wrapper pre{margin:0;font-family:'Consolas','Monaco','Courier New',monospace}.code-wrapper code{font-family:'Consolas','Monaco','Courier New',monospace;font-size:14px;line-height:1.8;color:var(--text-color);display:block}body.dark .code-wrapper{background:#1e1e1e}body.dark .code-wrapper code{color:#d4d4d4}.toast{position:fixed;bottom:30px;right:30px;background:var(--panel-bg);color:var(--text-color);padding:12px 20px;border-radius:8px;box-shadow:var(--shadow-medium);transform:translateY(100px);opacity:0;transition:all var(--transition-medium);z-index:10000;border-left:4px solid var(--primary-color)}.toast.show{transform:translateY(0);opacity:1}.toast-message{font-size:14px;font-weight:500}.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:12px;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(--panel-bg);display:flex;flex-direction:column}.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:100px;background:linear-gradient(135deg,#f8f9fa 0,#e9ecef 100%);border:1px solid var(--border-color);border-radius:6px;margin-bottom:10px;padding:8px;display:flex;align-items:center;justify-content:center}body.dark .template-preview{background:linear-gradient(135deg,#2a2a2a 0,#1a1a1a 100%)}.mini-grid{width:100%;height:100%;display:grid;border:2px dashed var(--primary-color);padding:5px;border-radius:4px}.mini-item{background:var(--gradient-primary);border-radius:3px;min-width:10px;min-height:10px}.template-card h4{font-size:13px;font-weight:600;margin-bottom:4px;color:var(--text-color);text-align:center}.template-card p{font-size:11px;color:var(--text-secondary);margin:0;line-height:1.5;text-align:center}.modal-large{max-width:900px;width:90%}.modal-large .modal-body{display:flex;padding:0;max-height:70vh}.learn-sidebar{width:180px;background:var(--bg-color);border-right:1.5px solid var(--border-color);padding:10px 0;flex-shrink:0}.learn-nav-item{padding:10px 16px;cursor:pointer;font-size:13px;color:var(--text-color);transition:all var(--transition-fast);border-left:3px solid transparent}.learn-nav-item:hover{background:rgba(74,144,226,0.05)}.learn-nav-item.active{background:rgba(74,144,226,0.1);color:var(--primary-color);border-left-color:var(--primary-color);font-weight:600}.learn-content{flex:1;padding:16px;overflow-y:auto}.learn-content::-webkit-scrollbar{width:6px}.learn-content::-webkit-scrollbar-track{background:var(--bg-color)}.learn-content::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:3px}.learn-section{display:none}.learn-section.active{display:block;animation:fadeIn 0.3s ease}.learn-section h3{font-size:18px;margin-bottom:16px;color:var(--primary-color);border-bottom:2px solid var(--primary-color);padding-bottom:8px}.learn-card{margin-bottom:20px;padding:14px;background:var(--bg-color);border-radius:8px;border:1.5px solid var(--border-color)}.learn-card h4{font-size:15px;margin-bottom:8px;color:var(--text-color);font-weight:600}.prop-desc{font-size:13px;color:var(--text-secondary);margin-bottom:10px}.code-block{background:var(--code-bg);border-radius:6px;padding:12px;margin:10px 0;border-left:3px solid var(--primary-color)}.code-block code{font-family:'Consolas','Monaco','Courier New',monospace;font-size:12px;line-height:1.6;color:var(--text-color)}.prop-tip{font-size:12px;color:var(--success-color);margin-top:8px;padding:6px 10px;background:rgba(82,196,26,0.1);border-radius:4px;border-left:3px solid var(--success-color)}.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;color:var(--text-color)}.guide-step kbd{display:inline-block;padding:2px 6px;font-size:12px;font-family:monospace;background:var(--bg-color);border:1px solid var(--border-color);border-radius:4px;box-shadow:0 1px 2px rgba(0,0,0,0.1)}.guide-navigation{display:flex;justify-content:space-between;align-items:center;margin-top:20px;padding-top:16px;border-top:1.5px solid var(--border-color)}.guide-dots{display:flex;gap:8px}.dot{width:8px;height:8px;border-radius:50%;background:var(--border-color);cursor:pointer;transition:all var(--transition-fast)}.dot.active{background:var(--primary-color);transform:scale(1.3)}.keyboard-hint{position:fixed;bottom:80px;right:30px;background:rgba(74,144,226,0.95);color:white;padding:10px 16px;border-radius:8px;font-size:13px;font-weight:500;opacity:0;transform:translateY(20px);transition:all 0.3s ease;z-index:9999;box-shadow:0 4px 12px rgba(0,0,0,0.2)}.keyboard-hint.show{opacity:1;transform:translateY(0)}body.fullscreen-mode{overflow:hidden}body.fullscreen-mode .main-container{max-width:none !important;width:100% !important;height:100vh !important;margin:0 !important;padding:20px !important;overflow-y:auto;overflow-x:hidden;display:block}.fullscreen{position:fixed;top:0;left:0;width:100vw;height:100vh;z-index:999;background:var(--bg-color);padding:0;overflow:hidden;display:flex;flex-direction:column}.fullscreen .tool-header{flex-shrink:0;margin:0;border-radius:0;padding:8px 16px}.fullscreen .tool-header h1{font-size:20px}.fullscreen .tool-actions{gap:8px;flex-wrap:nowrap;overflow-x:auto}.fullscreen .tool-actions::-webkit-scrollbar{height:4px}.fullscreen .tool-actions::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:2px}.fullscreen .workspace{margin:0 0 20px 0;padding:0;display:grid;grid-template-columns:1fr 450px;gap:20px}.fullscreen .preview-panel{height:auto;min-height:500px;display:flex;flex-direction:column;overflow:visible}.fullscreen .control-panel{height:auto;min-height:500px;max-height:800px;display:flex;flex-direction:column;overflow:hidden}.fullscreen .grid-container-wrapper{flex:1;overflow:visible;min-height:400px}.fullscreen .controls-wrapper{flex:1;overflow-y:auto;overflow-x:hidden;min-height:0}.fullscreen .code-panel{display:block;margin:0;overflow:visible}.fullscreen-exit-btn{position:fixed;bottom:30px;right:30px;width:50px;height:50px;border-radius:50%;background:var(--danger-color);color:white;border:none;font-size:24px;cursor:pointer;box-shadow:0 4px 12px rgba(245,34,45,0.4);transition:all var(--transition-fast);z-index:1000}.fullscreen-exit-btn:hover{transform:scale(1.1);box-shadow:0 6px 16px rgba(245,34,45,0.6)}body.fullscreen-mode header,body.fullscreen-mode footer{display:none}@media (max-width:1200px){.workspace{grid-template-columns:1fr}.control-panel{order:-1}}@media (max-width:768px){.tool-header{flex-direction:column;gap:12px}.tool-actions{flex-wrap:wrap;justify-content:center}.grid-container{width:100%;max-width:500px}}