*{margin:0;padding:0;box-sizing:border-box}body{min-height:100vh;background:#1a1a2e;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;color:#ccd6f6}#root{display:flex;min-height:100vh}@media(max-width:768px){#root{flex-direction:column}}.left-panel{width:80%;background:#0d1a2e;position:relative;overflow:hidden}.right-panel{width:20%;display:flex;flex-direction:column;background:#0f0f23;min-width:260px}.graph-canvas{display:block;width:100%;height:100%;cursor:grab}.graph-canvas:active{cursor:grabbing}.graph-tooltip{position:absolute;pointer-events:none;background:#0a0f1eeb;border:1px solid #2a3f5c;border-radius:8px;padding:8px 12px;font-size:12px;font-family:SF Mono,Fira Code,monospace;z-index:20;white-space:nowrap;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.tooltip-coord{color:#8892b0;margin-bottom:2px}.tooltip-fn{display:flex;align-items:center;gap:6px;color:#e6e6e6;font-size:11px;margin-top:3px}.tooltip-fn-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0}.view-controls{padding:10px 14px;border-bottom:1px solid #1a1a3e;display:flex;gap:8px;align-items:stretch}.zoom-box{flex:1;border:1px solid #2a2a4a;border-radius:8px;overflow:hidden;background:#111130}.zoom-box-label{font-size:9px;font-weight:700;color:#3a4f5c;letter-spacing:2px;text-align:center;padding:4px 0 2px;background:#0e0e28}.zoom-box-btns{display:flex;gap:0}.zoom-box-btns button{flex:1;background:#141438;border:none;border-top:1px solid #2a2a4a;color:#8892b0;padding:10px 16px;font-size:20px;font-weight:600;cursor:pointer;transition:all .15s;font-family:inherit}.zoom-box-btns button:first-child{border-right:1px solid #2a2a4a}.zoom-box-btns button:hover{background:#1e1e48;color:#e6e6e6}.view-controls>.clear-btn{background:#141420;border:1px solid #3a2040;color:#ff6b81;padding:10px 18px;border-radius:8px;font-size:15px;font-weight:600;cursor:pointer;transition:all .15s;font-family:inherit}.view-controls>.clear-btn:hover{background:#2a1020;border-color:#e94560;color:#e94560}.prompt-header{padding:14px 16px;border-bottom:1px solid #1a1a3e;display:flex;align-items:center;justify-content:space-between}.prompt-header h2{font-size:14px;font-weight:500;color:#e6e6e6}.func-input-area{padding:14px 14px 10px;border-bottom:1px solid #1a1a3e}.func-label{font-size:14px;color:#5a6a8a;margin-bottom:10px}.math-toolbar{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:10px}.math-toolbar button{background:#141438;border:1px solid #2a2a4a;color:#8892b0;padding:4px 9px;border-radius:5px;font-size:13px;font-family:SF Mono,Fira Code,monospace;cursor:pointer;transition:all .15s;line-height:1.3}.math-toolbar button:hover{background:#1e1e48;border-color:#4a4a7a;color:#e6e6e6}.math-toolbar button sup{font-size:.75em;color:#64ffda}.equation-input-wrapper{display:flex;align-items:stretch}.equation-editor{width:100%;background:#1a1a3e;border:1px solid #2a2a4a;border-radius:8px;padding:14px;color:#e6e6e6;font-size:18px;font-family:SF Mono,Fira Code,monospace;outline:none;transition:border-color .2s;overflow-y:auto;line-height:1.7;min-height:120px;max-height:400px;white-space:pre-wrap;word-wrap:break-word;box-sizing:border-box;cursor:text}.equation-editor:focus{border-color:#e94560}.equation-editor:empty:before{content:"y=x²  or  x²=4  or  sin(x)";color:#2a2a4a}.equation-editor sup{font-size:.75em;vertical-align:super;line-height:0;color:#64ffda}.root-group{display:inline;white-space:nowrap}.root-n{font-size:.6em;vertical-align:super;line-height:0;color:#64ffda;min-width:6px}.root-body{border-top:1.5px solid #8892b0;padding:0 3px;margin-left:1px}.root-group .root-n:focus,.root-group .root-body:focus{outline:none}.func-error{margin-top:8px;font-size:11px;color:#ff6b81;padding:6px 10px;background:#1a0f1a;border-radius:6px;border-left:3px solid #ff4444}.func-list{padding:10px 14px;border-bottom:1px solid #1a1a3e;max-height:220px;overflow-y:auto}.func-list::-webkit-scrollbar{width:5px}.func-list::-webkit-scrollbar-track{background:transparent}.func-list::-webkit-scrollbar-thumb{background:#2a2a4a;border-radius:3px}.func-list-title{font-size:11px;font-weight:700;color:#3a4f5c;letter-spacing:1.5px;text-transform:uppercase;margin-bottom:8px}.func-item{display:flex;align-items:center;gap:10px;padding:10px 12px;margin-bottom:6px;font-size:15px;font-family:SF Mono,Fira Code,monospace;background:#111130;border:1px solid #1a1a3e;border-radius:8px;color:#8892b0}.func-color{width:10px;height:10px;border-radius:50%;flex-shrink:0}.func-expr{color:#ccd6f6;flex:1;min-width:0;word-break:break-all}.func-cond{color:#64ffda;font-size:12px;white-space:nowrap;flex-shrink:0;opacity:.8}.func-close{margin-left:auto;background:none;border:1px solid #2a2a4a;color:#5a6a8a;width:26px;height:26px;border-radius:5px;font-size:16px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .15s;padding:0}.func-close:hover{background:#2a1020;border-color:#e94560;color:#e94560}.solutions-panel{padding:10px 14px;border-bottom:1px solid #1a1a3e;max-height:180px;overflow-y:auto}.solutions-panel::-webkit-scrollbar{width:5px}.solutions-panel::-webkit-scrollbar-track{background:transparent}.solutions-panel::-webkit-scrollbar-thumb{background:#2a2a4a;border-radius:3px}.solution-item{display:flex;align-items:center;gap:8px;padding:6px 10px;margin-bottom:4px;background:#111130;border:1px solid #1a1a3e;border-radius:6px;font-size:12px;font-family:SF Mono,Fira Code,monospace;color:#8892b0}.solution-dot{width:8px;height:8px;border-radius:2px;transform:rotate(45deg);flex-shrink:0}.solution-text{flex:1;min-width:0;word-break:break-all}.solution-group{background:#111130;border:1px solid #1a1a3e;border-radius:6px;margin-bottom:6px;overflow:hidden}.solution-step{padding:5px 10px;font-size:11px;font-family:SF Mono,Fira Code,monospace;color:#5a6a8a;border-bottom:1px solid #161636}.solution-step:last-child{border-bottom:none}.solution-step-eq{color:#ccd6f6;font-size:12px;font-weight:600;background:#0e0e28;padding:7px 10px}.solution-step-result{color:#64ffda}.solution-step-fail{color:#ff6b81}.prompt-spacer{flex:1}.prompt-examples{padding:12px 14px;border-top:1px solid #1a1a3e}.example-title{font-size:10px;text-transform:uppercase;letter-spacing:1px;color:#3a3f5c;margin-bottom:8px;font-weight:600}.prompt-examples code{display:block;background:#1a1a3e;padding:4px 8px;border-radius:5px;font-size:11px;color:#5a6a8a;margin-bottom:3px;font-family:SF Mono,Fira Code,monospace}.hint-bar b{color:#3a4f5c}.hint-bar{padding:8px 14px 10px;font-size:10px;color:#2a2a4a;border-top:1px solid #0d0d20;background:#0b0b1e;line-height:1.5}@media(max-width:768px){.left-panel{width:100%;height:50vh}.right-panel{width:100%;height:50vh;min-width:unset;overflow-y:auto}.equation-editor{min-height:80px;max-height:150px;font-size:16px}.prompt-examples,.hint-bar{display:none}}
