.dw{--ink:#172838;--muted:#566c78;--line:#d7e1e5;--blue:#185fc3;--red:#b74935;color:var(--ink);font:16px/1.5 system-ui,sans-serif;max-width:1200px;margin:auto}.dw *{box-sizing:border-box}.dw h2,.dw h3,.dw p{margin:0 0 .65rem}.dw h2{font-size:1.7em;line-height:1.2}.dw h3{font-size:1.15em}.dw-header{padding:1.4rem 0}.dw-header p{max-width:65ch;color:var(--muted)}.dw-tabs,.dw-presets,.dw-tools{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem}.dw button,.dw input,.dw select,.dw textarea{font:inherit}.dw button{border:1px solid var(--line);border-radius:.65rem;background:white;color:var(--ink);padding:.55rem .8rem;min-height:44px;cursor:pointer}.dw button[aria-pressed=true]{background:#e9f1ff;border-color:var(--blue);color:#164e99}.dw button:focus-visible,.dw input:focus-visible,.dw select:focus-visible,.dw textarea:focus-visible{outline:3px solid #82b2f2;outline-offset:2px}.dw button:disabled{opacity:.5;cursor:default}.dw-workspace{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:1rem}.dw-card{border:1px solid var(--line);border-radius:1rem;background:white;padding:1.2rem;min-width:0}.dw-editor{grid-column:1/-1;background:#f5f8fa}.dw-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem 1rem}.dw-field{display:grid;grid-template-rows:subgrid;grid-row:span 3;min-width:0;gap:.35rem}.dw-field>label{font-weight:650}.dw-field>small{color:var(--muted);font-size:.85em}.dw input,.dw select,.dw textarea{width:100%;min-width:0;min-height:46px;padding:.6rem;border:1px solid #a7bbc4;border-radius:.5rem;background:white;color:var(--ink);margin:0}.dw textarea{resize:vertical;font-family:ui-monospace,monospace;font-size:1.05em}.dw-expression{margin-bottom:1rem}.dw-expression label{display:block;font-weight:650;margin-bottom:.35rem}.dw-expression small{display:block;color:var(--muted);margin-top:.4rem}.dw-error{border-left:4px solid var(--red);padding:.7rem;background:#fff0ea;color:#7b281d;margin:1rem 0}.dw [hidden]{display:none!important}.dw-answer{background:#eef4ff}.dw-formula{overflow:auto;max-width:100%;padding:.5rem 0;font-size:1.3em}.dw-formula math{font-size:inherit}.dw-status{color:var(--muted);margin:.5rem 0}.dw-plot{width:100%;height:auto;aspect-ratio:1/1;display:block;touch-action:pan-y;background:#fcfdfd;border:1px solid var(--line);border-radius:.6rem}.dw-plot text{font:22px system-ui;fill:#415967}.dw-legend{display:flex;flex-wrap:wrap;gap:.7rem;font-size:.9em;margin:.7rem 0}.dw-key::before{content:'';display:inline-block;width:1.2rem;height:3px;vertical-align:middle;background:var(--blue);margin-right:.3rem}.dw-key.red::before{background:var(--red)}.dw-key.green::before{background:#14785c}.dw-range{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem 1rem}.dw-steps{grid-column:1/-1}.dw-step-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:1rem}.dw-step-list{max-height:25rem;overflow:auto;display:flex;flex-direction:column;gap:.45rem}.dw-step-list button{text-align:left;overflow-wrap:anywhere}.dw-step-inspect{background:#f5f8fa;padding:1rem;border-radius:.6rem;min-width:0}.dw-step-inspect p{color:var(--muted)}.dw-limits{margin:1rem 0;padding:1rem;border-top:1px solid var(--line);color:var(--muted)}.dw-limits summary{cursor:pointer;color:var(--ink);font-weight:650}.dw [aria-invalid=true]{border-color:var(--red)}.dw-presets button{text-align:left;flex:1 1 160px}.dw-presets small{display:block;color:var(--muted);font-size:.8em}.dw-plot-note{color:var(--muted);font-size:.9em}.dw-grid-line{stroke:#e5edef;stroke-width:1}.dw-axis{stroke:#7e98a3;stroke-width:1.2}.dw-curve{fill:none;stroke:var(--blue);stroke-width:2.4}.dw-derivative{fill:none;stroke:var(--red);stroke-width:2;stroke-dasharray:5 3}.dw-tangent{stroke:#14785c;stroke-width:2;fill:none}.dw-point{fill:white;stroke:#14785c;stroke-width:3}.dw-output-text{overflow-wrap:anywhere}.dw footer{color:var(--muted);margin-top:1rem;font-size:.85em}@media(max-width:800px){.dw-workspace,.dw-step-layout{grid-template-columns:1fr}.dw-editor,.dw-steps{grid-column:auto}.dw-fields{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:460px){.dw-fields{grid-template-columns:1fr}.dw-card{padding:.85rem}.dw h2{font-size:1.4em}}@media print{.dw-editor,.dw-tabs,.dw-presets,.dw-tools,.dw-range,.dw-step-list{display:none!important}.dw-workspace,.dw-step-layout{display:block}.dw-card{break-inside:avoid}.dw-formula{overflow:visible;font-size:1em}.dw-plot{max-width:450px}.dw-step-inspect{background:white}.dw-limits{display:block}.dw{font-size:11pt}}
