*{box-sizing:border-box;touch-action:pan-x pan-y}body{-webkit-user-select:none;user-select:none}:root{--page-bg:#fff;--panel-bg:#ffffffeb;--panel-border:#0000001a;--panel-shadow:#0000001f;--text:#222;--dot-border:#00000026;--eq-focus:#005ac80d;--error-line:#d33;--error:#c0392b;--info:#557;--placeholder:#aaa;--accent:#2d70b3;--bound:#999;--bound-focus:#333;--divider:#0000000f;--muted:#888;--muted-hover:#444;--summary:#555;--summary-hover:#000;--ex-text:#333;--ex-hover-bg:#005ac814;--ex-code:#999;--ex-code-hover:#667}:root[data-theme=dark]{--page-bg:#171a1f;--panel-bg:#181b21eb;--panel-border:#ffffff1f;--panel-shadow:#00000080;--text:#e6e8ea;--dot-border:#ffffff38;--eq-focus:#5a96ff24;--error-line:#f0575c;--error:#f0797d;--info:#97a3b8;--placeholder:#5f6672;--accent:#5a9bf0;--bound:#767c88;--bound-focus:#cfd3da;--divider:#ffffff14;--muted:#868d99;--muted-hover:#c3c8d0;--summary:#a8aeba;--summary-hover:#fff;--ex-text:#cfd3da;--ex-hover-bg:#5a96ff24;--ex-code:#767c88;--ex-code-hover:#97a3b8}html,body{overscroll-behavior:none;background:var(--page-bg);height:100%;margin:0;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif;overflow:hidden}#gl,#overlay{width:100%;height:calc(100% + env(safe-area-inset-top));position:absolute;top:0;left:0}#gl{touch-action:none}#overlay{pointer-events:none}#tooltip{pointer-events:none;background:var(--panel-bg);color:var(--text);border:1.5px solid var(--muted);box-shadow:0 2px 10px var(--panel-shadow);white-space:pre;z-index:20;border-radius:6px;padding:5px 9px;font-size:12px;line-height:1.5;display:none;position:fixed}#tooltip:first-line{color:var(--muted);font-size:11px}#panel{top:calc(12px + env(safe-area-inset-top));left:calc(12px + env(safe-area-inset-left));touch-action:pan-y;width:300px;max-height:calc(100% - 24px - env(safe-area-inset-bottom));max-width:calc(100% - 24px - env(safe-area-inset-left) - env(safe-area-inset-right));background:var(--panel-bg);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid var(--panel-border);box-shadow:0 4px 20px var(--panel-shadow);border-radius:10px;flex-direction:column;padding:16px 8px 8px;display:flex;position:absolute}#panel.pin-right{left:auto;right:calc(12px + env(safe-area-inset-right))}#panel.pin-bottom{top:auto;bottom:calc(12px + env(safe-area-inset-bottom));max-height:calc(100% - 24px - env(safe-area-inset-top))}#panel-grip{z-index:1;cursor:grab;touch-action:none;-webkit-tap-highlight-color:transparent;height:16px;position:absolute;top:0;left:0;right:0}#panel-grip:active{cursor:grabbing}#panel-grip:after{content:"";background:var(--panel-border);border-radius:2px;width:36px;height:4px;margin-left:-18px;position:absolute;top:6px;left:50%}#panel-grip:hover:after{background:var(--muted)}#panel-resize{z-index:1;cursor:ew-resize;touch-action:none;-webkit-tap-highlight-color:transparent;width:10px;position:absolute;top:16px;bottom:0;right:-5px}#panel.pin-right #panel-resize{left:-5px;right:auto}#panel-resize:after{content:"";border-radius:2px;width:4px;height:36px;margin:-18px 0 0 -2px;position:absolute;top:50%;left:50%}#panel-resize:hover:after,#panel-resize:active:after{background:var(--panel-border)}#panel-resize{outline:none}#panel-resize:focus-visible:after{background:var(--accent)}#theme-toggle,#state-reset{z-index:2;width:26px;height:26px;color:var(--muted);text-align:center;cursor:pointer;background:0 0;border:none;border-radius:6px;padding:0;font-size:15px;line-height:24px;position:absolute;top:6px;right:6px}#state-reset{font-size:14px;right:34px}#state-reset[hidden]{display:none}#theme-toggle:hover,#state-reset:hover{background:var(--eq-focus);color:var(--muted-hover)}#equations{overscroll-behavior:none;min-height:0;color:var(--text);caret-color:var(--text);-webkit-user-select:text;user-select:text;outline:none;flex:0 auto;padding:2px 0;font:15px/1.5 ui-monospace,SF Mono,Menlo,monospace;overflow-y:auto}.eq-line{white-space:pre-wrap;word-break:break-word;border-radius:6px;min-height:1.5em;padding:4px 6px 4px 28px;position:relative}.eq-line:before{content:"";background:var(--eq-color,#ccc);border:1px solid var(--dot-border);cursor:pointer;border-radius:50%;width:14px;height:14px;position:absolute;top:8.5px;left:6px}.eq-line.is-def:before{visibility:hidden}.eq-line.is-comment{color:var(--muted);font-weight:600}.eq-line.is-comment:before{content:"▸";width:14px;height:auto;color:var(--muted);text-align:center;background:0 0;border:none;border-radius:0;font-size:11px;line-height:22px;transition:transform .12s;top:4px;transform:rotate(90deg)}.eq-line.is-comment.collapsed:before{transform:none}.eq-line.is-comment.collapsed:after{content:attr(data-hidden);color:var(--placeholder);margin-left:10px;font:11px ui-sans-serif,system-ui,sans-serif}#equations .eq-hidden{display:none}.eq-line.focused{background:var(--eq-focus)}.eq-line.invalid{box-shadow:inset 0 -1px var(--error-line)}.eq-line[data-ph]:after{content:attr(data-ph);color:var(--placeholder);pointer-events:none;position:absolute;top:4px;left:28px}.eq-widget{-webkit-user-select:none;user-select:none}.eq-slider{align-items:center;gap:4px;padding:0 6px 3px 28px;display:flex}.eq-slider-range{min-width:0;height:16px;accent-color:var(--accent);cursor:pointer;flex:1;margin:0}.eq-slider-bound{width:46px;color:var(--bound);text-align:center;appearance:textfield;-webkit-user-select:text;user-select:text;background:0 0;border:none;outline:none;flex:none;font:11px ui-monospace,SF Mono,Menlo,monospace}.eq-slider-bound:focus{color:var(--bound-focus)}.eq-slider-bound::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.eq-slider-bound::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.eq-levels{border:1px solid var(--dot-border);color:var(--muted);cursor:pointer;background:0 0;border-radius:9px;margin:0 0 3px 28px;padding:1px 8px;font:10.5px ui-sans-serif,system-ui,sans-serif;display:block}.eq-levels:hover{color:var(--muted-hover);border-color:var(--panel-border)}.eq-levels.on{background:var(--accent);border-color:var(--accent);color:var(--page-bg)}.eq-curve{align-items:center;gap:8px;padding:0 6px 3px 28px;display:flex}.eq-curve-label{color:var(--bound);flex:none;font:11px ui-monospace,SF Mono,Menlo,monospace}.eq-curve-toggle{color:var(--summary);cursor:pointer;flex:none;align-items:center;gap:3px;font:italic 12px ui-sans-serif,system-ui;display:flex}.eq-curve-toggle input{accent-color:var(--accent);cursor:pointer;margin:0}.eq-error{color:var(--error);padding:0 6px 3px 28px;font-family:ui-sans-serif,system-ui,sans-serif;font-size:11px}.eq-info{color:var(--info);padding:0 6px 3px 28px;font-family:ui-sans-serif,system-ui,sans-serif;font-size:11px}.eq-toggles{gap:6px;padding:0 6px 4px 28px;display:flex}.eq-toggle{border:1px solid var(--divider);color:var(--muted);cursor:pointer;background:0 0;border-radius:999px;padding:3px 8px;font:11px/1 ui-sans-serif,system-ui,sans-serif}.eq-toggle:hover{color:var(--muted-hover)}.eq-toggle.on{color:var(--accent);border-color:color-mix(in srgb, var(--accent) 45%, transparent);background:color-mix(in srgb, var(--accent) 10%, transparent)}#examples{overscroll-behavior:none;border-top:1px solid var(--divider);flex:none;max-height:40%;margin-top:4px;padding:4px;font-size:12px;overflow-y:auto}#panel-links{gap:10px;font-size:12px;display:flex;position:absolute;bottom:14px;right:14px}#panel-links a{color:var(--muted);text-decoration:none}#panel-links a:hover{color:var(--muted-hover);text-decoration:underline}#examples[open]~#panel-links{display:none}#examples>summary{color:var(--muted);cursor:pointer;padding:2px}#examples>summary:hover{color:var(--muted-hover)}#examples details{margin:2px 0 2px 8px}#examples details>summary{color:var(--summary);cursor:pointer;padding:2px;font-weight:500}#examples details>summary:hover{color:var(--summary-hover)}.ex-item{text-align:left;cursor:pointer;width:100%;color:var(--ex-text);background:0 0;border:none;border-radius:4px;padding:3px 4px 3px 14px;font-size:12px;display:block}.ex-item:hover{background:var(--ex-hover-bg)}.ex-item code{color:var(--ex-code);white-space:nowrap;text-overflow:ellipsis;font:10.5px ui-monospace,Menlo,monospace;display:block;overflow:hidden}.ex-item:hover code{color:var(--ex-code-hover)}#panel-chip{top:calc(12px + env(safe-area-inset-top));left:calc(12px + env(safe-area-inset-left));border:1px solid var(--panel-border);background:var(--panel-bg);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);width:46px;height:40px;box-shadow:0 4px 20px var(--panel-shadow);color:var(--text);cursor:pointer;touch-action:none;-webkit-tap-highlight-color:transparent;opacity:0;border-radius:11px;padding:0;font:15px/1 ui-monospace,SF Mono,Menlo,monospace;transition:transform .26s cubic-bezier(.34,1.56,.64,1),opacity .18s ease-out;position:absolute;transform:scale(.5)}#panel-chip.shown{opacity:1;transform:none}#panel-chip.pin-right{left:auto;right:calc(12px + env(safe-area-inset-right))}#panel-chip.pin-bottom{top:auto;bottom:calc(12px + env(safe-area-inset-bottom))}@media (prefers-reduced-motion:reduce){#panel-chip{transition:opacity .15s ease-out}}
