.container{max-width:100vw;margin:0 auto;padding:20px;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background-color:var(--background-color);min-height:100vh}header{text-align:center;margin-bottom:30px;background-color:var(--surface-color);padding:20px;border-radius:var(--border-radius);box-shadow:var(--shadow-md);border:1px solid var(--border-color)}header h1{color:var(--text-primary);margin-bottom:10px;font-weight:600;background:var(--primary-color);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}header p{color:var(--text-secondary);font-size:16px}.main-layout{display:grid;grid-template-columns:400px 1fr;gap:20px;align-items:start}#input-section{background-color:var(--surface-color);padding:25px;border-radius:var(--border-radius);box-shadow:var(--shadow-md);border:1px solid var(--border-color);height:fit-content;position:sticky;top:20px}#input-section h2{color:var(--text-primary);margin-bottom:20px;font-size:20px;font-weight:600}#input-section h3{color:var(--text-primary);margin-top:25px;margin-bottom:15px;font-size:16px;font-weight:600;border-top:1px solid var(--border-color);padding-top:20px}.input-group{margin-bottom:20px}.input-group label{display:block;color:var(--text-secondary);font-size:14px;font-weight:500;margin-bottom:8px}.input-group input[type=number],.input-group select{width:100%;padding:10px 12px;border:1px solid var(--border-color);border-radius:var(--border-radius);font-size:14px;font-family:Inter,sans-serif;background-color:var(--surface-color);color:var(--text-primary);transition:var(--transition)}.input-group input[type=number]:focus,.input-group select:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #646ef61a}.input-group input[type=number]:hover,.input-group select:hover{border-color:var(--primary-hover)}.button-group{display:flex;flex-direction:column;gap:10px;margin-top:20px}.button-group button{width:100%;padding:12px 20px;background:var(--primary-color);color:#fff;border:none;border-radius:var(--border-radius);font-size:14px;font-weight:500;cursor:pointer;transition:var(--transition);box-shadow:var(--shadow-sm)}.button-group button:hover{background:var(--primary-hover);box-shadow:var(--shadow-md);transform:translateY(-1px)}.button-group button:active{transform:translateY(0);box-shadow:var(--shadow-sm)}#equation-display{margin-top:25px;padding:15px;background-color:#f5f7ff;border-radius:var(--border-radius);border:1px solid #d0d5ff}#equation-display h4{color:var(--text-primary);font-size:14px;font-weight:600;margin-bottom:10px}#equation-display .equation{font-family:Courier New,monospace;font-size:14px;color:var(--text-primary);line-height:1.6;margin:5px 0}#visualization-section{background-color:var(--surface-color);padding:25px;border-radius:var(--border-radius);box-shadow:var(--shadow-md);border:1px solid var(--border-color)}#plot-container{width:100%;height:600px;border-radius:var(--border-radius);overflow:hidden;margin-bottom:20px}#info-panel{padding:20px;background-color:#f5f7ff;border-radius:var(--border-radius);border:1px solid #d0d5ff}#info-panel h3{color:var(--text-primary);font-size:18px;font-weight:600;margin-bottom:10px}#info-panel p{color:var(--text-secondary);font-size:14px;margin-bottom:15px;line-height:1.6}#info-panel ul{list-style:none;padding:0}#info-panel ul li{color:var(--text-secondary);font-size:14px;margin-bottom:8px;padding-left:20px;position:relative}#info-panel ul li:before{content:"•";color:var(--primary-color);font-weight:700;position:absolute;left:0}#solution-display{margin-top:15px;padding:15px;background-color:#fff;border-radius:var(--border-radius);border:1px solid var(--border-color)}#solution-display h4{color:var(--text-primary);font-size:14px;font-weight:600;margin-bottom:10px}#solution-display .solution{font-family:Courier New,monospace;font-size:13px;color:var(--text-primary);line-height:1.6}@media(max-width:1024px){.main-layout{grid-template-columns:1fr}#input-section{position:relative;top:0}#plot-container{height:500px}}@media(max-width:768px){.container{padding:10px}#input-section,#visualization-section{padding:15px}#plot-container{height:400px}}
