.graph-canvas-container{position:relative;width:100%;height:100%;background:var(--canvas-bg);overflow:hidden;transition:background .3s ease;padding:0;margin:0;box-sizing:border-box;min-width:0;min-height:0;clip-path:inset(0 round 16px);border-radius:16px}.graph-canvas{display:block;width:100%;height:100%;cursor:grab;border:none;padding:0;margin:0;box-sizing:border-box}.graph-canvas:active{cursor:grabbing}.canvas-info{position:absolute;bottom:1rem;left:1rem;background:var(--bg-secondary);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:.75rem 1rem;border-radius:8px;box-shadow:0 2px 10px var(--shadow-light);font-size:.8rem;color:var(--text-secondary);border:1px solid var(--border-color);transition:all .3s ease}.coordinates{font-family:Monaco,Menlo,Ubuntu Mono,monospace;margin-bottom:.25rem;font-weight:500;color:var(--text-primary);transition:color .3s ease}.instructions{opacity:.7;font-size:.75rem}.function-input{background:var(--bg-tertiary);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:2px solid var(--border-color);border-radius:8px;padding:.75rem;margin-bottom:.5rem;transition:all .3s ease;box-shadow:0 2px 8px var(--shadow-light)}.function-input:hover{border-color:#667eea66;box-shadow:0 3px 15px #667eea26;transform:translateY(-1px)}.function-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.function-controls{display:flex;gap:.5rem}.visibility-btn{width:28px;height:28px;border:none;border-radius:50%;color:#fff;font-size:.9rem;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 8px #0003}.visibility-btn:hover{transform:scale(1.1);box-shadow:0 3px 15px #0000004d}.remove-btn{width:28px;height:28px;background:var(--danger-color);color:#fff;border:none;border-radius:50%;font-size:.9rem;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.remove-btn:hover{background:#dc2626;transform:scale(1.05)}.input-container{display:flex;align-items:center;gap:.4rem;margin-bottom:.4rem}.function-prefix{color:var(--text-secondary);font-weight:500;font-size:.85rem;min-width:35px;transition:color .3s ease}.function-expression{flex:1;padding:.4rem .6rem;border:1px solid var(--input-border);border-radius:5px;font-size:.85rem;font-family:Monaco,Menlo,Ubuntu Mono,monospace;transition:all .2s ease;background:var(--input-bg);color:var(--text-primary)}.function-expression:focus{outline:none;border-color:var(--button-bg);box-shadow:0 0 0 3px #3b82f61a}.function-expression.error{border-color:var(--danger-color);box-shadow:0 0 0 3px #ef44441a}.error-message{color:var(--danger-color);font-size:.75rem;margin-bottom:.4rem}.function-examples{color:var(--text-muted);font-size:.7rem;line-height:1.2;transition:color .3s ease}.control-panel{position:absolute;top:50px;right:0;width:280px;padding:1.25rem;background:#1e293bf2;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid var(--border-color);border-radius:12px;box-shadow:0 8px 32px #0006;transition:all .3s cubic-bezier(.4,0,.2,1);z-index:1000;transform-origin:top right}.control-panel.hidden{opacity:0;transform:translateY(-10px) scale(.95);pointer-events:none}.control-panel.visible{opacity:1;transform:translateY(0) scale(1);pointer-events:all}.control-panel h3{color:var(--text-primary);font-size:1.1rem;font-weight:600;margin-bottom:1.5rem;transition:color .3s ease}.control-panel h4{color:var(--text-secondary);font-size:.9rem;font-weight:600;margin-bottom:.75rem;transition:color .3s ease}.control-group{margin-bottom:1.5rem}.checkbox-label{display:flex;align-items:center;margin-bottom:.75rem;cursor:pointer;font-size:.9rem;color:var(--text-secondary);transition:color .3s ease}.checkbox-label input[type=checkbox]{display:none}.checkmark{width:18px;height:18px;background:var(--input-bg);border:2px solid var(--input-border);border-radius:4px;margin-right:.75rem;position:relative;transition:all .2s ease}.checkbox-label input[type=checkbox]:checked+.checkmark{background:var(--button-bg);border-color:var(--button-bg)}.checkbox-label input[type=checkbox]:checked+.checkmark:after{content:"✓";position:absolute;color:#fff;font-size:.8rem;top:50%;left:50%;transform:translate(-50%,-50%)}.viewport-inputs{display:grid;gap:.5rem}.input-row{display:flex;align-items:center;justify-content:space-between}.input-row label{font-size:.85rem;color:var(--text-secondary);font-weight:500;min-width:50px;transition:color .3s ease}.input-row input{width:80px;padding:.4rem .6rem;border:1px solid var(--input-border);border-radius:4px;font-size:.85rem;transition:all .2s ease;background:var(--input-bg);color:var(--text-primary)}.input-row input:focus{outline:none;border-color:var(--button-bg);box-shadow:0 0 0 2px #3b82f61a}.preset-buttons{display:grid;grid-template-columns:1fr 1fr;gap:.5rem;margin-bottom:.75rem}.preset-btn{padding:.5rem .75rem;background:var(--button-secondary);border:1px solid var(--input-border);border-radius:6px;font-size:.8rem;color:var(--text-secondary);cursor:pointer;transition:all .2s ease}.preset-btn:hover{background:var(--button-secondary-hover);border-color:var(--button-bg);color:var(--button-bg)}.reset-btn:not(.always-visible){width:100%;padding:.6rem;background:var(--success-color);color:#fff;border:none;border-radius:6px;font-size:.85rem;font-weight:500;cursor:pointer;transition:all .2s ease;margin-bottom:1rem}.reset-btn:not(.always-visible):hover{background:#059669;transform:translateY(-1px)}.control-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;gap:.75rem}.toggle-controls-btn{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;background:var(--button-bg);color:#fff;border:none;border-radius:8px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .3s ease;flex:1}.toggle-controls-btn:hover{background:#2563eb;transform:translateY(-1px);box-shadow:0 4px 12px #3b82f64d}.toggle-icon{font-size:1.1rem;transition:transform .3s ease}.toggle-icon.expanded{transform:rotate(180deg)}.reset-btn.always-visible{padding:.75rem 1rem;background:var(--success-color);color:#fff;border:none;border-radius:8px;font-size:.85rem;font-weight:600;cursor:pointer;transition:all .3s ease;margin-bottom:0;min-width:100px}.reset-btn.always-visible:hover{background:#059669;transform:translateY(-1px);box-shadow:0 4px 12px #10b9814d}.collapsible-content{overflow:hidden;transition:all .4s cubic-bezier(.4,0,.2,1)}.collapsible-content.collapsed{max-height:0;opacity:0;transform:translateY(-10px)}.collapsible-content.expanded{max-height:800px;opacity:1;transform:translateY(0)}.control-section{padding-top:.5rem}.control-section h3{color:var(--text-primary);font-size:1.1rem;font-weight:600;margin-bottom:1.5rem;transition:color .3s ease}.control-panel.visible{display:block;animation:slideIn .3s ease-out forwards}.control-panel.hidden{display:none}@keyframes slideIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.graphing-calculator{display:flex;height:calc(100vh - 70px);background:var(--bg-gradient);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;overflow:hidden;transition:background .3s ease;margin:.5rem;border-radius:16px;isolation:isolate;clip-path:inset(0 round 16px);padding:0;box-sizing:border-box;position:relative}.calculator-sidebar{width:350px;background:var(--bg-secondary);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);display:flex;flex-direction:column;height:100%;overflow-y:auto;overflow-x:hidden;box-shadow:4px 0 20px var(--shadow-light);transition:all .3s ease;scroll-behavior:smooth;scrollbar-width:thin;scrollbar-color:var(--text-muted) transparent;border-radius:0;padding:0;margin:0;box-sizing:border-box;min-height:0;flex-shrink:0}.calculator-sidebar::-webkit-scrollbar{width:8px}.calculator-sidebar::-webkit-scrollbar-track{background:transparent}.calculator-sidebar::-webkit-scrollbar-thumb{background:var(--text-muted);border-radius:4px;opacity:.5}.calculator-sidebar::-webkit-scrollbar-thumb:hover{background:var(--text-secondary);opacity:.7}.functions-panel{padding:1rem;border-bottom:1px solid var(--border-color);flex:1;min-height:0;max-height:calc(100vh - 150px);overflow:hidden;display:flex;flex-direction:column}.functions-list{flex:1;overflow-y:auto;overflow-x:hidden;min-height:0;padding-right:.25rem}.functions-list::-webkit-scrollbar{width:6px}.functions-list::-webkit-scrollbar-track{background:transparent}.functions-list::-webkit-scrollbar-thumb{background:var(--text-muted);border-radius:3px;opacity:.3}.functions-list::-webkit-scrollbar-thumb:hover{background:var(--text-secondary);opacity:.5}.functions-panel h3{margin-bottom:1rem;color:var(--text-primary);font-size:1.1rem;font-weight:700;text-align:center;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;transition:color .3s ease;flex-shrink:0}.add-function-btn{width:100%;padding:.6rem;background:var(--button-bg);color:#fff;border:none;border-radius:8px;font-size:.85rem;font-weight:600;cursor:pointer;transition:all .3s ease;margin-top:.75rem;box-shadow:0 2px 10px #667eea66;position:relative;overflow:hidden;flex-shrink:0}.add-function-btn:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .5s}.add-function-btn:hover:before{left:100%}.add-function-btn:hover{background:var(--button-hover);transform:translateY(-2px);box-shadow:0 8px 25px #667eea99}.add-function-btn:active{transform:translateY(0)}.graph-container{flex:1;position:relative;background:var(--canvas-bg);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);overflow:hidden;border-radius:0;box-shadow:0 10px 40px var(--shadow-medium);transition:all .3s ease;padding:0;margin:0;min-height:0;min-width:0}.floating-controls{position:absolute;top:1rem;right:1rem;display:flex;gap:.5rem;z-index:100}.floating-controls .floating-btn,.floating-controls button.floating-btn,button.floating-btn.controls-btn,button.floating-btn.reset-btn{all:unset!important;width:40px!important;height:40px!important;border:none!important;border-radius:0!important;cursor:pointer!important;display:flex!important;align-items:center!important;justify-content:center!important;font-size:1.1rem!important;background:none!important;background-color:transparent!important;background-image:none!important;box-shadow:none!important;appearance:none!important;-webkit-appearance:none!important;-moz-appearance:none!important;transition:all .3s cubic-bezier(.4,0,.2,1)!important;color:#cbd5e1cc!important;padding:0!important;margin:0!important;outline:none!important;text-decoration:none!important;text-shadow:none!important;border-image:none!important;filter:none!important}.floating-btn.controls-btn,.floating-btn.reset-btn{background:none!important;background-color:transparent!important;background-image:none!important;box-shadow:none!important}.floating-btn:hover{background:none!important;background-color:transparent!important;background-image:none!important;box-shadow:none!important;transform:translateY(-2px) scale(1.1)!important;color:#cbd5e1!important;border:none!important;outline:none!important;filter:none!important}.floating-btn.controls-btn:hover{background:none!important;background-color:transparent!important;background-image:none!important;box-shadow:none!important;color:#3b82f6e6!important}.floating-btn.reset-btn:hover{background:none!important;background-color:transparent!important;background-image:none!important;box-shadow:none!important;color:#10b981e6!important}.floating-btn.mode-btn:hover{color:#8b5cf6e6!important;background:none!important;background-color:transparent!important}.floating-btn:active{background:none!important;background-color:transparent!important;background-image:none!important;box-shadow:none!important;transform:translateY(0) scale(.95)!important;border:none!important;outline:none!important}.floating-btn:focus{background:none!important;background-color:transparent!important;background-image:none!important;box-shadow:none!important;outline:none}@media (max-width: 768px){.graphing-calculator{flex-direction:column;height:100vh}.calculator-sidebar{width:100%;height:45%;border-right:none;border-bottom:1px solid var(--border-color);overflow-y:auto}.graph-container{height:55%;margin:.5rem;border-radius:15px}.functions-panel{padding:1rem}.functions-panel h3{font-size:1.1rem}.floating-controls{top:.75rem;right:.75rem}.floating-btn{width:36px;height:36px;font-size:1rem}}.graph-3d-container{position:relative;width:100%;height:100%;background:var(--canvas-bg);overflow:hidden;transition:background .3s ease;padding:0;margin:0;box-sizing:border-box;min-width:0;min-height:0;clip-path:inset(0 round 16px);border-radius:16px}.graph-3d-canvas{display:block;width:100%;height:100%;cursor:grab;border:none;padding:0;margin:0;box-sizing:border-box}.graph-3d-canvas:active{cursor:grabbing}.graph-3d-canvas.dragging{cursor:grabbing!important}.graph-3d-canvas.right-dragging{cursor:move!important}@media (hover: none) and (pointer: coarse){.graph-3d-canvas{cursor:default;touch-action:none}.canvas-3d-info{font-size:.9rem;padding:1rem}.rotation-info{font-size:.8rem}}@media (max-width: 768px){.canvas-3d-info{bottom:.5rem;left:.5rem;right:.5rem;max-width:none;font-size:.75rem}.rotation-info{font-size:.7rem}.function-3d-display{font-size:.8rem}}.canvas-3d-info{position:absolute;bottom:1rem;left:1rem;background:var(--bg-secondary);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:.75rem 1rem;border-radius:8px;box-shadow:0 2px 10px var(--shadow-light);font-size:.8rem;color:var(--text-secondary);border:1px solid var(--border-color);transition:all .3s ease;max-width:calc(100% - 2rem)}.rotation-info{font-family:Monaco,Menlo,Ubuntu Mono,monospace;margin-bottom:.25rem;font-weight:500;color:var(--text-primary);transition:color .3s ease;font-size:.75rem}.function-3d-display{font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-weight:600;color:var(--button-bg);font-size:.85rem}.function-3d-input{background:var(--bg-tertiary);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:2px solid var(--border-color);border-radius:16px;padding:1.5rem;margin-bottom:1rem;transition:all .3s ease;box-shadow:0 4px 20px var(--shadow-light)}.function-3d-input:hover{border-color:#667eea66;box-shadow:0 8px 30px #667eea26;transform:translateY(-2px)}.input-container-3d{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem}.function-prefix-3d{color:var(--text-secondary);font-weight:500;font-size:.9rem;min-width:25px;transition:color .3s ease}.function-expression-3d{flex:1;padding:.75rem 1rem;border:1px solid var(--input-border);border-radius:8px;font-size:.95rem;font-family:Monaco,Menlo,Ubuntu Mono,monospace;transition:all .2s ease;background:var(--input-bg);color:var(--text-primary)}.function-expression-3d:focus{outline:none;border-color:var(--button-bg);box-shadow:0 0 0 3px #3b82f61a}.function-expression-3d.error{border-color:var(--danger-color);box-shadow:0 0 0 3px #ef44441a}.error-message-3d{color:var(--danger-color);font-size:.8rem;margin-bottom:.5rem}.function-examples-3d{color:var(--text-muted);font-size:.75rem;line-height:1.4;transition:color .3s ease}.function-examples-3d strong{color:var(--text-secondary);transition:color .3s ease}.control-3d-panel{position:absolute;top:50px;right:0;width:280px;padding:1.25rem;background:#1e293bf2;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid var(--border-color);border-radius:12px;box-shadow:0 8px 32px #0006;transition:all .3s cubic-bezier(.4,0,.2,1);z-index:1000;transform-origin:top right}.control-3d-panel.hidden{opacity:0;transform:translateY(-10px) scale(.95);pointer-events:none}.control-3d-panel.visible{opacity:1;transform:translateY(0) scale(1);pointer-events:all}.control-3d-panel h3{color:var(--text-primary);font-size:1.1rem;font-weight:600;margin-bottom:1.5rem;transition:color .3s ease}.control-3d-panel h4{color:var(--text-secondary);font-size:.9rem;font-weight:600;margin-bottom:.75rem;transition:color .3s ease}.viewport-inputs-3d{display:grid;gap:.5rem}.preset-buttons-3d{display:grid;grid-template-columns:1fr 1fr 1fr;gap:.5rem;margin-bottom:.75rem}.graphing-3d-calculator{display:flex;height:calc(100vh - 70px);background:var(--bg-gradient);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;overflow:hidden;transition:background .3s ease;margin:.5rem;border-radius:16px;isolation:isolate;clip-path:inset(0 round 16px);padding:0;box-sizing:border-box;position:relative}.calculator-3d-sidebar{width:350px;background:var(--bg-secondary);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);display:flex;flex-direction:column;height:100%;overflow-y:auto;overflow-x:hidden;box-shadow:4px 0 20px var(--shadow-light);transition:all .3s ease;scroll-behavior:smooth;scrollbar-width:thin;scrollbar-color:var(--text-muted) transparent;border-radius:0;padding:0;margin:0;box-sizing:border-box;min-height:0;flex-shrink:0}.calculator-3d-sidebar::-webkit-scrollbar{width:8px}.calculator-3d-sidebar::-webkit-scrollbar-track{background:transparent}.calculator-3d-sidebar::-webkit-scrollbar-thumb{background:var(--text-muted);border-radius:4px;opacity:.5}.calculator-3d-sidebar::-webkit-scrollbar-thumb:hover{background:var(--text-secondary);opacity:.7}.functions-3d-panel{padding:1rem;border-bottom:1px solid var(--border-color);flex-shrink:0;min-height:0}.functions-3d-panel h3{margin-bottom:1rem;color:var(--text-primary);font-size:1.1rem;font-weight:700;text-align:center;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;transition:color .3s ease}.graph-3d-container-main{flex:1;position:relative;background:var(--canvas-bg);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);overflow:hidden;border-radius:0;box-shadow:0 10px 40px var(--shadow-medium);transition:all .3s ease;padding:0;margin:0;box-sizing:border-box;min-height:0;min-width:0}.graph-3d-container-main .floating-controls{position:absolute;top:1rem;right:1rem;display:flex;gap:.5rem;z-index:100}.graph-3d-container-main .floating-controls .floating-btn,.graph-3d-container-main .floating-controls button.floating-btn,.graph-3d-container-main button.floating-btn.controls-btn,.graph-3d-container-main button.floating-btn.reset-btn{all:unset!important;width:40px!important;height:40px!important;border:none!important;border-radius:0!important;cursor:pointer!important;display:flex!important;align-items:center!important;justify-content:center!important;font-size:1.1rem!important;background:none!important;background-color:transparent!important;background-image:none!important;box-shadow:none!important;appearance:none!important;-webkit-appearance:none!important;-moz-appearance:none!important;transition:all .3s cubic-bezier(.4,0,.2,1)!important;color:#cbd5e1cc!important;padding:0!important;margin:0!important;outline:none!important;text-decoration:none!important;text-shadow:none!important;border-image:none!important;filter:none!important}.graph-3d-container-main .floating-controls .floating-btn:hover,.graph-3d-container-main .floating-controls button.floating-btn:hover,.graph-3d-container-main button.floating-btn.controls-btn:hover,.graph-3d-container-main button.floating-btn.reset-btn:hover{background:none!important;background-color:transparent!important;background-image:none!important;box-shadow:none!important;transform:translateY(-2px) scale(1.1)!important;color:#cbd5e1!important;border:none!important;outline:none!important;filter:none!important}.graph-3d-container-main .floating-controls .floating-btn.controls-btn:hover,.graph-3d-container-main button.floating-btn.controls-btn:hover{color:#3b82f6e6!important;background:none!important;background-color:transparent!important}.graph-3d-container-main .floating-controls .floating-btn.reset-btn:hover,.graph-3d-container-main button.floating-btn.reset-btn:hover{color:#10b981e6!important;background:none!important;background-color:transparent!important}.graph-3d-container-main .floating-controls .floating-btn.mode-btn:hover,.graph-3d-container-main button.floating-btn.mode-btn:hover{color:#8b5cf6e6!important;background:none!important;background-color:transparent!important}.graph-3d-container-main .floating-controls .floating-btn:active,.graph-3d-container-main button.floating-btn:active{background:none!important;background-color:transparent!important;transform:translateY(0) scale(.95)!important;border:none!important;outline:none!important}.graph-3d-container-main .floating-controls .floating-btn:focus,.graph-3d-container-main button.floating-btn:focus{background:none!important;background-color:transparent!important;outline:none!important;border:none!important}@media (max-width: 768px){.graphing-3d-calculator{flex-direction:column;height:100vh}.calculator-3d-sidebar{width:100%;height:45%;border-right:none;border-bottom:1px solid var(--border-color);overflow-y:auto;border-radius:20px 20px 0 0}.graph-3d-container-main{height:55%;border-radius:0 0 20px 20px}.functions-3d-panel{padding:1rem}.functions-3d-panel h3{font-size:1.1rem}}.App{width:100%;height:100vh;display:flex;flex-direction:column;background:var(--bg-gradient);transition:background .3s ease}.app-header{background:var(--bg-secondary);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:.6rem 2rem;box-shadow:0 2px 10px var(--shadow-light);border-bottom:1px solid var(--border-color);transition:all .3s ease}.header-content{display:flex;justify-content:flex-start;align-items:center;max-width:1200px;margin:0;padding-left:0}.header-text{text-align:left}.header-controls{display:flex;align-items:center;gap:1rem}.mode-toggle{background:var(--button-secondary);color:var(--text-secondary);border:1px solid var(--input-border);border-radius:8px;padding:.5rem 1rem;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .3s ease;min-width:50px}.mode-toggle:hover{background:var(--button-secondary-hover);color:var(--text-primary);transform:translateY(-1px)}.mode-toggle.active{background:var(--button-bg);color:#fff;border-color:var(--button-bg)}.mode-toggle.active:hover{background:var(--button-hover)}.app-header h1{color:var(--text-primary);font-size:1.6rem;font-weight:700;margin-bottom:.2rem;transition:color .3s ease}.app-header p{color:var(--text-secondary);font-size:.95rem;opacity:.8;transition:color .3s ease}main{flex:1;padding:0;overflow:hidden;display:flex;flex-direction:column}@media (max-width: 768px){.header-content{flex-direction:column;gap:1rem}.header-text{text-align:center}.header-controls{justify-content:center}.app-header{padding:1rem}.app-header h1{font-size:1.5rem}.app-header p{font-size:1rem}}*{margin:0;padding:0;box-sizing:border-box}:root{--bg-primary: #0f172a;--bg-secondary: rgba(30, 41, 59, .95);--bg-tertiary: #1e293b;--bg-gradient: linear-gradient(135deg, #1e293b 0%, #334155 100%);--text-primary: #f1f5f9;--text-secondary: #cbd5e1;--text-muted: #94a3b8;--border-color: rgba(148, 163, 184, .2);--shadow-light: rgba(0, 0, 0, .3);--shadow-medium: rgba(0, 0, 0, .4);--canvas-bg: #1e293b;--grid-color: #334155;--axis-color: #cbd5e1;--input-bg: #334155;--input-border: #475569;--button-bg: #3b82f6;--button-hover: #2563eb;--button-secondary: #475569;--button-secondary-hover: #64748b;--success-color: #10b981;--danger-color: #ef4444}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--bg-primary);color:var(--text-primary);transition:background-color .3s ease,color .3s ease}#root{width:100%;height:100vh}
