:root{color-scheme:light dark;--bg:#f2f5f7;--card:#fff;--ink:#17283b;--muted:#46576a;--border:#a3b0bd;--purple:#7335a2;--blue:#14559a;--orange:#9b4607;--grid:#d6dee5;--ok:#166337;--bad:#a12b27} :root[data-theme=dark]{color-scheme:dark;--bg:#111a25;--card:#1b2938;--ink:#edf3fa;--muted:#c3ceda;--border:#758598;--purple:#dcacff;--blue:#91c7ff;--orange:#ffbb81;--grid:#35485a;--ok:#8ce3ab;--bad:#ffaaa4}
@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#111a25;--card:#1b2938;--ink:#edf3fa;--muted:#c3ceda;--border:#758598;--purple:#dcacff;--blue:#91c7ff;--orange:#ffbb81;--grid:#35485a;--ok:#8ce3ab;--bad:#ffaaa4}}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:17px/1.65 system-ui,sans-serif}main{max-width:1200px;margin:auto;padding:24px}h1{font-size:clamp(1.8rem,4vw,2.8rem);line-height:1.25}h2{font-size:1.25rem}h3{font-size:1.1rem}p{overflow-wrap:anywhere}.eyebrow,footer,.legend{color:var(--muted);font-size:.9rem}.layout{display:grid;grid-template-columns:320px minmax(0,1fr);gap:20px}.card{min-width:0;background:var(--card);border:1px solid var(--border);border-radius:16px;padding:22px;margin:20px 0}label{display:block;font-weight:600;margin-top:12px}output{float:right;font-variant-numeric:tabular-nums}input,select,button{font:inherit;color:var(--ink)}input[type=range],select{width:100%}input[type=number]{width:100%;max-width:340px;display:block}select,input[type=number],button{background:var(--card);border:1px solid var(--border);padding:9px;border-radius:7px}button{cursor:pointer;min-height:44px;margin:6px 5px 0 0}button:hover{border-color:var(--purple)}:focus-visible{outline:3px solid var(--blue);outline-offset:3px}.buttons{margin-top:14px}svg{display:block;width:100%;height:auto;border:1px solid var(--border);border-radius:12px;background:var(--card)}svg text{fill:var(--ink);font:15px system-ui,sans-serif;paint-order:stroke;stroke:var(--card);stroke-width:4px;stroke-linejoin:round}svg .axis{stroke:var(--grid);stroke-width:1}svg .conic{fill:none;stroke:var(--ink);stroke-width:2}svg .polar{stroke:var(--purple);stroke-width:2.5}svg .secant{stroke:var(--blue);stroke-width:2;stroke-dasharray:7 5}svg .reciprocal{stroke:var(--orange);stroke-width:2;stroke-dasharray:3 4}svg circle{stroke:var(--card);stroke-width:1.5}.ok{color:var(--ok)}.bad{color:var(--bad)}summary{cursor:pointer;font-weight:600}#clipped{font-size:.9rem;color:var(--muted)}[hidden]{display:none!important}footer{padding:12px 0 24px}
@media(max-width:740px){main{padding:12px}.layout{display:block}.card{padding:16px;margin:14px 0}body{font-size:16px}svg text{font-size:26px}}
