:root{--ic-primary:#7c3aed;--ic-primary-light:#7c3aed1a;--ic-primary-dark:#6d28d9;--ic-success:var(--main-success);--ic-success-light:#10b9811a;--ic-error:var(--main-error);--ic-error-light:#ef44441a;--ic-text:#1f2937;--ic-text-muted:#64748b;--ic-bg:#fff;--ic-bg-secondary:#f8fafc;--ic-border:#e2e8f0;--ic-radius:var(--main-radius);--ic-radius-lg:var(--main-radius-lg);--ic-shadow:var(--main-shadow-sm);--ic-transition:.2s ease}._ic-container{max-width:580px;margin:0 auto}._ic-main-card{background:var(--ic-bg);border-radius:var(--ic-radius-lg);box-shadow:var(--ic-shadow);border-style:solid;border-width:1px;border-color:var(--ic-border);overflow:hidden}._ic-section{padding:var(--main-space-5)}._ic-section-header{margin-bottom:var(--main-space-3);justify-content:space-between;align-items:center;gap:var(--main-space-2);flex-wrap:wrap;display:flex}._ic-section-label{align-items:center;gap:var(--main-space-2);font-size:var(--main-text-sm);color:var(--ic-text-muted);font-weight:500;display:flex}._ic-section-label svg{color:var(--ic-primary)}._ic-section-actions{align-items:center;gap:var(--main-space-3);display:flex}._ic-var-selector{align-items:center;gap:var(--main-space-2);font-size:var(--main-text-sm);color:var(--ic-text-muted);display:flex}._ic-select{padding:var(--main-space-1) var(--main-space-2);border-style:solid;border-width:1px;border-color:var(--ic-border);border-radius:var(--ic-radius);background:var(--ic-bg);color:var(--ic-text);font-size:var(--main-text-sm);cursor:pointer;font-weight:500}._ic-select:focus{border-color:var(--ic-primary);outline:none}._ic-clear-btn{width:32px;height:32px;color:var(--ic-text-muted);border-radius:var(--ic-radius);cursor:pointer;transition:color var(--ic-transition), background var(--ic-transition);background:0 0;border:none;justify-content:center;align-items:center;display:flex}._ic-clear-btn:hover{color:var(--ic-error);background:var(--ic-error-light)}._ic-divider{background:var(--ic-border);height:1px;margin:0}._ic-hidden{display:none!important}@media (max-width:768px){._ic-container{padding-left:1rem;padding-right:1rem}._ic-section{padding:var(--main-space-4)}._ic-section-header{flex-direction:column;align-items:flex-start}._ic-section-actions{justify-content:space-between;width:100%}}._ic-tabs{gap:var(--main-space-2);margin-bottom:var(--main-space-4);padding:var(--main-space-1);background:var(--ic-bg);border-radius:var(--ic-radius-lg);box-shadow:var(--ic-shadow);border-style:solid;border-width:1px;border-color:var(--ic-border);display:flex}._ic-tab{justify-content:center;align-items:center;gap:var(--main-space-2);padding:var(--main-space-3) var(--main-space-2);color:var(--ic-text-muted);font-size:var(--main-text-sm);cursor:pointer;border-radius:var(--ic-radius);transition:color var(--ic-transition), background var(--ic-transition);background:0 0;border:none;flex:1;font-weight:500;display:flex}._ic-tab svg{flex-shrink:0;width:16px;height:16px}._ic-tab:hover{color:var(--ic-text);background:var(--ic-bg-secondary)}._ic-tab._ic-tab-active{color:var(--ic-primary);background:var(--ic-primary-light)}@media (max-width:768px){._ic-tabs{gap:var(--main-space-1)}._ic-tab{padding:var(--main-space-2);font-size:var(--main-text-xs);gap:var(--main-space-1)}._ic-tab svg{width:14px;height:14px}}._ic-input-wrapper{align-items:center;gap:var(--main-space-2);padding:var(--main-space-3);background:var(--ic-bg-secondary);border-radius:var(--ic-radius-lg);border-style:solid;border-width:2px;border-color:var(--ic-border);transition:border-color var(--ic-transition), box-shadow var(--ic-transition);display:flex}._ic-input-wrapper:focus-within{border-color:var(--ic-primary);box-shadow:0 0 0 3px var(--ic-primary-light)}._ic-integral-symbol{flex-shrink:0;align-items:center;gap:2px;display:flex}._ic-integral-sign{color:var(--ic-primary);font-size:2.5rem;font-weight:300;line-height:1;font-family:var(--main-font-mono)}._ic-bounds{font-size:var(--main-text-xs);color:var(--ic-primary);font-weight:600;font-family:var(--main-font-mono);flex-direction:column;align-items:center;line-height:1.2;display:flex}._ic-bound-upper{margin-bottom:2px}._ic-input{min-width:0;padding:var(--main-space-2);font-size:var(--main-text-lg);color:var(--ic-text);font-weight:500;font-family:var(--main-font-mono);background:0 0;border:none;flex:1}._ic-input:focus{outline:none}._ic-input::placeholder{color:var(--ic-text-muted);opacity:.6;font-weight:400}._ic-dx{font-size:var(--main-text-lg);color:var(--ic-text-muted);font-weight:500;font-family:var(--main-font-mono);flex-shrink:0}._ic-bounds-input{gap:var(--main-space-4);margin-top:var(--main-space-3);padding:var(--main-space-3);background:var(--ic-bg-secondary);border-radius:var(--ic-radius);border-style:dashed;border-width:1px;border-color:var(--ic-border);display:flex}._ic-bound-group{gap:var(--main-space-1);flex-direction:column;flex:1;display:flex}._ic-bound-group label{font-size:var(--main-text-xs);color:var(--ic-text-muted);font-weight:500}._ic-bound-field{padding:var(--main-space-2);border-style:solid;border-width:1px;border-color:var(--ic-border);border-radius:var(--ic-radius);background:var(--ic-bg);font-size:var(--main-text-sm);color:var(--ic-text);font-weight:500;font-family:var(--main-font-mono);text-align:center}._ic-bound-field:focus{border-color:var(--ic-primary);box-shadow:0 0 0 2px var(--ic-primary-light);outline:none}._ic-bound-field::placeholder{color:var(--ic-text-muted);opacity:.5}._ic-preview{margin-top:var(--main-space-3);padding:var(--main-space-3);background:var(--ic-bg-secondary);border-radius:var(--ic-radius);border-style:dashed;border-width:1px;border-color:var(--ic-border);text-align:center;justify-content:center;align-items:center;min-height:48px;display:flex}._ic-preview-placeholder{font-size:var(--main-text-sm);color:var(--ic-text-muted);opacity:.6}._ic-preview-formula{font-size:var(--main-text-lg);color:var(--ic-text);font-weight:500;font-family:var(--main-font-mono)}@media (max-width:768px){._ic-input-wrapper{padding:var(--main-space-2)}._ic-integral-sign{font-size:2rem}._ic-input,._ic-dx{font-size:var(--main-text-base)}._ic-bounds-input{gap:var(--main-space-2)}._ic-preview-formula{font-size:var(--main-text-base)}}._ic-palette{margin-top:var(--main-space-4);border-style:solid;border-width:1px;border-color:var(--ic-border);border-radius:var(--ic-radius);overflow:hidden}._ic-palette-header{padding:var(--main-space-2) var(--main-space-3);background:var(--ic-bg-secondary);font-size:var(--main-text-xs);color:var(--ic-text-muted);cursor:pointer;transition:background var(--ic-transition);justify-content:space-between;align-items:center;font-weight:500;display:flex}._ic-palette-header:hover{background:var(--ic-border)}._ic-palette-toggle{width:20px;height:20px;color:var(--ic-text-muted);cursor:pointer;transition:color var(--ic-transition);background:0 0;border:none;justify-content:center;align-items:center;display:flex}._ic-palette-toggle:hover{color:var(--ic-text)}._ic-palette-toggle._ic-collapsed svg{transform:rotate(-90deg)}._ic-palette-grid{background:var(--ic-border);grid-template-columns:repeat(6,1fr);gap:1px;padding:1px;display:grid}._ic-palette-grid._ic-collapsed{display:none}._ic-fn-btn{padding:var(--main-space-2);background:var(--ic-bg);color:var(--ic-text);font-size:var(--main-text-sm);font-weight:500;font-family:var(--main-font-mono);cursor:pointer;transition:background var(--ic-transition), color var(--ic-transition);border:none;justify-content:center;align-items:center;display:flex}._ic-fn-btn:hover{background:var(--ic-primary-light);color:var(--ic-primary)}@media (max-width:768px){._ic-palette-grid{grid-template-columns:repeat(4,1fr)}._ic-fn-btn{font-size:var(--main-text-xs);padding:var(--main-space-2)}}@media (max-width:480px){._ic-palette-grid{grid-template-columns:repeat(3,1fr)}}._ic-result-section{padding:var(--main-space-5);background:var(--ic-bg-secondary);min-height:120px}._ic-result-card{align-items:center;gap:var(--main-space-3);padding:var(--main-space-5);background:var(--ic-bg);border-radius:var(--ic-radius-lg);border-style:solid;border-width:1px;border-color:var(--ic-border);flex-direction:column;display:flex}._ic-result-label{align-items:center;gap:var(--main-space-2);font-size:var(--main-text-xs);text-transform:uppercase;letter-spacing:.05em;color:var(--ic-text-muted);font-weight:600;display:flex}._ic-result-label svg{color:var(--ic-primary)}._ic-result-value{font-size:var(--main-text-2xl);color:var(--ic-primary);font-weight:700;font-family:var(--main-font-mono);text-align:center;word-break:break-all;max-width:100%;line-height:1.5}._ic-result-numeric{font-size:var(--main-text-lg);color:var(--ic-success);font-weight:600;font-family:var(--main-font-mono);padding:var(--main-space-2) var(--main-space-4);background:var(--ic-success-light);border-radius:var(--main-radius-full)}._ic-error{justify-content:center;align-items:center;gap:var(--main-space-2);padding:var(--main-space-4);background:var(--ic-error-light);border-radius:var(--ic-radius);color:var(--ic-error);font-size:var(--main-text-sm);font-weight:500;display:flex}._ic-empty-state{align-items:center;gap:var(--main-space-2);padding:var(--main-space-6);color:var(--ic-text-muted);font-size:var(--main-text-sm);flex-direction:column;display:flex}._ic-empty-state svg{opacity:.4}@media (max-width:768px){._ic-result-section,._ic-result-card{padding:var(--main-space-4)}._ic-result-value{font-size:var(--main-text-xl)}._ic-result-numeric{font-size:var(--main-text-base)}}._ic-steps{margin-top:var(--main-space-4);background:var(--ic-bg);border-radius:var(--ic-radius-lg);border-style:solid;border-width:1px;border-color:var(--ic-border);overflow:hidden}._ic-steps-header{align-items:center;gap:var(--main-space-2);padding:var(--main-space-3) var(--main-space-4);background:var(--ic-bg-secondary);border-bottom-style:solid;border-bottom-width:1px;border-bottom-color:var(--ic-border);font-size:var(--main-text-sm);color:var(--ic-text);cursor:pointer;transition:background var(--ic-transition);font-weight:600;display:flex}._ic-steps-header:hover{background:var(--ic-border)}._ic-steps-header svg{color:var(--ic-primary)}._ic-steps-chevron{color:var(--ic-text-muted);transition:transform var(--ic-transition);align-items:center;margin-left:auto;display:flex}._ic-steps._ic-collapsed ._ic-steps-chevron{transform:rotate(-90deg)}._ic-steps-content{padding:var(--main-space-4)}._ic-steps._ic-collapsed ._ic-steps-content{display:none}._ic-step{gap:var(--main-space-3);padding:var(--main-space-3) 0;display:flex}._ic-step+._ic-step{border-top-style:solid;border-top-width:1px;border-top-color:var(--ic-border)}._ic-step-number{background:var(--ic-primary-light);width:24px;height:24px;color:var(--ic-primary);font-size:var(--main-text-xs);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-weight:700;display:flex}._ic-step-body{flex:1;min-width:0}._ic-step-title{font-size:var(--main-text-sm);color:var(--ic-text);margin-bottom:var(--main-space-1);font-weight:500}._ic-step-math{font-size:var(--main-text-sm);color:var(--ic-text-muted);font-family:var(--main-font-mono);padding:var(--main-space-2) var(--main-space-3);background:var(--ic-bg-secondary);border-radius:var(--ic-radius);word-break:break-all;line-height:1.6}._ic-step-formula{font-size:var(--main-text-xs);color:var(--ic-primary);margin-top:var(--main-space-1);font-style:italic}@media (max-width:768px){._ic-steps-content{padding:var(--main-space-3)}._ic-step{gap:var(--main-space-2)}}._ic-examples{margin-top:var(--main-space-4);padding:var(--main-space-4);background:var(--ic-bg);border-radius:var(--ic-radius-lg);box-shadow:var(--ic-shadow);border-style:solid;border-width:1px;border-color:var(--ic-border)}._ic-examples-header{align-items:center;gap:var(--main-space-2);margin-bottom:var(--main-space-3);font-size:var(--main-text-sm);color:var(--ic-text);font-weight:600;display:flex}._ic-examples-header svg{color:#f59e0b}._ic-examples-list{gap:var(--main-space-2);flex-wrap:wrap;display:flex}._ic-example-btn{padding:var(--main-space-2) var(--main-space-3);border-style:solid;border-width:1px;border-color:var(--ic-border);border-radius:var(--main-radius-full);background:var(--ic-bg);color:var(--ic-text-muted);font-size:var(--main-text-sm);font-weight:500;font-family:var(--main-font-mono);cursor:pointer;transition:all var(--ic-transition)}._ic-example-btn:hover{border-color:var(--ic-primary);color:var(--ic-primary);background:var(--ic-primary-light)}@media (max-width:768px){._ic-examples{padding:var(--main-space-3)}._ic-example-btn{font-size:var(--main-text-xs);padding:var(--main-space-1) var(--main-space-2)}}
