*{box-sizing:border-box}*{touch-action:pan-x pan-y}:root{--page-bg: #fff;--panel-bg: rgba(255, 255, 255, .92);--panel-border: rgba(0, 0, 0, .1);--panel-shadow: rgba(0, 0, 0, .12);--text: #222;--dot-border: rgba(0, 0, 0, .15);--eq-focus: rgba(0, 90, 200, .05);--error-line: #d33;--error: #c0392b;--info: #557;--placeholder: #aaa;--accent: #2d70b3;--bound: #999;--bound-focus: #333;--divider: rgba(0, 0, 0, .06);--muted: #888;--muted-hover: #444;--summary: #555;--summary-hover: #000;--ex-text: #333;--ex-hover-bg: rgba(0, 90, 200, .08);--ex-code: #999;--ex-code-hover: #667}:root[data-theme=dark]{--page-bg: #171a1f;--panel-bg: rgba(24, 27, 33, .92);--panel-border: rgba(255, 255, 255, .12);--panel-shadow: rgba(0, 0, 0, .5);--text: #e6e8ea;--dot-border: rgba(255, 255, 255, .22);--eq-focus: rgba(90, 150, 255, .14);--error-line: #f0575c;--error: #f0797d;--info: #97a3b8;--placeholder: #5f6672;--accent: #5a9bf0;--bound: #767c88;--bound-focus: #cfd3da;--divider: rgba(255, 255, 255, .08);--muted: #868d99;--muted-hover: #c3c8d0;--summary: #a8aeba;--summary-hover: #fff;--ex-text: #cfd3da;--ex-hover-bg: rgba(90, 150, 255, .14);--ex-code: #767c88;--ex-code-hover: #97a3b8}html,body{margin:0;height:100%;overflow:hidden;overscroll-behavior:none;background:var(--page-bg);font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif}#gl,#overlay{position:absolute;top:0;left:0;width:100%;height:calc(100% + env(safe-area-inset-top))}#gl{touch-action:none}#overlay{pointer-events:none}#panel{position:absolute;top:calc(12px + env(safe-area-inset-top));left:calc(12px + env(safe-area-inset-left));width:300px;background:var(--panel-bg);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid var(--panel-border);border-radius:10px;box-shadow:0 4px 20px var(--panel-shadow);padding:8px}#theme-toggle{position:absolute;top:6px;right:6px;z-index:2;width:26px;height:26px;padding:0;border:none;border-radius:6px;background:transparent;color:var(--muted);font-size:15px;line-height:24px;text-align:center;cursor:pointer}#theme-toggle:hover{background:var(--eq-focus);color:var(--muted-hover)}#equations{outline:none;color:var(--text);font:15px/1.5 ui-monospace,SF Mono,Menlo,monospace;padding:2px 0;caret-color:var(--text)}.eq-line{position:relative;padding:4px 6px 4px 28px;border-radius:6px;white-space:pre-wrap;word-break:break-word;min-height:1.5em}.eq-line:before{content:"";position:absolute;left:6px;top:8.5px;width:14px;height:14px;border-radius:50%;background:var(--eq-color, #ccc);border:1px solid var(--dot-border);cursor:pointer}.eq-line.is-def:before{visibility:hidden}.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);position:absolute;left:28px;top:4px;color:var(--placeholder);pointer-events:none}.eq-widget{user-select:none;-webkit-user-select:none}.eq-slider{display:flex;align-items:center;gap:4px;padding:0 6px 3px 28px}.eq-slider-range{flex:1;min-width:0;height:16px;margin:0;accent-color:var(--accent);cursor:pointer}.eq-slider-bound{flex:none;width:46px;border:none;outline:none;background:none;font:11px ui-monospace,SF Mono,Menlo,monospace;color:var(--bound);text-align:center;appearance:textfield;-moz-appearance:textfield}.eq-slider-bound:focus{color:var(--bound-focus)}.eq-slider-bound::-webkit-outer-spin-button,.eq-slider-bound::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.eq-levels{display:block;margin:0 0 3px 28px;border:1px solid var(--dot-border);border-radius:9px;background:none;color:var(--muted);font:10.5px ui-sans-serif,system-ui,sans-serif;padding:1px 8px;cursor:pointer}.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{display:flex;align-items:center;gap:8px;padding:0 6px 3px 28px}.eq-curve-label{flex:none;font:11px ui-monospace,SF Mono,Menlo,monospace;color:var(--bound)}.eq-curve-toggle{flex:none;display:flex;align-items:center;gap:3px;font:italic 12px ui-sans-serif,system-ui;color:var(--summary);cursor:pointer;-webkit-user-select:none;user-select:none}.eq-curve-toggle input{margin:0;accent-color:var(--accent);cursor:pointer}.eq-error{color:var(--error);font-size:11px;font-family:ui-sans-serif,system-ui,sans-serif;padding:0 6px 3px 28px}.eq-info{color:var(--info);font-size:11px;font-family:ui-sans-serif,system-ui,sans-serif;padding:0 6px 3px 28px}#panel{position:relative}#examples{border-top:1px solid var(--divider);margin-top:4px;padding:4px;font-size:12px}#about-link{position:absolute;right:14px;bottom:14px;font-size:12px;color:var(--muted);text-decoration:none}#about-link:hover{color:var(--muted-hover);text-decoration:underline}#examples[open]~#about-link{display:none}#examples>summary{color:var(--muted);cursor:pointer;-webkit-user-select:none;user-select:none;padding:2px}#examples>summary:hover{color:var(--muted-hover)}#examples details{margin:2px 0 2px 8px}#examples details>summary{color:var(--summary);cursor:pointer;-webkit-user-select:none;user-select:none;padding:2px;font-weight:500}#examples details>summary:hover{color:var(--summary-hover)}.ex-item{display:block;width:100%;text-align:left;border:none;background:none;cursor:pointer;padding:3px 4px 3px 14px;border-radius:4px;color:var(--ex-text);font-size:12px}.ex-item:hover{background:var(--ex-hover-bg)}.ex-item code{display:block;color:var(--ex-code);font:10.5px ui-monospace,Menlo,monospace;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ex-item:hover code{color:var(--ex-code-hover)}
