/* Polar lab (calculus-bc/assets/tools/polar-lab.js). OWNED BY THIS TOOL ONLY (builder T2).
   Loaded by the generator after calc-tools.css. The curve r (BC violet), the outer curve R
   (blue), the swept area, the current slice (amber), the toward/away bands, light and dark. */
.pl-card,.ls-root{--pl-r:#6D28D9;--pl-R:#0072B2;--pl-faint:#B9AED6;--pl-faintR:#9CC3DE;--pl-area:rgba(109,40,217,.13);--pl-slice:rgba(230,159,0,.55);--pl-up:rgba(0,158,115,.14);--pl-dn:#8A9A95;--pl-tan:#D55E00;--pl-bg:#FBFBFE;--pl-grid:#E3E5EE;}
:root[data-theme="dark"] .pl-card,:root[data-theme="dark"] .ls-root{--pl-r:#B79CFF;--pl-R:#6BB4E8;--pl-faint:#4E4670;--pl-faintR:#2F5470;--pl-area:rgba(183,156,255,.16);--pl-slice:rgba(240,190,80,.5);--pl-up:rgba(82,207,166,.12);--pl-dn:#6F807A;--pl-tan:#F29A5C;--pl-bg:#141822;--pl-grid:#262C3A;}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) .pl-card,:root:not([data-theme="light"]) .ls-root{--pl-r:#B79CFF;--pl-R:#6BB4E8;--pl-faint:#4E4670;--pl-faintR:#2F5470;--pl-area:rgba(183,156,255,.16);--pl-slice:rgba(240,190,80,.5);--pl-up:rgba(82,207,166,.12);--pl-dn:#6F807A;--pl-tan:#F29A5C;--pl-bg:#141822;--pl-grid:#262C3A;}}

.pl-stage{display:flex;flex-direction:column;gap:6px;min-height:0;flex:1;}
.pl-plane-wrap{position:relative;flex:1 1 0;min-height:260px;border-radius:12px;}
.pl-card:not(.ls-root *) .pl-plane-wrap{height:440px;flex:none;}
.pl-plane-wrap:focus-visible{outline:3px solid var(--cink);outline-offset:2px;}
.pl-plane{display:block;width:100%;height:100%;touch-action:none;cursor:grab;user-select:none;-webkit-user-select:none;}
.pl-setup{position:absolute;left:10px;top:8px;right:10px;margin:0;padding:4px 10px;border-radius:10px;background:color-mix(in srgb,var(--white) 90%,transparent);border:1px solid var(--line);font:600 14px var(--font-ui);color:var(--ink);pointer-events:none;width:max-content;max-width:calc(100% - 20px);overflow:hidden;white-space:nowrap;}
.pl-su-k{font:800 12px var(--font-ui);color:var(--pl-r);margin-right:4px;}
.pl-r-wrap{flex:none;height:112px;}
.pl-rg{display:block;width:100%;height:100%;touch-action:none;cursor:crosshair;user-select:none;-webkit-user-select:none;}
.pl-legend{display:flex;flex-wrap:wrap;gap:4px 14px;margin:0;font:700 12.5px var(--font-ui);color:var(--muted);}
.pl-lg{display:inline-flex;align-items:center;gap:6px;}
.pl-lg::before{content:"";display:inline-block;width:16px;height:4px;border-radius:2px;background:currentColor;}
.pl-lg-r{color:var(--pl-r);} .pl-lg-R{color:var(--pl-R);display:none;}
.pl-legend.is-two .pl-lg-R{display:inline-flex;}
.pl-legend.is-two .pl-lg-r::after{content:" inner";}
.pl-lg-A::before{height:12px;background:var(--pl-area);box-shadow:inset 0 0 0 1px var(--pl-r);}
.pl-lg-s::before{height:12px;background:var(--pl-slice);}
.pl-lg-up::before{height:12px;background:var(--pl-up);box-shadow:inset 0 0 0 1px rgba(0,0,0,.08);}
.pl-lg-dn::before{height:12px;background:repeating-linear-gradient(45deg,var(--pl-dn) 0 1.5px,transparent 1.5px 5px);opacity:.8;}

/* the plane */
.pl-bg{fill:var(--pl-bg);stroke:var(--line);stroke-width:1;}
.pl-grid circle{fill:none;stroke:var(--pl-grid);stroke-width:1.2;}
.pl-grid line{stroke:var(--pl-grid);stroke-width:1.2;}
.pl-tk text{fill:var(--muted);font:700 11px var(--font-ui);font-variant-numeric:tabular-nums;}
.pl-tk .pl-ang{font-weight:800;}
.pl-area{fill:var(--pl-area);}
.pl-slice{fill:var(--pl-slice);stroke:#B07800;stroke-width:1;}
.pl-curve-all{fill:none;stroke:var(--pl-faint);stroke-width:2.2;stroke-linejoin:round;}
.pl-curve-all.is-R{stroke:var(--pl-faintR);}
.pl-curve-on{fill:none;stroke:var(--pl-r);stroke-width:3.2;stroke-linejoin:round;stroke-linecap:round;}
.pl-curve-on.is-R{stroke:var(--pl-R);}
.pl-ray{stroke:var(--ink);stroke-width:1.4;opacity:.55;}
.pl-ray-neg{stroke:var(--pl-r);stroke-width:1.8;stroke-dasharray:5 4;}
.pl-arc{fill:none;stroke:var(--ink);stroke-width:1.4;opacity:.7;}
.pl-arcl{fill:var(--ink);font:italic 800 13px var(--font-ui);}
.pl-tan{stroke:var(--pl-tan);stroke-width:2.2;stroke-dasharray:7 5;stroke-linecap:round;}
.pl-origin{fill:var(--ink);}
.pl-dot{fill:var(--pl-r);stroke:var(--white);stroke-width:2.5;filter:drop-shadow(0 1px 2px rgba(0,0,0,.25));}
.pl-dot.is-R{fill:var(--pl-R);}

/* r against θ */
.pl-panel{fill:var(--white);stroke:var(--line);stroke-width:1;}
.pl-band.is-up{fill:var(--pl-up);}
.pl-hatch-l{stroke:var(--pl-dn);stroke-width:1.2;opacity:.5;}
.pl-rgrid{stroke:var(--line);stroke-width:1;}
.pl-rgrid.is-zero{stroke:var(--ink);opacity:.55;stroke-width:1.2;}
.pl-tk2{fill:var(--muted);font:700 10.5px var(--font-ui);}
.pl-rcurve{fill:none;stroke:var(--pl-r);stroke-width:2.4;stroke-linejoin:round;}
.pl-rcurve.is-R{stroke:var(--pl-R);}
.pl-zero{fill:var(--white);stroke:var(--pl-r);stroke-width:2;}
.pl-taxis text{fill:var(--muted);font:700 10.5px var(--font-ui);}
.pl-rl{fill:var(--ink);font:800 12px var(--font-ui);paint-order:stroke;stroke:var(--white);stroke-width:3px;}
.pl-cur{stroke:var(--ink);stroke-width:1.3;}
.pl-cur-pt{fill:var(--pl-r);stroke:var(--white);stroke-width:2;}
.pl-cur-pt.is-R{fill:var(--pl-R);}

/* dock */
.pl-chips .bt-btn{min-height:40px;padding:0 14px;border-radius:999px;font-size:14px;}
.pl-card:not(.ls-root *) .pl-chips{display:flex;flex-wrap:wrap;gap:8px;-webkit-mask-image:none;mask-image:none;}
.pl-modes,.pl-regs,.pl-show{display:flex;}
.pl-modes > .bt-mode,.pl-regs > .bt-mode,.pl-show > .bt-mode{flex:1;min-width:0;}
.pl-regs[hidden]{display:none;}
.pl-show > .bt-mode[aria-pressed="true"][data-k="slice"]{box-shadow:inset 0 -3px 0 #E69F00;}
.pl-show > .bt-mode[aria-pressed="true"][data-k="tan"]{box-shadow:inset 0 -3px 0 var(--pl-tan);}
.pl-time{display:flex;align-items:flex-end;gap:10px;}
.pl-time .pl-play{flex:none;min-width:84px;}
.pl-slot{flex:1;min-width:0;}
.pl-slot .bt-step{display:none;}
.pl-slot .bt-slider-row{gap:10px;}
.pl-slot label{font-size:13px;}
.pl-slot .bt-out{min-width:3.6em;white-space:nowrap;text-align:right;}
.pl-pk{font-weight:900;color:var(--pl-r);}

/* Why and Details */
.pl-why{margin:8px 0 0;padding-left:1.2em;display:grid;gap:8px;}
.pl-ftbl td{font-weight:600;}

/* Test yourself figure */
.pl-figwrap .calc-plot{width:100%;height:auto;max-height:100%;}
.ls-root .ls-drill-stage .pl-figbox{height:100%;}
.ls-root .ls-drill-stage .pl-figwrap{height:100%;display:flex;align-items:center;justify-content:center;}
.ls-root .ls-drill-stage .pl-figwrap .calc-plot{height:100%;width:auto;max-width:100%;}
.pl-fcurve{fill:none;stroke-width:2.6;stroke-linejoin:round;}
.pl-fcurve.is-out{stroke:var(--pl-R);} .pl-fcurve.is-in{stroke:var(--pl-r);}
.pl-farea{fill:var(--pl-area);stroke:none;}
.pl-fray{stroke:var(--ink);stroke-width:1.2;stroke-dasharray:4 4;opacity:.55;}
.pl-fmark{fill:var(--pl-r);stroke:var(--white);stroke-width:2;}

@media (max-width:599.98px){
  .pl-legend{font-size:12px;gap:2px 9px;flex-wrap:nowrap;white-space:nowrap;overflow:hidden;padding-right:56px;min-height:46px;align-items:center;}
  .pl-lg-s,.pl-lg-A{display:none;}
  .pl-lg-up{font-size:0;} .pl-lg-up::after{content:"away";font-size:12px;}
  .pl-lg-dn{font-size:0;} .pl-lg-dn::after{content:"toward";font-size:12px;}
  .pl-plane-wrap{min-height:220px;}
  .pl-r-wrap{height:88px;}
  .pl-setup{font-size:12.5px;}
}
.ls-root.ls-phone .pl-tk text,.ls-root.ls-phone .pl-taxis text,.ls-root.ls-phone .pl-tk2{font-size:12px;}
.ls-root.ls-phone .pl-modes > .bt-mode,.ls-root.ls-phone .pl-regs > .bt-mode,.ls-root.ls-phone .pl-show > .bt-mode{padding:0 4px;font-size:13.5px;}
