.top-toolbar{display:flex;align-items:center;justify-content:space-between;height:var(--header-height);background-color:var(--bg-secondary);border-bottom:1px solid var(--border-primary);padding:0 var(--space-md);flex-shrink:0}.top-toolbar .toolbar-left{display:flex;align-items:center;gap:var(--space-lg)}.top-toolbar .logo-link{text-decoration:none;color:inherit}.top-toolbar .logo-link:hover h1{color:var(--accent-primary)}.top-toolbar .toolbar-left h1{margin:0;font-size:var(--font-size-lg);font-weight:bold;color:var(--text-primary);transition:color .2s}.top-toolbar .sketch-title-container{display:flex;align-items:center;gap:var(--space-md)}.top-toolbar .sketch-thumbnail{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background-color:var(--bg-tertiary);border:1px solid var(--border-primary);border-radius:var(--radius-sm);overflow:hidden;flex-shrink:0}.top-toolbar .thumbnail-svg{width:100%;height:100%;display:flex;align-items:center;justify-content:center}.top-toolbar .thumbnail-svg svg{width:100%;height:100%;object-fit:contain}.top-toolbar .sketch-title-input{background-color:var(--bg-tertiary);color:var(--text-primary);border:1px solid var(--border-primary);border-radius:var(--radius-sm);padding:var(--space-sm) var(--space-md);font-size:var(--font-size-sm);font-family:var(--font-family);min-width:200px;max-width:300px;transition:border-color .2s}.top-toolbar .sketch-title-input:hover{border-color:var(--border-secondary)}.top-toolbar .sketch-title-input:focus{outline:none;border-color:var(--accent-primary);box-shadow:0 0 0 1px var(--accent-primary)}.top-toolbar .sketch-title-display{margin:0;font-size:var(--font-size-lg);font-weight:bold;color:var(--text-primary);max-width:300px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.top-toolbar .toolbar-right{display:flex;align-items:center;gap:var(--space-lg)}.top-toolbar .save-section{display:flex;align-items:center;gap:var(--space-sm)}.top-toolbar .view-btn{display:inline-flex;align-items:center;gap:4px;padding:8px 16px;background-color:rgba(0,0,0,0);border:2px solid #4caf50;color:#4caf50;border-radius:var(--radius-sm);font-size:var(--font-size-sm);font-weight:600;font-family:var(--font-family);text-decoration:none;cursor:pointer;transition:all .2s ease}.top-toolbar .view-btn:hover{background-color:rgba(76,175,80,.1);border-color:#66bb6a;color:#66bb6a}.top-toolbar .view-btn:active{transform:translateY(1px)}.top-toolbar .save-btn{font-family:var(--font-family)}.top-toolbar .save-btn:disabled,.top-toolbar .save-btn.disabled{background-color:var(--bg-tertiary);border-color:var(--border-primary);color:var(--text-muted);cursor:not-allowed}.top-toolbar .last-saved{font-size:var(--font-size-xs);color:var(--text-muted);white-space:nowrap}.top-toolbar .examples-dropdown{display:flex;align-items:center;gap:var(--space-sm)}.top-toolbar .examples-dropdown label{font-size:var(--font-size-sm);color:var(--text-secondary);white-space:nowrap}.top-toolbar .examples-select{font-family:var(--font-family)}.top-toolbar .examples-select option{background-color:var(--bg-tertiary);color:var(--text-primary)}.top-toolbar .sketch-meta{display:flex;align-items:center;gap:var(--space-md);margin-top:var(--space-xs);font-size:var(--font-size-xs);color:var(--text-muted)}.top-toolbar .sketch-meta .author a{color:var(--accent-primary);text-decoration:none}.top-toolbar .sketch-meta .author a:hover{text-decoration:underline}.top-toolbar .view-actions{display:flex;align-items:center;gap:var(--space-sm)}.top-toolbar .fork-btn,.top-toolbar .edit-btn{font-family:var(--font-family)}.top-toolbar .toolbar-center{display:flex;align-items:center;gap:var(--space-md)}.top-toolbar .run-btn{font-family:var(--font-detail);text-transform:uppercase;letter-spacing:.5px}.top-toolbar .run-btn:disabled{background-color:var(--bg-tertiary);border-color:var(--border-primary);color:var(--text-muted);cursor:not-allowed}.top-toolbar .toolbar-right .status{font-size:var(--font-size-sm);color:var(--text-secondary);font-family:var(--font-detail)}
.code-panel{display:flex;flex-direction:column;min-height:200px;height:100%}.code-panel .panel-header{display:flex;align-items:center;justify-content:space-between;height:40px;background-color:var(--bg-secondary);border-bottom:1px solid var(--border-primary);padding:0 var(--space-md);flex-shrink:0}.code-panel .panel-title{display:flex;align-items:center}.code-panel .panel-header h3{margin:0;font-size:var(--font-size-sm);font-weight:500;font-family:var(--font-header);color:var(--text-primary);display:flex;align-items:center;gap:var(--space-sm);text-transform:uppercase;letter-spacing:1px}.code-panel .panel-controls{display:flex;align-items:center;gap:8px}.code-panel .autocompile-checkbox{display:flex;align-items:center;gap:6px;cursor:pointer;font-size:var(--font-size-xs);color:var(--text-secondary);-webkit-user-select:none;-moz-user-select:none;user-select:none}.code-panel .autocompile-checkbox input[type=checkbox]{cursor:pointer;width:14px;height:14px;accent-color:var(--accent-primary)}.code-panel .autocompile-checkbox:hover{color:var(--text-primary)}.code-panel .minimize-btn{padding:4px 8px;font-size:var(--font-size-xs);line-height:1}.code-panel .minimize-btn:active{background-color:var(--accent-primary);color:var(--text-invert)}.code-panel .run-btn{font-family:var(--font-detail);text-transform:uppercase;letter-spacing:.5px}.code-panel .run-btn:disabled{background-color:var(--bg-tertiary);border-color:var(--border-primary);color:var(--text-muted);cursor:not-allowed}.code-panel .editor-container{flex:1 1;overflow:hidden;height:100%;width:100%;position:relative}.code-panel .editor-container .monaco-editor{height:100% !important;width:100% !important;position:absolute !important;top:0 !important;left:0 !important}.editor-loading{display:flex;align-items:center;justify-content:center;height:200px;color:var(--text-muted);font-style:italic}.monaco-editor{background-color:#1e1e1e !important}.monaco-editor .margin{background-color:#1e1e1e !important}
.controls-panel{display:flex;flex-direction:column;min-height:150px;height:100%;border-top:1px solid var(--border-primary)}.controls-panel .panel-header{display:flex;align-items:center;justify-content:space-between;height:40px;background-color:var(--bg-secondary);border-bottom:1px solid var(--border-primary);padding:0 var(--space-md);flex-shrink:0}.controls-panel .panel-title{display:flex;align-items:center}.controls-panel .panel-header h3{margin:0;font-size:var(--font-size-sm);font-weight:500;font-family:var(--font-header);color:var(--text-primary);display:flex;align-items:center;gap:var(--space-sm);text-transform:uppercase;letter-spacing:1px}.controls-panel .minimize-btn{padding:4px 8px;font-size:var(--font-size-xs);line-height:1}.controls-panel .minimize-btn:active{background-color:var(--accent-primary);color:var(--text-invert)}.controls-content{padding:16px;background-color:var(--bg-secondary);flex:1 1;overflow-y:auto}.controls-content h4{margin:0 0 12px 0;font-size:var(--font-size-sm);color:var(--text-primary);font-weight:500;font-family:var(--font-header);text-transform:uppercase;letter-spacing:1px}.control-group{margin-bottom:16px}.control-group label{display:block;margin-bottom:4px;font-size:var(--font-size-xs);color:var(--text-secondary);font-family:var(--font-detail)}.control-group input,.control-group select{padding:6px 8px;border:1px solid var(--border-primary);background:var(--bg-secondary);color:var(--text-primary);font-family:var(--font-body);font-size:var(--font-size-sm);border-radius:var(--radius-sm);transition:border-color .2s ease;width:100%}.execution-time-badge{display:inline-block;padding:4px 8px;border-radius:var(--radius-sm);background:var(--bg-tertiary);color:var(--accent-secondary);font-size:var(--font-size-xs);font-weight:600;font-family:var(--font-mono)}.interactive-control{background-color:#252525;padding:10px 12px;border-radius:4px;margin-bottom:12px;border:1px solid #3e3e3e}.interactive-control .control-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.interactive-control .control-header label{font-size:13px;font-weight:500;color:#ddd;margin:0}.control-actions-inline{display:flex;gap:4px}.control-actions-inline button{background:none;border:none;cursor:pointer;padding:2px 4px;font-size:12px;border-radius:3px;transition:background-color .2s}.control-actions-inline button:hover{background-color:#3e3e3e}.control-value-input{margin-bottom:8px}.control-value-input input[type=number]{width:100%;padding:6px 8px;background-color:#1e1e1e;border:1px solid #3e3e3e;border-radius:3px;color:#4a9eff;font-size:14px;font-weight:600;font-family:"Courier New",monospace}.control-value-input input[type=number]:focus{outline:none;border-color:#4a9eff}.control-value-input input[type=number]:disabled{opacity:.5;cursor:not-allowed}.control-slider{width:100%;height:6px;border-radius:3px;background:#3e3e3e;outline:none;-moz-appearance:none;appearance:none;-webkit-appearance:none}.control-slider::-webkit-slider-thumb{appearance:none;-webkit-appearance:none;width:16px;height:16px;border-radius:50%;background:#4a9eff;cursor:pointer;-webkit-transition:background .2s;transition:background .2s}.control-slider::-webkit-slider-thumb:hover{background:#6ab0ff}.control-slider::-moz-range-thumb{width:16px;height:16px;border-radius:50%;background:#4a9eff;cursor:pointer;border:none;-moz-transition:background .2s;transition:background .2s}.control-slider::-moz-range-thumb:hover{background:#6ab0ff}.control-slider:disabled{opacity:.5;cursor:not-allowed}.control-slider:disabled::-webkit-slider-thumb{cursor:not-allowed;background:#666}.control-slider:disabled::-moz-range-thumb{cursor:not-allowed;background:#666}.range-labels{display:flex;justify-content:space-between;margin-top:4px;font-size:10px;color:#888}.update-viz-btn{width:100%;margin-top:8px;padding:10px 12px;font-size:13px;font-weight:600;background-color:#0e639c;color:#fff;border:none;border-radius:4px;cursor:pointer;transition:background-color .2s}.update-viz-btn:hover:not(:disabled){background-color:#17b}.update-viz-btn:disabled{opacity:.5;cursor:not-allowed}.control-form{background-color:#252525;padding:12px;border-radius:4px;border:1px solid #3e3e3e;margin-bottom:12px}.control-form h5{margin:0 0 8px 0;font-size:12px;color:#ccc}.control-form .form-group{margin-bottom:10px}.control-form .form-group label{display:block;font-size:11px;margin-bottom:4px;color:#aaa}.control-form .form-group input{width:100%;padding:6px 8px;background-color:#1e1e1e;border:1px solid #3e3e3e;border-radius:3px;color:#ccc;font-size:12px}.control-form .form-group input:focus{outline:none;border-color:#0e639c}.form-row{display:grid;grid-template-columns:1fr 1fr;grid-gap:10px;gap:10px}.form-actions{display:flex;gap:8px;margin-top:12px}.form-actions button{flex:1 1;padding:8px 12px;font-size:var(--font-size-xs);font-weight:600;font-family:var(--font-detail);border:1px solid;border-radius:var(--radius-sm);cursor:pointer;transition:all .2s ease}.form-actions .save-btn{background-color:var(--accent-secondary);color:var(--text-invert);border-color:var(--accent-secondary)}.form-actions .save-btn:hover{background-color:var(--accent-primary);border-color:var(--accent-primary);transform:translateY(-1px)}.form-actions .save-btn:active{transform:translateY(0)}.form-actions .cancel-btn{background-color:var(--bg-tertiary);color:var(--text-primary);border-color:var(--border-primary)}.form-actions .cancel-btn:hover{background-color:var(--bg-secondary);border-color:var(--border-secondary);transform:translateY(-1px)}.form-actions .cancel-btn:active{transform:translateY(0)}.add-control-btn{max-width:200px;padding:10px 12px;font-size:var(--font-size-sm);font-weight:600;font-family:var(--font-detail);background-color:var(--accent-secondary);color:var(--text-invert);border:1px solid var(--accent-secondary);border-radius:var(--radius-sm);cursor:pointer;transition:all .2s ease;margin-bottom:8px}.add-control-btn:hover{background-color:var(--accent-primary);border-color:var(--accent-primary);transform:translateY(-1px)}.add-control-btn:active{transform:translateY(0)}.help-text{padding:10px;background-color:#252525;border-radius:4px;font-size:11px;color:#888;border:1px solid #3e3e3e}.help-text p{margin:0}.description-textarea{width:100%;padding:8px;background-color:var(--bg-tertiary);border:1px solid var(--border-primary);border-radius:var(--radius-sm);color:var(--text-primary);font-family:var(--font-body);font-size:var(--font-size-sm);line-height:1.5;resize:vertical;min-height:60px;transition:border-color .2s ease}.description-textarea:focus{outline:none;border-color:var(--accent-secondary)}.description-text{margin:0;padding:8px;background-color:var(--bg-tertiary);border-radius:var(--radius-sm);color:var(--text-secondary);font-size:var(--font-size-sm);line-height:1.5;white-space:pre-wrap}

/*# sourceMappingURL=1adeb5f63d66f78b.css.map*/