:root, .ec-theme-card {
	--ec-bg: #fff;
	--ec-chrome-bg: #eef1f5;
	--ec-ink: #333;
	--ec-ink-black: #000;
	--ec-border-strong: #ccc;
	--ec-control-border: #8f8f8f;
	--ec-accent: #0645ad;
	--ec-point: #c2185b;
	--ec-accent-hover: #1f58b5;
	--ec-accent-open: #05378a;
	--ec-brand: #1a6faf;
	--ec-brand-hover: #14588c;
	--ec-warn-bg: #fffbe6;
	--ec-warn-border: #a80;
	--ec-warn-ink: #9a4400;
	--ec-held: #e8a33d;
	--ec-held-ink: #8a5a00;
	--ec-ok-ink: #267326;
	--ec-bad-ink: #c00;
	--ec-error-ink: #a00;
	--ec-error-bg: #fdecea;
	--ec-select: #0b57d0;
	--ec-tip-bg: #000;
	--ec-tip-ink: #fff;
	--ec-tip-edge: #000;
	--ec-help-ink: #3a77a8;
	--ec-btn-radius: 5px;
	--ec-btn-border-w: 1px;
	--ec-bevel: none;
	--ec-bevel-in: none;
	--ec-font-ui: sans-serif;
	--ec-font-title: var(--ec-font-ui);
	--ec-font-mono: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
	--ec-font-size: 1rem;
	--ec-menu-weight: normal;
	--ec-menu-case: none;
	--ec-menu-tracking: normal;
	--ec-menu-variant: normal;
	--ec-title-weight: bold;
	--ec-title-case: none;
	--ec-title-tracking: normal;
	--ec-title-ink: currentColor;
	--ec-text-glow: none;
	--ec-radius-scale: 1;
	--ec-radius-xs: calc(2px * var(--ec-radius-scale));
	--ec-radius-s: calc(3px * var(--ec-radius-scale));
	--ec-radius-m: calc(4px * var(--ec-radius-scale));
	--ec-radius-l: calc(6px * var(--ec-radius-scale));
	--ec-radius-xl: calc(8px * var(--ec-radius-scale));
	--ec-radius-pill: calc(10px * var(--ec-radius-scale));
	--ec-box-radius: 6px;
	--ec-box-border: 1px solid var(--ec-border-strong);
	--ec-box-shadow: 0 1px 3px rgba(0, 0, 0, .14), 0 6px 20px rgba(0, 0, 0, .16);
	--ec-box-bg: var(--ec-bg);
	--ec-box-blur: none;
	--ec-chrome-blur: none;
	--ec-tabs-rule: 1px solid var(--ec-gray-999);
	--ec-chrome-image: none;
	--ec-chrome-image-size: auto;
	--ec-chrome-image-pos: 0 0;
	--ec-chrome-image-repeat: repeat;
	--ec-chrome-image-attach: scroll;
	--ec-chrome-gap: 0 4px 0 var(--ec-chrome-bg);
	--ec-page-image: none;
	--ec-page-image-size: auto;
	--ec-page-image-pos: 0 0;
	--ec-steel: none;
	--ec-steel-edge: transparent;
	--ec-steel-ink: currentColor;
	--ec-cloud: transparent;
	--ec-cloud-shadow: none;
	--ec-cloud-pressed: transparent;
	--ec-cloud-pressed-shadow: none;
	--ec-cloud-pressed-edge: transparent;
	--ec-barn: transparent;
	--ec-barn-edge: transparent;
	--ec-steel-bright: none;
	--ec-tank-dome: none;
	--ec-fence: none;
	--ec-fence-grain: none;
	--ec-fence-edge: transparent;
	--ec-fence-hover: none;
	--ec-titlebar-pos: 0 0;
	--ec-titlebar-pos-rtl: 0 0;
	--ec-titlebar-size: auto;
	--ec-titlebar-repeat: repeat;
	--ec-title-pad-start: 12px;
	--ec-titlebar-image: none;
	--ec-title-halo: var(--ec-text-glow);
	--ec-icon-stroke: 2;
	--ec-icon-cap: round;
	--ec-icon-join: round;
	--ec-icon-fill: none;
	--ec-field-text-scale: 1;
	--ec-focus-w: 2px;
	--ec-map-paper: #fff;
	--ec-map-casing: none;
	--ec-map-ink: #000;
	--ec-map-asset: #1a6faf;
	--ec-map-label: #333;
	--ec-map-halo: #fff;
	--ec-map-font: sans-serif;
	--ec-map-weight: normal;
	--ec-map-select: #1976d2;
	--ec-map-hover: #78909e;
	--ec-map-located: #e65100;
	--ec-map-shape: #6a3d9a;
	--ec-map-marquee: #0645ad;
	--ec-map-contour: #262626;
	--ec-map-contour-ink: #1c1c1c;
	--ec-map-frame: #ccc;
	--ec-map-text: #212529;
	--ec-map-text-muted: #555;
	--ec-map-text-strong: #222;
	--ec-map-link: #0645ad;
	--ec-map-help: #2a5d8a;
	--ec-map-edge: #bbb;
	--ec-map-deep: #17406b;
	--ec-hue-10304f: #10304f;
	--ec-hue-eae7e0: #eae7e0;
	--ec-a-0-0-0-12: rgba(0, 0, 0, .12);
	--ec-a-0-0-0-18: rgba(0, 0, 0, .18);
	--ec-a-0-0-0-2: rgba(0, 0, 0, .2);
	--ec-a-0-0-0-25: rgba(0, 0, 0, .25);
	--ec-a-0-0-0-3: rgba(0, 0, 0, .3);
	--ec-a-0-0-0-35: rgba(0, 0, 0, .35);
	--ec-a-0-0-0-4: rgba(0, 0, 0, .4);
	--ec-ink-strong: #222;
	--ec-ink-muted: color-mix(in srgb, var(--ec-bg), var(--ec-ink) 83.3333%);
	--ec-ink-subtle: color-mix(in srgb, var(--ec-bg), var(--ec-ink) 75%);
	--ec-hairline: color-mix(in srgb, var(--ec-bg), var(--ec-border-strong) 60%);
	--ec-neutral-ink: color-mix(in srgb, var(--ec-bg), var(--ec-ink) 62.2549%);
	--ec-border: color-mix(in srgb, var(--ec-bg), var(--ec-ink) 16.6667%);
	--ec-gray-444: color-mix(in srgb, var(--ec-bg), var(--ec-ink) 91.6667%);
	--ec-gray-767676: color-mix(in srgb, var(--ec-bg), var(--ec-ink) 67.1569%);
	--ec-gray-777: color-mix(in srgb, var(--ec-bg), var(--ec-ink) 66.6667%);
	--ec-gray-888: color-mix(in srgb, var(--ec-bg), var(--ec-ink) 58.3333%);
	--ec-gray-999: color-mix(in srgb, var(--ec-bg), var(--ec-ink) 50%);
	--ec-gray-aaa: color-mix(in srgb, var(--ec-bg), var(--ec-ink) 41.6667%);
	--ec-gray-bbb: color-mix(in srgb, var(--ec-bg), var(--ec-ink) 33.3333%);
	--ec-gray-d6d6d6: color-mix(in srgb, var(--ec-bg), var(--ec-ink) 20.098%);
	--ec-gray-dcdcdc: color-mix(in srgb, var(--ec-bg), var(--ec-ink) 17.1569%);
	--ec-gray-e0e0e0: color-mix(in srgb, var(--ec-bg), var(--ec-ink) 15.1961%);
	--ec-gray-e6e6e6: color-mix(in srgb, var(--ec-bg), var(--ec-ink) 12.2549%);
	--ec-gray-e8e8e8: color-mix(in srgb, var(--ec-bg), var(--ec-ink) 11.2745%);
	--ec-gray-eaeaea: color-mix(in srgb, var(--ec-bg), var(--ec-ink) 10.2941%);
	--ec-gray-ececec: color-mix(in srgb, var(--ec-bg), var(--ec-ink) 9.3137%);
	--ec-gray-eee: color-mix(in srgb, var(--ec-bg), var(--ec-ink) 8.3333%);
	--ec-gray-f0f0f0: color-mix(in srgb, var(--ec-bg), var(--ec-ink) 7.3529%);
	--ec-gray-f2f2f2: color-mix(in srgb, var(--ec-bg), var(--ec-ink) 6.3725%);
	--ec-gray-f6f6f6: color-mix(in srgb, var(--ec-bg), var(--ec-ink) 4.4118%);
	--ec-gray-f7f7f7: color-mix(in srgb, var(--ec-bg), var(--ec-ink) 3.9216%);
	--ec-gray-fafafa: color-mix(in srgb, var(--ec-bg), var(--ec-ink) 2.451%);
	--ec-accent-hover-bg: #eaf1fc;
	--ec-accent-open-bg: #d7e6fb;
	--ec-hover-bg: #def;
	--ec-hover-border: #9bd;
	--ec-pressed-bg: #cfe3f7;
	--ec-pressed-border: #6aa6d8;
	--ec-select-bg: #e8f0fe;
	--ec-select-bg-strong: #d3e3fd;
	--ec-form-bg: #f7f9ff;
	--ec-form-border: #66c;
	--ec-debug-grid: blue;
	--ec-a-6-69-173-12: color-mix(in srgb, var(--ec-accent) 12%, transparent);
	--ec-a-6-69-173-35: color-mix(in srgb, var(--ec-accent) 35%, transparent);
	--ec-held-bg: #fff3cd;
	--ec-error-bg-soft: #fff0f0;
	--ec-hue-037: #037;
	--ec-hue-05a: #05a;
	--ec-hue-0b0080: #0b0080;
	--ec-hue-12211f: #12211f;
	--ec-hue-1565c0: #1565c0;
	--ec-hue-17406b: #17406b;
	--ec-hue-1976d2: #1976d2;
	--ec-hue-2a6ebb: #2a6ebb;
	--ec-hue-3c4043: #3c4043;
	--ec-hue-5a6570: #5a6570;
	--ec-hue-5f6368: #5f6368;
	--ec-hue-667: #667;
	--ec-hue-8ab: #8ab;
	--ec-hue-b00020: #b00020;
	--ec-hue-c0392b: #c0392b;
	--ec-hue-d99: #d99;
	--ec-hue-e8a33d: var(--ec-held);
	--ec-hue-eef1f4: #eef1f4;
	--ec-hue-eef3fd: #eef3fd;
	--ec-hue-eef4ff: #eef4ff;
	--ec-hue-f4d4d4: #f4d4d4;
	--ec-hue-fdd: #fdd;
	--ec-hue-fff3cd: var(--ec-held-bg);
	--ec-hue-fff4e5: #fff4e5;
	--ec-a-60-64-67-14: rgba(60, 64, 67, .14);
	--ec-a-60-64-67-5: rgba(60, 64, 67, .5);
	--ec-a-128-128-128-4: color-mix(in srgb, var(--ec-neutral-ink) 40%, transparent);
	--ec-a-128-128-128-45: color-mix(in srgb, var(--ec-neutral-ink) 45%, transparent);
	--ec-map-overlay-bg: color-mix(in srgb, var(--ec-bg) 80%, transparent);
	--ec-a-255-255-255-85: color-mix(in srgb, var(--ec-bg) 85%, transparent);
	--ec-a-255-255-255-9: color-mix(in srgb, var(--ec-bg) 90%, transparent);
	--ec-a-255-255-255-94: color-mix(in srgb, var(--ec-bg) 94%, transparent);
}
@media screen {
:root:where([data-theme]:not([data-theme="light"])), .ec-theme-card:where(:not([data-theme="light"])) {
	--ec-ink-strong: color-mix(in srgb, var(--ec-ink), var(--ec-ink-black) 35%);
	--ec-accent-hover-bg: color-mix(in srgb, var(--ec-bg), var(--ec-accent) 8%);
	--ec-accent-open-bg: color-mix(in srgb, var(--ec-bg), var(--ec-accent) 16%);
	--ec-hover-bg: color-mix(in srgb, var(--ec-bg), var(--ec-accent) 14%);
	--ec-hover-border: color-mix(in srgb, var(--ec-bg), var(--ec-accent) 70%);
	--ec-pressed-bg: color-mix(in srgb, var(--ec-bg), var(--ec-accent) 22%);
	--ec-pressed-border: color-mix(in srgb, var(--ec-bg), var(--ec-accent) 80%);
	--ec-select-bg: color-mix(in srgb, var(--ec-bg), var(--ec-select) 9%);
	--ec-select-bg-strong: color-mix(in srgb, var(--ec-bg), var(--ec-select) 18%);
	--ec-form-bg: color-mix(in srgb, var(--ec-bg), var(--ec-accent) 3%);
	--ec-form-border: color-mix(in srgb, var(--ec-accent), var(--ec-bg) 30%);
	--ec-debug-grid: var(--ec-accent);
	--ec-held-bg: color-mix(in srgb, var(--ec-bg), var(--ec-held) 15%);
	--ec-error-bg-soft: color-mix(in srgb, var(--ec-bg), var(--ec-error-bg) 50%);
	--ec-hue-037: color-mix(in srgb, var(--ec-accent), var(--ec-ink-black) 30%);
	--ec-hue-05a: var(--ec-accent);
	--ec-hue-0b0080: var(--ec-accent-open);
	--ec-hue-12211f: var(--ec-ink-strong);
	--ec-hue-1565c0: var(--ec-accent);
	--ec-hue-17406b: var(--ec-accent-open);
	--ec-hue-1976d2: var(--ec-accent);
	--ec-hue-2a6ebb: var(--ec-accent-hover);
	--ec-hue-3c4043: var(--ec-ink);
	--ec-hue-5a6570: var(--ec-ink-muted);
	--ec-hue-5f6368: var(--ec-ink-muted);
	--ec-hue-667: var(--ec-ink-subtle);
	--ec-hue-8ab: var(--ec-hover-border);
	--ec-hue-b00020: var(--ec-bad-ink);
	--ec-hue-c0392b: var(--ec-bad-ink);
	--ec-hue-d99: color-mix(in srgb, var(--ec-bg), var(--ec-bad-ink) 45%);
	--ec-hue-eef1f4: var(--ec-hover-bg);
	--ec-hue-eef3fd: color-mix(in srgb, var(--ec-bg), var(--ec-accent) 7%);
	--ec-hue-eef4ff: color-mix(in srgb, var(--ec-bg), var(--ec-accent) 7%);
	--ec-hue-f4d4d4: color-mix(in srgb, var(--ec-bg), var(--ec-bad-ink) 17%);
	--ec-hue-fdd: color-mix(in srgb, var(--ec-bg), var(--ec-bad-ink) 13%);
	--ec-hue-fff4e5: color-mix(in srgb, var(--ec-bg), var(--ec-held) 12%);
	--ec-a-60-64-67-14: color-mix(in srgb, var(--ec-ink) 14%, transparent);
	--ec-a-60-64-67-5: color-mix(in srgb, var(--ec-ink) 50%, transparent);
}
:root[data-theme="dark"], .ec-theme-card[data-theme="dark"] {
	--ec-chrome-bg: #22262e;
	--ec-control-border: #6b7078;
	color-scheme: dark;
	--ec-bg: #1e1f22;
	--ec-ink: #d5d8dc;
	--ec-ink-strong: #e6e8eb;
	--ec-ink-muted: #b7bbc1;
	--ec-ink-subtle: #a9aeb5;
	--ec-ink-black: #fff;
	--ec-border: #3a3d44;
	--ec-border-strong: #6b7078;
	--ec-accent: #8ab4f8;
	--ec-point: #ff6fa3;
	--ec-accent-hover: #aecbfa;
	--ec-accent-open: #aecbfa;
	--ec-accent-hover-bg: #27354d;
	--ec-accent-open-bg: #31456b;
	--ec-brand: #62b0ea;
	--ec-brand-hover: #8cc4f2;
	--ec-warn-bg: #3a3318;
	--ec-warn-border: #b8960f;
	--ec-warn-ink: #f0a04b;
	--ec-held-ink: #f0b84a;
	--ec-ok-ink: #6fcf7f;
	--ec-bad-ink: #ff7b72;
	--ec-error-ink: #ff8a80;
	--ec-error-bg: #3d1f1e;
	--ec-error-bg-soft: #3a2222;
	--ec-neutral-ink: #a3a8ae;
	--ec-hover-bg: #29384f;
	--ec-hover-border: #6a93c4;
	--ec-pressed-bg: #35507a;
	--ec-pressed-border: #7aaadf;
	--ec-select: #8ab4f8;
	--ec-select-bg: #26364f;
	--ec-select-bg-strong: #2f4468;
	--ec-form-bg: #22262e;
	--ec-form-border: #7a7ad6;
	--ec-debug-grid: #5b7cff;
	--ec-gray-444: #c8cbd0;
	--ec-gray-767676: #9ba0a7;
	--ec-gray-777: #a8adb4;
	--ec-gray-888: #959ba2;
	--ec-gray-999: #868c93;
	--ec-gray-aaa: #70757d;
	--ec-gray-bbb: #6a6f77;
	--ec-gray-d6d6d6: #444850;
	--ec-gray-dcdcdc: #41454c;
	--ec-gray-e0e0e0: #3f434a;
	--ec-gray-e6e6e6: #383b42;
	--ec-gray-e8e8e8: #363940;
	--ec-gray-eaeaea: #34373d;
	--ec-gray-ececec: #32353b;
	--ec-gray-eee: #30333a;
	--ec-gray-f0f0f0: #2c2f34;
	--ec-gray-f2f2f2: #2a2c31;
	--ec-gray-f6f6f6: #26282c;
	--ec-gray-f7f7f7: #25272b;
	--ec-gray-fafafa: #232528;
	--ec-hue-037: #7cb4ef;
	--ec-hue-05a: #7ab0f0;
	--ec-hue-0b0080: #b9b4ff;
	--ec-hue-10304f: #10304f;
	--ec-hue-12211f: #dfe6e4;
	--ec-hue-1565c0: #4f9bf0;
	--ec-hue-17406b: #8ab4e8;
	--ec-hue-1976d2: #64a8f5;
	--ec-hue-2a6ebb: #5b93d6;
	--ec-hue-3c4043: #b0b4ba;
	--ec-hue-5a6570: #aab2bb;
	--ec-hue-5f6368: #aeb3b8;
	--ec-hue-667: #a4a4c4;
	--ec-hue-8ab: #5d7d94;
	--ec-hue-b00020: #ff8a9b;
	--ec-hue-c0392b: #ff7a6a;
	--ec-hue-d99: #a05a5a;
	--ec-hue-eae7e0: #2f2d29;
	--ec-hue-eef1f4: #262b32;
	--ec-hue-eef3fd: #26324a;
	--ec-hue-eef4ff: #26324a;
	--ec-hue-f4d4d4: #4a2b2b;
	--ec-hue-fdd: #4a2828;
	--ec-hue-fff3cd: #3b371c;
	--ec-hue-fff4e5: #44331c;
	--ec-a-0-0-0-12: rgba(0, 0, 0, .3);
	--ec-a-0-0-0-18: rgba(0, 0, 0, .4);
	--ec-a-0-0-0-2: rgba(0, 0, 0, .4);
	--ec-a-0-0-0-25: rgba(0, 0, 0, .5);
	--ec-a-0-0-0-3: rgba(0, 0, 0, .5);
	--ec-a-0-0-0-35: rgba(0, 0, 0, .6);
	--ec-a-0-0-0-4: rgba(0, 0, 0, .6);
	--ec-a-6-69-173-12: rgba(138, 180, 248, .16);
	--ec-a-6-69-173-35: rgba(138, 180, 248, .45);
	--ec-a-60-64-67-14: rgba(200, 205, 215, .14);
	--ec-a-60-64-67-5: rgba(200, 205, 215, .5);
	--ec-map-overlay-bg: rgba(30, 31, 34, .8);
	--ec-a-255-255-255-85: rgba(30, 31, 34, .95);
	--ec-a-255-255-255-9: rgba(30, 31, 34, .9);
	--ec-a-255-255-255-94: rgba(30, 31, 34, .94);
	--ec-tip-bg: #2b2d33;
	--ec-tip-ink: #e6e8eb;
	--ec-tip-edge: #8a9099;
	--ec-help-ink: #7fb2e0;
	--ec-map-paper: #1e1f22;
	--ec-map-ink: #d5d8dc;
	--ec-map-asset: #6aaee8;
	--ec-map-label: #d5d8dc;
	--ec-map-halo: #1e1f22;
	--ec-map-select: #8ab4f8;
	--ec-map-hover: #9aa7b0;
	--ec-map-located: #ff9e57;
	--ec-map-shape: #c79bf2;
	--ec-map-marquee: #8ab4f8;
	--ec-map-contour: #c8ccd2;
	--ec-map-contour-ink: #e6e8eb;
	--ec-map-frame: #3a3d44;
	--ec-map-text: #d5d8dc;
	--ec-map-text-muted: #b7bbc1;
	--ec-map-text-strong: #e6e8eb;
	--ec-map-link: #8ab4f8;
	--ec-map-help: #7fb2e0;
	--ec-map-edge: #6b7078;
	--ec-map-deep: #8ab4e8;
}
:root[data-theme="hc"], .ec-theme-card[data-theme="hc"], :root[data-theme="hc-dark"], .ec-theme-card[data-theme="hc-dark"],
:root[data-theme="amber"], .ec-theme-card[data-theme="amber"], :root[data-theme="green"], .ec-theme-card[data-theme="green"],
:root[data-theme="platinum"], .ec-theme-card[data-theme="platinum"], :root[data-theme="newspaper"], .ec-theme-card[data-theme="newspaper"] {
	--ec-box-radius: 0;
}
:root[data-theme="amber"], .ec-theme-card[data-theme="amber"], :root[data-theme="green"], .ec-theme-card[data-theme="green"],
:root[data-theme="platinum"], .ec-theme-card[data-theme="platinum"] {
	--ec-box-border: 1px solid var(--ec-ink);
}
:root[data-theme="hc"], .ec-theme-card[data-theme="hc"] {
	--ec-bg: #fff;
	--ec-chrome-bg: #fff;
	--ec-ink: #000;
	--ec-ink-black: #000;
	--ec-border-strong: #000;
	--ec-control-border: #000;
	--ec-accent: #0000b3;
	--ec-point: #b0004a;
	--ec-accent-hover: #000080;
	--ec-accent-open: #006;
	--ec-brand: #00399e;
	--ec-brand-hover: #002a75;
	--ec-warn-bg: #ffc;
	--ec-warn-border: #000;
	--ec-warn-ink: #5c2e00;
	--ec-held: #8a5a00;
	--ec-held-ink: #5c3b00;
	--ec-ok-ink: #004d1a;
	--ec-bad-ink: #8a0000;
	--ec-error-ink: #700000;
	--ec-error-bg: #ffe5e5;
	--ec-select: #0000b3;
	--ec-tip-bg: #000;
	--ec-tip-ink: #fff;
	--ec-tip-edge: #000;
	--ec-help-ink: #00399e;
	--ec-border: #000;
	--ec-gray-999: #595959;
	--ec-gray-bbb: #595959;
	--ec-gray-888: #000;
	--ec-gray-d6d6d6: #000;
	--ec-neutral-ink: var(--ec-ink-muted);
	--ec-gray-777: var(--ec-ink-muted);
	--ec-icon-stroke: 2.5;
	--ec-focus-w: 3px;
	--ec-box-border: 2px solid var(--ec-ink);
	--ec-box-shadow: none;
	--ec-tabs-rule: 2px solid var(--ec-ink);
	--ec-map-paper: #fff;
	--ec-map-ink: #000;
	--ec-map-asset: #00449e;
	--ec-map-label: #000;
	--ec-map-halo: #fff;
	--ec-map-select: #0000b3;
	--ec-map-hover: #595959;
	--ec-map-located: #a33a00;
	--ec-map-shape: #4b0082;
	--ec-map-marquee: #0000b3;
	--ec-map-contour: #000;
	--ec-map-contour-ink: #000;
	--ec-map-frame: #000;
	--ec-map-text: #000;
	--ec-map-text-muted: #333;
	--ec-map-text-strong: #000;
	--ec-map-link: #0000b3;
	--ec-map-help: #00399e;
	--ec-map-edge: #000;
	--ec-map-deep: #00399e;
}
:root[data-theme="hc-dark"], .ec-theme-card[data-theme="hc-dark"] {
	color-scheme: dark;
	--ec-bg: #000;
	--ec-chrome-bg: #000;
	--ec-ink: #fff;
	--ec-ink-black: #fff;
	--ec-border-strong: #fff;
	--ec-control-border: #fff;
	--ec-accent: #7fd4ff;
	--ec-point: #ff7ab8;
	--ec-accent-hover: #b3e6ff;
	--ec-accent-open: #fff;
	--ec-brand: #7fd4ff;
	--ec-brand-hover: #b3e6ff;
	--ec-warn-bg: #1f1c00;
	--ec-warn-border: #ff0;
	--ec-warn-ink: #ff6;
	--ec-held: #fc3;
	--ec-held-ink: #ffd966;
	--ec-ok-ink: #66ff8c;
	--ec-bad-ink: #ffb3b3;
	--ec-error-ink: #ffb3b3;
	--ec-error-bg: #300;
	--ec-select: #7fd4ff;
	--ec-tip-bg: #fff;
	--ec-tip-ink: #000;
	--ec-tip-edge: #fff;
	--ec-help-ink: #7fd4ff;
	--ec-border: #fff;
	--ec-gray-999: #a6a6a6;
	--ec-gray-bbb: #a6a6a6;
	--ec-gray-888: #fff;
	--ec-gray-d6d6d6: #fff;
	--ec-neutral-ink: var(--ec-ink-muted);
	--ec-gray-777: var(--ec-ink-muted);
	--ec-a-0-0-0-12: rgba(0, 0, 0, .5);
	--ec-a-0-0-0-2: rgba(0, 0, 0, .6);
	--ec-a-0-0-0-25: rgba(0, 0, 0, .6);
	--ec-icon-stroke: 2.5;
	--ec-focus-w: 3px;
	--ec-box-border: 2px solid var(--ec-ink);
	--ec-box-shadow: none;
	--ec-tabs-rule: 2px solid var(--ec-ink);
	--ec-map-paper: #000;
	--ec-map-ink: #fff;
	--ec-map-asset: #7fd4ff;
	--ec-map-label: #fff;
	--ec-map-halo: #000;
	--ec-map-select: #ffff00;
	--ec-map-hover: #a6a6a6;
	--ec-map-located: #ffb366;
	--ec-map-shape: #e0b3ff;
	--ec-map-marquee: #7fd4ff;
	--ec-map-contour: #fff;
	--ec-map-contour-ink: #fff;
	--ec-map-frame: #fff;
	--ec-map-text: #fff;
	--ec-map-text-muted: #e0e0e0;
	--ec-map-text-strong: #fff;
	--ec-map-link: #7fd4ff;
	--ec-map-help: #7fd4ff;
	--ec-map-edge: #fff;
	--ec-map-deep: #7fd4ff;
}
:root[data-theme="amber"], .ec-theme-card[data-theme="amber"] {
	color-scheme: dark;
	--ec-bg: #140c00;
	--ec-chrome-bg: #1d1100;
	--ec-ink: #ffb000;
	--ec-ink-black: #ffd37a;
	--ec-border-strong: #9a6600;
	--ec-control-border: #9a6600;
	--ec-accent: #ffd37a;
	--ec-point: #ffe3a8;
	--ec-accent-hover: #ffe3a8;
	--ec-accent-open: #fff;
	--ec-brand: #ffb000;
	--ec-brand-hover: #ffd37a;
	--ec-warn-bg: #3a2400;
	--ec-warn-border: #ffb000;
	--ec-warn-ink: #ffd37a;
	--ec-held: #ffb000;
	--ec-held-ink: #ffd37a;
	--ec-ok-ink: #ffb000;
	--ec-bad-ink: #ffd37a;
	--ec-error-ink: #ffd37a;
	--ec-error-bg: #3a1c00;
	--ec-select: #ffd37a;
	--ec-tip-bg: #ffb000;
	--ec-tip-ink: #140c00;
	--ec-tip-edge: #ffb000;
	--ec-help-ink: #ffb000;
	--ec-btn-radius: 0;
	--ec-font-ui: ui-monospace, "Cascadia Mono", Consolas, "DejaVu Sans Mono", "Liberation Mono", "Lucida Console", monospace;
	--ec-font-size: .9375rem;
	--ec-radius-scale: 0;
	--ec-text-glow: 0 0 3px color-mix(in srgb, var(--ec-ink) 55%, transparent);
	--ec-chrome-image: repeating-linear-gradient(to bottom, transparent 0 2px, color-mix(in srgb, var(--ec-ink) 8%, transparent) 2px 3px);
	--ec-title-case: uppercase;
	--ec-title-tracking: .06em;
	--ec-box-shadow: 0 0 0 1px var(--ec-bg), 0 0 18px color-mix(in srgb, var(--ec-ink) 25%, transparent);
	--ec-icon-stroke: 2.25;
	--ec-icon-cap: square;
	--ec-icon-join: miter;
	--ec-field-text-scale: .72;
	--ec-neutral-ink: var(--ec-ink-muted);
	--ec-gray-777: var(--ec-ink-muted);
	--ec-gray-bbb: var(--ec-gray-999);
	--ec-a-0-0-0-12: rgba(0, 0, 0, .5);
	--ec-a-0-0-0-2: rgba(0, 0, 0, .6);
	--ec-a-0-0-0-25: rgba(0, 0, 0, .6);
	--ec-map-paper: #140c00;
	--ec-map-ink: #ffb000;
	--ec-map-asset: #ffb000;
	--ec-map-label: #ffd37a;
	--ec-map-halo: #140c00;
	--ec-map-select: #fff;
	--ec-map-hover: #c98a00;
	--ec-map-located: #fff;
	--ec-map-shape: #ffe3a8;
	--ec-map-marquee: #ffd37a;
	--ec-map-contour: #9a6600;
	--ec-map-contour-ink: #ffd37a;
	--ec-map-frame: #9a6600;
	--ec-map-text: #ffb000;
	--ec-map-text-muted: #d99a00;
	--ec-map-text-strong: #ffd37a;
	--ec-map-link: #ffd37a;
	--ec-map-help: #ffb000;
	--ec-map-edge: #9a6600;
	--ec-map-deep: #ffd37a;
	--ec-map-font: var(--ec-font-ui);
}
:root[data-theme="green"], .ec-theme-card[data-theme="green"] {
	color-scheme: dark;
	--ec-bg: #031003;
	--ec-chrome-bg: #061a06;
	--ec-ink: #33ff66;
	--ec-ink-black: #a6ffbd;
	--ec-border-strong: #1f9a3e;
	--ec-control-border: #1f9a3e;
	--ec-accent: #a6ffbd;
	--ec-point: #d2ffdf;
	--ec-accent-hover: #d2ffdf;
	--ec-accent-open: #fff;
	--ec-brand: #33ff66;
	--ec-brand-hover: #a6ffbd;
	--ec-warn-bg: #0d2e0d;
	--ec-warn-border: #33ff66;
	--ec-warn-ink: #a6ffbd;
	--ec-held: #33ff66;
	--ec-held-ink: #a6ffbd;
	--ec-ok-ink: #33ff66;
	--ec-bad-ink: #a6ffbd;
	--ec-error-ink: #a6ffbd;
	--ec-error-bg: #0a2a12;
	--ec-select: #a6ffbd;
	--ec-tip-bg: #33ff66;
	--ec-tip-ink: #031003;
	--ec-tip-edge: #33ff66;
	--ec-help-ink: #33ff66;
	--ec-btn-radius: 0;
	--ec-font-ui: ui-monospace, "Cascadia Mono", Consolas, "DejaVu Sans Mono", "Liberation Mono", "Lucida Console", monospace;
	--ec-font-size: .9375rem;
	--ec-radius-scale: 0;
	--ec-text-glow: 0 0 3px color-mix(in srgb, var(--ec-ink) 55%, transparent);
	--ec-chrome-image: repeating-linear-gradient(to bottom, transparent 0 2px, color-mix(in srgb, var(--ec-ink) 8%, transparent) 2px 3px);
	--ec-title-case: uppercase;
	--ec-title-tracking: .06em;
	--ec-box-shadow: 0 0 0 1px var(--ec-bg), 0 0 18px color-mix(in srgb, var(--ec-ink) 25%, transparent);
	--ec-icon-stroke: 2.25;
	--ec-icon-cap: square;
	--ec-icon-join: miter;
	--ec-field-text-scale: .72;
	--ec-neutral-ink: var(--ec-ink-muted);
	--ec-gray-777: var(--ec-ink-muted);
	--ec-gray-bbb: var(--ec-gray-999);
	--ec-a-0-0-0-12: rgba(0, 0, 0, .5);
	--ec-a-0-0-0-2: rgba(0, 0, 0, .6);
	--ec-a-0-0-0-25: rgba(0, 0, 0, .6);
	--ec-map-paper: #031003;
	--ec-map-ink: #33ff66;
	--ec-map-asset: #33ff66;
	--ec-map-label: #a6ffbd;
	--ec-map-halo: #031003;
	--ec-map-select: #fff;
	--ec-map-hover: #1f9a3e;
	--ec-map-located: #fff;
	--ec-map-shape: #d2ffdf;
	--ec-map-marquee: #a6ffbd;
	--ec-map-contour: #1f9a3e;
	--ec-map-contour-ink: #a6ffbd;
	--ec-map-frame: #1f9a3e;
	--ec-map-text: #33ff66;
	--ec-map-text-muted: #2bd957;
	--ec-map-text-strong: #a6ffbd;
	--ec-map-link: #a6ffbd;
	--ec-map-help: #33ff66;
	--ec-map-edge: #1f9a3e;
	--ec-map-deep: #a6ffbd;
	--ec-map-font: var(--ec-font-ui);
}
:root[data-theme="platinum"], .ec-theme-card[data-theme="platinum"] {
	--ec-bg: #fff;
	--ec-chrome-bg: #ddd;
	--ec-ink: #000;
	--ec-ink-black: #000;
	--ec-border-strong: #666;
	--ec-control-border: #666;
	--ec-accent: #2a2a9a;
	--ec-point: #c2185b;
	--ec-accent-hover: #1a1a7a;
	--ec-accent-open: #101060;
	--ec-brand: #2a2a9a;
	--ec-brand-hover: #1a1a7a;
	--ec-warn-bg: #ffc;
	--ec-warn-border: #666;
	--ec-warn-ink: #630;
	--ec-held: #c80;
	--ec-held-ink: #6b4400;
	--ec-ok-ink: #1a6b1a;
	--ec-bad-ink: #b00000;
	--ec-error-ink: #a00000;
	--ec-error-bg: #ffe0e0;
	--ec-select: #2a2a9a;
	--ec-tip-bg: #ffc;
	--ec-tip-ink: #000;
	--ec-tip-edge: #000;
	--ec-help-ink: #2a2a9a;
	--ec-btn-radius: 2px;
	--ec-gray-999: #777;
	--ec-gray-bbb: #777;
	--ec-bevel: inset 1px 1px 0 #fff, inset -1px -1px 0 #888;
	--ec-bevel-in: inset 1px 1px 0 #888, inset -1px -1px 0 #fff;
	--ec-font-ui: Charcoal, Chicago, ChicagoFLF, Geneva, Verdana, "DejaVu Sans", sans-serif;
	--ec-font-size: .875rem;
	--ec-menu-weight: bold;
	--ec-radius-scale: .5;
	--ec-box-shadow: 2px 2px 0 rgba(0, 0, 0, .45);
	--ec-titlebar-image: repeating-linear-gradient(to bottom, #ddd 0 1px, #fff 1px 2px, #999 2px 3px, #ddd 3px 4px);
	--ec-title-halo: 2px 0 #ddd, -2px 0 #ddd, 0 2px #ddd, 0 -2px #ddd, 2px 2px #ddd, -2px -2px #ddd, 2px -2px #ddd, -2px 2px #ddd, 3px 0 #ddd, -3px 0 #ddd;
	--ec-icon-stroke: 1.75;
	--ec-icon-cap: square;
	--ec-icon-join: miter;
	--ec-map-font: var(--ec-font-ui);
}
:root[data-theme="rounded"], .ec-theme-card[data-theme="rounded"] {
	--ec-bg: #fff;
	--ec-chrome-bg: #f1f3f7;
	--ec-ink: #2b2f36;
	--ec-ink-black: #000;
	--ec-border-strong: #8a919c;
	--ec-control-border: #8a919c;
	--ec-accent: #0b57d0;
	--ec-point: #c2185b;
	--ec-accent-hover: #0842a0;
	--ec-accent-open: #062e6f;
	--ec-brand: #0b57d0;
	--ec-brand-hover: #0842a0;
	--ec-warn-bg: #fff8e1;
	--ec-warn-border: #b38600;
	--ec-warn-ink: #8a4300;
	--ec-held: #e8a33d;
	--ec-held-ink: #8a5a00;
	--ec-ok-ink: #1e6b34;
	--ec-bad-ink: #b3261e;
	--ec-error-ink: #a01b14;
	--ec-error-bg: #fce8e6;
	--ec-select: #0b57d0;
	--ec-tip-bg: #2b2f36;
	--ec-tip-ink: #fff;
	--ec-tip-edge: #2b2f36;
	--ec-help-ink: #0842a0;
	--ec-gray-999: #757b85;
	--ec-gray-bbb: #8a919c;
	--ec-neutral-ink: var(--ec-ink-muted);
	--ec-gray-777: var(--ec-ink-muted);
	--ec-hover-border: var(--ec-accent);
	--ec-font-ui: -apple-system, "Segoe UI", Roboto, "Noto Sans", "Helvetica Neue", Arial, system-ui, sans-serif;
	--ec-menu-weight: 500;
	--ec-btn-radius: 999px;
	--ec-radius-scale: 2;
	--ec-box-radius: 14px;
	--ec-box-border: 1px solid var(--ec-border-strong);
	--ec-box-shadow: 0 2px 6px rgba(0, 0, 0, .08), 0 12px 32px rgba(0, 0, 0, .16);
	--ec-tabs-rule: 1px solid var(--ec-border-strong);
	--ec-icon-stroke: 1.75;
	--ec-map-font: var(--ec-font-ui);
}
:root[data-theme="desktop"], .ec-theme-card[data-theme="desktop"] {
	--ec-bg: #fff;
	--ec-chrome-bg: rgba(236, 236, 238, .82);
	--ec-ink: #1d1d1f;
	--ec-ink-black: #000;
	--ec-border-strong: #8e8e93;
	--ec-control-border: #8e8e93;
	--ec-accent: #005bbd;
	--ec-point: #c2185b;
	--ec-accent-hover: #0057b0;
	--ec-accent-open: #004a96;
	--ec-brand: #005bbd;
	--ec-brand-hover: #0057b0;
	--ec-warn-bg: #fff8e6;
	--ec-warn-border: #b07d00;
	--ec-warn-ink: #8a4b00;
	--ec-held: #e8a33d;
	--ec-held-ink: #8a5a00;
	--ec-ok-ink: #1a6b2e;
	--ec-bad-ink: #c0221c;
	--ec-error-ink: #a81e18;
	--ec-error-bg: #fdecea;
	--ec-select: #0057b5;
	--ec-tip-bg: #2c2c2e;
	--ec-tip-ink: #fff;
	--ec-tip-edge: #2c2c2e;
	--ec-help-ink: #004a9c;
	--ec-gray-999: #6e6e73;
	--ec-gray-bbb: #8e8e93;
	--ec-neutral-ink: var(--ec-ink-muted);
	--ec-gray-777: var(--ec-ink-muted);
	--ec-hover-border: var(--ec-accent);
	--ec-pressed-border: var(--ec-accent-open);
	--ec-font-ui: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Helvetica, Arial, sans-serif;
	--ec-font-size: .9375rem;
	--ec-menu-weight: 500;
	--ec-title-weight: 600;
	--ec-btn-radius: 7px;
	--ec-radius-scale: 2;
	--ec-box-radius: 12px;
	--ec-box-border: 1px solid rgba(0, 0, 0, .14);
	--ec-box-shadow: 0 0 0 .5px rgba(0, 0, 0, .1), 0 2px 6px rgba(0, 0, 0, .08), 0 10px 30px rgba(0, 0, 0, .16);
	--ec-box-bg: rgba(255, 255, 255, .86);
	--ec-box-blur: saturate(180%) blur(20px);
	--ec-chrome-blur: saturate(180%) blur(20px);
	--ec-tabs-rule: 1px solid var(--ec-border);
	--ec-focus-w: 3px;
	--ec-icon-stroke: 1.6;
	--ec-map-select: #0062cc;
	--ec-map-marquee: #0062cc;
	--ec-map-font: var(--ec-font-ui);
}
:root[data-theme="newspaper"], .ec-theme-card[data-theme="newspaper"] {
	--ec-bg: #f6f2e7;
	--ec-chrome-bg: #ece6d4;
	--ec-ink: #1c1c1c;
	--ec-ink-black: #000;
	--ec-border-strong: #4a4a4a;
	--ec-control-border: #5c5c5c;
	--ec-accent: #7a1010;
	--ec-point: #a3155a;
	--ec-accent-hover: #5a0a0a;
	--ec-accent-open: #3d0606;
	--ec-brand: #1c1c1c;
	--ec-brand-hover: #000;
	--ec-warn-bg: #f1e4bf;
	--ec-warn-border: #7a5c10;
	--ec-warn-ink: #5e3600;
	--ec-held: #b8862b;
	--ec-held-ink: #6b4400;
	--ec-ok-ink: #1f5a1f;
	--ec-bad-ink: #8f1a0a;
	--ec-error-ink: #8f1a0a;
	--ec-error-bg: #f2d8cc;
	--ec-select: #2e2e2e;
	--ec-tip-bg: #1c1c1c;
	--ec-tip-ink: #f6f2e7;
	--ec-tip-edge: #000;
	--ec-help-ink: #7a1010;
	--ec-gray-999: #6b6b6b;
	--ec-gray-bbb: #6b6b6b;
	--ec-neutral-ink: var(--ec-ink-muted);
	--ec-gray-777: var(--ec-ink-muted);
	--ec-font-ui: "Times New Roman", Times, "Liberation Serif", "Nimbus Roman", Tinos, Georgia, serif;
	--ec-font-size: 1rem;
	--ec-menu-variant: small-caps;
	--ec-menu-tracking: .03em;
	--ec-title-case: uppercase;
	--ec-title-tracking: .08em;
	--ec-radius-scale: 0;
	--ec-btn-radius: 0;
	--ec-box-border: 3px double var(--ec-ink);
	--ec-box-shadow: none;
	--ec-tabs-rule: 3px double var(--ec-ink);
	--ec-icon-stroke: 1.5;
	--ec-icon-cap: butt;
	--ec-icon-join: miter;
	--ec-map-paper: #f6f2e7;
	--ec-map-ink: #1c1c1c;
	--ec-map-asset: #1c1c1c;
	--ec-map-label: #1c1c1c;
	--ec-map-halo: #f6f2e7;
	--ec-map-select: #7a1010;
	--ec-map-hover: #6b6b6b;
	--ec-map-located: #a33a00;
	--ec-map-shape: #4a3a6a;
	--ec-map-marquee: #7a1010;
	--ec-map-contour: #3a3a3a;
	--ec-map-contour-ink: #1c1c1c;
	--ec-map-frame: #4a4a4a;
	--ec-map-text: #1c1c1c;
	--ec-map-text-muted: #4a4a4a;
	--ec-map-text-strong: #000;
	--ec-map-link: #7a1010;
	--ec-map-help: #7a1010;
	--ec-map-edge: #6b6b6b;
	--ec-map-deep: #1c1c1c;
	--ec-map-font: var(--ec-font-ui);
}
:root[data-theme="arcade"], .ec-theme-card[data-theme="arcade"] {
	color-scheme: dark;
	--ec-bg: #000;
	--ec-chrome-bg: #000;
	--ec-ink: #ececf4;
	--ec-ink-black: #fff;
	--ec-border-strong: #4848ff;
	--ec-control-border: #4848ff;
	--ec-accent: #ffe600;
	--ec-point: #ffb8ff;
	--ec-accent-hover: #fff38a;
	--ec-accent-open: #fff;
	--ec-brand: #ffe600;
	--ec-brand-hover: #fff38a;
	--ec-warn-bg: #241700;
	--ec-warn-border: #ffb852;
	--ec-warn-ink: #ffb852;
	--ec-held: #ffb852;
	--ec-held-ink: #ffcf8a;
	--ec-ok-ink: #00ffff;
	--ec-bad-ink: #ff5c5c;
	--ec-error-ink: #ff7b7b;
	--ec-error-bg: #2e0000;
	--ec-select: #00e5ff;
	--ec-tip-bg: #2121de;
	--ec-tip-ink: #fff;
	--ec-tip-edge: #ffe600;
	--ec-help-ink: #00ffff;
	--ec-neutral-ink: var(--ec-ink-muted);
	--ec-gray-777: var(--ec-ink-muted);
	--ec-gray-bbb: var(--ec-gray-999);
	--ec-a-0-0-0-12: rgba(0, 0, 0, .5);
	--ec-a-0-0-0-2: rgba(0, 0, 0, .6);
	--ec-a-0-0-0-25: rgba(0, 0, 0, .6);
	--ec-font-ui: "Arial Rounded MT Bold", "Varela Round", Nunito, "Trebuchet MS", sans-serif;
	--ec-font-size: .9375rem;
	--ec-menu-weight: bold;
	--ec-menu-case: uppercase;
	--ec-menu-tracking: .04em;
	--ec-title-case: uppercase;
	--ec-title-tracking: .08em;
	--ec-title-ink: var(--ec-accent);
	--ec-btn-radius: 10px;
	--ec-radius-scale: 2.5;
	--ec-box-radius: 12px;
	--ec-box-border: 4px double var(--ec-border-strong);
	--ec-box-shadow: 0 0 14px rgba(72, 72, 255, .45);
	--ec-tabs-rule: 4px double var(--ec-border-strong);
	--ec-chrome-image: radial-gradient(circle at 50% calc(100% - 2px), #ffb897 0 1.5px, transparent 2px);
	--ec-chrome-image-size: 18px 100%;
	--ec-icon-stroke: 2.5;
	--ec-icon-fill: color-mix(in srgb, currentColor 30%, transparent);
	--ec-map-paper: #000;
	--ec-map-ink: #ececf4;
	--ec-map-asset: #4848ff;
	--ec-map-label: #ececf4;
	--ec-map-halo: #000;
	--ec-map-select: #ffe600;
	--ec-map-hover: #ffb8ff;
	--ec-map-located: #ff5c5c;
	--ec-map-shape: #ffb8ff;
	--ec-map-marquee: #ffe600;
	--ec-map-contour: #4848ff;
	--ec-map-contour-ink: #ececf4;
	--ec-map-frame: #4848ff;
	--ec-map-text: #ececf4;
	--ec-map-text-muted: #c0c0d0;
	--ec-map-text-strong: #fff;
	--ec-map-link: #ffe600;
	--ec-map-help: #00ffff;
	--ec-map-edge: #4848ff;
	--ec-map-deep: #ffe600;
	--ec-map-font: var(--ec-font-ui);
	--ec-map-weight: bold;
}
:root[data-theme="space"], .ec-theme-card[data-theme="space"] {
	color-scheme: dark;
	--ec-bg: #05060b;
	--ec-chrome-bg: #05060b;
	--ec-ink: #d9dce6;
	--ec-ink-black: #fff;
	--ec-border-strong: #5c627a;
	--ec-control-border: #6b7290;
	--ec-accent: #ffe81f;
	--ec-point: #ff6ad5;
	--ec-accent-hover: #fff27a;
	--ec-accent-open: #fff;
	--ec-brand: #ffe81f;
	--ec-brand-hover: #fff27a;
	--ec-warn-bg: #221c00;
	--ec-warn-border: #ffe81f;
	--ec-warn-ink: #ffe81f;
	--ec-held: #ffb000;
	--ec-held-ink: #ffc94d;
	--ec-ok-ink: #62e08a;
	--ec-bad-ink: #ff6b5e;
	--ec-error-ink: #ff8a80;
	--ec-error-bg: #2a0b0b;
	--ec-select: #4fc3ff;
	--ec-tip-bg: #0d1020;
	--ec-tip-ink: #ffe81f;
	--ec-tip-edge: #ffe81f;
	--ec-help-ink: #4fc3ff;
	--ec-neutral-ink: var(--ec-ink-muted);
	--ec-gray-777: var(--ec-ink-muted);
	--ec-gray-bbb: var(--ec-gray-999);
	--ec-a-0-0-0-12: rgba(0, 0, 0, .5);
	--ec-a-0-0-0-2: rgba(0, 0, 0, .6);
	--ec-a-0-0-0-25: rgba(0, 0, 0, .6);
	--ec-font-ui: Futura, "Century Gothic", "Avenir Next", Avenir, Bahnschrift, "Trebuchet MS", "DejaVu Sans", sans-serif;
	--ec-font-size: .9375rem;
	--ec-menu-case: uppercase;
	--ec-menu-tracking: .1em;
	--ec-title-case: uppercase;
	--ec-title-tracking: .18em;
	--ec-title-ink: var(--ec-accent);
	--ec-btn-radius: 2px;
	--ec-radius-scale: .5;
	--ec-box-radius: 3px;
	--ec-box-border: 1px solid color-mix(in srgb, var(--ec-accent) 55%, var(--ec-bg));
	--ec-box-shadow: 0 14px 40px rgba(0, 0, 0, .85), 0 0 22px rgba(79, 195, 255, .18);
	--ec-tabs-rule: 1px solid color-mix(in srgb, var(--ec-accent) 55%, var(--ec-bg));
	--ec-chrome-image: radial-gradient(1px 1px at 23px 9px, #fff 50%, transparent 100%), radial-gradient(1px 1px at 71px 27px, #cfd8ff 50%, transparent 100%), radial-gradient(1.5px 1.5px at 131px 15px, #fff 50%, transparent 100%), radial-gradient(1px 1px at 187px 33px, #ffe9b0 50%, transparent 100%), radial-gradient(1px 1px at 229px 5px, #fff 50%, transparent 100%), radial-gradient(1px 1px at 283px 21px, #cfd8ff 50%, transparent 100%);
	--ec-chrome-image-size: 300px 40px;
	--ec-icon-stroke: 1.5;
	--ec-map-paper: #05060b;
	--ec-map-ink: #d9dce6;
	--ec-map-asset: #4fc3ff;
	--ec-map-label: #d9dce6;
	--ec-map-halo: #05060b;
	--ec-map-select: #ffe81f;
	--ec-map-hover: #8a92ad;
	--ec-map-located: #ff6b5e;
	--ec-map-shape: #ff6ad5;
	--ec-map-marquee: #ffe81f;
	--ec-map-contour: #5c627a;
	--ec-map-contour-ink: #d9dce6;
	--ec-map-frame: #5c627a;
	--ec-map-text: #d9dce6;
	--ec-map-text-muted: #b0b5c5;
	--ec-map-text-strong: #fff;
	--ec-map-link: #ffe81f;
	--ec-map-help: #4fc3ff;
	--ec-map-edge: #6b7290;
	--ec-map-deep: #ffe81f;
	--ec-map-font: var(--ec-font-ui);
}
:root[data-theme="prairie"], .ec-theme-card[data-theme="prairie"] {
	--ec-bg: #fbf6e9;
	--ec-chrome-bg: #dcebf3;
	--ec-ink: #2b2418;
	--ec-ink-black: #000;
	--ec-border-strong: #7a6a50;
	--ec-control-border: #7a6a50;
	--ec-accent: #9e2a1e;
	--ec-point: #6a3d9a;
	--ec-accent-hover: #7d1f15;
	--ec-accent-open: #5c160f;
	--ec-brand: #34546e;
	--ec-brand-hover: #26405a;
	--ec-warn-bg: #f8e7b5;
	--ec-warn-border: #8a6a10;
	--ec-warn-ink: #6b3d00;
	--ec-held: #c98512;
	--ec-held-ink: #6b4400;
	--ec-ok-ink: #2f6a2a;
	--ec-bad-ink: #a8210f;
	--ec-error-ink: #8f1a0a;
	--ec-error-bg: #f6d8cc;
	--ec-select: #3e5a73;
	--ec-tip-bg: #2b2418;
	--ec-tip-ink: #fbf6e9;
	--ec-tip-edge: #000;
	--ec-help-ink: #2e4558;
	--ec-hover-border: var(--ec-accent);
	--ec-gray-999: #6b6255;
	--ec-gray-bbb: #7a6a50;
	--ec-neutral-ink: var(--ec-ink-muted);
	--ec-gray-777: var(--ec-ink-muted);
	--ec-font-ui: Rockwell, "Rockwell Nova", "Roboto Slab", "Zilla Slab", Georgia, serif;
	--ec-font-size: .9375rem;
	--ec-menu-weight: bold;
	--ec-menu-case: uppercase;
	--ec-menu-tracking: .12em;
	--ec-title-case: uppercase;
	--ec-title-tracking: .14em;
	--ec-title-ink: var(--ec-accent);
	--ec-btn-radius: 3px;
	--ec-radius-scale: .75;
	--ec-box-radius: 4px;
	--ec-box-border: 2px solid var(--ec-border-strong);
	--ec-box-shadow: 3px 3px 0 rgba(43, 36, 24, .22);
	--ec-tabs-rule: 4px double #7a5c3a;
	--ec-chrome-image: radial-gradient(ellipse 90px 12px at 16% 46px, rgba(255, 255, 255, .7), transparent 70%), radial-gradient(ellipse 140px 14px at 58% 40px, rgba(255, 255, 255, .55), transparent 70%), radial-gradient(ellipse 80px 10px at 86% 64px, rgba(255, 255, 255, .5), transparent 70%), linear-gradient(to bottom, #7fb0dc 0, #a6cbe7 40px, #b7d6ec 76px, #e4eef2 112px, #efe6cc 140px);
	--ec-chrome-image-size: 100% 140px;
	--ec-chrome-image-repeat: no-repeat;
	--ec-chrome-image-attach: fixed;
	--ec-chrome-gap: none;
	--ec-page-image: radial-gradient(ellipse 90px 12px at 16% 46px, rgba(255, 255, 255, .7), transparent 70%), radial-gradient(ellipse 140px 14px at 58% 40px, rgba(255, 255, 255, .55), transparent 70%), radial-gradient(ellipse 80px 10px at 86% 64px, rgba(255, 255, 255, .5), transparent 70%), linear-gradient(to bottom, #7fb0dc 0, #a6cbe7 40px, #b7d6ec 76px, #e4eef2 112px, #efe6cc 140px);
	--ec-page-image-size: 100% 140px;
	--ec-titlebar-image: url("/engcalcs/icons/favicon.svg");
	--ec-titlebar-pos: 10px 8px;
	--ec-titlebar-pos-rtl: right 10px top 8px;
	--ec-titlebar-size: 22px 22px;
	--ec-titlebar-repeat: no-repeat;
	--ec-title-pad-start: 40px;
	--ec-icon-stroke: 2;
	--ec-icon-cap: square;
	--ec-steel: linear-gradient(#eef1f2 0, #cdd4d8 45%, #bcc5cb 70%, #e3e7ea 100%);
	--ec-steel-edge: #6f7b84;
	--ec-steel-ink: #1f2a33;
	--ec-cloud: #fff;
	--ec-cloud-shadow: 0 2px 6px rgba(30, 60, 100, .35);
	--ec-cloud-pressed: #dfe8ee;
	--ec-cloud-pressed-shadow: inset 0 -5px 8px rgba(70, 100, 140, .4), 0 1px 3px rgba(30, 60, 100, .3);
	--ec-cloud-pressed-edge: #6f879c;
	--ec-barn: #e6d8b8;
	--ec-barn-edge: #7a6a50;
	--ec-steel-bright: linear-gradient(#f7f9fa 0, #dde3e6 45%, #cfd6db 70%, #eef1f3 100%);
	--ec-tank-dome: inset 0 2px 0 rgba(255, 255, 255, .75), inset 0 -2px 3px rgba(60, 70, 80, .18);
	--ec-fence: linear-gradient(#bcae96 0, #b3a48c 50%, #a99a82 100%);
	--ec-fence-grain: repeating-linear-gradient(90deg, rgba(60, 40, 20, .07) 0 1px, transparent 1px 9px), repeating-linear-gradient(0deg, rgba(60, 40, 20, .05) 0 1px, transparent 1px 4px);
	--ec-fence-edge: #6e5d45;
	--ec-fence-hover: linear-gradient(#cbbfa9 0, #c4b69f 100%);
	--ec-map-paper: #f5ecd2;
	--ec-map-ink: #2b2418;
	--ec-map-asset: #34546e;
	--ec-map-label: #2b2418;
	--ec-map-halo: #f5ecd2;
	--ec-map-select: #9e2a1e;
	--ec-map-hover: #7a6a50;
	--ec-map-located: #b34700;
	--ec-map-shape: #5a3d7a;
	--ec-map-marquee: #9e2a1e;
	--ec-map-contour: #4a3f2c;
	--ec-map-contour-ink: #2b2418;
	--ec-map-frame: #7a6a50;
	--ec-map-text: #2b2418;
	--ec-map-text-muted: #5a4f3c;
	--ec-map-text-strong: #000;
	--ec-map-link: #9e2a1e;
	--ec-map-help: #34546e;
	--ec-map-edge: #7a6a50;
	--ec-map-deep: #34546e;
	--ec-map-font: var(--ec-font-ui);
}
}
@media screen {
:root[data-theme]:not([data-theme="light"]):not([data-theme="dark"]) {
	--bs-body-color: var(--ec-ink);
	--bs-body-bg: var(--ec-bg);
	--bs-emphasis-color: var(--ec-ink-black);
	--bs-secondary-color: var(--ec-ink-muted);
	--bs-border-color: var(--ec-border-strong);
	--bs-secondary-bg: var(--ec-gray-eee);
	--bs-tertiary-bg: var(--ec-gray-f7f7f7);
}
:where(:root[data-theme]:not([data-theme="light"]):not([data-theme="dark"])) a { color: var(--ec-accent); }
:root[data-theme]:not([data-theme="light"]):not([data-theme="dark"]) .lpn-saved { opacity: 1; color: var(--ec-ink-muted); }
}
@media screen {
:root[data-theme="prairie"] .lpn-menubar-item {
	background: var(--ec-steel); border: 1px solid var(--ec-steel-edge); border-radius: 12px / 50%; color: var(--ec-steel-ink); box-shadow: var(--ec-tank-dome);
}
:root[data-theme="prairie"] .lpn-menubar-item:hover { background: var(--ec-steel-bright); border-color: var(--ec-steel-edge); color: var(--ec-steel-ink); box-shadow: var(--ec-tank-dome), var(--ec-cloud-shadow); }
:root[data-theme="prairie"] .lpn-menubar-item[aria-expanded="true"] { background: var(--ec-steel-bright); border-color: var(--ec-steel-edge); color: var(--ec-accent-hover); box-shadow: var(--ec-tank-dome); }
:root[data-theme="prairie"] .lpn-pane-tab, :root[data-theme="prairie"] .lpn-pane-tab-menu {
	background: var(--ec-fence-grain), var(--ec-fence); color: var(--ec-ink); border: 1px solid var(--ec-fence-edge); border-top-width: 2px; border-bottom: 0; border-radius: 0;
}
:root[data-theme="prairie"] .lpn-pane-tab:hover, :root[data-theme="prairie"] .lpn-pane-tab-menu:hover { background: var(--ec-fence-grain), var(--ec-fence-hover); }
:root[data-theme="prairie"] .lpn-pane-tab[aria-selected="true"], :root[data-theme="prairie"] .lpn-pane-tab-menu-current { background: var(--ec-bg); border-color: var(--ec-fence-edge); }
:root[data-theme="prairie"] .lpn-dock-strip { background: var(--ec-fence-grain), var(--ec-fence); border-color: var(--ec-fence-edge); border-width: 2px 1px; }
:root[data-theme="prairie"] .lpn-dock-tab { background: var(--ec-bg); color: var(--ec-ink); border-color: var(--ec-fence-edge); border-radius: 0; }
:root[data-theme="prairie"] .lpn-dock-tab:hover, :root[data-theme="prairie"] .lpn-dock-tab:focus-visible, :root[data-theme="prairie"] .lpn-dock-tab[aria-expanded="true"] { background: var(--ec-fence-grain), var(--ec-fence-hover); }
:root[data-theme="prairie"] .lpn-dock-tab[aria-pressed="true"] { background: var(--ec-fence-grain), var(--ec-fence-hover); }
:root[data-theme="prairie"] #lpn_toolbar button:not(.lpn-transport-btn):hover:not(:disabled) { background: var(--ec-cloud); border-color: transparent; box-shadow: var(--ec-cloud-shadow); border-radius: 999px; }
:root[data-theme="prairie"] #lpn_toolbar button:not(.lpn-transport-btn)[aria-pressed="true"] { background: var(--ec-cloud-pressed); border-color: var(--ec-cloud-pressed-edge); box-shadow: var(--ec-cloud-pressed-shadow); color: var(--ec-accent); border-radius: 999px; }
:root[data-theme="prairie"] #lpn_toolbar_run .lpn-transport-btn { background: var(--ec-steel); border: 1px solid var(--ec-steel-edge); color: var(--ec-steel-ink); }
:root[data-theme="prairie"] .lpn-tab {
	clip-path: polygon(0 100%, 0 40%, 12% 15%, 26% 0, 74% 0, 88% 15%, 100% 40%, 100% 100%);
	background: linear-gradient(to bottom, color-mix(in srgb, var(--ec-bg) 45%, transparent), transparent 50%), var(--ec-barn);
	border: 0; border-radius: 0; box-shadow: inset 0 -3px 0 var(--ec-barn-edge);
}
:root[data-theme="prairie"] .lpn-tab > button { padding-top: 13px; }
:root[data-theme="prairie"] .lpn-tab .lpn-tab-caret, :root[data-theme="prairie"] .lpn-tab .lpn-tab-x { border-left: 0; position: relative; }
:root[data-theme="prairie"] .lpn-tab .lpn-tab-caret::before, :root[data-theme="prairie"] .lpn-tab .lpn-tab-x::before {
	content: ''; position: absolute; inset-inline-start: 0; top: 55%; bottom: 6px; width: 1px; background: color-mix(in srgb, var(--ec-barn-edge) 55%, transparent);
}
:root[data-theme="prairie"] .lpn-tab-current {
	background: linear-gradient(to bottom, color-mix(in srgb, var(--ec-bg) 28%, transparent), transparent 50%), var(--ec-accent);
	color: var(--ec-bg); box-shadow: inset 0 -3px 0 var(--ec-accent-open);
}
:root[data-theme="prairie"] .lpn-tab-current .lpn-tab-x { color: var(--ec-bg); }
:root[data-theme="prairie"] .lpn-tab-current .lpn-tab-caret::before, :root[data-theme="prairie"] .lpn-tab-current .lpn-tab-x::before { background: color-mix(in srgb, var(--ec-bg) 55%, transparent); }
:root[data-theme="prairie"] .lpn-tab-current > button:hover { background: color-mix(in srgb, var(--ec-ink-black) 18%, transparent); }
:root[data-theme="prairie"] .lpn-msglog-btn.lpn-msglog-active { background: var(--ec-bg); border-color: var(--ec-accent); color: var(--ec-accent); }
.ec-theme-card[data-theme="prairie"] .ec-tc-menu i { background: var(--ec-steel); border-color: var(--ec-steel-edge); border-radius: 4px / 50%; }
.ec-theme-card[data-theme="prairie"] .ec-tc-tabs i { background: var(--ec-barn); }
.ec-theme-card[data-theme="prairie"] .ec-tc-tabs i.ec-tc-cur { background: var(--ec-accent); }
}
@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) {
	:root[data-theme="desktop"], .ec-theme-card[data-theme="desktop"] { --ec-box-bg: var(--ec-bg); --ec-chrome-bg: var(--ec-gray-eee); }
}
body { font-size: var(--ec-font-size); text-shadow: var(--ec-text-glow); }
#lpn_canvas { font-family: var(--ec-map-font); font-size: 1rem; text-shadow: none; }
:is(#lpn_labels_node_fields, #lpn_labels_link_fields, #lpn_labels_customer_fields) > div > .lpn-lblgroup > * { font-size: calc(1em * var(--ec-field-text-scale)); }
.ec-theme-card svg { text-shadow: none; }
.lpn-popover, #lpn_dialog, .lpn-panebox, .lpn-regmode-bar, .lpn-snip-edit-panel, .lpn-snip-menu {
	border-radius: var(--ec-box-radius); -webkit-backdrop-filter: var(--ec-box-blur); backdrop-filter: var(--ec-box-blur);
}
@media print {
	:root[data-bs-theme] {
		color-scheme: light;
		--bs-body-color: #212529;
		--bs-body-color-rgb: 33, 37, 41;
		--bs-body-bg: #fff;
		--bs-body-bg-rgb: 255, 255, 255;
		--bs-emphasis-color: #000;
		--bs-emphasis-color-rgb: 0, 0, 0;
		--bs-secondary-color: rgba(33, 37, 41, .75);
		--bs-secondary-color-rgb: 33, 37, 41;
		--bs-secondary-bg: #e9ecef;
		--bs-secondary-bg-rgb: 233, 236, 239;
		--bs-tertiary-color: rgba(33, 37, 41, .5);
		--bs-tertiary-color-rgb: 33, 37, 41;
		--bs-tertiary-bg: #f8f9fa;
		--bs-tertiary-bg-rgb: 248, 249, 250;
		--bs-heading-color: inherit;
		--bs-link-color: #0d6efd;
		--bs-link-color-rgb: 13, 110, 253;
		--bs-link-hover-color: #0a58ca;
		--bs-link-hover-color-rgb: 10, 88, 202;
		--bs-border-color: #dee2e6;
		--bs-border-color-translucent: rgba(0, 0, 0, .175);
	}
}
body { font-family: var(--ec-font-ui); }
form {
	background: var(--ec-form-bg);
	border: 1px solid var(--ec-form-border);
	margin-bottom: 1px;
}
.left { float: left; margin: 0.5em; }
table, th, tr, td {
	border: 1px solid var(--ec-debug-grid);
	border-collapse: collapse;
	padding: 0px 2px 0px 2px;
}
table.bare, table.bare > tbody > tr, table.bare > tbody > tr > td { border-width: 0px; }
table.bare > tbody > tr > td { vertical-align: top; }
.ec-fieldgrid {
	display: grid;
	grid-template-columns: auto auto auto auto;
	justify-content: start;
	border-block-start: 1px solid var(--ec-debug-grid);
	border-inline-start: 1px solid var(--ec-debug-grid);
}
.ec-fg-cell {
	display: flex;
	align-items: center;
}
.ec-line-off { display: none; }
.ec-fieldgrid > .ec-fg-cell {
	padding: 0px 2px 0px 2px;
	border-block-end: 1px solid var(--ec-debug-grid);
	border-inline-end: 1px solid var(--ec-debug-grid);
}
.ec-fieldgrid > .ec-fg-cell > .ec-fg-in { min-width: 0; }
.ec-fieldgrid > .ec-fg-label { grid-column: 1; }
.ec-fieldgrid > .ec-fg-input { grid-column: 2; border-inline-end: 0; padding-inline-end: 0; }
.ec-fieldgrid > .ec-fg-units { grid-column: 3; padding-inline-start: 0; }
.ec-fieldgrid > .ec-fg-x     { grid-column: 4; }
.input {
	width: 7em;
}
.ec-narrowcol {
	display: inline-block;
	width: 3.6em;
	overflow-wrap: break-word;
	white-space: normal;
	vertical-align: top;
}
input::-webkit-outer-spin-button,
input::-webkit-inner-spin-button {
	-webkit-appearance: none;
	margin: 0;
}
input[type=number] {
	-moz-appearance: textfield;
}
.blink {
  animation: blinker 1s step-start 15;
}
@keyframes blinker {
  50% {
    opacity: 0;
  }
}
.ec-status-ok {
	color: var(--ec-ok-ink);
}
.ec-status-info {
	color: steelblue;
}
.ec-status-warn {
	color: var(--ec-warn-ink);
}
.ec-status-bad {
	color: var(--ec-bad-ink);
}
.ec-status-neutral {
	color: var(--ec-neutral-ink);
}
.bpn-rowflag {
	display: block;
	color: var(--ec-warn-ink);
	font-size: 11px;
	white-space: nowrap;
}
.lpn-scalebar {
	background: var(--ec-map-overlay-bg);
	color: var(--ec-ink);
	padding: 2px 6px 1px;
	text-align: center;
	line-height: 1.3;
	border-bottom: 2px solid var(--ec-ink);
	border-left: 1px solid var(--ec-ink);
	border-right: 1px solid var(--ec-ink);
	box-sizing: border-box;
	white-space: nowrap;
	overflow: hidden;
}
.lpn-status-notes {
	transition: opacity 0.8s linear;
}
.lpn-rptbox-pre {
	margin: 0;
	font-family: var(--ec-font-mono);
	font-size: 12px;
	line-height: 1.35;
	white-space: pre;
	overflow-x: auto;
}
.lpn-rptbox-copy {
	font-size: 11px;
	padding: 1px 6px;
}
.lpn-box-tools {
	position: sticky; top: 0; z-index: 1; flex: none;
	display: flex; flex-wrap: wrap; gap: 6px; padding: 0 0 6px;
	background: var(--ec-bg);
}
@media (prefers-reduced-motion: reduce) {
	.lpn-status-notes { transition: none; }
}
.ec-icon {
	width: 1.05em;
	height: 1.05em;
	vertical-align: -0.16em;
	flex: none;
	stroke-width: var(--ec-icon-stroke); stroke-linecap: var(--ec-icon-cap); stroke-linejoin: var(--ec-icon-join);
	fill: var(--ec-icon-fill);
}
button > .ec-icon, a > .ec-icon, label > .ec-icon { margin-inline-end: 0.4em; }
.lpn-menu-icon > .ec-icon { margin-inline-end: 0; }
.ec-tip {
	cursor: help;
	color: var(--ec-help-ink);
	font-size: 0.9em;
}
.ec-solverline {
	display: block;
	margin-top: 2px;
	font-weight: normal;
}
.ec-help {
	cursor: help;
}
.tooltip {
	pointer-events: none;
}
.tooltip {
	--bs-tooltip-max-width: min(17rem, calc(100vw - 2rem));
	--bs-tooltip-bg: var(--ec-tip-bg);
	--bs-tooltip-color: var(--ec-tip-ink);
}
.tooltip .tooltip-inner { box-shadow: 0 0 0 1px var(--ec-tip-edge); }
.tooltip.ec-explain {
	--bs-tooltip-max-width: min(22rem, calc(100vw - 2rem));
	pointer-events: auto;
}
.tooltip.ec-explain .tooltip-inner { text-align: start; }
.tooltip.ec-explain .tooltip-inner { max-height: 60vh; overflow-y: auto; }
.ec-help.ec-explain-host { cursor: inherit; }
.ec-explain-host .ec-tip, .ec-tip.ec-explain-host { cursor: pointer; }
.ec-welcome {
	font-style: italic;
}
html[lang="am"] .ec-welcome,
html[lang="ar"] .ec-welcome,
html[lang="bn"] .ec-welcome,
html[lang="fa"] .ec-welcome,
html[lang="he"] .ec-welcome,
html[lang="hi"] .ec-welcome,
html[lang="km"] .ec-welcome,
html[lang="my"] .ec-welcome,
html[lang="ps"] .ec-welcome,
html[lang="ur"] .ec-welcome,
html[lang="zh"] .ec-welcome {
	font-style: normal;
}
#lpn_canvas { touch-action: none; -webkit-touch-callout: none; -webkit-user-select: none; user-select: none; cursor: default; --lpn-sym: 1; --lpn-symf: 1; --lpn-opacity: 1; --lpn-backdrop-opacity: 1; --lpn-backdrop-img-opacity: 1; --lpn-basemap-style: none; --lpn-map-bg: var(--ec-map-paper); }
.lpn-backdrop { opacity: var(--lpn-backdrop-img-opacity, 1); }
.lpn-basemap { opacity: var(--lpn-backdrop-opacity, 1); filter: var(--lpn-basemap-style, none); pointer-events: none; }
.lpn-symbols { opacity: var(--lpn-opacity, 1); }
.lpn-node {
	color: var(--lpn-map-ink);
	fill: var(--lpn-map-bg, #fff);
	fill: color-mix(in srgb, currentColor var(--lpn-shade, 18%), var(--lpn-map-bg, #fff));
	stroke: currentColor; stroke-width: calc(0.14 * var(--lpn-sym, 0));
	cursor: pointer;
}
.lpn-node-reservoir, .lpn-node-tank { fill: none; stroke: none; pointer-events: none; }
.lpn-node-symbol, .lpn-link-symbol { pointer-events: none; }
:root {
	--lpn-map-ink: var(--ec-map-asset);
}
.lpn-node-symbol-reservoir, .lpn-node-symbol-tank { color: var(--lpn-map-ink); }
.lpn-link-symbol-pump { color: var(--lpn-map-ink); }
.lpn-link-symbol-valve { color: var(--lpn-map-ink); }
.lpn-node-symbol-backdrop, .lpn-link-symbol-backdrop { stroke: none; fill: var(--lpn-map-bg, #fff); }
.lpn-node-symbol-backdrop { fill: color-mix(in srgb, currentColor var(--lpn-shade, 18%), var(--lpn-map-bg, #fff)); }
.lpn-link-symbol-backdrop { fill: currentColor; }
.lpn-node-symbol { stroke-width: 1; }
.lpn-link { stroke: var(--lpn-map-ink); stroke-width: var(--lpn-lw, 0); cursor: pointer; }
.lpn-link-pump { stroke: var(--lpn-map-ink); }
.lpn-link-closed {
	stroke-dasharray: calc(2.571 * var(--lpn-lw, 0)) calc(2 * var(--lpn-lw, 0));
}
.lpn-arrow { fill: none; stroke: var(--lpn-map-ink); stroke-width: 0.25; stroke-linejoin: miter; pointer-events: none; }
.lpn-vhandle {
	fill: var(--lpn-map-ink); stroke: var(--lpn-map-ink);
	stroke-width: calc(0.25 * var(--lpn-sym, 0)); cursor: pointer;
}
.lpn-vertexmode .lpn-vhandle {
	r: calc(1.5 * var(--lpn-symf, 0));
	fill: var(--lpn-map-bg, #fff);
	stroke-width: calc(0.4 * var(--lpn-symf, 0));
}
.lpn-vertexmode .lpn-link, .lpn-vertexmode .lpn-link-hit { cursor: crosshair; }
.lpn-vertexmode .lpn-node-hit { cursor: crosshair; }
.lpn-link-halo { stroke: none; pointer-events: none; }
.lpn-link-halo.lpn-ramp-cased { stroke: var(--ec-map-casing); stroke-width: calc(2.4 * var(--lpn-lw, 0)); }
.lpn-link-hit {
	fill: none; stroke: transparent; stroke-width: var(--lpn-hit, 0);
	stroke-linecap: round; stroke-linejoin: round;
	pointer-events: visibleStroke; cursor: inherit;
}
@media (pointer: coarse) {
	.lpn-link-hit { stroke-width: var(--lpn-hit-coarse, 0); }
}
.lpn-link-symbol-hit {
	fill: transparent; stroke: transparent; stroke-width: var(--lpn-symhit, 0);
	stroke-linejoin: round; stroke-linecap: round;
	pointer-events: visible; cursor: pointer;
}
@media (pointer: coarse) {
	.lpn-link-symbol-hit { stroke-width: var(--lpn-symhit-coarse, 0); }
}
.lpn-node-hit {
	fill: transparent; stroke: transparent; stroke-width: 0;
	stroke-linejoin: round; pointer-events: visible; cursor: pointer;
}
@media (pointer: coarse) {
	.lpn-node-hit { stroke-width: var(--lpn-nhit, 0); }
}
.lpn-tabs-locked { opacity: .55; }
.lpn-tabs-locked .lpn-tab, .lpn-tabs-locked .lpn-tab-btn { cursor: not-allowed; }
.lpn-ctl-locked { opacity: .55; cursor: not-allowed; }
.lpn-labels-hidden .lpn-annotation { visibility: hidden; }
.lpn-lbl-hidden { visibility: hidden; }
.lpn-node.lpn-ramp-cased { stroke: var(--ec-map-casing); stroke-width: calc(0.22 * var(--lpn-sym, 0)); }
.lpn-node.lpn-ff-pass { stroke: #2e7d32; stroke-width: calc(0.5 * var(--lpn-sym, 0)); }
.lpn-node.lpn-ff-fail { stroke: #d32f2f; stroke-width: calc(0.5 * var(--lpn-sym, 0)); stroke-dasharray: 0.6 0.6; }
.lpn-node.lpn-ff-design { stroke: #ef6c00; stroke-width: calc(0.5 * var(--lpn-sym, 0)); stroke-dasharray: 1.6 0.8; }
.lpn-node.lpn-ff-error { stroke: #888; stroke-width: calc(0.5 * var(--lpn-sym, 0)); stroke-dasharray: 0.3 0.9; }
.lpn-link-halo.lpn-override { stroke: #e8a33d; stroke-width: calc(2.857 * var(--lpn-lw, 0)); }
.lpn-node.lpn-override { stroke: #e8a33d; stroke-width: calc(0.5 * var(--lpn-sym, 0)); }
.lpn-link-halo.lpn-override-inh { stroke: #9e9e9e; stroke-width: calc(2.857 * var(--lpn-lw, 0)); stroke-dasharray: calc(4 * var(--lpn-lw, 0)) calc(3 * var(--lpn-lw, 0)); }
.lpn-node.lpn-override-inh { stroke: #9e9e9e; stroke-width: calc(0.3 * var(--lpn-sym, 0)); stroke-dasharray: calc(0.9 * var(--lpn-sym, 0)) calc(0.6 * var(--lpn-sym, 0)); }
.lpn-link-halo.lpn-selected { stroke: var(--ec-map-select); stroke-width: calc(2.857 * var(--lpn-lw, 0)); }
.lpn-node.lpn-selected { stroke: var(--ec-map-select); stroke-width: calc(0.5 * var(--lpn-symf, 0)); }
.lpn-lbl.lpn-selected { fill: var(--ec-map-select); }
:root { --lpn-hover-color: var(--ec-map-hover); }
.lpn-link-halo.lpn-hover:not(.lpn-selected) { stroke: var(--lpn-hover-color); stroke-width: calc(1.8 * var(--lpn-lw, 0)); }
.lpn-node.lpn-hover:not(.lpn-selected) { stroke: var(--lpn-hover-color); stroke-width: calc(0.32 * var(--lpn-symf, 0)); }
.lpn-lbl.lpn-hover:not(.lpn-selected) { fill: var(--lpn-hover-color); }
:root { --lpn-located-color: var(--ec-map-located); }
@keyframes lpn-located-pulse { 0%, 100% { stroke-opacity: 1; } 50% { stroke-opacity: 0.25; } }
.lpn-link-halo.lpn-located:not(.lpn-selected) { stroke: var(--lpn-located-color); stroke-width: calc(2.857 * var(--lpn-lw, 0)); animation: lpn-located-pulse 0.6s ease-in-out 3; }
.lpn-node.lpn-located:not(.lpn-selected) { stroke: var(--lpn-located-color); stroke-width: calc(0.5 * var(--lpn-symf, 0)); animation: lpn-located-pulse 0.6s ease-in-out 3; }
.lpn-lbl.lpn-located:not(.lpn-selected) { fill: var(--lpn-located-color); }
.lpn-meter.lpn-located:not(.lpn-selected) { fill: var(--lpn-located-color); stroke: var(--lpn-located-color); }
.lpn-inactive { opacity: 0.3; }
.lpn-ov-note { margin-inline-start: 1.5em; font-size: 0.85em; }
#lpn_popup_fields.lpn-ovm-gut, #lpn_popup_title.lpn-ovm-gut,
#lpn_popup_fields.lpn-ovm-gut1, #lpn_popup_title.lpn-ovm-gut1 { position: relative; padding-inline-start: 1.1em; }
#lpn_popup_fields.lpn-ovm-gut2, #lpn_popup_title.lpn-ovm-gut2 { padding-inline-start: 2.05em; }
#lpn_popup_fields.lpn-ovm-gut1 .lpn-ovm { margin-inline-start: -1.1em; }
#lpn_popup_fields.lpn-ovm-gut2 .lpn-ovm { margin-inline-start: -2.05em; }
#lpn_settings_box.lpn-ovm-gut .lpn-set-row, #lpn_settings_box.lpn-ovm-gut [data-lpn-setting] { position: relative; padding-inline-start: 1.1em; }
#lpn_settings_box.lpn-ovm-gut.lpn-ovm-gut2 .lpn-set-row, #lpn_settings_box.lpn-ovm-gut.lpn-ovm-gut2 [data-lpn-setting] { padding-inline-start: 2.05em; }
#lpn_settings_box.lpn-ovm-gut .lpn-set-colhead { padding-inline-start: calc(1.1em / 0.85); }
#lpn_settings_box.lpn-ovm-gut.lpn-ovm-gut2 .lpn-set-colhead { padding-inline-start: calc(2.05em / 0.85); }
.lpn-ovm { position: absolute; margin-inline-start: -1.1em; display: inline-flex; align-items: center; height: 1.3em; }
#lpn_settings_box .lpn-ovm { margin-inline-start: 0; inset-inline-start: 0; top: 0.15em; }
.lpn-ovm-cell { display: inline-flex; align-items: center; justify-content: center; width: 0.95em; height: 1.3em; }
.lpn-ovm-cell[role="button"] { cursor: pointer; }
.lpn-ovm-dot::before, .lpn-ovm-hollow::before { content: ''; display: block; width: 0.5em; height: 0.5em; border-radius: 50%; box-sizing: border-box; }
.lpn-ovm-dot::before { background: var(--ec-held-ink); }
.lpn-ovm-hollow::before { border: 1px solid var(--ec-ink-subtle); opacity: 0.6; }
.lpn-ovm-hollow:hover::before { opacity: 1; border-color: var(--ec-held-ink); }
.lpn-ovm-tri::before { content: ''; display: block; width: 0; height: 0; border-inline-start: 0.3em solid transparent; border-inline-end: 0.3em solid transparent; border-top: 0.45em solid var(--ec-held-ink); }
.lpn-ov-base { margin-left: 0.6em; color: var(--ec-ink-subtle); }
.lpn-set-heldlist { display: flex; flex-wrap: wrap; column-gap: 1em; margin: 0 0 0.2em; margin-inline-start: 1.9em; width: auto; font-size: 0.85em; color: var(--ec-ink-subtle); }
.lpn-set-helditem { display: inline-flex; align-items: center; }
.lpn-ovl-same { color: var(--ec-ink-muted); white-space: nowrap; }
.lpn-ovl-bar { display: flex; flex-wrap: wrap; gap: 6px; margin: .4em 0; }
.lpn-ovl-table th.lpn-ovl-pick, .lpn-ovl-table td.lpn-ovl-pick { width: 1.6em; padding-inline-end: 0; }
.lpn-ovl-table td.lpn-ovl-act { white-space: nowrap; overflow-wrap: normal; text-align: end; }
.lpn-node.lpn-node-pending { stroke: #d32f2f; stroke-width: calc(0.5 * var(--lpn-symf, 0)); }
.lpn-rubberband { stroke: #d32f2f; stroke-width: calc(0.4 * var(--lpn-symf, 0)); stroke-dasharray: 1.2 1; pointer-events: none; fill: none; }
.lpn-snap-mark { pointer-events: none; }
.lpn-snap-glyph { fill: none; stroke: var(--ec-hue-e8a33d); stroke-width: 2px; vector-effect: non-scaling-stroke; }
.lpn-snap-name {
	fill: var(--ec-ink-strong); stroke: var(--lpn-map-bg, var(--ec-bg)); stroke-width: 3px; paint-order: stroke;
	vector-effect: non-scaling-stroke; font-family: sans-serif;
}
.lpn-shapes, .lpn-shape, .lpn-shape * { pointer-events: none; }
.lpn-shape-line { fill: none; stroke: var(--ec-map-shape); stroke-width: 1.5px; vector-effect: non-scaling-stroke; stroke-linejoin: round; }
.lpn-shape-line.lpn-shape-closed { fill: var(--ec-map-shape); fill-opacity: .06; }
.lpn-shape-x { fill: none; stroke: var(--ec-map-shape); stroke-width: 2px; vector-effect: non-scaling-stroke; transform: scale(calc(5 * var(--lpn-hair, 0))); }
.lpn-shape-handle { display: none; }
.lpn-shape-handle rect { fill: var(--ec-map-paper); stroke: var(--ec-map-shape); stroke-width: 1.5px; vector-effect: non-scaling-stroke; transform: scale(calc(4 * var(--lpn-hair, 0))); }
.lpn-shape.lpn-selected .lpn-shape-handle { display: inline; }
.lpn-shape.lpn-selected .lpn-shape-line, .lpn-shape.lpn-selected .lpn-shape-x { stroke: var(--ec-map-select); stroke-width: 2.5px; }
.lpn-shape.lpn-hover:not(.lpn-selected) .lpn-shape-line, .lpn-shape.lpn-hover:not(.lpn-selected) .lpn-shape-x { stroke-width: 2.5px; }
.lpn-shape-draftg { pointer-events: none; }
.lpn-shape-draft { fill: none; stroke: var(--ec-map-shape); stroke-width: 1.5px; stroke-dasharray: 5 3; vector-effect: non-scaling-stroke; }
.lpn-shape-draft-pt { fill: var(--ec-map-paper); stroke: var(--ec-map-shape); stroke-width: 1.5px; vector-effect: non-scaling-stroke; }
.lpn-marquee {
	stroke: var(--ec-map-marquee); stroke-width: calc(0.35 * var(--lpn-symf, 0)); stroke-dasharray: 1.2 1;
	fill: var(--ec-map-marquee); fill-opacity: .08; pointer-events: none;
}
.lpn-area-hint {
	position: fixed; pointer-events: auto;
	font-size: 11px; line-height: 1.35; max-width: 22em;
	background: var(--ec-bg); color: var(--ec-hue-12211f);
	border: 1px solid var(--ec-accent); border-radius: var(--ec-radius-s);
	padding: 6px 10px;
	box-shadow: 0 2px 6px var(--ec-a-0-0-0-3);
}
.lpn-area-hint > div { pointer-events: none; }
.lpn-replace-selonly { display: flex; align-items: center; gap: 4px; margin: 2px 0 4px; }
.lpn-area-hint-note { font-weight: bold; margin-bottom: 2px; }
.lpn-area-hint-exit { margin-top: 5px; padding: 3px 14px; font-size: 12px; cursor: pointer; }
@media (pointer: coarse) { .lpn-area-hint-exit { min-height: 40px; min-width: 88px; font-size: 14px; } }
.lpn-area-hint-show {
	display: flex; align-items: center; gap: 4px;
	margin-top: 5px; opacity: .8; cursor: pointer;
}
.lpn-hide-titles { font-size: .6em; font-weight: normal; white-space: nowrap; }
.lpn-multi-section { margin: 0 0 .5em; grid-column: 1 / -1; min-width: 0; }
.lpn-multi-section > .lpn-gprops { row-gap: 0; }
.lpn-multi-section > summary { font-weight: bold; cursor: pointer; padding: 2px 0; }
.lpn-multi-note { margin: .2em 0 .4em; font-size: .9em; }
.lpn-tool-more { position: relative; }
.lpn-tool-more::after {
	content: ''; position: absolute; right: 2px; bottom: 2px;
	border: 3px solid transparent; border-right-color: currentColor; border-bottom-color: currentColor;
	opacity: .65; pointer-events: none;
}
.lpn-lbl {
	fill: var(--ec-map-label); pointer-events: none; user-select: none; font-weight: var(--ec-map-weight);
	paint-order: stroke fill;
	stroke: var(--ec-map-halo); stroke-width: calc(var(--lpn-halo, 0.4) * 1em); stroke-linejoin: round;
}
.lpn-text-inplace {
	position: fixed; z-index: 1200; margin: 0; padding: 0; border: 0; resize: none; overflow: hidden;
	white-space: pre; box-sizing: content-box; min-width: 0; min-height: 0;
	background: var(--ec-bg); color: var(--ec-ink);
	outline: 2px solid var(--ec-select); outline-offset: 2px; border-radius: 0;
}
.lpn-leader { stroke: var(--ec-map-ink); stroke-width: var(--lpn-hair, 0); pointer-events: none; }
.lpn-service { stroke: var(--ec-map-ink); pointer-events: none; fill: none; }
.lpn-service-off { display: none; }
.lpn-meter { fill: var(--ec-map-ink); stroke: var(--ec-map-ink); cursor: pointer; }
.lpn-meter-loose { fill: var(--ec-map-paper); stroke-dasharray: 1.5 1.2; }
.lpn-meter-pending { fill: none; stroke: #d32f2f; stroke-dasharray: 1.5 1.2; pointer-events: none; }
.lpn-meter.lpn-selected { fill: var(--ec-map-select); stroke: var(--ec-map-select); }
.lpn-meter.lpn-selected { stroke-width: 12px; vector-effect: non-scaling-stroke; paint-order: stroke; stroke-opacity: 0.45; stroke-dasharray: none; }
.lpn-meter.lpn-hover:not(.lpn-selected) { fill: var(--lpn-hover-color); stroke: var(--lpn-hover-color); }
.lpn-custhandle { fill: var(--ec-map-paper); stroke: var(--ec-map-select); cursor: pointer; }
.lpn-just-dragged { animation: lpn-just-dragged 45s ease-out; }
@keyframes lpn-just-dragged {
	0%   { fill: #d40000; }
	4%   { fill: var(--ec-map-ink); }
	8%   { fill: #d40000; }
	12%  { fill: var(--ec-map-ink); }
	16%  { fill: #d40000; animation-timing-function: linear; }
	100% { fill: var(--ec-map-ink); }
}
.lpn-node.lpn-just-dragged { animation-name: lpn-just-moved-node; }
@keyframes lpn-just-moved-node {
	0%   { stroke: rgba(212, 0, 0, 1); stroke-width: calc(3 * var(--lpn-symf, 0)); paint-order: stroke fill; }
	4%   { stroke: rgba(212, 0, 0, 0); stroke-width: calc(3 * var(--lpn-symf, 0)); paint-order: stroke fill; }
	8%   { stroke: rgba(212, 0, 0, 1); stroke-width: calc(3 * var(--lpn-symf, 0)); paint-order: stroke fill; }
	12%  { stroke: rgba(212, 0, 0, 0); stroke-width: calc(3 * var(--lpn-symf, 0)); paint-order: stroke fill; }
	16%  { stroke: rgba(212, 0, 0, 1); stroke-width: calc(3 * var(--lpn-symf, 0)); paint-order: stroke fill; animation-timing-function: linear; }
	100% { stroke: rgba(212, 0, 0, 0); stroke-width: calc(3 * var(--lpn-symf, 0)); paint-order: stroke fill; }
}
@media (prefers-reduced-motion: reduce) {
	.lpn-just-dragged { animation: none; }
	.lpn-node.lpn-just-dragged { animation: none; }
}
.lpn-regmode-bar {
	position: fixed; left: 50%; transform: translateX(-50%); bottom: 1em;
	z-index: 3000; display: flex; align-items: center; gap: 0.75em;
	padding: 8px 12px;
	background: var(--ec-box-bg); color: var(--ec-ink); border: var(--ec-box-border);
	box-shadow: var(--ec-box-shadow);
	width: max-content; max-width: calc(100vw - 2em); box-sizing: border-box;
}
@media (max-width: 600px) {
	.lpn-regmode-bar {
		left: 8px; right: 8px; bottom: 8px; transform: none; width: auto; max-width: none;
		padding: 6px 8px; gap: 0.5em; font-size: 0.85em; line-height: 1.3;
	}
}
.lpn-regmode-bar button { cursor: pointer; }
@media print { .lpn-regmode-bar { display: none; } }
.lpn-draglbl { cursor: pointer; }
.lpn-lbl-hit { fill: transparent; stroke: none; pointer-events: visibleFill; }
@media (pointer: coarse) {
	.lpn-lbl-hit[data-lbl] { stroke: transparent; stroke-width: var(--lpn-lhit, 0); stroke-linejoin: round; pointer-events: visible; }
}
.lpn-masks-off .lpn-lbl { stroke: none; }
.lpn-curve-table, .lpn-curve-table tr,
.lpn-demand-table, .lpn-demand-table tr,
.lpn-pane-table, .lpn-pane-table tr { border: 0; }
.lpn-curve-table { border-collapse: collapse; width: auto; margin: 2px 0; }
.lpn-curve-table th, .lpn-curve-table td { padding: 1px 4px 1px 0; text-align: left; font-weight: normal; border: 0; }
.lpn-curve-table thead th { font-weight: bold; }
.lpn-curve-table input { width: 7em; }
.lpn-demand-table { border-collapse: collapse; width: auto; margin: 2px 0; display: block; overflow-x: auto; }
.lpn-demand-table th, .lpn-demand-table td { padding: 1px 4px 1px 0; text-align: left; font-weight: normal; border: 0; }
.lpn-demand-table thead th { font-weight: bold; font-size: 0.9em; }
.lpn-demand-table input[type="number"] { width: 5em; }
.lpn-demand-table input[type="text"] { width: 7em; }
.lpn-demand-table select { max-width: 7em; }
.lpn-gprops .lpn-demand-table th { max-width: 6em; }
.lpn-gprops .lpn-demand-table input[type="number"] { width: 4.6em; }
.lpn-gprops .lpn-demand-table input[type="text"] { width: 6em; }
.lpn-gprops .lpn-demand-table select { max-width: 6.5em; }
.lpn-node-customers { margin: 2px 0; }
.lpn-node-customers-sum { cursor: pointer; }
.lpn-node-customers-count { font-weight: normal; }
.lpn-demand-del {
	background: none; border: 1px solid transparent; border-radius: var(--ec-radius-m);
	font: inherit; line-height: 1; padding: 0 4px; cursor: pointer; color: var(--ec-error-ink);
}
.lpn-demand-del:hover { background: var(--ec-hue-fdd); border-color: var(--ec-hue-d99); }
.lpn-demand-add { font: inherit; margin: 2px 0; }
.lpn-setbox.lpn-demandsbox { width: min(20.5rem, 94vw); height: auto; max-height: min(32rem, 92dvh); min-width: var(--lpn-box-min-w, 5rem); min-height: 0; }
.lpn-demands-ov { display: flex; align-items: center; gap: 4px; padding: 4px 6px; font-size: .85em; color: var(--ec-ink-muted); border-bottom: 1px solid var(--ec-hairline); }
.lpn-demands-ov .lpn-ovm-cell { position: static; margin: 0; }
#lpn_demands_body { overflow: auto; }
#lpn_demands_body .lpn-demand-table { display: table; width: 100%; margin: 0; border-collapse: collapse; }
#lpn_demands_body > .lpn-demand-table { table-layout: fixed; }
#lpn_demands_body > .lpn-demand-table th:nth-child(1) { width: 7em; }
#lpn_demands_body > .lpn-demand-table th:nth-child(2) { width: 8em; }
#lpn_demands_body > .lpn-demand-table th:last-child { width: 2em; }
#lpn_demands_body .lpn-demand-table :is(th, td) { padding: 0; border: 0; border-bottom: 1px solid var(--ec-hairline); font-size: .85em; text-align: start; }
#lpn_demands_body .lpn-demand-table :is(th, td) + :is(th, td) { border-inline-start: 1px solid var(--ec-hairline); }
#lpn_demands_body .lpn-demand-table th { padding: 4px 6px; font-weight: 600; opacity: .8; }
#lpn_demands_body > .lpn-demand-table td:last-child { text-align: center; white-space: nowrap; }
#lpn_demands_body > .lpn-demand-table :is(th, td):last-child { border-inline-start: 0; }
#lpn_demands_body .lpn-demand-table :is(input[type="text"], input[type="number"], select) {
	display: block; width: 100%; max-width: none; min-width: 0; margin: 0; padding: 4px 6px; box-sizing: border-box;
	border: 0; border-radius: 0; background: transparent; font: inherit; font-size: 1em;
}
#lpn_demands_body .lpn-demand-table input[type="number"] { text-align: end; font-variant-numeric: tabular-nums; }
#lpn_demands_body .lpn-demand-table :is(input, select):hover:not(:focus) { background: var(--ec-hover-bg); }
#lpn_demands_body .lpn-demand-table :is(input, select):focus { outline: var(--ec-focus-w) solid var(--ec-accent); outline-offset: -2px; }
#lpn_demands_body .lpn-demand-add {
	display: block; box-sizing: border-box; width: 100%; min-height: 1.75rem; margin: 0; padding: 2px 6px; border: 0; border-bottom: 1px solid var(--ec-hairline); border-radius: 0;
	background: transparent; font: inherit; font-size: .95em; line-height: 1.2; text-align: center; color: inherit; cursor: pointer;
}
#lpn_demands_body .lpn-demand-add:hover { background: var(--ec-hover-bg); }
#lpn_demands_body .lpn-demand-add:focus-visible { outline: var(--ec-focus-w) solid var(--ec-accent); outline-offset: -2px; }
#lpn_demands_body .lpn-node-customers { margin: 8px 0 0; font-size: .85em; }
#lpn_demands_body .lpn-node-customers .lpn-demand-table { margin-top: 4px; }
#lpn_demands_body .lpn-node-customers .lpn-demand-table :is(th, td) { padding: 4px 6px; }
.lpn-propbox .lpn-gprops .lpn-grow > button.lpn-demand-more.lpn-gval {
	display: flex; justify-content: space-between; align-items: center; align-self: stretch; box-sizing: border-box; width: 100%; max-width: none; min-width: 0; margin: 0; padding: 4px 6px;
	border: 0; border-radius: 0; background: transparent; font: inherit; font-size: .85em; line-height: inherit; text-align: start; color: inherit; cursor: pointer;
}
.lpn-propbox .lpn-gprops .lpn-grow > button.lpn-demand-more.lpn-gval:hover { background: var(--ec-hover-bg); }
.lpn-propbox .lpn-gprops .lpn-grow > button.lpn-demand-more.lpn-gval:focus-visible { outline: var(--ec-focus-w) solid var(--ec-accent); outline-offset: -2px; }
.lpn-demand-count { color: var(--ec-ink-muted); }
@media (max-width: 30rem) { .lpn-propbox .lpn-gprops .lpn-grow > button.lpn-demand-more.lpn-gval { padding: 2px 6px 4px; font-size: .95em; } }
.lpn-elev-dem { margin: 2px 0 6px; }
.lpn-elev-dem button { font: inherit; }
.lpn-elev-dem .lpn-set-note { margin-top: 2px; }
.lpn-menubar-item, #lpn_toolbar button:not(.lpn-transport-btn) {
	border: var(--ec-btn-border-w) solid transparent; border-radius: var(--ec-btn-radius);
	font: inherit; cursor: pointer;
}
.lpn-menubar-item:hover, #lpn_toolbar button:not(.lpn-transport-btn):hover:not(:disabled) {
	background: var(--ec-accent-hover-bg); border-color: var(--ec-accent-hover);
}
.lpn-menubar-item[aria-expanded="true"], #lpn_toolbar button:not(.lpn-transport-btn)[aria-pressed="true"] {
	background: var(--ec-accent-open-bg); border-color: var(--ec-accent-open);
}
.lpn-menubar-item, #lpn_toolbar button:not(.lpn-transport-btn):not(:disabled) { box-shadow: var(--ec-bevel); }
.lpn-menubar-item[aria-expanded="true"], #lpn_toolbar button:not(.lpn-transport-btn)[aria-pressed="true"] { box-shadow: var(--ec-bevel-in); }
.form-select, .form-control { border-color: var(--ec-control-border); }
.lpn-menubar-item:focus-visible, #lpn_toolbar button:not(.lpn-transport-btn):focus-visible {
	outline: var(--ec-focus-w) solid var(--ec-accent); outline-offset: 2px;
}
#lpn_toolbar_run .lpn-transport-btn:focus-visible, #lpn_toolbar select:focus-visible {
	outline: var(--ec-focus-w) solid var(--ec-accent); outline-offset: 2px; position: relative; z-index: 1;
}
:where(a, button, input, select, textarea, summary, [role="button"], [role="tab"], [role="menuitem"]):focus-visible {
	outline: var(--ec-focus-w) solid var(--ec-accent); outline-offset: 2px;
}
:where(input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="color"]):not([type="file"]), select, textarea) {
	border-radius: var(--ec-radius-m);
}
.lpn-transport-btn { border-color: var(--ec-control-border); }
#lpn_toolbar button:not(.lpn-transport-btn) {
	background: none; color: inherit; padding: 3px 5px; line-height: 1;
}
#lpn_toolbar button:not(.lpn-transport-btn):disabled { opacity: .4; cursor: default; background: none; border-color: transparent; }
#lpn_toolbar button .ec-icon { width: 1.35em; height: 1.35em; vertical-align: -0.25em; }
#lpn_toolbar {
	display: flex; flex-wrap: wrap; align-items: center; row-gap: 4px;
	border-bottom: 1px solid var(--ec-gray-d6d6d6); padding-bottom: 4px; margin-bottom: 4px;
}
.lpn-toolbar-group { display: inline-flex; gap: 6px; margin-right: 12px; align-items: center; }
.lpn-toolbar-group + .lpn-toolbar-group:not(.lpn-toolbar-end) {
	border-left: 1px solid var(--ec-gray-d6d6d6); padding-left: 12px;
}
.lpn-transport-btn { font: inherit; cursor: pointer; padding: 2px 4px; }
#lpn_toolbar_run { gap: 0; }
#lpn_toolbar_run > * + * { margin-inline-start: 6px; }
#lpn_toolbar_run > .lpn-transport-btn { border-radius: 0; }
#lpn_toolbar_run > .lpn-transport-btn + .lpn-transport-btn { margin-inline-start: -1px; }
.lpn-transport-btn > .ec-icon { margin-inline-end: 0; }
html[dir="rtl"] .lpn-transport-btn[data-icon="restart"] svg, html[dir="rtl"] .lpn-transport-btn[data-icon="step-back"] svg,
html[dir="rtl"] .lpn-transport-btn[data-icon="step-fwd"] svg, html[dir="rtl"] .lpn-transport-btn[data-icon="end"] svg { transform: scaleX(-1); }
.lpn-toolbar-end { margin-left: auto; margin-right: 0; }
#lpn_menubar, #lpn_toolbar, #lpn_tabs { position: relative; z-index: 30; }
#lpn_menubar, #lpn_toolbar, #lpn_tabs { background: var(--ec-chrome-bg); background-image: var(--ec-chrome-image); background-size: var(--ec-chrome-image-size); -webkit-backdrop-filter: var(--ec-chrome-blur); backdrop-filter: var(--ec-chrome-blur);
	background-position: var(--ec-chrome-image-pos); background-repeat: var(--ec-chrome-image-repeat); background-attachment: var(--ec-chrome-image-attach); }
#formInput { background-image: var(--ec-page-image); background-size: var(--ec-page-image-size); background-position: var(--ec-page-image-pos); background-repeat: no-repeat; background-attachment: fixed; }
#lpn_menubar, #lpn_toolbar { box-shadow: var(--ec-chrome-gap); }
.lpn-dragpanel { z-index: 1200; }
.tooltip { z-index: 1900; }
#lpn_dialog_body { max-height: 60vh; overflow-y: auto; overscroll-behavior: contain; }
#lpn_dialog { width: max-content; max-width: min(34em, calc(100vw - 2em)); box-sizing: border-box; padding: 12px; }
#lpn_dialog.lpn-dialog-titled { padding-top: 51px; }
.lpn-dialog-msg { margin: 0; white-space: pre-wrap; overflow-wrap: anywhere; }
.lpn-dialog-input { display: block; width: 100%; box-sizing: border-box; margin-top: 8px; padding: 3px 6px; font: inherit; }
textarea.lpn-dialog-input { min-height: 8em; font-family: monospace; }
nav.navbar:has(.dropdown-menu.show) { position: relative; z-index: 1852; }
#lpn_menubar { display: flex; gap: 2px; margin-bottom: 4px; }
.lpn-menubar-item {
	background: var(--ec-bg); color: var(--ec-accent); border-color: var(--ec-accent);
	padding: 3px 10px;
	font-weight: var(--ec-menu-weight); text-transform: var(--ec-menu-case); letter-spacing: var(--ec-menu-tracking); font-variant-caps: var(--ec-menu-variant);
}
.lpn-menubar-item:hover { color: var(--ec-accent-hover); }
.lpn-menubar-item[aria-expanded="true"] { color: var(--ec-accent-open); }
.lpn-menubar-mark { margin-right: 6px; }
.lpn-about-name { display: flex; align-items: center; gap: .45em; }
.lpn-about-name .ec-icon { width: 1.5em; height: 1.5em; flex: none; }
.lpn-about-name .lpn-about-mark { width: 1.5em; height: 1.5em; flex: none; }
.lpn-about-dedication a { color: inherit; text-decoration: underline dotted; text-underline-offset: .2em; }
.lpn-about-dedication a:hover, .lpn-about-dedication a:focus { text-decoration-style: solid; }
#lpn_tabs {
	display: flex; align-items: flex-end; gap: 2px;
	border-bottom: var(--ec-tabs-rule); margin-bottom: 6px; padding: 0 2px;
}
.lpn-tabs-scroll { display: flex; align-items: flex-end; gap: 2px; overflow-x: auto; overflow-y: hidden; flex: 1 1 auto; }
.lpn-tab { display: inline-flex; align-items: stretch; background: var(--ec-gray-ececec); border: 1px solid var(--ec-gray-999); border-bottom: none; border-radius: var(--ec-radius-m) var(--ec-radius-m) 0 0; margin-bottom: -1px; }
.lpn-tab-current { background: var(--ec-bg); }
.lpn-tab-current .lpn-tab-name { font-weight: bold; }
.lpn-tab-name, .lpn-tab-caret, .lpn-tab-btn {
	background: none; border: 0; font: inherit; color: inherit; cursor: pointer; padding: 3px 8px; white-space: nowrap;
}
.lpn-tab-caret, .lpn-tab-x { padding: 3px 5px; border-left: 1px solid var(--ec-border-strong); background: none; border-top: 0; border-right: 0; border-bottom: 0; font: inherit; color: inherit; cursor: pointer; }
.lpn-tab-x { color: var(--ec-gray-777); }
.lpn-tab-x:hover { color: var(--ec-error-ink); background: var(--ec-hue-f4d4d4); }
.lpn-tab-btn { border: 1px solid transparent; align-self: center; }
.lpn-tab-name:hover, .lpn-tab-caret:hover, .lpn-tab-btn:hover { background: var(--ec-border); }
.lpn-tab-star { font-weight: bold; margin-right: 2px; }
.lpn-tab-star-faint { font-weight: normal; opacity: 0.45; }
@media (max-width: 640px) {
	.lpn-tabs-scroll .lpn-tab:not(.lpn-tab-current) { display: none; }
}
.lpn-menu-row { display: block; width: 100%; text-align: start; background: none; border: 0; font: inherit; padding: 4px 12px 4px 8px; cursor: pointer; white-space: nowrap; }
.lpn-menu-row:hover:enabled { background: var(--ec-hover-bg); }
.lpn-menu-row:disabled { color: var(--ec-gray-999); cursor: default; }
.lpn-menu-heading { padding: 4px 12px 1px 8px; font-size: 0.8em; color: var(--ec-ink-subtle); white-space: nowrap; }
.lpn-menu-arrow { margin-inline-start: 1.5em; float: inline-end; color: var(--ec-ink-subtle); }
.lpn-menu-icon { display: inline-block; width: 1.6em; text-align: center; }
#lpn_canvas.regmode, #lpn_canvas.regmode * { cursor: crosshair !important; }
#lpn_canvas.lpn-placemode, #lpn_canvas.lpn-placemode * { cursor: crosshair; }
.lpn-snip-veil { position: fixed; z-index: 1190; cursor: crosshair; touch-action: none; }
.lpn-snip-rect { position: absolute; box-sizing: border-box; border: 1px dashed var(--ec-accent); background: var(--ec-select-bg); opacity: 0.5; pointer-events: none; }
.lpn-snip-lasso { position: absolute; left: 0; top: 0; pointer-events: none; }
.lpn-snip-lasso polygon { fill: var(--ec-select-bg); fill-opacity: 0.5; stroke: var(--ec-accent); stroke-width: 1; stroke-dasharray: 4 3; }
.lpn-snip-edit { position: fixed; inset: 0; z-index: 1860; background: var(--ec-a-0-0-0-4); display: flex; align-items: center; justify-content: center; padding: 8px; }
.lpn-snip-edit-panel { position: relative; background: var(--ec-box-bg); color: var(--ec-ink); border: var(--ec-box-border); box-shadow: var(--ec-box-shadow); padding: 8px; max-width: 100%; max-height: 100%; display: flex; flex-direction: column; gap: 8px; }
.lpn-snip-edit-bar { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; padding-inline-end: 28px; }
.lpn-snip-edit-bar .lpn-popover-x { position: absolute; top: 4px; inset-inline-end: 6px; }
.lpn-snip-edit-bar .lpn-btn-on { background: var(--ec-select-bg); border-color: var(--ec-accent); }
.lpn-snip-edit-scroll { overflow: auto; min-height: 0; background: var(--ec-border); }
.lpn-snip-edit-canvas { display: block; max-width: 100%; max-height: calc(100vh - 6rem); touch-action: none; cursor: crosshair; }
.lpn-snip-edit-canvas.lpn-snip-eraser-on { cursor: pointer; }
.lpn-snip-ic { display: inline-flex; align-items: center; justify-content: center; min-width: 32px; min-height: 32px; padding: 0 6px; }
.lpn-snip-bar { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.lpn-snip-mag { display: inline-flex; align-items: center; gap: 4px; }
.lpn-snip-split { display: inline-flex; }
.lpn-snip-split .lpn-snip-ic:first-child { border-start-end-radius: 0; border-end-end-radius: 0; }
.lpn-snip-split .lpn-snip-chev { min-width: 20px; padding: 0 2px; border-inline-start: 0; border-start-start-radius: 0; border-end-start-radius: 0; }
.lpn-snip-menu { display: none; position: fixed; z-index: 1850; flex-direction: column; gap: 2px; padding: 2px; background: var(--ec-box-bg); border: var(--ec-box-border); box-shadow: var(--ec-box-shadow); }
.lpn-snip-menu.lpn-snip-menu-open { display: flex; }
.lpn-snip-seg { display: inline-flex; }
.lpn-snip-seg .lpn-snip-ic:first-child { border-start-end-radius: 0; border-end-end-radius: 0; }
.lpn-snip-seg .lpn-snip-ic:last-child { border-start-start-radius: 0; border-end-start-radius: 0; border-inline-start: 0; }
@media (pointer: coarse), (max-width: 700px) {
  .lpn-snip-ic { min-width: 40px; min-height: 40px; }
  .lpn-snip-split .lpn-snip-chev { min-width: 40px; }
  .lpn-snip-edit-bar .lpn-popover-x { min-width: 40px; min-height: 40px; }
}
@media print { .lpn-snip-veil { display: none; } }
#lpn_canvas.regmode.regmode-node .lpn-node, #lpn_canvas.regmode.regmode-node .lpn-node-hit { cursor: pointer !important; }
.lpn-popover-x {
	position: absolute; top: 0; right: 0;
	width: 40px; height: 40px; line-height: 1;
	padding: 0; border: 0; background: transparent;
	font-size: 20px; color: var(--ec-ink); cursor: pointer;
}
.lpn-popover-x:hover, .lpn-popover-x:focus { background: var(--ec-gray-eee); color: var(--ec-ink-black); }
.lpn-popover { box-sizing: border-box; max-width: calc(100vw - 8px); max-height: calc(100vh - 8px); }
.lpn-popover-body { overflow: auto; max-height: calc(100vh - 56px); }
.lpn-propbox { flex-direction: column; resize: both; overflow: hidden; min-width: var(--lpn-box-min-w, 5rem); }
.lpn-propbox .lpn-popover-body { flex: 1 1 auto; min-height: 0; max-height: none; }
.lpn-text-words-row { display: block; }
.lpn-text-words { display: block; width: 100%; box-sizing: border-box; resize: vertical; }
.lpn-num-short { width: 4em; }
.lpn-findbox {
	width: min(22rem, calc(100vw - 8px));
	min-width: var(--lpn-box-min-w, 5rem);
	flex-direction: column;
	resize: both;
	overflow: hidden;
}
.lpn-findbox .lpn-popover-body { flex: 1 1 auto; min-height: 0; max-height: none; }
.lpn-find-filter { display: flex; gap: 8px; align-items: flex-end; flex-wrap: wrap; margin: 6px 0 0; }
.lpn-find-query {
	font-family: var(--ec-font-mono);
	font-size: .85em;
	width: 100%;
	box-sizing: border-box;
	margin: 2px 0 2px;
}
.lpn-find-hint {
	font-size: .8em;
	color: var(--ec-ink-subtle);
	margin: 0 0 4px;
}
.lpn-find-msg {
	font-size: .85em;
	color: var(--ec-error-ink);
	margin: 0 0 6px;
	overflow-wrap: break-word;
}
.lpn-find-aside {
	font-size: .85em;
	color: var(--ec-ink-muted);
	margin: 4px 0;
	overflow-wrap: break-word;
}
.lpn-dragpanel { cursor: move; touch-action: none; }
.lpn-dragpanel .lpn-popover-body { cursor: auto; touch-action: auto; }
.lpn-wizbar.lpn-dragpanel { cursor: auto; touch-action: auto; }
.lpn-wizbar .lpn-wizbar-grip { cursor: move; touch-action: none; user-select: none; }
.lpn-setbox-index, .lpn-setbox-content { touch-action: auto; }
.lpn-ff-report, .lpn-ff-tablewrap { touch-action: auto; }
@supports (height: 100dvh) {
	.lpn-popover { max-height: calc(100dvh - 8px); }
	.lpn-popover-body { max-height: calc(100dvh - 56px); }
}
.ec-brandgroup { display: inline-flex; align-items: baseline; min-width: 0; }
.ec-brandgroup > .navbar-brand { margin-inline-end: 0; }
.ec-nav-libre {
	display: inline-flex;
	align-items: center;
	margin-inline-start: 0.4rem;
	font-size: 0.85rem;
	white-space: nowrap;
	text-decoration: none;
	color: var(--ec-hue-5a6570);
}
.ec-nav-libre:hover, .ec-nav-libre:focus { color: var(--ec-brand); text-decoration: underline; }
.ec-nav-libre > .ec-icon { margin-inline-end: 0.3em; }
@media (max-width: 400px) {
	.ec-nav-libre { font-size: 0; }
	.ec-nav-libre > .ec-icon { width: 1.15rem; height: 1.15rem; margin-inline-end: 0; }
}
@media (min-width: 992px) {
	.navbar-expand-lg { flex-wrap: wrap; }
	.navbar-expand-lg > .navbar-collapse { flex-wrap: wrap; row-gap: 0.25rem; }
}
.ec-brandgroup { flex-wrap: wrap; }
#ec-copy-link-btn { white-space: nowrap; }
.ec-consent {
	position: fixed;
	inset-inline: 0;
	bottom: 0;
	z-index: 1080;
	background: var(--ec-bg);
	border-top: 2px solid var(--ec-brand);
	box-shadow: 0 -2px 10px var(--ec-a-0-0-0-2);
	padding: 0.75rem 1rem;
	max-height: 70vh;
	overflow-y: auto;
}
.ec-consent[hidden] { display: none; }
.ec-consent-inner { max-width: 55rem; margin: 0 auto; }
.ec-consent-body { margin: 0 0 0.5rem; }
.ec-consent-current { margin: 0 0 0.5rem; font-style: italic; }
.ec-consent-current:empty { display: none; }
.ec-consent-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	margin: 0 0 0.5rem;
}
.ec-consent-btn {
	flex: 1 1 12rem;
	padding: 0.5rem 1rem;
	font: inherit;
	color: var(--ec-bg);
	background: var(--ec-brand);
	border: 1px solid var(--ec-brand);
	border-radius: var(--ec-radius-m);
	cursor: pointer;
}
.ec-consent-btn:hover, .ec-consent-btn:focus { background: var(--ec-brand-hover); border-color: var(--ec-brand-hover); }
.ec-consent-links, .ec-legal-links { margin: 0; font-size: 0.9rem; }
.ec-consent-links a, .ec-legal-links a { margin-inline-end: 1rem; }
.ec-legal { max-width: 44rem; }
.ec-legal h2 { font-size: 1.25rem; margin-top: 1.5rem; }
.ec-legal h3 { font-size: 1.05rem; margin-top: 1rem; }
.ec-legal-table { display: block; overflow-x: auto; border-collapse: collapse; margin: 0.5rem 0 1rem; }
.ec-legal-table th, .ec-legal-table td { border: 1px solid var(--ec-border-strong); padding: 0.3rem 0.5rem; text-align: start; vertical-align: top; }
.lpn-examples {
	pointer-events: auto;
	max-width: 68rem;
	margin: 0 auto;
	padding: calc(var(--lpn-overlay-h, 0px) + 12px) 1rem 1.5rem;
	text-align: center;
}
.lpn-examples-welcome { margin: 0 0 .35em; font-size: 1.05em; }
.lpn-examples-h { margin: 0 0 .15em; font-size: 1.35em; font-weight: 600; }
.lpn-examples-sub { margin: 0 0 .5em; opacity: .75; font-size: .95em; }
.lpn-examples-msg { margin: 3em auto; max-width: 30em; opacity: .7; }
.lpn-examples-welcome, .lpn-examples-h, .lpn-examples-sub, .lpn-examples-msg, .lpn-examples-legal { color: var(--ec-map-text); }
.lpn-examples-legal a { color: var(--ec-map-link); }
.lpn-examples-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(9.5rem, 1fr));
	gap: .7rem;
}
.lpn-example-card {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	gap: .25em;
	padding: .5rem .5rem .6rem;
	border: 1px solid var(--ec-a-128-128-128-45);
	border-radius: var(--ec-radius-l);
	background: var(--ec-a-255-255-255-94);
	color: var(--ec-ink-strong);
	font: inherit;
	text-align: left;
	cursor: pointer;
}
.lpn-example-card:hover, .lpn-example-card:focus-visible {
	border-color: var(--ec-hue-2a6ebb);
	box-shadow: 0 1px 6px var(--ec-a-0-0-0-18);
}
.lpn-example-thumb {
	display: block;
	width: 100%;
	height: 6rem;
	object-fit: contain;
	margin-bottom: .15em;
	padding: 2px;
	box-sizing: border-box;
	background: #fff;
	border: 1px solid var(--ec-a-128-128-128-4);
	border-radius: var(--ec-radius-s);
	color: #17406b;
}
.lpn-example-title { font-weight: 600; font-size: .92em; }
.lpn-example-desc { font-size: .8em; opacity: .8; line-height: 1.3; }
.lpn-example-meta { font-size: .75em; opacity: .7; }
.lpn-examples-blank {
	display: inline-block;
	margin: 0 0 .9em;
	border: 0;
	background: none;
	padding: .3em;
	font: inherit;
	font-size: .9em;
	color: var(--ec-map-deep);
	text-decoration: underline;
	cursor: pointer;
}
@media print { #lpn_empty_hint { display: none !important; } }
.lpn-examples-legal { margin: 1.1em 0 0; font-size: .78em; opacity: .7; }
.lpn-examples-legal a { margin: 0 .5em; }
.lpn-color-legend {
	position: absolute;
	z-index: 3;
	font-size: 0.9em;
	line-height: 1.4;
	background: var(--ec-a-255-255-255-85);
	color: var(--ec-ink);
	padding: 4px 8px;
	pointer-events: none;
}
:root[data-theme="dark"], :root[data-theme="hc-dark"], :root[data-theme="amber"], :root[data-theme="green"],
:root[data-theme="arcade"], :root[data-theme="space"] { --ec-map-casing: var(--ec-map-ink); }
.lpn-ramp-cased-sym { filter: drop-shadow(0 0 1px var(--ec-map-casing)) drop-shadow(0 0 1.5px var(--ec-map-casing)); }
.lpn-color-swatch.lpn-ramp-cased { border-color: var(--ec-map-casing); }
.lpn-color-swatch {
	display: inline-block;
	flex: 0 0 auto;
	width: 1.4em;
	height: 0.85em;
	border: 1px solid rgba(0, 0, 0, .45);
}
.lpn-contour-note {
	max-width: 18em;
	font-size: 0.85em;
	line-height: 1.3;
	margin-top: 0.3em;
	white-space: normal;
}
.lpn-contour-line {
	fill: none; stroke: var(--ec-map-contour); stroke-opacity: .5; stroke-width: 1px;
	vector-effect: non-scaling-stroke; stroke-linejoin: round; stroke-linecap: round;
}
.lpn-contour-line.lpn-contour-index { stroke-opacity: .8; stroke-width: 1.6px; }
.lpn-contour-label {
	fill: var(--ec-map-contour-ink); stroke: var(--ec-map-halo); stroke-opacity: .9; paint-order: stroke; stroke-linejoin: round;
	font-family: system-ui, -apple-system, "Segoe UI", sans-serif; font-weight: 600;
}
.lpn-contour-break-casing {
	fill: none; stroke: var(--ec-map-halo); stroke-opacity: .9; stroke-width: 7px; stroke-linecap: round;
	vector-effect: non-scaling-stroke;
}
.lpn-contour-break {
	fill: none; stroke: var(--ec-map-contour-ink); stroke-width: 3.5px; stroke-linecap: round;
	vector-effect: non-scaling-stroke;
}
.lpn-contourbox { width: min(25.5rem, calc(100vw - 8px)); --lpn-g-valmax: 9.5rem; }
.lpn-snipbox { width: min(18rem, calc(100vw - 8px)); min-width: var(--lpn-box-min-w, 5rem); --lpn-set-name: 8.5rem; --lpn-set-col: 6rem; }
.lpn-snipbox .lpn-set-row { margin: 7px 0; }
.lpn-gridhost { }
@supports (grid-template-columns: subgrid) {
	.lpn-gridhost {
		display: grid; align-content: start; column-gap: 0; row-gap: 0;
		grid-template-columns: minmax(0, var(--lpn-g-name, max-content)) minmax(3em, 1fr);
	}
	.lpn-gridhost > * { grid-column: 1 / -1; min-width: 0; }
	.lpn-gridhost > .lpn-grid { display: grid; grid-template-columns: subgrid; }
	.lpn-gridhost.lpn-gnarrow { grid-template-columns: minmax(0, 1fr); }
	.lpn-gsub { display: grid; grid-template-columns: subgrid; grid-column: 1 / -1; min-width: 0; }
	.lpn-gsub > * { grid-column: 1 / -1; min-width: 0; }
	.lpn-gsub > .lpn-grid { display: grid; grid-template-columns: subgrid; }
	.lpn-gridhost > .lpn-gcol2, .lpn-gsub > .lpn-gcol2, .lpn-gridhost > .lpn-ff-buttons:has(> .lpn-ff-run), .lpn-gridhost > .lpn-ff-buttons:has(> .lpn-ff-stopbtn) { grid-column: 2 / -1; justify-self: stretch; min-width: 0; overflow-wrap: anywhere; }
	.lpn-gridhost:not(.lpn-gplain):not(.lpn-gnarrow) > .lpn-gcol2, .lpn-gridhost:not(.lpn-gplain):not(.lpn-gnarrow) .lpn-gsub > .lpn-gcol2,
	.lpn-gridhost:not(.lpn-gplain):not(.lpn-gnarrow) > .lpn-ff-buttons:has(> .lpn-ff-run), .lpn-gridhost:not(.lpn-gplain):not(.lpn-gnarrow) > .lpn-ff-buttons:has(> .lpn-ff-stopbtn) { margin-inline-start: 6px; margin-block: 4px; }
	.lpn-gridhost > .lpn-gfull, .lpn-gsub > .lpn-gfull, .lpn-gridhost > .lpn-ff-buttons:has(> .lpn-ff-run), .lpn-gridhost > .lpn-ff-buttons:has(> .lpn-ff-stopbtn) { grid-column: 1 / -1; justify-self: stretch; min-width: 0; margin-inline-start: 0; overflow-wrap: anywhere; }
	.lpn-gridhost:not(.lpn-gplain):not(.lpn-gnarrow) > .lpn-gfull, .lpn-gridhost:not(.lpn-gplain):not(.lpn-gnarrow) .lpn-gsub > .lpn-gfull, .lpn-gridhost:not(.lpn-gplain):not(.lpn-gnarrow) > .lpn-ff-buttons:has(> .lpn-ff-run), .lpn-gridhost:not(.lpn-gplain):not(.lpn-gnarrow) > .lpn-ff-buttons:has(> .lpn-ff-stopbtn) { margin-inline-start: 0; margin-block: 4px; }
	.lpn-gridhost:not(.lpn-gplain):not(.lpn-gnarrow) .lpn-ghdr {
		display: grid; grid-template-columns: subgrid; align-items: stretch;
		box-shadow: inset 0 -1px 0 0 var(--ec-hairline); background: var(--ec-chrome-bg); font-size: .85em; font-weight: 600;
	}
	.lpn-gridhost:not(.lpn-gplain):not(.lpn-gnarrow) .lpn-grow:not(.lpn-gspan-row) {
		display: grid; grid-template-columns: subgrid; grid-column: 1 / -1; align-items: stretch;
		box-shadow: inset 0 -1px 0 0 var(--ec-hairline);
	}
	.lpn-gridhost:not(.lpn-gplain):not(.lpn-gnarrow) .lpn-grid { margin: 0; gap: 0; }
	.lpn-gridhost:not(.lpn-gplain):not(.lpn-gnarrow) .lpn-grid:not(.lpn-ghdr + .lpn-grid) > .lpn-grow:not(.lpn-gspan-row):first-child {
		box-shadow: inset 0 -1px 0 0 var(--ec-hairline), inset 0 1px 0 0 var(--ec-hairline);
	}
	.lpn-gridhost:not(.lpn-gplain):not(.lpn-gnarrow) .lpn-gname { padding: 4px 6px; border-inline-end: 1px solid var(--ec-hairline); }
	.lpn-gridhost:not(.lpn-gplain):not(.lpn-gnarrow) .lpn-grow > .lpn-gval { margin: 2px 6px; align-self: start; }
	.lpn-gridhost:not(.lpn-gplain):not(.lpn-gnarrow) .lpn-grow > input[type="checkbox"].lpn-gval, .lpn-gridhost:not(.lpn-gplain):not(.lpn-gnarrow) .lpn-grow > input[type="radio"].lpn-gval { margin-block: 6px 2px; }
	.lpn-gridhost:not(.lpn-gplain):not(.lpn-gnarrow) .lpn-grow > .lpn-gw-fill, .lpn-gridhost:not(.lpn-gplain):not(.lpn-gnarrow) .lpn-grow > .lpn-ramp-picker { width: calc(100% - 12px); min-width: calc(8rem - 12px); }
	.lpn-gridhost:not(.lpn-gplain):not(.lpn-gnarrow) .lpn-grow > .lpn-gw-read,
	.lpn-gridhost:not(.lpn-gplain):not(.lpn-gnarrow) .lpn-grow > span.lpn-gval:not(.lpn-gw-num) { padding-block: 2px; }
}
#lpn_new_panel, #lpn_convas_panel { min-width: var(--lpn-box-min-w, 5rem); }
.lpn-convas-foot { padding-top: 8px; border-top: 1px solid var(--ec-border-strong); }
option, optgroup { background-color: var(--ec-bg); color: var(--ec-ink); }
option:disabled { color: var(--ec-ink-muted); }
.lpn-ghdr { display: none; }
.lpn-ghcell { position: relative; min-width: 0; padding: 3px 6px; }
.lpn-ghlabel { border-inline-end: 1px solid var(--ec-hairline); }
.lpn-grid {
	position: relative; display: grid; align-items: baseline; justify-content: start; margin: 3px 0;
	grid-template-columns: var(--lpn-g-name, max-content) minmax(0, 1fr);
	gap: var(--lpn-g-rowgap, 6px) var(--lpn-g-gap, 6px);
}
.lpn-gplain.lpn-gridhost { column-gap: 6px; }
.lpn-gplain .lpn-grid { row-gap: 6px; }
.lpn-grow, .lpn-gspan-row { display: contents; }
.lpn-grow > * { min-width: 0; }
.lpn-gname { min-width: 0; overflow: hidden; white-space: nowrap; font-size: .85em; opacity: .8; }
.lpn-gname.ec-help { display: block; }
.lpn-gname .lpn-gtext { min-width: 0; }
.lpn-gname .ec-tip { margin-inline-start: .25em; }
.lpn-gname bdi { white-space: nowrap; }
.lpn-gval, .lpn-grow > :nth-child(2):not(.lpn-gname) { justify-self: start; max-width: var(--lpn-g-valmax, 17rem); }
.lpn-gwrap { display: flex; align-items: baseline; flex-wrap: wrap; gap: 4px 6px; }
.lpn-gwrap .lpn-gval { margin: 0; }
.lpn-gw-num { width: calc(var(--d, 7) * 1ch + 1.5em); box-sizing: border-box; text-align: right; font-variant-numeric: tabular-nums; }
.lpn-gw-fill { width: 100%; max-width: var(--lpn-g-valmax, 17rem); box-sizing: border-box; }
.lpn-gw-read { overflow-wrap: anywhere; }
.lpn-grow > .lpn-ramp-picker { width: 100%; min-width: 8rem; }
.lpn-gspan, .lpn-ghead { grid-column: 1 / -1; min-width: 0; }
.lpn-ghead { font-weight: bold; margin-top: 10px; }
.lpn-gsplit { display: none; position: absolute; top: 0; bottom: 0; inset-inline-end: -3px; width: 6px; cursor: col-resize; touch-action: none; z-index: 1; border-radius: var(--ec-radius-s); }
.lpn-ghlabel > .lpn-gsplit { display: block; }
.lpn-gsplit:hover, .lpn-gsplit:focus-visible { background: var(--ec-select); opacity: .35; outline: none; }
.lpn-gprops {
	display: grid; align-content: start; align-items: stretch; justify-content: start; row-gap: 4px; column-gap: 0;
	grid-template-columns: var(--lpn-g-gutw, 0px) minmax(0, var(--lpn-g-name, max-content)) minmax(3em, 1fr);
}
#lpn_popup_fields.lpn-gprops.lpn-ovm-gut, #lpn_popup_fields.lpn-gprops.lpn-ovm-gut1 { --lpn-g-gutw: 1.1em; padding-inline-start: 0; }
#lpn_popup_fields.lpn-gprops.lpn-ovm-gut2 { --lpn-g-gutw: 2.05em; padding-inline-start: 0; }
.lpn-gprops > br { display: none; }
.lpn-gprops .lpn-grow > * { min-width: 0; }
.lpn-gprops .lpn-gname .ec-help { display: inline; min-width: 0; }
.lpn-gprops .lpn-gutext { font-size: .85em; opacity: .8; }
.lpn-gprops .lpn-ggut { display: block; }
.lpn-gprops .lpn-ggut .lpn-ovm { position: static; margin: 0; }
#lpn_popup_fields.lpn-gprops .lpn-ggut .lpn-ovm { position: static; margin: 0; }
.lpn-gw-chars, .lpn-gprops .lpn-gw-chars { text-align: start; }
.lpn-gprops > .lpn-gspan, .lpn-gprops > .lpn-gspan2, .lpn-gprops .lpn-gspan2 { min-width: 0; contain: inline-size; }
.lpn-gprops > .lpn-gspan { grid-column: 1 / -1; }
.lpn-gprops > .lpn-gspan2, .lpn-gprops .lpn-gspan2 { grid-column: 2 / -1; max-width: none; }
.lpn-gprops .lpn-grow > textarea.lpn-gspan2 { max-width: none; width: 100%; }
.lpn-gprops > table.lpn-gspan3 { width: 100%; }
.lpn-gprops > .lpn-gspan3 { grid-column: 3 / -1; min-width: 0; contain: inline-size; }
.lpn-gprops .lpn-gbtns button { white-space: normal; text-align: start; }
.lpn-gprops .lpn-gbtns .lpn-pane-goto { margin-inline-start: 0; line-height: 1.3; color: var(--ec-accent); text-decoration: underline; }
.lpn-gprops > .lpn-ov-note { margin-inline-start: 0; }
.lpn-gprops > .lpn-gloose > * + * { margin-inline-start: .4em; }
.lpn-gprops > .lpn-gbtns { display: flex; flex-wrap: wrap; gap: 4px; }
.lpn-gprops textarea.lpn-gw-fill { width: 100%; max-width: var(--lpn-g-valmax, 17rem); box-sizing: border-box; }
@supports (grid-template-columns: subgrid) {
	.lpn-propbox .lpn-popover-body {
		display: grid; align-content: start; justify-content: start; align-items: start; column-gap: 0; row-gap: 0;
		grid-template-columns: var(--lpn-g-gutw, 0px) minmax(0, var(--lpn-g-name, max-content)) minmax(3em, 1fr);
	}
	.lpn-propbox .lpn-popover-body.lpn-ovm-gut, .lpn-propbox .lpn-popover-body.lpn-ovm-gut1 { --lpn-g-gutw: 1.1em; }
	.lpn-propbox .lpn-popover-body.lpn-ovm-gut2 { --lpn-g-gutw: 2.05em; }
	.lpn-propbox .lpn-popover-body > * { grid-column: 1 / -1; min-width: 0; }
	.lpn-propbox .lpn-popover-body > #lpn_popup_fields.lpn-gprops,
	.lpn-propbox .lpn-popover-body > #lpn_popup_title.lpn-gtitle-id,
	.lpn-propbox .lpn-popover-body > #lpn_popup_graph { display: grid; grid-template-columns: subgrid; column-gap: 0; }
	.lpn-propbox .lpn-popover-body > #lpn_popup_fields.lpn-gprops { row-gap: 0; }
	.lpn-propbox .lpn-popover-body > #lpn_popup_title.lpn-gtitle-id { align-items: stretch; }
	#lpn_popup_title.lpn-gtitle-id > .lpn-gname { grid-column: 2; }
	#lpn_popup_title.lpn-gtitle-id > input { grid-column: 3; }
	#lpn_popup_graph .lpn-pgraph-row { display: contents; }
	#lpn_popup_graph .lpn-pgraph-row > label { grid-column: 2; margin-inline-end: 6px; font-size: .85em; opacity: .8; }
	#lpn_popup_graph .lpn-pgraph-row > select { grid-column: 3 / -1; justify-self: start; }
	#lpn_popup_graph > .lpn-pgraph-chart, #lpn_popup_graph > .lpn-profile-say { grid-column: 1 / -1; }
}
.lpn-box-stack > .lpn-box-corner { max-width: calc(100% - 28px); right: 28px; }
.lpn-box-stack > .lpn-box-corner > .lpn-corner-btn { flex: 0 1 28px; min-width: 0; width: auto; }
.lpn-box-stack > .lpn-popover-x { width: 28px; }
.lpn-box-stack.lpn-has-corner > :is(.lpn-setbox-title) { right: min(calc(28px + var(--lpn-corner-w, 0px)), calc(100% - 2px)); padding-right: 0; padding-left: 6px; }
.lpn-box-stack:not(.lpn-has-corner) > :is(.lpn-setbox-title) { right: min(28px, calc(100% - 2px)); padding-right: 0; padding-left: 6px; }
@media all {
	@supports (grid-template-columns: subgrid) {
		.lpn-propbox .lpn-gprops .lpn-grow:not(.lpn-fill-row), .lpn-propbox #lpn_popup_title.lpn-gtitle-id {
			display: grid; grid-template-columns: subgrid; grid-column: 1 / -1; align-items: stretch;
			box-shadow: inset 0 -1px 0 0 var(--ec-hairline);
		}
		.lpn-propbox .lpn-gprops .lpn-gname, .lpn-propbox #lpn_popup_title.lpn-gtitle-id > .lpn-gname { padding: 4px 6px; border-inline-end: 1px solid var(--ec-hairline); }
		.lpn-propbox .lpn-gprops .lpn-grow > .lpn-gval, .lpn-propbox #lpn_popup_title.lpn-gtitle-id > .lpn-gval { margin: 2px 6px; align-self: start; }
		.lpn-propbox .lpn-gprops .lpn-grow > .lpn-gw-fill { width: calc(100% - 12px); }
		.lpn-propbox .lpn-gprops .lpn-grow > span.lpn-gval:not(.lpn-gw-num) { padding-block: 2px; max-width: calc(100% - 12px); min-width: 0; }
		.lpn-propbox #lpn_popup_graph .lpn-pgraph-row {
			display: grid; grid-template-columns: subgrid; grid-column: 1 / -1; column-gap: 0; align-items: center; min-height: 1.75rem;
			box-shadow: inset 0 -1px 0 0 var(--ec-hairline);
		}
		.lpn-propbox #lpn_popup_graph .lpn-pgraph-row > label { padding: 4px 6px; margin: 0; border-inline-end: 1px solid var(--ec-hairline); align-self: stretch; display: flex; align-items: center; opacity: 1; }
		.lpn-propbox #lpn_popup_graph .lpn-pgraph-row > select { margin: 0 6px; min-width: 0; max-width: calc(100% - 12px); }
		.lpn-propbox .lpn-gprops .lpn-grow > .lpn-gname { grid-column: 2; }
		.lpn-propbox .lpn-gprops .lpn-grow > input[type="checkbox"].lpn-gval, .lpn-propbox .lpn-gprops .lpn-grow > input[type="radio"].lpn-gval { margin-block: 6px 2px; }
		.lpn-propbox .lpn-gprops .lpn-grow > .lpn-gval { grid-column: 3; }
		.lpn-propbox .lpn-gprops .lpn-grow > .lpn-ggut { grid-column: 1; }
		.lpn-propbox .lpn-gprops > .lpn-gtrail, .lpn-propbox .lpn-gprops > .lpn-gspan3, .lpn-propbox .lpn-gprops > .lpn-gspan2 { padding: 3px 6px; }
		.lpn-propbox .lpn-gprops > .lpn-grow:has(+ :is(.lpn-gtrail, .lpn-elev-dem)), .lpn-propbox .lpn-gprops > .lpn-grow:has(+ br + :is(.lpn-gtrail, .lpn-elev-dem)) { box-shadow: none; }
		.lpn-propbox .lpn-gprops > :is(.lpn-gtrail, .lpn-elev-dem) { box-shadow: inset 0 -1px 0 0 var(--ec-hairline); }
	}
}
@media all {
	@supports (grid-template-columns: subgrid) {
		.lpn-sheet:not(.lpn-gnarrow):not(.lpn-gplain) .lpn-grow:not(.lpn-gspan-row):not(.lpn-fill-row), #lpn_popup_title.lpn-gtitle-id.lpn-sheet { min-height: 1.75rem; }
		:is(.lpn-sheet:not(.lpn-gnarrow):not(.lpn-gplain) .lpn-grow, #lpn_popup_title.lpn-gtitle-id.lpn-sheet) > :is(input, select, textarea).lpn-gval:not([type="checkbox"]):not([type="radio"]) {
			width: 100%; max-width: none; min-width: 0; margin: 0; border: 0; border-radius: 0; background: transparent;
			padding: 4px 6px; box-sizing: border-box; align-self: stretch; text-align: start; font-size: .85em;
		}
		:is(.lpn-sheet:not(.lpn-gnarrow):not(.lpn-gplain) .lpn-grow, #lpn_popup_title.lpn-gtitle-id.lpn-sheet) > :is(input, select, textarea).lpn-gval:not([type="checkbox"]):not([type="radio"]):focus {
			outline: var(--ec-focus-w) solid var(--ec-accent); outline-offset: -2px;
		}
		:is(.lpn-sheet:not(.lpn-gnarrow):not(.lpn-gplain) .lpn-grow, #lpn_popup_title.lpn-gtitle-id.lpn-sheet) > :is(input, select, textarea).lpn-gval:not([type="checkbox"]):not([type="radio"]):hover:not(:focus) { background: var(--ec-hover-bg); }
		.lpn-sheet:not(.lpn-gnarrow):not(.lpn-gplain) .lpn-grow > :is(input, select, textarea).lpn-gval:disabled { color: var(--ec-ink-muted); }
		.lpn-sheet:not(.lpn-gnarrow):not(.lpn-gplain) .lpn-grow > textarea.lpn-gval { resize: vertical; }
		.lpn-sheet:not(.lpn-gnarrow):not(.lpn-gplain) .lpn-grow > span.lpn-gval:not(.lpn-gw-num) { color: var(--ec-ink-muted); padding: 4px 6px; margin: 0; align-self: stretch; font-size: .85em; overflow: hidden; white-space: nowrap; }
		.lpn-sheet:not(.lpn-gnarrow):not(.lpn-gplain) .lpn-grow > input[type="checkbox"].lpn-gval, .lpn-sheet:not(.lpn-gnarrow):not(.lpn-gplain) .lpn-grow > input[type="radio"].lpn-gval {
			width: 1.125rem; height: 1.125rem; margin: 5px 6px; align-self: start;
		}
		.lpn-sheet:not(.lpn-gnarrow):not(.lpn-gplain) .lpn-grow > .lpn-gwrap > input[type="radio"] { width: 1.125rem; height: 1.125rem; margin: 0 6px 0 0; }
		.lpn-sheet:not(.lpn-gnarrow):not(.lpn-gplain) .lpn-grow > .lpn-ramp-picker { margin: 2px 0; width: 100%; min-width: 0; }
		.lpn-sheet:not(.lpn-gnarrow):not(.lpn-gplain) .lpn-grow > .lpn-ramp-picker { margin: 0; align-self: stretch; display: flex; }
		.lpn-sheet:not(.lpn-gnarrow):not(.lpn-gplain) .lpn-grow > .lpn-ramp-picker > .lpn-ramp-btn { flex: 1 1 auto; min-height: 1.75rem; box-sizing: border-box; border: 0; border-radius: 0; background: transparent; padding: 4px 6px; display: flex; align-items: center; }
		.lpn-sheet:not(.lpn-gnarrow):not(.lpn-gplain) .lpn-grow > .lpn-ramp-picker > .lpn-ramp-btn > .lpn-ramp-strip { width: 100%; }
		.lpn-sheet:not(.lpn-gnarrow):not(.lpn-gplain) .lpn-grow > .lpn-ramp-picker > .lpn-ramp-btn:hover:not(:focus) { background: var(--ec-hover-bg); }
		.lpn-sheet:not(.lpn-gnarrow):not(.lpn-gplain) .lpn-grow > .lpn-ramp-picker > .lpn-ramp-btn:focus { outline: var(--ec-focus-w) solid var(--ec-accent); outline-offset: -2px; }
		.lpn-propbox #lpn_popup_graph .lpn-pgraph-row > select.lpn-ts-pick {
			width: 100%; max-width: none; min-width: 0; margin: 0; border: 0; border-radius: 0; background: transparent;
			padding: 4px 6px; box-sizing: border-box; align-self: stretch; font-size: .85em;
		}
		.lpn-propbox #lpn_popup_graph .lpn-pgraph-row > select.lpn-ts-pick:hover:not(:focus) { background: var(--ec-hover-bg); }
		.lpn-propbox #lpn_popup_graph .lpn-pgraph-row > select.lpn-ts-pick:focus { outline: var(--ec-focus-w) solid var(--ec-accent); outline-offset: -2px; }
		.lpn-sheet:not(.lpn-gnarrow):not(.lpn-gplain) .lpn-grid > .lpn-gsplit, .lpn-sheet.lpn-gprops > .lpn-gsplit { display: block; grid-column: 1 / 2; grid-row: auto; }
		.lpn-propbox .lpn-popover-body { position: relative; }
		.lpn-propbox .lpn-popover-body > #lpn_popup_title { grid-row: 1; }
		.lpn-propbox .lpn-popover-body > #lpn_popup_fields { grid-row: 2; }
		.lpn-propbox .lpn-popover-body > #lpn_popup_graph { grid-row: 3; }
		.lpn-propbox .lpn-popover-body > .lpn-gsplit { display: block; grid-column: 2 / 3; grid-row: 1 / 3; }
	}
}
@media (pointer: coarse) {
	.lpn-sheet:not(.lpn-gnarrow):not(.lpn-gplain) .lpn-grow:not(.lpn-gspan-row):not(.lpn-fill-row), #lpn_popup_title.lpn-gtitle-id.lpn-sheet { min-height: 1.5rem; }
	.lpn-gsplit, .lpn-propbox .lpn-popover-body > .lpn-gsplit { width: 24px; inset-inline-end: -16px; border-radius: 0; background: transparent; opacity: 1; }
	.lpn-gsplit:hover, .lpn-gsplit:focus-visible { background: transparent; opacity: 1; }
	.lpn-gridhost.lpn-sheet .lpn-gname, .lpn-propbox .lpn-gprops .lpn-gname, .lpn-propbox #lpn_popup_title.lpn-gtitle-id > .lpn-gname { padding-inline-end: 8px; }
	.lpn-sheet:not(.lpn-gnarrow):not(.lpn-gplain) .lpn-gname, .lpn-propbox .lpn-gprops .lpn-gname, .lpn-propbox #lpn_popup_title.lpn-gtitle-id > .lpn-gname { padding-block: 2px; }
	:is(.lpn-sheet:not(.lpn-gnarrow):not(.lpn-gplain) .lpn-grow, #lpn_popup_title.lpn-gtitle-id.lpn-sheet) > :is(input, select, textarea).lpn-gval:not([type="checkbox"]):not([type="radio"]) { padding-block: 2px; }
	.lpn-sheet:not(.lpn-gnarrow):not(.lpn-gplain) .lpn-grow > span.lpn-gval:not(.lpn-gw-num) { padding-block: 2px; }
	.lpn-sheet .lpn-grow > :is(input, select, textarea).lpn-gval:not([type="checkbox"]):not([type="radio"]):not(:disabled), .lpn-propbox .lpn-gprops .lpn-grow > :is(input, select, textarea).lpn-gval:not([type="checkbox"]):not([type="radio"]):not(:disabled) { box-shadow: inset 0 -1px 0 0 var(--ec-hairline); }
}
@media (max-width: 30rem) {
	.lpn-propbox .lpn-gprops > .lpn-elev-dem { display: flex; gap: 4px; }
	.lpn-propbox .lpn-gprops > .lpn-elev-dem > button { flex: 1 1 50%; min-height: 40px; }
}
#lpn_popup_title.lpn-gtitle-text, #lpn_popup_title .lpn-gtitle-text { font-weight: bold; }
.lpn-gdlg-wide { min-width: 19rem; }
.lpn-gridhost.lpn-gnarrow, .lpn-contourbox .lpn-gridhost.lpn-gnarrow { grid-template-columns: minmax(0, 1fr); }
.lpn-gnarrow .lpn-gw-fill { max-width: none; }
.lpn-gnarrow .lpn-gcol2, .lpn-gnarrow .lpn-gfull, .lpn-gnarrow > .lpn-ff-buttons { grid-column: 1 / -1 !important; }
.lpn-gnarrow .lpn-grow > .lpn-gval { max-width: 100%; }
.lpn-gnarrow > .lpn-grid { grid-template-columns: minmax(0, 1fr); }
@supports (grid-template-columns: subgrid) { .lpn-gnarrow > .lpn-grid { grid-template-columns: subgrid; } }
.lpn-gnarrow .lpn-grow > .lpn-gname { grid-column: 1 / -1; }
.lpn-gnarrow .lpn-ghdr { display: none; }
.lpn-units-group { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 4px 10px; }
.lpn-units-head { flex: 0 0 100%; font-weight: 600; opacity: .8; }
.lpn-units-item { display: flex; flex-direction: column; align-items: stretch; }
.lpn-units-name { font-size: .85em; opacity: .8; line-height: 1.2; }
.lpn-units-item > select { max-width: 9rem; }
.lpn-units-derived { max-width: 9rem; padding: 3px 2px; min-height: 1.6em; opacity: .8; }
.lpn-profile-svg { display: block; width: 100%; height: 100%; }
.lpn-profile-frame { fill: none; stroke: var(--ec-ink); stroke-width: 1; }
.lpn-profile-grid { stroke: var(--ec-border); stroke-width: 1; }
.lpn-profile-axis { stroke: var(--ec-ink); stroke-width: 1; }
.lpn-profile-station { stroke: var(--ec-gray-eee); stroke-width: 1; }
.lpn-profile-ground { fill: none; stroke: var(--ec-ink-black); stroke-width: 1.5; }
.lpn-profile-hgl { fill: none; stroke: var(--ec-accent); stroke-width: 1.5; }
.lpn-profile-band { fill: var(--ec-accent); fill-opacity: .12; stroke: none; }
.lpn-profile-dot { fill: var(--ec-ink-black); }
.lpn-profile-tick { font-size: 10px; fill: var(--ec-ink); }
.lpn-profile-nodeid { font-size: 10px; fill: var(--ec-ink); }
.lpn-profile-axistitle { font-size: 11px; fill: var(--ec-ink); }
.lpn-profile-key { display: flex; flex-wrap: wrap; gap: .1em 1em; font-size: .85em; margin: .2em 0; }
.lpn-profile-key i { display: inline-block; width: 1.4em; height: .6em; margin-right: .35em; vertical-align: middle; }
.lpn-profile-key-ground { border-top: 2px solid var(--ec-ink-black); }
.lpn-profile-key-hgl { border-top: 2px solid var(--ec-accent); }
.lpn-profile-key-band { background: var(--ec-a-6-69-173-12); border: 1px solid var(--ec-a-6-69-173-35); }
.lpn-profile-heading { font-weight: bold; margin-bottom: .2em; }
.lpn-pane { display: flex; flex-direction: column; border-top: 1px solid var(--ec-border-strong); background: var(--ec-bg); }
.lpn-pane.lpn-pane-shut { content-visibility: hidden; height: 0; min-height: 0; overflow: hidden; border-top-width: 0; }
.lpn-pane-grip {
	height: 8px; cursor: row-resize; background: transparent;
	border-bottom: 0; touch-action: none;
}
.lpn-pane-grip::after {
	content: ""; display: block; width: 32px; height: 4px; margin: 2px auto 0; border-radius: 2px;
	background: var(--ec-gray-bbb);
}
.lpn-pane-grip:hover::after { background: var(--ec-border-strong); }
.lpn-pane-head { display: flex; align-items: flex-start; gap: 4px; border-bottom: 1px solid var(--ec-border); }
.lpn-pane-strip {
	display: flex; flex-wrap: wrap; align-items: flex-start; gap: 2px 2px;
	flex: 1 1 auto; min-width: 0;
}
.lpn-pane-tabs { display: contents; }
.lpn-pane-tab {
	background: var(--ec-gray-f0f0f0); border: 1px solid var(--ec-gray-dcdcdc); border-bottom: 0; font: inherit;
	border-radius: var(--ec-radius-s) var(--ec-radius-s) 0 0; color: var(--ec-gray-444);
	padding: 3px 12px; cursor: pointer;
}
.lpn-pane-tab:hover { background: var(--ec-gray-f7f7f7); }
@media (max-width: 60rem) { .lpn-pane-tab { padding: 3px 7px; } }
@media (max-width: 40rem) { .lpn-pane-tab { padding: 3px 5px; } }
.lpn-pane-tab[aria-selected="true"] { background: var(--ec-bg); border-color: var(--ec-gray-bbb); font-weight: bold; color: inherit; }
.lpn-pane-x {
	flex: 0 0 auto; align-self: flex-start; width: 2.2rem; height: 1.7rem; padding: 0; border: 0;
	background: transparent; font-size: 18px; line-height: 1; color: var(--ec-ink); cursor: pointer;
}
.lpn-pane-x:hover, .lpn-pane-x:focus { background: var(--ec-gray-eee); color: var(--ec-ink-black); }
.lpn-pane-body { overflow: hidden; }
.lpn-pane-panel { display: none; height: 100%; box-sizing: border-box; padding: 6px 8px; }
.lpn-pane-panel.on { display: flex; }
.lpn-profile-panel { gap: 10px; align-items: stretch; }
.lpn-profile-controls { flex: 0 0 15rem; overflow: auto; font-size: .9em; }
#lpn_profile_chart, #lpn_ts_chart, #lpn_freq_chart, #lpn_sysflow_chart { flex: 1 1 auto; min-width: 0; min-height: 0; }
@media (max-width: 40rem) {
	.lpn-profile-panel { flex-direction: column; overflow: auto; }
	.lpn-profile-controls { flex: 0 0 auto; }
}
.lpn-pane-panel.lpn-pane-scroll { overflow: auto; }
.lpn-pane-panel.lpn-pane-scroll.on { display: block; }
.lpn-pane-body { position: relative; isolation: isolate; }
.lpn-pane-panel.lpn-pane-scroll {
	display: block; position: absolute; inset: 0; z-index: -1; content-visibility: hidden;
}
.lpn-pane-panel.lpn-pane-scroll.on { z-index: 1; content-visibility: visible; }
.lpn-pane-panel.lpn-pane-scroll { padding-top: 0; }
.lpn-pane-table { border-collapse: collapse; font-size: .9em; width: max-content; }
.lpn-pane-filter {
	display: flex;
	gap: 8px;
	align-items: baseline;
	flex-wrap: wrap;
	font-size: .85em;
	margin: 0 0 6px;
}
.lpn-pane-filter span {
	font-family: var(--ec-font-mono);
	overflow-wrap: anywhere;
}
.lpn-pane-filter-clear { font-size: 1em; }
.lpn-pane-table tr.lpn-pane-stale td { opacity: .5; }
.lpn-pane-table.lpn-pane-filtered tbody td.lpn-pane-col-id { position: relative; padding-inline-start: 1.3em; }
.lpn-pane-stale-mark { position: absolute; inset-inline-start: .2em; top: 50%; transform: translateY(-50%); line-height: 1; }
.lpn-pane-table th, .lpn-pane-table td { padding: 1px 6px 1px 0; text-align: center; border: 0; }
.lpn-pane-table tbody td { padding: 0; border: 0; box-shadow: inset -1px 0 0 var(--ec-border), inset 0 -1px 0 var(--ec-border); }
.lpn-pane-table tbody td.lpn-pane-first { padding: 1px 6px 1px 4px; box-shadow: inset -1px 0 0 var(--ec-border), inset 0 -1px 0 var(--ec-border), inset 1px 0 0 var(--ec-border); }
html[dir="rtl"] .lpn-pane-table tbody td { box-shadow: inset 1px 0 0 var(--ec-border), inset 0 -1px 0 var(--ec-border); }
html[dir="rtl"] .lpn-pane-table tbody td.lpn-pane-first { box-shadow: inset 1px 0 0 var(--ec-border), inset 0 -1px 0 var(--ec-border), inset -1px 0 0 var(--ec-border); }
.lpn-pane-table tbody td:not(.lpn-pane-first):not(:has(input)):not(:has(select)) { padding: 1px 6px; }
.lpn-pane-table tbody td input {
	border: 0; background: transparent; padding: 1px 4px; margin: 0; border-radius: 0;
}
.lpn-pane-table tbody td.lpn-pane-cur {
	outline: var(--ec-focus-w) solid var(--ec-accent); outline-offset: -2px;
}
.lpn-pane-table tbody td input:focus { outline: 0; }
.lpn-pane-appending .lpn-pane-table { outline: 2px dashed var(--ec-accent); outline-offset: 2px; }
.lpn-pane-table tbody td.lpn-pane-ovcell { background: var(--ec-hue-fff3cd); box-shadow: inset 0 -2px 0 var(--ec-hue-e8a33d), inset -1px 0 0 var(--ec-border); }
.lpn-pane-table tbody td.lpn-pane-sel { background: var(--ec-select-bg); }
.lpn-pane-table tbody tr.lpn-mapsel td.lpn-pane-first { box-shadow: inset 5px 0 0 var(--ec-hue-1976d2), inset -1px 0 0 var(--ec-border), inset 0 -1px 0 var(--ec-border); }
html[dir="rtl"] .lpn-pane-table tbody tr.lpn-mapsel td.lpn-pane-first { box-shadow: inset -5px 0 0 var(--ec-hue-1976d2), inset 1px 0 0 var(--ec-border), inset 0 -1px 0 var(--ec-border); }
.lpn-find-row.lpn-mapsel { box-shadow: inset 5px 0 0 var(--ec-hue-1976d2); }
html[dir="rtl"] .lpn-find-row.lpn-mapsel { box-shadow: inset -5px 0 0 var(--ec-hue-1976d2); }
.lpn-find-hint { margin: 0 0 2px; font-size: .85em; color: var(--ec-ink-muted); }
.lpn-pane-table tbody td.lpn-pane-fillcorner { position: relative; }
.lpn-pane-fillhandle {
	position: absolute; inset-inline-end: 0; inset-block-end: 0; width: 6px; height: 6px;
	background: var(--ec-accent); border: 1px solid var(--ec-bg); box-sizing: border-box; cursor: crosshair;
	touch-action: none; z-index: 3;
}
.lpn-pane-table tbody td.lpn-pane-fillrange { outline: 1px dashed var(--ec-accent); outline-offset: -1px; }
.lpn-pane-table th.lpn-pane-first, .lpn-pane-table td.lpn-pane-first { text-align: start; }
.lpn-pane-table th.lpn-pane-col-id, .lpn-pane-table td.lpn-pane-col-id { text-align: center; }
.lpn-pane-table thead tr { position: sticky; top: 0; z-index: 2; }
.lpn-pane-table thead th { -webkit-touch-callout: none; }
.lpn-pane-table thead th, .lpn-pane-sort { user-select: none; }
.lpn-pane-table thead th {
	position: relative; background: var(--ec-bg);
	padding-top: 6px; box-shadow: inset -1px 0 0 var(--ec-border), inset 0 1px 0 var(--ec-border), inset 0 -1px 0 var(--ec-border-strong);
}
.lpn-pane-table thead th:first-child {
	box-shadow: inset -1px 0 0 var(--ec-border), inset 1px 0 0 var(--ec-border), inset 0 1px 0 var(--ec-border), inset 0 -1px 0 var(--ec-border-strong);
}
html[dir="rtl"] .lpn-pane-table thead th {
	box-shadow: inset 1px 0 0 var(--ec-border), inset 0 1px 0 var(--ec-border), inset 0 -1px 0 var(--ec-border-strong);
}
html[dir="rtl"] .lpn-pane-table thead th:first-child {
	box-shadow: inset 1px 0 0 var(--ec-border), inset -1px 0 0 var(--ec-border), inset 0 1px 0 var(--ec-border), inset 0 -1px 0 var(--ec-border-strong);
}
.lpn-pane-table thead th.lpn-pane-head-sel { background: var(--ec-select); color: var(--ec-bg); }
.lpn-pane-table th.lpn-pane-num, .lpn-pane-table td.lpn-pane-num { font-variant-numeric: tabular-nums; }
.lpn-pane-table td.lpn-pane-stated { font-style: italic; color: var(--ec-ink-muted); }
.lpn-pane-table input { width: var(--lpn-pane-col-w, 7em); text-align: inherit; }
.lpn-pane-table thead th.lpn-pane-tight,
.lpn-pane-table thead th.lpn-pane-tight .lpn-pane-sort { overflow-wrap: anywhere; word-break: break-word; }
.lpn-pane-table tbody td select {
	width: var(--lpn-pane-col-w); max-width: 100%; min-width: 0;
	border: 0; background: transparent; padding: 1px 2px; margin: 0; font: inherit;
	text-align: inherit;
}
.lpn-pane-table tbody td select.lpn-pane-dragged { min-width: 0; }
.lpn-pane-table tbody td input { min-width: 0; max-width: 100%; }
.lpn-pane-table tbody td { overflow: hidden; }
.lpn-pane-scntable tbody td:not(:has(input, select)) { max-width: 0; white-space: nowrap; }
.lpn-pane-table tbody td input[readonly] { user-select: none; }
.lpn-pane-table tbody td input[readonly]::selection { background: transparent; color: inherit; }
.lpn-pane-table tbody td, .lpn-pane-table tbody td input, .lpn-pane-table tbody td select { line-height: round(up, 1.35em, 1px); }
.lpn-pane-sort, .lpn-pane-goto {
	background: none; border: 0; font: inherit; padding: 0; cursor: pointer; color: inherit;
	text-align: inherit;
}
.lpn-pane-sort { font-weight: bold; display: block; width: 100%; cursor: inherit; }
.lpn-pane-hunit { display: inline-block; overflow-wrap: anywhere; }
.lpn-pane-sort:focus-visible { outline: none; }
.lpn-pane-goto {
	display: inline-flex; align-items: center; margin-inline-start: 4px; padding: 1px;
	color: var(--ec-hue-667); vertical-align: middle; line-height: 0;
}
.lpn-pane-table tbody td.lpn-pane-idcell { white-space: nowrap; }
.lpn-pane-goto svg { width: 0.95em; height: 0.95em; }
.lpn-pane-goto:hover, .lpn-pane-goto:focus-visible { color: var(--ec-accent); }
.lpn-pane-goto:focus-visible { outline: var(--ec-focus-w) solid var(--ec-accent); outline-offset: 1px; }
.lpn-pane-table thead th:has(:focus-visible) { outline: 0; background: var(--ec-select-bg); }
.lpn-pane-table thead th.lpn-pane-head-sel:has(:focus-visible) { background: var(--ec-select); }
.lpn-pane-ctxmenu {
	position: fixed; z-index: 1900; background: var(--ec-bg); border: 1px solid var(--ec-gray-999); border-radius: var(--ec-radius-s);
	box-shadow: 0 2px 8px var(--ec-a-0-0-0-25); padding: 2px; min-width: 9em;
}
.lpn-pane-ctxmenu button {
	display: flex; justify-content: space-between; align-items: center; gap: 1.5em; width: 100%;
	text-align: left; background: none; border: 0; font: inherit;
	padding: 5px 10px; cursor: pointer; color: inherit; border-radius: var(--ec-radius-xs);
}
.lpn-pane-ctxmenu-accel { color: var(--ec-gray-888); font-size: .85em; white-space: nowrap; }
.lpn-pane-ctxmenu button:hover, .lpn-pane-ctxmenu button:focus-visible { background: var(--ec-hue-eef1f4); outline: 0; }
.lpn-pane-ctxmenu button:disabled, .lpn-pane-ctxmenu button[aria-disabled="true"] { color: var(--ec-gray-888); cursor: default; background: none; }
.lpn-pane-colgrip {
	position: absolute; top: 0; inset-inline-end: 0; width: 7px; height: 100%;
	cursor: col-resize; user-select: none;
}
.lpn-pane-colgrip:hover { background: linear-gradient(to right, transparent 5px, var(--ec-hue-8ab) 5px, var(--ec-hue-8ab) 6px, transparent 6px); }
.lpn-pane-table thead th { cursor: pointer; position: relative; }
.lpn-pane-table thead th.lpn-pane-head-sel { cursor: grab; }
.lpn-pane-table thead th.lpn-pane-head-sel:active { cursor: grabbing; }
.lpn-pane-table thead th.lpn-pane-head-sel .lpn-pane-sort { cursor: grab; }
.lpn-pane-table thead th.lpn-pane-head-sel:active .lpn-pane-sort { cursor: grabbing; }
.lpn-pane-col-dragging, .lpn-pane-col-dragging * { cursor: grabbing !important; }
.lpn-pane-col-ghost {
	position: fixed; z-index: 2000; pointer-events: none; box-sizing: border-box;
	background: var(--ec-a-60-64-67-14); border: 1px solid var(--ec-a-60-64-67-5);
	box-shadow: 0 1px 4px var(--ec-a-0-0-0-18);
}
.lpn-pane-col-marker {
	position: fixed; z-index: 2001; pointer-events: none; width: 4px; background: var(--ec-hue-3c4043);
}
.lpn-pane-col-dragging .lpn-pane-colmenu,
.lpn-pane-col-dragging .lpn-pane-sortarrow { visibility: hidden; }
.lpn-pane-colmenu {
	position: absolute; inset-inline-end: 1px; top: 2px; height: 1.1em; width: 15px;
	display: flex; align-items: center; justify-content: center;
	background: var(--ec-bg); border: 0; border-radius: var(--ec-radius-xs); padding: 0; margin: 0; font: inherit;
	font-weight: normal; color: var(--ec-hue-5f6368); cursor: pointer; opacity: 0;
}
.lpn-pane-colmenu::after { content: '⋮'; }
.lpn-pane-sortarrow {
	position: absolute; inset-inline-end: 1px; top: calc(2px + 1.1em); height: calc(5px + 1.05em);
	width: 15px; box-sizing: border-box; padding: 5px 0 0; margin: 0;
	display: flex; align-items: center; justify-content: center;
	background: var(--ec-bg); background-clip: content-box; border: 0; border-radius: var(--ec-radius-xs); font: inherit;
	font-weight: normal; color: var(--ec-hue-5f6368); cursor: pointer; opacity: 0;
}
.lpn-pane-sortarrow::after { content: '▲'; font-size: .8em; }
.lpn-pane-sortarrow-desc::after { content: '▼'; }
.lpn-pane-colmenu:hover, .lpn-pane-sortarrow:hover,
.lpn-pane-table thead th:has(.lpn-pane-colmenu:hover, .lpn-pane-sortarrow:hover) .lpn-pane-colmenu,
.lpn-pane-table thead th:has(.lpn-pane-colmenu:hover, .lpn-pane-sortarrow:hover) .lpn-pane-sortarrow,
.lpn-pane-table thead th:has(:focus-visible) .lpn-pane-colmenu,
.lpn-pane-table thead th:has(:focus-visible) .lpn-pane-sortarrow,
.lpn-pane-sortarrow-active { opacity: 1; }
.lpn-pane-colmenu:hover, .lpn-pane-colmenu:focus-visible,
.lpn-pane-sortarrow:hover, .lpn-pane-sortarrow:focus-visible { color: var(--ec-select); outline: 0; }
.lpn-pane-table thead th.lpn-pane-head-sel .lpn-pane-colmenu,
.lpn-pane-table thead th.lpn-pane-head-sel .lpn-pane-sortarrow { background-color: var(--ec-select); color: var(--ec-bg); }
.lpn-pane-table thead th.lpn-pane-head-sel .lpn-pane-colmenu:hover,
.lpn-pane-table thead th.lpn-pane-head-sel .lpn-pane-sortarrow:hover { color: var(--ec-select-bg-strong); }
.lpn-pane-table thead th:not(.lpn-pane-head-sel):has(:focus-visible) .lpn-pane-colmenu,
.lpn-pane-table thead th:not(.lpn-pane-head-sel):has(:focus-visible) .lpn-pane-sortarrow { background-color: var(--ec-select-bg); }
@media (hover: none) { .lpn-pane-colmenu, .lpn-pane-sortarrow { opacity: 1; } }
.lpn-managecols-wrap { display: flex; gap: 10px; align-items: flex-start; }
.lpn-managecols-list {
	flex: 1 1 auto; max-height: 16em; overflow-y: auto; border: 1px solid var(--ec-border-strong); border-radius: var(--ec-radius-s);
	user-select: none;
}
.lpn-managecols-list:focus-visible { outline: var(--ec-focus-w) solid var(--ec-accent); outline-offset: -2px; }
.lpn-managecols-row {
	display: flex; align-items: center; gap: 6px; padding: 3px 6px; border-bottom: 1px solid var(--ec-gray-eee);
	cursor: pointer;
}
.lpn-managecols-row:last-child { border-bottom: 0; }
.lpn-managecols-row-sel { background: var(--ec-select-bg-strong); }
.lpn-managecols-row-focus { box-shadow: inset 0 0 0 1px var(--ec-hue-667); }
.lpn-managecols-btns { display: flex; flex-direction: column; gap: 4px; flex: 0 0 auto; }
.lpn-managecols-btns button {
	background: none; border: 1px solid var(--ec-border-strong); border-radius: var(--ec-radius-xs); cursor: pointer;
	padding: 3px 8px; font: inherit; white-space: nowrap;
}
.lpn-managecols-btns button:disabled { color: var(--ec-gray-bbb); border-color: var(--ec-gray-eee); cursor: default; }
table.lpn-notes-table { border-collapse: collapse; margin: .25em 0 0; width: 100%; }
table.lpn-notes-table td { padding: 0 .75em .3em 0; vertical-align: top; }
table.lpn-notes-table td:first-child { font-weight: bold; width: 40%; }
@media (max-width: 480px) {
	table.lpn-notes-table, table.lpn-notes-table tbody, table.lpn-notes-table tr, table.lpn-notes-table td { display: block; width: auto; }
	table.lpn-notes-table tr { margin-bottom: .4em; }
	table.lpn-notes-table td { padding: 0; }
}
#lpn_print_area { display: none; }
@media print {
	body.lpn-printing-table > *:not(#lpn_print_area) { display: none !important; }
	body.lpn-printing-table #lpn_print_area { display: block !important; }
	#lpn_print_area h1 { font-size: 14pt; margin: 0 0 2pt; }
	#lpn_print_area h2 { font-size: 12pt; margin: 0 0 8pt; font-weight: normal; }
	#lpn_print_area h3 { font-size: 10pt; margin: 0 0 8pt; font-weight: normal; }
	.lpn-print-table { border-collapse: collapse; font-size: 9pt; }
	#lpn_print_area .lpn-print-table tbody td { padding: .07em .42em; }
	#lpn_print_area .lpn-print-table thead th { padding: .42em .42em .07em 0; }
	.lpn-print-table thead { display: table-header-group; }
	#lpn_print_area .lpn-print-table thead th {
		position: static; box-shadow: none; border: 1px solid #ddd; border-bottom-color: #ccc;
	}
	#lpn_print_area .lpn-print-table tbody td { box-shadow: none; border: 1px solid #ddd; }
	#lpn_print_area .lpn-print-table tbody td.lpn-pane-first { padding: .07em .42em .07em .28em; }
	.lpn-print-table tr { page-break-inside: avoid; }
	body.lpn-printing-table #lpn_print_area { container-type: inline-size; }
	.lpn-print-table.lpn-print-fixed { table-layout: fixed; }
	.lpn-print-table.lpn-print-fixed th, .lpn-print-table.lpn-print-fixed td { overflow-wrap: anywhere; }
	#lpn_print_area .lpn-print-table.lpn-print-fixed th, #lpn_print_area .lpn-print-table.lpn-print-fixed td { font-size: .97em; }
	#lpn_print_area .lpn-print-report { width: auto; max-width: 100%; table-layout: auto; margin-bottom: 8pt; }
	#lpn_print_area .lpn-print-report th, #lpn_print_area .lpn-print-report td { overflow-wrap: normal; word-break: normal; white-space: normal; }
}
.lpn-setbox {
	width: min(38.625rem, 94vw);
	height: min(46rem, 92vh);
	flex-direction: column;
	box-sizing: border-box;
	resize: both;
	overflow: hidden;
	min-width: var(--lpn-box-min-w, 5rem);
	min-height: min(18rem, 92vh);
	max-width: 98vw;
	max-height: 96vh;
}
.lpn-resize-grip { display: none; }
@media (any-pointer: coarse) {
	.lpn-resize-grip {
		display: block; position: absolute; right: 0; bottom: 0; width: 28px; height: 28px;
		z-index: 2; cursor: se-resize; touch-action: none;
		background:
			linear-gradient(315deg, transparent 0 8px, var(--ec-gray-999) 8px 10px, transparent 10px 13px, var(--ec-gray-999) 13px 15px, transparent 15px);
	}
}
@supports (height: 100dvh) {
	.lpn-setbox { height: min(46rem, 92dvh); min-height: min(18rem, 92dvh); max-height: 96dvh; }
}
.lpn-setbox-title {
	position: absolute; top: 0; left: 0; right: 0; height: 39px; box-sizing: border-box;
	padding: 10px 12px 0; font-weight: bold; pointer-events: none;
	border-bottom: 1px solid var(--ec-border-strong); white-space: nowrap;
	overflow: clip; overflow-clip-margin: content-box;
	font-family: var(--ec-font-title); font-weight: var(--ec-title-weight); color: var(--ec-title-ink); text-transform: var(--ec-title-case); letter-spacing: var(--ec-title-tracking);
	background-image: var(--ec-titlebar-image); text-shadow: var(--ec-title-halo);
	background-position: var(--ec-titlebar-pos); background-size: var(--ec-titlebar-size); background-repeat: var(--ec-titlebar-repeat);
	padding-inline-start: var(--ec-title-pad-start);
	border-radius: var(--ec-box-radius) var(--ec-box-radius) 0 0;
}
.lpn-setbox-title .ec-tip {
	pointer-events: auto; cursor: pointer; display: inline-block;
	min-width: 24px; height: 24px; line-height: 24px; margin-top: -4px; text-align: center; vertical-align: top;
}
.lpn-box-corner {
	position: absolute; top: 0; right: 40px; height: 39px;
	display: flex; align-items: center; pointer-events: none;
}
.lpn-box-corner > * { pointer-events: auto; }
html[dir="rtl"] .lpn-setbox-title { background-position: var(--ec-titlebar-pos-rtl); }
.lpn-setbox-title:has(~ .lpn-popover-x) { padding-right: min(40px, calc(100% - var(--ec-title-pad-start))); }
.lpn-has-corner > .lpn-setbox-title { padding-right: min(calc(40px + var(--lpn-corner-w, 0px)), calc(100% - var(--ec-title-pad-start))); }
@supports not (overflow-clip-margin: content-box) {
	.lpn-setbox-title:has(~ .lpn-popover-x) { right: 40px; padding-right: 0; }
	.lpn-has-corner > .lpn-setbox-title { right: min(calc(40px + var(--lpn-corner-w, 0px)), calc(100% - 2px)); padding-right: 0; }
}
.lpn-corner-btn {
	width: 28px; height: 39px; padding: 0; border: 0; background: transparent;
	color: var(--ec-ink); cursor: pointer;
	display: inline-flex; align-items: center; justify-content: center;
}
.lpn-corner-btn:hover, .lpn-corner-btn:focus-visible { background: var(--ec-gray-eee); color: var(--ec-ink-black); }
.lpn-corner-btn[aria-pressed="true"] { background: var(--ec-pressed-bg); }
.lpn-corner-help { display: inline-flex; align-items: center; justify-content: center; width: 28px; height: 39px; }
.lpn-dragpanel.lpn-docked {
	left: var(--lpn-dock-x) !important; top: var(--lpn-dock-y) !important;
	width: var(--lpn-dock-w) !important; height: var(--lpn-dock-h) !important;
	min-width: 0 !important; min-height: 0 !important; max-width: none !important; max-height: none !important;
	resize: none !important; box-shadow: none !important;
}
.lpn-docked > .lpn-resize-grip { display: none !important; }
.lpn-docked .lpn-popover-body { max-height: none !important; }
.lpn-dragpanel.lpn-dock-collapsed { visibility: hidden !important; pointer-events: none !important; content-visibility: hidden !important; }
.lpn-dragpanel.lpn-dock-out { box-shadow: 2px 2px 8px var(--ec-a-0-0-0-3) !important; }
.lpn-dock-strip {
	position: fixed; z-index: 7; display: flex; flex-direction: column; gap: 4px;
	width: 24px; box-sizing: border-box; padding: 4px 0; overflow: hidden;
	background: var(--ec-gray-f2f2f2); border: 1px solid var(--ec-border-strong);
}
.lpn-dock-strip:empty { display: none; }
.lpn-dock-tab {
	writing-mode: vertical-rl; flex: 0 1 auto; min-height: 0; max-height: 14em;
	padding: 8px 2px; margin: 0 1px; border: 1px solid var(--ec-border-strong); border-radius: var(--ec-radius-s);
	background: var(--ec-bg); color: var(--ec-ink); font-size: 12px; line-height: 1.2;
	white-space: nowrap; overflow: hidden; cursor: pointer;
}
.lpn-dock-tab.lpn-dock-tab-drag { cursor: grabbing; box-shadow: 0 0 0 2px var(--ec-hover-border); }
.lpn-dock-tab:hover, .lpn-dock-tab:focus-visible, .lpn-dock-tab[aria-expanded="true"] {
	background: var(--ec-hover-bg); border-color: var(--ec-hover-border);
}
.lpn-dock-tab[aria-pressed="true"] { background: var(--ec-pressed-bg); border-color: var(--ec-pressed-border); box-shadow: var(--ec-bevel-in); }
.lpn-dock-grip {
	position: fixed; z-index: 7; width: 8px; margin-left: -4px; cursor: col-resize; touch-action: none;
	display: none; background: transparent;
}
.lpn-dock-grip::after {
	content: ""; position: absolute; top: 50%; left: 50%; width: 4px; height: 32px; margin: -16px 0 0 -2px;
	border-radius: 2px; background: var(--ec-gray-bbb);
}
.lpn-dock-grip.lpn-dock-grip-live { display: block; }
@media (pointer: coarse), (max-width: 700px) {
	#lpn_dock_grip_right, #lpn_dock_grip_left { width: 12px; margin-left: -6px; }
}
@media (hover: hover) and (pointer: fine) { .lpn-dock-grip:hover::after { background: var(--ec-border-strong); } }
.lpn-dock-grip.lpn-dock-grip-held::after { background: var(--ec-border-strong); }
.lpn-dock-grip.lpn-dock-hgrip { width: auto; height: 19px; margin: -10px 0 0 0; cursor: row-resize; }
.lpn-dock-grip.lpn-dock-hgrip::after { width: 32px; height: 4px; margin: -2px 0 0 -16px; }
.lpn-map-wrap { margin-left: var(--lpn-dock-ml, 0px); margin-right: var(--lpn-dock-mr, 0px); }
@media print { .lpn-map-wrap { margin-left: 0; margin-right: 0; } }
.lpn-new-block { margin: 0 0 10px; padding: 0; border: 0; }
.lpn-new-block > legend { padding: 0; font-size: 1em; font-weight: bold; }
.lpn-new-block > label { display: block; }
.lpn-new-block label > input[type="radio"] { margin-right: .4em; }
.lpn-new-block > input[type="text"] { width: 100%; box-sizing: border-box; padding: 3px 6px; }
.lpn-new-crs-name { margin-left: .5em; overflow-wrap: anywhere; }
.lpn-new-crs-name.lpn-dim { opacity: .55; }
#lpn_convas_panel .lpn-dim { opacity: .7; margin: 2px 0 4px; }
#lpn_convas_panel .lpn-grow > .lpn-gwrap { display: flex; flex-wrap: nowrap; align-items: stretch; gap: 0; margin: 0; padding: 0; align-self: stretch; justify-self: stretch; box-sizing: border-box; width: auto; max-width: none; min-width: 0; }
#lpn_convas_panel .lpn-gwrap > :is(select, input) {
	margin: 0; border: 0; border-radius: 0; background: transparent; padding: 2px 6px; box-sizing: border-box; font: inherit; font-size: .85rem; line-height: 1.3; min-width: 0; align-self: stretch;
}
#lpn_convas_panel .lpn-gwrap > input[type="radio"] { flex: none; align-self: center; padding: 0; margin: 0 6px; }
#lpn_convas_panel .lpn-gwrap > .lpn-new-crs-name { align-self: center; }
#lpn_convas_panel .lpn-gwrap > :is(select, input):hover:not(:focus) { background: var(--ec-hover-bg); }
#lpn_convas_panel .lpn-gwrap > :is(select, input):focus { outline: var(--ec-focus-w) solid var(--ec-accent); outline-offset: -2px; }
#lpn_convas_panel .lpn-convas-c1 { flex: 0 0 min(var(--lpn-convas-c1, min(8.5rem, 63%)), 100% - 2rem); width: auto; }
#lpn_convas_panel .lpn-convas-c2 { flex: 1 1 0; width: auto; border-inline-start: 1px solid var(--ec-hairline); }
#lpn_convas_panel .lpn-grid > .lpn-convas-split { display: block; grid-column: 2 / 3; grid-row: auto; inset-inline-end: auto; inset-inline-start: calc(min(var(--lpn-convas-c1, min(8.5rem, 63%)), 100% - 2rem) - 3px); }
@media (pointer: coarse) { #lpn_convas_panel .lpn-grid > .lpn-convas-split { inset-inline-start: calc(min(var(--lpn-convas-c1, min(8.5rem, 63%)), 100% - 2rem) - 8px); } }
#lpn_convas_panel .lpn-convas-colhead { font-size: .85em; }
#lpn_convas_panel .lpn-sheet .lpn-grow.lpn-convas-colhead, #lpn_convas_panel .lpn-convas-colhead.lpn-grow { min-height: 1.1rem; }
#lpn_convas_panel .lpn-convas-colhead > .lpn-gname { padding-block: 0; }
#lpn_convas_panel .lpn-convas-colhead > .lpn-gval { margin-block: 0; }
#lpn_convas_panel .lpn-convas-colhead .lpn-gwrap > span { box-sizing: border-box; padding: 1px 6px; min-width: 0; line-height: 1.3; }
#lpn_convas_panel .lpn-convas-colhead .lpn-convas-c2 { overflow: hidden; white-space: nowrap; }
#lpn_convas_panel p.lpn-dim { font-size: .9em; max-width: 36rem; margin-block: 2px 0; }
#lpn_convas_panel, #lpn_crsbox, #lpn_new_panel { max-width: min(40rem, calc(100vw - 8px)); flex-direction: column; resize: both; overflow: hidden; min-width: var(--lpn-box-min-w, 5rem); }
#lpn_convas_panel.lpn-float-sized, #lpn_crsbox.lpn-float-sized, #lpn_new_panel.lpn-float-sized { max-width: calc(100vw - 8px); }
#lpn_convas_panel > .lpn-popover-body, #lpn_crsbox > .lpn-popover-body, #lpn_new_panel > .lpn-popover-body { flex: 1 1 auto; min-height: 0; max-height: none; }
#lpn_convas_panel > .lpn-convas-foot { flex: none; }
.lpn-new-block > input[type="text"]:disabled { background: var(--ec-gray-f2f2f2); color: var(--ec-gray-777); cursor: not-allowed; }
.lpn-new-presets { margin: 4px 0 6px; display: flex; gap: 6px; }
.lpn-new-actions { display: flex; gap: 8px; align-items: center; }
.lpn-new-actions > button:first-child { font-weight: bold; }
.lpn-setbox-body { display: flex; flex-direction: column; flex: 1 1 auto; min-height: 0; }
.lpn-setbox-search { flex: 0 0 auto; padding-bottom: 6px; }
.lpn-setbox-search input { width: 100%; box-sizing: border-box; padding: 4px 8px; border-color: var(--ec-control-border); }
.lpn-setbox-panes { display: flex; flex: 1 1 auto; min-height: 0; gap: 10px; }
.lpn-setbox-jump { display: none; }
.lpn-setbox-index {
	flex: 0 0 7.26rem; min-width: 0; overflow: auto;
	border-right: 1px solid var(--ec-border); padding-right: 6px; font-size: .9em;
}
.lpn-setbox-content { flex: 1 1 auto; min-width: 0; overflow: auto; font-size: .9em; }
.lpn-setbox-content { overflow-anchor: none; }
.lpn-popover-body { overflow-anchor: none; }
.lpn-setbox-divider {
	flex: 0 0 6px; align-self: stretch; cursor: col-resize; margin: 0 -8px;
	background: transparent; touch-action: none;
	display: flex; align-items: center; justify-content: center;
}
.lpn-setbox-divider::before {
	content: ""; display: block; width: 2px; height: 22px;
	background: repeating-linear-gradient(to bottom, var(--ec-gray-aaa) 0 2px, transparent 2px 5px);
}
.lpn-setbox-divider:hover::before, .lpn-setbox-divider:focus::before {
	background: repeating-linear-gradient(to bottom, var(--ec-accent) 0 2px, transparent 2px 5px);
}
.lpn-setbox-content::after {
	content: ""; display: block; min-height: 100%;
}
.lpn-setbox-link {
	display: block; width: 100%; text-align: left; background: none; border: 0;
	font: inherit; padding: 2px 4px; cursor: pointer; color: inherit;
	white-space: normal; overflow-wrap: anywhere;
}
.lpn-setbox-link:hover, .lpn-setbox-link:focus { background: var(--ec-hue-eef4ff); color: var(--ec-accent); }
.lpn-setbox-link.lpn-setbox-link-sec { font-weight: bold; margin-top: 4px; }
.lpn-setbox-link.lpn-setbox-link-sub { padding-left: 16px; }
.lpn-setbox-link[aria-current="true"] { background: var(--ec-hue-eef4ff); font-weight: bold; }
.lpn-setbox-none { margin: 8px 4px; opacity: .8; }
.lpn-set-head {
	position: sticky; top: 0; z-index: 2; background: var(--ec-bg); margin: 0 0 4px;
	padding: 4px 0; font-size: 1.15rem; font-weight: bold; border-bottom: 1px solid var(--ec-border-strong);
}
.lpn-set-sec { margin-bottom: 14px; }
.lpn-set-sub { margin-top: 8px; font-size: 1rem; font-weight: 600; opacity: .8; }
.lpn-set-subbody { margin-left: 8px; }
.lpn-saved { margin-inline-start: .6em; font-size: .8em; font-weight: 400; opacity: .7; white-space: nowrap; }
@media (max-width: 600px) {
	.lpn-saved { display: inline-block; max-width: 100%; white-space: normal; }
}
.lpn-saved-row { display: block; margin-inline-start: 0; white-space: normal; overflow-wrap: anywhere; }
.lpn-managecols-width { display: flex; gap: 8px; align-items: center; margin-top: 8px; }
.lpn-managecols-width input { width: 6em; }
.lpn-set-group { margin-top: 10px; font-weight: 600; opacity: .8; text-transform: none; }
.lpn-set-minor { margin-top: 6px; font-size: .85rem; font-style: italic; }
.lpn-set-sub-silent { display: none; }
.lpn-set-note, .lpn-rp-credit { font-size: .85em; opacity: .8; }
.lpn-set-note { margin: 2px 0 4px; }
.lpn-time-ovr-btn { background: none; border: 0; padding: 0; font: inherit; text-decoration: underline; cursor: pointer; }
.lpn-cp-head { font-weight: 600; opacity: 1; }
.lpn-cp-item { margin: 2px 0; }
.lpn-cp-summary { cursor: pointer; }
.lpn-cp-key { font-weight: 600; margin-right: .5em; overflow-wrap: anywhere; }
.lpn-cp-body { margin-left: 12px; }
.lpn-cp-remove { font-size: 1em; padding: 0 .4em; }
.lpn-cp-bad { outline: 2px solid var(--ec-hue-c0392b); background: var(--ec-error-bg); }
.lpn-valwarn { color: var(--ec-warn-ink); cursor: help; line-height: 1; position: relative; }
.lpn-valwarn::after { content: ''; position: absolute; inset-block: -.6em; inset-inline-start: -.35em; width: 1.8em; }
.lpn-valwarn-inset { display: inline-block; width: 0; white-space: nowrap; inset-inline-start: -1.1em; }
label > .lpn-valwarn { margin-inline-start: .3em; }
.lpn-set-minihead { margin-top: 6px; font-weight: 600; opacity: .8; }
#lpn_settings_box .lpn-set-secbody { font-size: 1rem; }
.lpn-rpane {
	position: fixed; z-index: 6; display: flex; background: var(--ec-bg);
	border: 1px solid var(--ec-border-strong); box-shadow: -2px 0 6px var(--ec-a-0-0-0-12);
}
.lpn-rpane-grip {
	flex: 0 0 8px; cursor: col-resize; background: transparent;
	border-right: 0; touch-action: none;
}
.lpn-rpane-grip::after {
	content: ""; display: block; width: 4px; height: 32px; margin: 1rem auto 0; border-radius: 2px; background: var(--ec-gray-bbb);
}
.lpn-rpane-grip:hover::after { background: var(--ec-border-strong); }
@media (pointer: coarse) {
	.lpn-pane-grip { position: relative; height: 1px; background: var(--ec-border-strong); border-bottom: 0; }
	.lpn-pane-grip::after { content: ""; position: absolute; left: 0; right: 0; top: -12px; width: auto; height: 24px; margin: 0; background: transparent; }
	.lpn-rpane-grip { position: relative; flex: 0 0 1px; background: var(--ec-border-strong); border-right: 0; }
	.lpn-rpane-grip::after { content: ""; position: absolute; top: 0; bottom: 0; left: -12px; width: 24px; height: auto; margin: 0; background: transparent; }
	.lpn-pane-grip:hover, .lpn-rpane-grip:hover { background: var(--ec-border-strong); }
	.lpn-pane-grip:hover::after, .lpn-rpane-grip:hover::after { background: transparent; }
}
.lpn-rpane { flex-direction: row; }
.lpn-rpane-inner { display: flex; flex-direction: column; flex: 1 1 auto; min-width: 0; }
.lpn-rpane-head { display: flex; align-items: center; gap: 4px; border-bottom: 1px solid var(--ec-border); }
.lpn-rpane-title { flex: 1 1 auto; font-weight: bold; padding: 3px 8px; }
.lpn-rpane-body { flex: 1 1 auto; overflow: auto; padding: 6px 8px; font-size: .9em; }
.lpn-rpane-empty { margin: 0; opacity: .8; }
#lpn_settings_box {
	--lpn-set-ctl: 9rem;
	--lpn-set-col: 12.5rem;
	--lpn-set-name: 11.5rem;
	--lpn-set-num: 4.5rem;
	--lpn-set-numsm: 3.125rem;
}
.lpn-set-row {
	display: grid; grid-template-columns: minmax(var(--lpn-set-name-min, 6rem), var(--lpn-set-name, 11.5rem)) minmax(var(--lpn-set-col-min, 6rem), var(--lpn-set-col, 9rem));
	align-items: baseline; gap: 6px; margin: 3px 0;
}
.lpn-set-row > * { min-width: 0; }
.lpn-set-row > :nth-child(2) { justify-self: start; max-width: 100%; }
.lpn-set-row > :first-child, .lpn-set-name { white-space: normal; overflow-wrap: anywhere; font-size: .85em; opacity: .8; }
.lpn-set-row > :first-child:has(a), .lpn-set-name:has(a) { opacity: 1; }
.lpn-set-held { box-shadow: inset 3px 0 0 var(--ec-held); padding-left: 6px; }
.lpn-set-viewgroup > button { margin: 2px 0 4px; }
.lpn-setbox-link.lpn-setbox-link-held { box-shadow: inset 3px 0 0 var(--ec-held); }
.lpn-set-row-flash {
	background: var(--ec-hue-fff3cd);
	outline: 2px solid var(--ec-hue-e8a33d);
	border-radius: var(--ec-radius-s);
}
.lpn-setbox-content { container-type: inline-size; container-name: lpnset; }
.lpn-rp-credit { margin-top: 6px; }
.lpn-set-creditlink { font-size: .85em; margin: 0 0 4px; }
.lpn-set-flash { outline: 2px solid var(--ec-select); outline-offset: 2px; }
#lpn_settings_box .lpn-set-secbody input[type="number"],
#lpn_settings_box .lpn-set-secbody input[type="text"]:not([size]),
#lpn_settings_box .lpn-set-secbody input.lpn-set-num { width: var(--lpn-set-num); box-sizing: border-box; }
#lpn_settings_box .lpn-set-secbody select { width: 100%; max-width: var(--lpn-set-ctl); box-sizing: border-box; }
.lpn-set-ctlgroup { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 6px; width: 100%; }
.lpn-gis-opacity { width: 4em; }
.lpn-set-row > .lpn-gis-wide, .lpn-gis-wide, #lpn_settings_box .lpn-set-secbody input[type="text"].lpn-gis-wide { width: 100%; justify-self: stretch; box-sizing: border-box; }
.lpn-gis-item { margin: 6px 0; }
.lpn-gis-name { font-size: .85em; overflow-wrap: anywhere; }
.lpn-gis-bad { color: var(--ec-warn-ink); }
.lpn-gis-controls { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 12px; }
.lpn-gis-addbtn { margin: 4px 0; }
.lpn-gis-credit { max-width: min(40vw, 22rem); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; vertical-align: bottom; }
#lpn_settings_box .lpn-set-secbody input[type="number"],
#lpn_settings_box .lpn-set-secbody input.lpn-set-num { text-align: right; }
#lpn_settings_box .lpn-set-secbody input.lpn-digit { text-align: center; }
.lpn-ramp-strip { position: relative; height: 0.9rem; margin: 4px 0; }
.lpn-ramp-strip .lpn-color-swatch { top: 0; height: 100%; width: auto; box-sizing: border-box; }
.lpn-ramp-picker { position: relative; width: 100%; align-self: start; }
#lpn_settings_box .lpn-ramp-picker { max-width: var(--lpn-set-ctl); }
.lpn-ramp-btn {
	display: block; width: 100%; padding: 2px 3px; background: var(--ec-bg);
	border: 1px solid var(--ec-gray-767676); border-radius: var(--ec-radius-s); cursor: pointer;
}
.lpn-ramp-btn .lpn-ramp-strip { margin: 0; }
.lpn-ramp-pop {
	position: absolute; z-index: 20; top: 100%; right: 0; width: 15rem; max-height: 60vh;
	overflow-y: auto; padding: 4px 6px; background: var(--ec-bg); border: 1px solid var(--ec-gray-999);
	box-shadow: 0 4px 10px var(--ec-a-0-0-0-2);
}
.lpn-ramp-fam { font-weight: bold; font-size: .85em; margin: 8px 0 2px; }
.lpn-ramp-fam:first-child { margin-top: 0; }
.lpn-ramp-fam-eg { font-weight: normal; opacity: .75; }
.lpn-ramp-opt { padding: 2px 3px; cursor: pointer; border: 1px solid transparent; }
.lpn-ramp-opt:hover, .lpn-ramp-opt:focus { border-color: var(--ec-select); background: var(--ec-hue-eef3fd); outline: none; }
.lpn-ramp-opt[aria-selected="true"] { border-color: var(--ec-ink); background: var(--ec-gray-f0f0f0); }
.lpn-bad { outline: 2px solid var(--ec-hue-b00020); }
.lpn-color-msg { color: var(--ec-hue-b00020); font-size: .85em; margin: 2px 0; }
.lpn-color-breaks {
	display: grid; grid-template-columns: 1.4em var(--lpn-set-numsm, 2.5rem);
	column-gap: 6px; row-gap: 0; margin: 4px 0 10px; width: max-content;
}
.lpn-color-breaks > .lpn-color-swatch {
	width: auto; height: auto; align-self: stretch; min-height: 2.1em; border-top-width: 0;
}
.lpn-color-breaks > .lpn-color-swatch:first-child { border-top-width: 1px; }
.lpn-color-breaks > input {
	align-self: end; transform: translateY(50%); position: relative; z-index: 1;
}
#lpn_settings_box .lpn-set-secbody .lpn-color-breaks > input.lpn-set-num { width: var(--lpn-set-numsm); }
.lpn-color-legend { pointer-events: auto; cursor: pointer; }
.lpn-basemap-teaser {
	pointer-events: auto;
	width: 40px; height: 40px; flex: 0 0 auto;
	padding: 0; cursor: pointer;
	border: 1px solid var(--ec-ink-subtle); border-radius: var(--ec-radius-m);
	box-shadow: 0 1px 3px var(--ec-a-0-0-0-3);
	background-color: var(--ec-hue-10304f);
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Crect width='24' height='24' fill='%2310304f'/%3E%3Cg fill='%233d8b3d'%3E%3Cpath d='M1.8 3 L9.6 2.6 L8.8 5.8 L7.2 6.6 L6.4 9.2 L5 8.4 L3.4 6 L1.8 4.4 Z'/%3E%3Cpath d='M7 10 L10.6 9.4 L10.2 12.8 L8.8 15.6 L8 19 L7 15 L6.4 11.8 Z'/%3E%3Cpath d='M10.6 3.2 L22.6 2.6 L22.8 7.4 L18 8.8 L16.2 8.4 L16 10.6 L15 14 L13.6 16.8 L12.4 13 L12.2 9.2 L10.2 6.2 Z'/%3E%3Cpath d='M18.6 14.2 L22.6 13.6 L22.8 17.4 L19.4 18 Z'/%3E%3C/g%3E%3C/svg%3E");
	background-size: 100% 100%;
	background-repeat: no-repeat;
}
.lpn-basemap-teaser:hover, .lpn-basemap-teaser:focus { border-color: var(--ec-select); }
.lpn-wrong-btn {
	pointer-events: auto;
	background: none;
	border: 1px solid transparent;
	border-radius: var(--ec-radius-s);
	padding: 0 4px;
	font: inherit;
	font-size: 11px;
	color: var(--ec-ink-muted);
	cursor: pointer;
}
.lpn-status-x {
	pointer-events: auto;
	background: transparent;
	border: 0;
	border-radius: var(--ec-radius-s);
	padding: 0;
	margin-inline-start: 4px;
	margin-block: -1px;
	width: 20px;
	height: 20px;
	vertical-align: middle;
	font: inherit;
	font-size: 20px;
	line-height: 1;
	color: var(--ec-ink);
	cursor: pointer;
	position: relative;
}
@media (pointer: coarse) { .lpn-status-x::after { content: ""; position: absolute; top: -9px; bottom: -9px; left: -8px; right: -8px; } }
.lpn-status-x:hover, .lpn-status-x:focus { background: var(--ec-gray-eee); color: var(--ec-ink-black); }
.lpn-wrong-btn:hover, .lpn-wrong-btn:focus { border-color: var(--ec-gray-bbb); color: var(--ec-ink-strong); }
.lpn-wrong-btn[disabled] { color: var(--ec-ink-muted); cursor: default; border-color: transparent; opacity: 1; }
#lpn_wrong_btn { color: var(--ec-map-text-muted); }
#lpn_wrong_btn .ec-tip { color: var(--ec-map-help); }
#lpn_wrong_btn:hover, #lpn_wrong_btn:focus { color: var(--ec-map-text-strong); border-color: var(--ec-map-edge); }
#lpn_wrong_btn[disabled] { color: var(--ec-map-text-muted); border-color: transparent; }
@media (max-width: 640px) {
	#lpn_map_footer:has(~ #lpn_basemap_credit[style*="display: block"]) { padding-bottom: 18px; }
}
.lpn-fb { width: 30em; max-width: 100%; }
.lpn-fb-picks { display: flex; flex-wrap: wrap; gap: 6px; margin: 8px 0 10px; }
.lpn-fb-pick { font: inherit; padding: 4px 8px; border: 1px solid var(--ec-gray-bbb); border-radius: var(--ec-radius-s); background: var(--ec-bg); color: inherit; cursor: pointer; text-align: left; }
.lpn-fb-pick[aria-pressed="true"] { background: var(--ec-pressed-bg); border-color: var(--ec-pressed-border); }
.lpn-fb-pick[aria-pressed="true"]::before { content: ""; display: inline-block; width: 0.3em; height: 0.6em; margin: 0 0.5em 0.15em 0.1em; border: solid currentColor; border-width: 0 2px 2px 0; transform: rotate(45deg); }
.lpn-fb-label { display: block; margin-top: 8px; }
.lpn-fb textarea.lpn-fb-comment { min-height: 5em; font-family: inherit; resize: vertical; }
.lpn-fb-sends { margin: 10px 0 0; font-size: 0.9em; color: var(--ec-ink-muted); }
.lpn-fb-status { margin: 8px 0 0; min-height: 1.2em; }
.lpn-fb-status.lpn-fb-error { color: var(--ec-error-ink); }
.lpn-fb-trap { display: none; }
.lpn-msglog-btn {
	pointer-events: auto;
	display: inline-flex; align-items: center;
	background: var(--ec-bg);
	border: 1px solid var(--ec-gray-bbb); border-radius: var(--ec-radius-s);
	padding: 1px 4px; font: inherit; font-size: 11px; line-height: 1;
	color: var(--ec-ink-muted); cursor: pointer;
}
.lpn-msglog-btn:hover, .lpn-msglog-btn:focus { color: var(--ec-ink-strong); border-color: var(--ec-gray-888); }
.lpn-msglog-btn.lpn-msglog-active { background: var(--ec-hue-05a); border-color: var(--ec-hue-05a); color: var(--ec-bg); }
.lpn-msglog-btn.lpn-msglog-active:hover, .lpn-msglog-btn.lpn-msglog-active:focus { color: var(--ec-bg); border-color: var(--ec-hue-037); }
.lpn-map-wrap.lpn-clean-map #lpn_zoom_control,
.lpn-map-wrap.lpn-clean-map #lpn_map_notice,
.lpn-map-wrap.lpn-clean-map #lpn_msglog_btn,
.lpn-map-wrap.lpn-clean-map #lpn_msglog_panel,
.lpn-map-wrap.lpn-clean-map #lpn_basemap_teaser,
.lpn-map-wrap.lpn-clean-map #lpn_wrong_btn,
.lpn-map-wrap.lpn-clean-map #lpn_mode_hint,
.lpn-map-wrap.lpn-clean-map #lpn_status_notes,
.lpn-map-wrap.lpn-clean-map #lpn_status:not(.lpn-status-blocking) { display: none !important; }
.lpn-msglog-panel {
	box-sizing: border-box;
	flex-direction: column;
	gap: 4px;
	background: var(--ec-bg);
	border-radius: var(--ec-radius-s);
	padding: 4px;
}
.lpn-msglog-panel-row {
	display: flex; gap: 8px; align-items: baseline;
	background: var(--ec-map-overlay-bg);
	border: 1px solid var(--ec-gray-bbb); border-radius: var(--ec-radius-s);
	padding: 2px 6px; font-size: 11px;
}
.lpn-msglog-panel-when { flex: none; color: var(--ec-ink-subtle); }
.lpn-msglog-panel-text { flex: 1 1 auto; min-width: 0; }
.lpn-msglog-panel-warn { background: var(--ec-warn-bg); border-color: var(--ec-warn-border); }
.lpn-msglog-panel-hidden { background: var(--ec-warn-bg); border-color: var(--ec-warn-border); align-items: center; }
.lpn-msglog-hidden-mark { font-style: italic; }
.lpn-msglog-unhide {
	flex: none; font: inherit; font-size: 11px; cursor: pointer;
	background: var(--ec-bg); color: var(--ec-ink-strong);
	border: 1px solid var(--ec-gray-bbb); border-radius: var(--ec-radius-s); padding: 0 6px;
}
@media (pointer: coarse) { .lpn-msglog-unhide { min-height: 32px; padding: 0 12px; } }
.lpn-msglog-panel-empty {
	background: var(--ec-map-overlay-bg);
	border: 1px solid var(--ec-gray-bbb); border-radius: var(--ec-radius-s);
	padding: 2px 6px; font-size: 11px; color: var(--ec-ink-subtle);
}
.lpn-offscreen-card {
	pointer-events: auto;
	background: var(--ec-map-overlay-bg);
	border: 1px solid var(--ec-gray-bbb); border-radius: var(--ec-radius-s);
	padding: 10px 16px;
}
.lpn-msglog-panel-note { font-size: 0.85em; color: var(--ec-ink-subtle); padding: 2px 6px; background: var(--ec-map-overlay-bg); }
.lpn-basemap-teaser.lpn-basemap-teaser-on {
	background-color: var(--ec-hue-eae7e0);
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Crect width='24' height='24' fill='%23eae7e0'/%3E%3Cg stroke='%23c3bdb1' stroke-width='0.9' fill='none'%3E%3Cpath d='M0 6.5 L24 6.5'/%3E%3Cpath d='M0 13.5 L24 13.5'/%3E%3Cpath d='M0 19.5 L24 19.5'/%3E%3Cpath d='M5.5 0 L5.5 24'/%3E%3Cpath d='M12 0 L12 24'/%3E%3Cpath d='M18.5 0 L18.5 24'/%3E%3C/g%3E%3Cpath stroke='%23c3bdb1' stroke-width='1.4' fill='none' d='M0 10 L24 10.6'/%3E%3Cpath fill='%2310304f' d='M24 0 L24 11 L13 0 Z'/%3E%3Cpath fill='%232e7d32' d='M24 4 L24 9 L19 4 Z'/%3E%3Cpath stroke='%23fff' stroke-width='0.8' fill='none' d='M13 0 L24 11'/%3E%3C/svg%3E");
}
.lpn-basemap-teaser.lpn-basemap-teaser-outdoors {
	background-color: var(--ec-hue-eae7e0);
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Crect width='24' height='24' fill='%23eae7e0'/%3E%3Cg fill='none' stroke='%232e7d32' stroke-width='1.1'%3E%3Cpath d='M2 20 C6 8 16 8 22 20'/%3E%3Cpath d='M6 20 C9 13 15 13 18 20'/%3E%3Cpath d='M10 20 C11 17 13 17 14 20'/%3E%3C/g%3E%3Cpath stroke='%23c3bdb1' stroke-width='1.2' fill='none' d='M0 4 C6 6 14 2 24 5'/%3E%3C/svg%3E");
}
.lpn-mapbox-logo {
	display: inline-block; vertical-align: middle;
	width: 65px; height: 17px;
	background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='M10 13c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h9c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-9z'/%3E%3C/svg%3E");
	background-size: 100% 100%;
	background-repeat: no-repeat;
}
#lpn_labels_node_fields,
#lpn_labels_link_fields,
#lpn_labels_customer_fields { font-size: 1rem; }
#lpn_labels_node_fields .lpn-lblgroup > span:nth-child(1),
#lpn_labels_link_fields .lpn-lblgroup > span:nth-child(1),
#lpn_labels_customer_fields .lpn-lblgroup > span:nth-child(1),
#lpn_labels_node_fields .lpn-lblgroup > span:nth-child(2),
#lpn_labels_link_fields .lpn-lblgroup > span:nth-child(2),
#lpn_labels_customer_fields .lpn-lblgroup > span:nth-child(2) { width: 2.2rem !important; }
#lpn_labels_node_fields .lpn-lblgroup > span:nth-child(3),
#lpn_labels_link_fields .lpn-lblgroup > span:nth-child(3),
#lpn_labels_customer_fields .lpn-lblgroup > span:nth-child(3) { width: 1.85rem !important; }
#lpn_labels_node_fields .lpn-lblgroup > span:nth-child(4),
#lpn_labels_link_fields .lpn-lblgroup > span:nth-child(4),
#lpn_labels_customer_fields .lpn-lblgroup > span:nth-child(4),
#lpn_labels_node_fields .lpn-lblgroup > span:nth-child(5),
#lpn_labels_link_fields .lpn-lblgroup > span:nth-child(5),
#lpn_labels_customer_fields .lpn-lblgroup > span:nth-child(5),
#lpn_labels_node_fields .lpn-lblgroup > span:nth-child(6),
#lpn_labels_link_fields .lpn-lblgroup > span:nth-child(6),
#lpn_labels_customer_fields .lpn-lblgroup > span:nth-child(6) { width: 2.2rem !important; }
#lpn_labels_node_fields .lpn-lblgroup > input,
#lpn_labels_link_fields .lpn-lblgroup > input,
#lpn_labels_customer_fields .lpn-lblgroup > input { flex-shrink: 0; }
#lpn_labels_node_fields > .lpn-set-colhead .lpn-lblgroup > span,
#lpn_labels_link_fields > .lpn-set-colhead .lpn-lblgroup > span,
#lpn_labels_customer_fields > .lpn-set-colhead .lpn-lblgroup > span { overflow-wrap: anywhere; }
#lpn_labels_node_fields > div > label,
#lpn_labels_link_fields > div > label,
#lpn_labels_customer_fields > div > label { min-width: 0; overflow-wrap: anywhere; }
#lpn_labels_node_fields,
#lpn_labels_link_fields,
#lpn_labels_customer_fields { min-width: min(14.88rem, 100%); }
#lpn_labels_node_fields input.lpn-digit,
#lpn_labels_link_fields input.lpn-digit,
#lpn_labels_customer_fields input.lpn-digit { -moz-appearance: textfield; appearance: textfield; }
#lpn_labels_node_fields > div > label,
#lpn_labels_link_fields > div > label,
#lpn_labels_customer_fields > div > label,
#lpn_labels_node_fields > div > span:first-child,
#lpn_labels_link_fields > div > span:first-child,
#lpn_labels_customer_fields > div > span:first-child { max-width: 11.5rem; }
#lpn_labels_node_fields > div > label,
#lpn_labels_link_fields > div > label,
#lpn_labels_customer_fields > div > label,
#lpn_labels_node_fields > div > .lpn-lblhead-lead,
#lpn_labels_link_fields > div > .lpn-lblhead-lead,
#lpn_labels_customer_fields > div > .lpn-lblhead-lead { flex: 0 0 11.5rem; max-width: 100%; box-sizing: border-box; min-width: 0; }
.lpn-lblgroup { display: flex; flex: 0 0 auto; align-items: baseline; gap: 4px; }
#lpn_labels_node_fields > div > label,
#lpn_labels_link_fields > div > label,
#lpn_labels_customer_fields > div > label { overflow-wrap: anywhere; }
.lpn-set-colhead > .lpn-lblgroup { align-items: flex-end; }
#lpn_labels_node_fields,
#lpn_labels_link_fields,
#lpn_labels_customer_fields { container-type: inline-size; container-name: lpnlbl; }
@container lpnlbl (max-width: 26.95rem) {
	#lpn_labels_node_fields > div:not(.lpn-set-colhead),
	#lpn_labels_link_fields > div:not(.lpn-set-colhead),
	#lpn_labels_customer_fields > div:not(.lpn-set-colhead) { margin-top: 10px; row-gap: 0; }
	#lpn_labels_node_fields > div:not(.lpn-set-colhead):first-child,
	#lpn_labels_link_fields > div:not(.lpn-set-colhead):first-child,
	#lpn_labels_customer_fields > div:not(.lpn-set-colhead):first-child { margin-top: 0; }
}
html:has(#lpn_canvas) form#formInput { margin-bottom: 0; }
html:has(#lpn_canvas) { overflow: hidden; }
.lpn-runbox {
	position: fixed; right: 1em; bottom: 2.2em; z-index: 1200;
	box-sizing: border-box; width: 26rem; max-width: calc(100vw - 2em);
	padding: 0.5em 0.75em 0.6em; border: 1px solid var(--ec-border-strong); border-radius: var(--ec-radius-m);
	background: var(--ec-bg); box-shadow: 0 2px 8px var(--ec-a-0-0-0-2); font-size: 0.9em;
}
.lpn-runbox-head { display: flex; align-items: center; gap: 0.5em; }
.lpn-runbox-title { font-weight: bold; flex: 1 1 auto; }
.lpn-runbox-pct { flex: 0 0 auto; font-variant-numeric: tabular-nums; color: var(--ec-ink-muted); }
.lpn-runbox-x {
	flex: 0 0 auto; width: 1.8em; height: 1.8em; line-height: 1;
	padding: 0; border: 0; background: transparent; font-size: 1.1em; color: var(--ec-ink); cursor: pointer;
}
.lpn-runbox-x:hover, .lpn-runbox-x:focus { background: var(--ec-gray-eee); color: var(--ec-ink-black); }
.lpn-runbox-msg { margin: 0.25em 0 0.4em; }
.lpn-runbox-bar { height: 0.5em; background: var(--ec-gray-e6e6e6); border-radius: var(--ec-radius-s); overflow: hidden; }
.lpn-runbox-fill { height: 100%; width: 0; background: var(--ec-hue-1976d2); }
.lpn-runbox-hide {
	display: block; margin-top: 0.5em; font-size: .85em; color: var(--ec-ink-muted); cursor: pointer;
}
.lpn-runbox-hide input { margin-right: 0.15em; vertical-align: baseline; }
.lpn-runbox-reportbtn {
	margin-top: 0.4em; font: inherit; font-size: .85em;
	padding: 1px 8px; cursor: pointer; background: none; border: 1px solid var(--rule, var(--ec-gray-999));
	border-radius: var(--ec-radius-s); color: inherit;
}
.lpn-runbox-reportbtn:hover, .lpn-runbox-reportbtn:focus { background: var(--ec-hue-eef3fd); }
.lpn-libbox { width: min(44rem, 94vw); }
.lpn-notesbox { width: min(44rem, 94vw); }
.lpn-guidebox { width: min(62rem, 94vw); }
.lpn-guide-body { container-type: inline-size; }
.lpn-guide-panes { display: flex; flex: 1 1 auto; min-height: 0; gap: 10px; }
.lpn-guide-rail {
	flex: 0 0 240px; min-width: 0; display: flex; flex-direction: column; min-height: 0;
	border-inline-end: 1px solid var(--ec-border); padding-inline-end: 6px; font-size: .9em;
}
.lpn-guide-railhead { display: flex; align-items: center; gap: 4px; flex: 0 0 auto; padding-bottom: 4px; }
.lpn-guide-railtitle { font-weight: bold; }
.lpn-guide-railtoggle {
	width: 28px; height: 28px; padding: 0; border: 0; background: transparent; color: var(--ec-ink);
	cursor: pointer; display: inline-flex; align-items: center; justify-content: center;
}
.lpn-guide-railtoggle:hover, .lpn-guide-railtoggle:focus-visible { background: var(--ec-gray-eee); color: var(--ec-ink-black); }
html[dir="rtl"] .lpn-guide-railtoggle svg { transform: scaleX(-1); }
.lpn-guide-railbody { display: flex; flex-direction: column; min-height: 0; flex: 1 1 auto; }
.lpn-guide-railbody input { width: 100%; box-sizing: border-box; padding: 3px 6px; font-size: 1rem; flex: 0 0 auto; }
.lpn-guide-nav { overflow: auto; flex: 1 1 auto; min-height: 0; padding-top: 6px; touch-action: auto; }
.lpn-guide-nav a {
	display: block; padding: 3px 6px 3px 2px; color: inherit; text-decoration: none; border-inline-start: 3px solid transparent;
	overflow-wrap: anywhere;
}
.lpn-guide-nav a:hover { background: var(--ec-hover-bg); }
.lpn-guide-nav a[aria-current="true"] { border-inline-start-color: var(--ec-accent); font-weight: bold; background: var(--ec-hover-bg); }
.lpn-guide-nav { user-select: none; }
.lpn-guide-nav-row { display: flex; align-items: flex-start; }
.lpn-guide-nav-row.lpn-guide-nav-folded { display: none; }
.lpn-guide-nav-row > a { flex: 1 1 auto; min-width: 0; }
.lpn-guide-nav-row[data-level="1"] { padding-inline-start: 12px; }
.lpn-guide-nav-row[data-level="2"] { padding-inline-start: 24px; }
.lpn-guide-nav-chev, .lpn-guide-nav-spacer { flex: 0 0 20px; width: 20px; height: 24px; }
.lpn-guide-nav-chev, .lpn-tree-chev {
	padding: 0; border: 0; background: transparent; color: var(--ec-ink); cursor: pointer;
	display: inline-flex; align-items: center; justify-content: center;
}
.lpn-guide-nav-chev:hover, .lpn-guide-nav-chev:focus-visible,
.lpn-tree-chev:hover, .lpn-tree-chev:focus-visible { background: var(--ec-gray-eee); color: var(--ec-ink-black); }
.lpn-guide-nav-chev-svg, .lpn-tree-chev-svg { width: .9em; height: .9em; transition: transform .12s; }
.lpn-guide-nav-closed > .lpn-guide-nav-chev .lpn-guide-nav-chev-svg,
.lpn-tree-chev[aria-expanded="false"] .lpn-tree-chev-svg { transform: rotate(-90deg); }
html[dir="rtl"] .lpn-guide-nav-closed > .lpn-guide-nav-chev .lpn-guide-nav-chev-svg,
html[dir="rtl"] .lpn-tree-chev[aria-expanded="false"] .lpn-tree-chev-svg { transform: rotate(90deg); }
@media (prefers-reduced-motion: reduce) { .lpn-guide-nav-chev-svg, .lpn-tree-chev-svg { transition: none; } }
.lpn-guide-hit { background: var(--ec-warn-bg); color: inherit; box-shadow: 0 0 0 1px var(--ec-warn-border); border-radius: 2px; }
.lpn-guide-hit-current { outline: var(--ec-focus-w) solid var(--ec-accent); }
.lpn-guide-nav-snip { display: block; font-weight: normal; color: var(--ec-ink-muted); font-size: .9em; }
.lpn-guide-rail-collapsed .lpn-guide-rail { flex-basis: 34px; padding-inline-end: 2px; }
.lpn-guide-rail-collapsed .lpn-guide-railtitle, .lpn-guide-rail-collapsed .lpn-guide-railbody { display: none; }
.lpn-guide-rail-collapsed .lpn-guide-railtoggle svg { transform: scaleX(-1); }
html[dir="rtl"] .lpn-guide-rail-collapsed .lpn-guide-railtoggle svg { transform: none; }
.lpn-guide-content { flex: 1 1 auto; min-width: 0; overflow: auto; scroll-padding-top: 4px; touch-action: auto; font-size: .9em; }
.lpn-guide-prose { margin: .3em 0 .6em; }
.lpn-guide-boxentry { margin: 0 0 .6em; }
.lpn-guide-boxentry > h3 { margin: .6em 0 .2em; }
.lpn-guide-boxentry > p { margin: 0 0 .4em; }
.lpn-guide-boxentry > h3:focus { outline: none; }
.lpn-guide-boxentry > h3:focus-visible { outline: var(--ec-focus-w) solid var(--ec-accent); outline-offset: 2px; }
@media (max-width: 640px) {
	.lpn-guide-panes { flex-direction: column; gap: 4px; }
	.lpn-guide-rail { flex: 0 0 auto; border-inline-end: 0; padding-inline-end: 0; border-bottom: 1px solid var(--ec-border); padding-bottom: 4px; }
	.lpn-guide-rail-collapsed .lpn-guide-rail { flex-basis: auto; }
	.lpn-guide-railhead { cursor: pointer; }
	.lpn-guide-railbody { max-height: 40vh; }
	.lpn-guide-railtoggle svg { transform: rotate(-90deg); }
	html[dir="rtl"] .lpn-guide-railtoggle svg { transform: rotate(-90deg); }
	.lpn-guide-rail-collapsed .lpn-guide-railtitle { display: inline; }
	.lpn-guide-rail-collapsed .lpn-guide-railtoggle svg { transform: rotate(90deg); }
	html[dir="rtl"] .lpn-guide-rail-collapsed .lpn-guide-railtoggle svg { transform: rotate(90deg); }
}
.lpn-corner-guide { font-weight: bold; font-size: 15px; }
.lpn-guide-none { margin: .5em 0; color: var(--ec-ink-muted); }
.lpn-guide-section > h2, .lpn-guide-section > dl, .lpn-guide-section > .lpn-guide-prose,
.lpn-guide-menu > h3, .lpn-guide-boxentry { padding-inline: 5px; }
.lpn-guidebox .lpn-guide-section > h2 {
	font-size: 1.15rem; font-weight: bold; margin: .9em 0 .3em; padding-bottom: 4px;
	border-bottom: 1px solid var(--ec-border-strong);
}
.lpn-guidebox .lpn-guide-section:first-of-type > h2 { margin-top: .2em; }
.lpn-guide-menu > h3, .lpn-guide-section dt, .lpn-guidebox h4.lpn-guide-subhead {
	font-size: 1rem; font-weight: bold; margin: .9em 0 .3em; padding-bottom: .15em;
	border-bottom: 1px solid var(--ec-border);
}
.lpn-guide-menu > h3, .lpn-guide-group > h3 {
	font-size: 1.05rem; margin-top: 1.1em; border-bottom-color: var(--ec-border-strong);
}
.lpn-guide-group > h3 { padding-inline: 5px; }
.lpn-guide-group > .lpn-guide-boxentry:first-of-type { border-top: 0; }
.lpn-guide-section dd { margin: 0 0 .6em; }
.lpn-guide-boxentry > h3 { font-size: 1rem; font-weight: bold; }
.lpn-guidebox .lpn-guide-boxentry { margin: 12px 0 0; padding-top: 4px; border-top: 1px solid var(--ec-border); }
.lpn-guidebox .lpn-guide-boxentry > h3 { margin-top: 0; }
.lpn-guide-section dt.lpn-guide-dup {
	position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); clip-path: inset(50%);
	white-space: nowrap; margin: 0; padding: 0; border: 0;
}
.lpn-guide-row {
	display: grid; grid-template-columns: 1.6em 1fr auto; column-gap: .4em; row-gap: 2px;
	align-items: start; width: 100%; box-sizing: border-box; text-align: start;
	background: none; border: 1px solid transparent; border-radius: var(--ec-radius-s); padding: 3px 4px;
	color: inherit; font: inherit; cursor: pointer;
}
.lpn-guide-row:hover { background: var(--ec-hover-bg); border-color: var(--ec-hover-border); }
.lpn-guide-row:focus-visible { outline: var(--ec-focus-w) solid var(--ec-accent); outline-offset: 1px; }
.lpn-guide-icon { grid-column: 1; grid-row: 1; display: inline-flex; justify-content: center; padding-top: 1px; }
.lpn-guide-icon svg { width: 18px; height: 18px; }
.lpn-guide-name { grid-column: 2; grid-row: 1; font-weight: bold; }
.lpn-guide-keys { grid-column: 3; grid-row: 1; display: flex; gap: 3px; flex-wrap: wrap; justify-content: flex-end; }
.lpn-guide-desc { grid-column: 1 / -1; grid-row: 2; display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.lpn-guide-desc:empty { display: none; }
.lpn-guide-tip { white-space: pre-line; }
.lpn-guide-twin { color: var(--ec-ink-muted); font-size: .9em; }
.lpn-guide-path { white-space: nowrap; }
.lpn-guide-chev { width: .7em; height: .7em; margin: 0 .2em; vertical-align: middle; fill: none; stroke: currentColor; stroke-width: 1.6; }
html[dir="rtl"] .lpn-guide-chev { transform: scaleX(-1); }
.lpn-guide-keys kbd {
	font: inherit; font-size: .85em; padding: 0 .4em; border: 1px solid var(--ec-border-strong);
	border-radius: var(--ec-radius-s); background: var(--ec-gray-f6f6f6); color: var(--ec-ink); white-space: nowrap;
}
.lpn-guide-off .lpn-guide-icon, .lpn-guide-off .lpn-guide-name { opacity: .55; }
.lpn-guide-sub { margin-inline-start: 1.6em; width: calc(100% - 1.6em); }
.lpn-guide-rule { margin: 3px 0; border: 0; border-top: 1px solid var(--ec-border); }
.lpn-guidebox table.lpn-notes-table, .lpn-guidebox table.lpn-notes-table td { border: 0; }
.lpn-guidebox table.lpn-notes-table tr { border: 0; border-bottom: 1px solid var(--ec-border); }
.lpn-guidebox table.lpn-notes-table td { padding: .25em 1em .25em 0; }
.lpn-guidebox table.lpn-notes-table td:first-child { width: 12em; min-width: 12em; }
.lpn-guidebox [data-guide-section="tables"] dd:first-of-type table.lpn-notes-table td:first-child { width: 40%; }
@container (max-width: 520px) {
	.lpn-guidebox table.lpn-notes-table, .lpn-guidebox table.lpn-notes-table tbody,
	.lpn-guidebox table.lpn-notes-table tr { display: block; width: auto; }
	.lpn-guidebox .lpn-guide-section[data-guide-section] table.lpn-notes-table td { display: block; width: auto; min-width: 0; }
	.lpn-guidebox .lpn-guide-section[data-guide-section="tables"] dd:first-of-type table.lpn-notes-table td:first-child { width: auto; }
	.lpn-guidebox table.lpn-notes-table tr { padding: .25em 0; }
	.lpn-guidebox table.lpn-notes-table td { padding: 0; }
}
@keyframes lpn-guide-pulse {
	0%, 50%, 100% { box-shadow: 0 0 0 0 transparent; }
	25%, 75% { box-shadow: 0 0 0 3px var(--ec-accent); }
}
.lpn-guide-pulse { animation: lpn-guide-pulse 1.5s ease-in-out 1; outline: var(--ec-focus-w) solid var(--ec-accent); outline-offset: 1px; }
@media (prefers-reduced-motion: reduce) { .lpn-guide-pulse { animation: none; } }
@keyframes lpn-guide-point {
	0% { outline-color: var(--ec-point); outline-offset: 5px; }
	20% { outline-color: var(--ec-point); outline-offset: 2px; }
	40% { outline-color: var(--ec-point); outline-offset: 5px; }
	60% { outline-color: var(--ec-point); outline-offset: 2px; }
	100% { outline-color: transparent; outline-offset: 2px; }
}
.lpn-guide-point { outline: 3px dashed var(--ec-point); outline-offset: 2px; animation: lpn-guide-point 2.5s ease-in-out 1 forwards; }
@media (prefers-reduced-motion: reduce) { .lpn-guide-point { animation: none; } }
.lpn-guide-nopoint { display: block; color: var(--ec-point); font-style: italic; }
.lpn-guide-boxentry { cursor: pointer; }
.lpn-guide-boxentry a, .lpn-guide-boxentry table, .lpn-guide-boxentry input { cursor: auto; }
.lpn-guide-filtering .lpn-guide-name[data-guide-ctx]::before { content: attr(data-guide-ctx) " \203A "; font-weight: normal; color: var(--ec-ink-muted); }
.lpn-ffbox { width: min(52rem, 94vw); }
#lpn_sm_box { width: min(22rem, 94vw); }
.lpn-sm-body { display: flex; flex-direction: column; gap: 6px; min-height: 0; }
.lpn-sm-tools { display: flex; flex-wrap: wrap; gap: 4px; align-items: center; }
.lpn-sm-tools select { max-width: 100%; }
.lpn-sm-basic-list { overflow: auto; border: 1px solid var(--ec-border-strong); min-height: 6em; padding: 2px 0; }
.lpn-sm-basic-row { display: grid; grid-template-columns: 1.2em minmax(0, 1fr) auto; gap: 6px; align-items: center; padding: 2px 6px; min-height: 24px; cursor: default; }
.lpn-sm-basic-list .lpn-sm-basic-row { cursor: pointer; }
.lpn-sm-basic-row.lpn-sm-sel { background: var(--ec-select-bg-strong); }
.lpn-sm-basic-row > :nth-child(2) { overflow-wrap: anywhere; }
.lpn-sm-basic-row > :nth-child(3) { text-align: end; }
.lpn-sm-basic-head { font-weight: bold; padding-block: 0; }
.lpn-sm-basic-tick { display: block; margin-top: 2px; }
.lpn-sm-tree { overflow: auto; border: 1px solid var(--ec-border-strong); min-height: 8em; padding: 2px 0; }
.lpn-sm-row { display: flex; align-items: center; gap: 6px; padding: 2px 6px; cursor: default; position: relative; border-top: 2px solid transparent; border-bottom: 2px solid transparent; }
.lpn-sm-row.lpn-sm-sel { background: var(--ec-select-bg-strong); }
.lpn-sm-row.lpn-sm-into { outline: 2px solid var(--ec-ink); outline-offset: -2px; }
.lpn-sm-row.lpn-sm-before { border-top-color: var(--ec-ink); }
.lpn-sm-row.lpn-sm-after { border-bottom-color: var(--ec-ink); }
.lpn-sm-name { flex: 1 1 auto; min-width: 0; overflow: hidden; white-space: nowrap; }
.lpn-sm-name input { width: 100%; box-sizing: border-box; }
.lpn-sm-meta { flex: 0 0 auto; font-size: 0.85em; opacity: 0.8; }
.lpn-sm-row { padding-block: 0; min-height: 24px; gap: 4px; }
.lpn-sm-row .lpn-tree-chev, .lpn-sm-row .lpn-tree-spacer { flex: 0 0 24px; width: 24px; height: 24px; }
.lpn-sm-row .lpn-tree-chev-svg { width: 14px; height: 14px; }
.lpn-sm-icon { flex: 0 0 16px; width: 16px; height: 16px; display: inline-flex; color: var(--ec-ink-muted); }
.lpn-sm-icon svg { width: 16px; height: 16px; }
.lpn-sm-icon-scnbase, .lpn-sm-icon-altbase { color: var(--ec-accent); }
html[dir="rtl"] .lpn-sm-icon svg { transform: scaleX(-1); }
.lpn-sm-tools button[aria-disabled="true"], .lpn-sm-menu button[aria-disabled="true"] { color: var(--ec-gray-888); cursor: default; }
.lpn-sm-menu button[aria-disabled="true"]:hover { background: none; }
.lpn-sm-menusep { margin: 3px 0; border-top: 1px solid var(--ec-border-strong); }
.lpn-sm-cathead { position: sticky; top: 0; z-index: 1; padding: 3px 6px; font-weight: bold; background: var(--ec-gray-f2f2f2); color: var(--ec-ink); border-bottom: 1px solid var(--ec-border); }
.lpn-sm-none { padding: 2px 8px; color: var(--ec-ink-muted); font-style: italic; }
.lpn-sm-tools button[aria-pressed="true"] { background: var(--ec-pressed-bg); border-color: var(--ec-pressed-border); }
.lpn-sm-panes > .lpn-sm-body { flex: 1 1 auto; min-width: 0; overflow: auto; }
.lpn-sm-panes > .lpn-sm-divider, .lpn-sm-panes > .lpn-sm-table { display: none; }
.lpn-sm-has-table .lpn-sm-panes > .lpn-sm-body {
	flex: 0 1 var(--lpn-sm-mgr-w, 22rem); min-width: 12rem; box-sizing: border-box;
	border-inline-end: 1px solid var(--ec-border); padding-inline-end: 6px;
}
.lpn-sm-has-table .lpn-sm-panes > .lpn-sm-divider { display: flex; }
.lpn-sm-has-table .lpn-sm-panes > .lpn-sm-table { display: flex; flex-direction: column; flex: 1 1 0; min-width: 12rem; min-height: 0; }
#lpn_sm_table .lpn-pane-panel.lpn-pane-scroll { display: block; position: relative; inset: auto; z-index: auto; content-visibility: visible; flex: 1 1 auto; min-height: 0; height: auto; overflow: auto; padding: 0; }
.lpn-panebox-host { flex: 1 1 auto; min-height: 0; display: flex; flex-direction: column; position: relative; }
.lpn-panebox-host .lpn-pane-panel { flex: 1 1 auto; min-height: 0; height: auto; }
.lpn-panebox-host .lpn-pane-panel.lpn-pane-scroll { display: block; position: relative; inset: auto; z-index: auto; content-visibility: visible; overflow: auto; padding: 0; }
.lpn-panebox-host .lpn-profile-panel { display: flex; }
.lpn-panebox { display: none; position: fixed; background: var(--ec-box-bg); border: var(--ec-box-border); padding: 40px 8px 8px; box-shadow: var(--ec-box-shadow); }
.lpn-pane-tab-boxed { display: none !important; }
.lpn-pane-popout { display: inline-flex; align-items: center; justify-content: center; }
@media (max-width: 40rem) { .lpn-pane-popout { display: none; } }
.lpn-ffrunbox { width: min(22rem, 92vw); }
.lpn-ff-bar {
	height: 14px; border: 1px solid var(--ec-gray-999); background: var(--ec-gray-f0f0f0); border-radius: var(--ec-radius-s);
	overflow: hidden; margin: .2em 0 .6em;
}
.lpn-ff-bar-fill { height: 100%; width: 0; background: var(--ec-hue-1565c0); transition: width .15s linear; }
.lpn-ff-controls, .lpn-ff-report { flex: 0 0 auto; }
.lpn-ff-report { overflow: auto; min-height: 0; }
.lpn-ff-head { font-weight: bold; margin: .8em 0 .3em; }
.lpn-ff-note { margin: .3em 0; font-size: .9em; color: var(--ec-gray-444); }
.lpn-ff-summary { margin: .4em 0; font-weight: bold; }
.lpn-ff-buttons { margin: .6em 0; display: flex; flex-wrap: wrap; gap: .5em; }
.lpn-ff-tablewrap { overflow-x: auto; }
@supports (grid-template-columns: subgrid) {
	.lpn-ff-report.lpn-gridhost { grid-template-columns: var(--lpn-g-name, max-content) minmax(0, 1fr); }
}
.lpn-scnres { margin-top: .8em; }
.lpn-scnres-controls { display: flex; flex-wrap: wrap; align-items: center; gap: .3em 1em; margin: .3em 0; }
.lpn-ff-table td.lpn-ff-num { text-align: right; font-variant-numeric: tabular-nums; }
.lpn-ff-table { width: 100%; border-collapse: collapse; font-size: .9em; }
.lpn-ff-goto { background: none; border: 0; padding: 0; margin: 0; font: inherit; color: var(--ec-accent); text-decoration: underline; cursor: pointer; text-align: inherit; }
.lpn-ff-goto:hover, .lpn-ff-goto:focus-visible { color: var(--ec-hue-0b0080); }
.lpn-ff-table th.lpn-ff-sortable { position: relative; cursor: pointer; }
.lpn-ff-table th.lpn-ff-sortable .lpn-ff-sortarrow { top: 2px; }
.lpn-ff-table th.lpn-ff-sortable:hover .lpn-ff-sortarrow,
.lpn-ff-table th.lpn-ff-sortable:focus-within .lpn-ff-sortarrow { opacity: 1; }
.lpn-ff-table th { font-weight: bold; white-space: normal; font-size: .9em; }
.lpn-ff-table, .lpn-ff-table tr { border: 0; }
.lpn-ff-table th, .lpn-ff-table td { text-align: left; padding: .15em .4em; border: 0; border-bottom: 1px solid var(--ec-border); overflow-wrap: normal; }
.lpn-ff-table th { overflow-wrap: normal; }
.lpn-ff-table td.lpn-ff-fit { white-space: nowrap; overflow-wrap: normal; }
.lpn-ff-table th.lpn-ff-grouphead, .lpn-print-grouphead { text-align: center; }
.lpn-rpt-id { min-width: 7.5ch; overflow-wrap: normal; word-break: normal; }
.lpn-ff-table th.lpn-rpt-gripth { position: relative; }
.lpn-rpt-colgrip { width: 4px; touch-action: none; }
@media (pointer: coarse) {
	.lpn-rpt-colgrip { width: 24px; }
	.lpn-ff-table th.lpn-rpt-gripth .lpn-ff-sortarrow { inset-inline-end: 26px; }
}
.lpn-ff-table th.lpn-rpt-gripth .lpn-ff-sortarrow { inset-inline-end: 5px; }
.lpn-ff-table .lpn-rpt-dc { overflow: hidden; overflow-wrap: anywhere; white-space: normal; min-width: 0; }
.lpn-rpt-trunc { display: inline-block; max-width: 5.5em; overflow: hidden; white-space: nowrap; vertical-align: bottom; }
.lpn-ff-table.lpn-alt-table { width: min-content; }
.lpn-alt-table th { width: 1%; vertical-align: bottom; }
.lpn-alt-table td { white-space: nowrap; overflow-wrap: normal; }
.lpn-alt-table th.lpn-ff-sortable { padding-inline-end: .4em; }
.lpn-alt-table .lpn-ff-sortarrow { display: none; }
.lpn-ff-table.lpn-crit-table th { overflow-wrap: normal; word-break: normal; }
tr.lpn-ff-fail { background: var(--ec-error-bg); }
tr.lpn-ff-design { background: var(--ec-hue-fff4e5); }
tr.lpn-ff-error { background: var(--ec-gray-f2f2f2); }
#lpn_library_box .lpn-setbox-index { flex-basis: 5.25rem; }
.lpn-lib-entry { padding: 6px 0 8px; border-bottom: 1px solid var(--ec-gray-eee); }
.lpn-lib-entry:last-child { border-bottom: 0; }
.lpn-lib-head { display: flex; align-items: center; gap: 6px; }
.lpn-lib-head .lpn-lib-id { width: 9em; }
.lpn-lib-del { margin-left: auto; }
.lpn-lib-qty { width: 5em; }
.lpn-lib-curve-row, .lpn-lib-row { display: flex; align-items: flex-end; gap: 8px; flex-wrap: wrap; }
.lpn-lib-field { display: flex; flex-direction: column; gap: 1px; min-width: 0; }
.lpn-lib-field-grow { flex: 1 1 8em; }
.lpn-lib-fieldname { font-size: .9em; opacity: .8; }
.lpn-lib-desc-row { margin-bottom: 4px; }
.lpn-lib-equation { font-family: monospace; font-size: .9em; padding: 2px 0; overflow-wrap: anywhere; }
.lpn-lib-wide { width: 100%; box-sizing: border-box; font-family: inherit; }
.lpn-lib-values { font-variant-numeric: tabular-nums; }
.lpn-lib-spark { display: block; width: 100%; height: 46px; background: var(--ec-gray-fafafa); border: 1px solid var(--ec-border); }
.lpn-lib-chart { height: 76px; }
.lpn-lib-plot { display: grid; grid-template-columns: auto 1fr; column-gap: 4px; font-size: .8em; }
.lpn-lib-yaxis { display: flex; flex-direction: column; justify-content: space-between; text-align: right; font-variant-numeric: tabular-nums; }
.lpn-lib-ytitle { opacity: .7; }
.lpn-lib-xaxes { grid-column: 2; }
.lpn-lib-xrow { position: relative; height: 1.3em; font-variant-numeric: tabular-nums; }
.lpn-lib-xtitle { position: absolute; right: 0; opacity: .7; }
.lpn-lib-tick { position: absolute; transform: translateX(-50%); }
.lpn-lib-tick-first { transform: none; }
.lpn-lib-note { font-size: .9em; opacity: .8; margin: 2px 0; }
.lpn-lib-verdict { font-size: .9em; }
.lpn-lib-sec { margin: 0; }
.lpn-lib-manual { border: 0; background: transparent; padding: 0 2px; font: inherit; font-size: 0.9em; color: var(--ec-help-ink); cursor: pointer; }
.lpn-lib-sec > h3 { margin: 0 0 4px; padding: 0 0 4px; font-size: 1.15rem; font-weight: bold; border-bottom: 1px solid var(--ec-border-strong); }
.lpn-unit-fields { margin: 0.15em 0 0.7em 1.4em; }
.engcalcs-print-tools > p { margin-bottom: 0.2em; }
@media (max-width: 640px) {
	html:has(#lpn_canvas) #lpn_toolbar > .lpn-toolbar-group:not(#lpn_toolbar_run) { display: none; }
	html:has(#lpn_canvas) #lpn_toolbar_run button:not(.lpn-transport-btn):not(.lpn-run-btn) { display: none; }
	html:has(#lpn_canvas) #lpn_toolbar_run { border-left: 0; padding-left: 0; margin-right: 0; }
	html:has(#lpn_canvas) #lpn_toolbar_run { gap: 0; }
	html:has(#lpn_canvas) #lpn_toolbar_run .lpn-transport-btn,
	html:has(#lpn_canvas) #lpn_toolbar_run .lpn-run-btn { padding: 2px 3px; }
	html:has(#lpn_canvas) #lpn_toolbar_run > .lpn-run-btn + .lpn-transport-btn,
	html:has(#lpn_canvas) #lpn_toolbar_run > select { margin-inline-start: 0; }
	html:has(#lpn_canvas) .lpn-menubar-word { display: none; }
	html:has(#lpn_canvas) .lpn-menubar-item { padding: 3px 6px; }
	html:has(#lpn_canvas) .lpn-menubar-item > .ec-icon { margin-inline-end: 0; vertical-align: middle; }
	html:has(#lpn_canvas) #lpn_msglog_btn > .ec-icon { margin-inline-end: 0; }
	html:has(#lpn_canvas) .lpn-setbox-index { flex-basis: 3.8rem; }
	html:has(#lpn_canvas) #lpn_settings_box .lpn-setbox-panes { flex-direction: column; gap: 0; position: relative; }
	html:has(#lpn_canvas) #lpn_settings_box .lpn-setbox-jump {
		display: flex; align-items: center; justify-content: space-between; flex: 0 0 auto; width: 100%; box-sizing: border-box;
		min-height: 2.75rem; padding: 0 .75rem; margin-bottom: 4px; border: 1px solid var(--ec-border-strong);
		background: var(--ec-chrome-bg); color: inherit; font: inherit; font-size: 1.15rem; font-weight: bold; text-align: start; cursor: pointer;
	}
	html:has(#lpn_canvas) #lpn_settings_box .lpn-set-head { display: none; }
	html:has(#lpn_canvas) #lpn_settings_box .lpn-setbox-jump-chev {
		flex: 0 0 auto; width: .5rem; height: .5rem; margin-inline-start: .5rem;
		border-inline-end: 2px solid currentColor; border-block-end: 2px solid currentColor; transform: rotate(45deg);
	}
	html:has(#lpn_canvas) #lpn_settings_box .lpn-setbox-jump[aria-expanded="true"] .lpn-setbox-jump-chev { transform: rotate(-135deg); }
	html:has(#lpn_canvas) #lpn_settings_box .lpn-setbox-index {
		display: none; position: absolute; inset-inline: 0; top: 2.75rem; z-index: 3; flex: none; max-height: min(60%, 22rem);
		background: var(--ec-box-bg); border: 1px solid var(--ec-border-strong); box-shadow: var(--ec-box-shadow); padding: 4px;
	}
	html:has(#lpn_canvas) #lpn_settings_box .lpn-setbox-panes.lpn-jump-open .lpn-setbox-index { display: block; }
	html:has(#lpn_canvas) #lpn_settings_box .lpn-setbox-index .lpn-setbox-link { min-height: 2.75rem; display: flex; align-items: center; }
	html:has(#lpn_canvas) #lpn_settings_box .lpn-setbox-divider { display: none; }
	html:has(#lpn_canvas) #lpn_settings_box .lpn-setbox-content { flex: 1 1 auto; }
	html:has(#lpn_canvas) .lpn-rp-credit { overflow-wrap: anywhere; }
	html:has(#lpn_canvas) .lpn-pane-table input { width: 3.5em; }
	html:has(#lpn_canvas) .lpn-pane-table .lpn-pane-col-roughness {
		overflow-wrap: break-word; width: 5em; min-width: 5em;
	}
	html:has(#lpn_canvas) .lpn-pane-table .lpn-pane-col-roughness input { width: 3.5em; }
	html:has(#lpn_canvas) .lpn-pane-table .lpn-pane-col-km {
		overflow-wrap: anywhere; width: 3.7em; min-width: 3.7em;
	}
	html:has(#lpn_canvas) .lpn-pane-table .lpn-pane-col-km input { width: 3em; }
	html:has(#lpn_canvas) #lpn_labels_node_fields .lpn-lblgroup > :nth-child(1),
	html:has(#lpn_canvas) #lpn_labels_link_fields .lpn-lblgroup > :nth-child(1),
	html:has(#lpn_canvas) #lpn_labels_customer_fields .lpn-lblgroup > :nth-child(1) { width: 2.08rem !important; }
	html:has(#lpn_canvas) #lpn_labels_node_fields .lpn-lblgroup > :nth-child(2),
	html:has(#lpn_canvas) #lpn_labels_link_fields .lpn-lblgroup > :nth-child(2),
	html:has(#lpn_canvas) #lpn_labels_customer_fields .lpn-lblgroup > :nth-child(2),
	html:has(#lpn_canvas) #lpn_labels_node_fields .lpn-lblgroup > :nth-child(3),
	html:has(#lpn_canvas) #lpn_labels_link_fields .lpn-lblgroup > :nth-child(3),
	html:has(#lpn_canvas) #lpn_labels_customer_fields .lpn-lblgroup > :nth-child(3) { width: 1.6rem !important; }
	html:has(#lpn_canvas) #lpn_labels_node_fields .lpn-lblgroup > :nth-child(4),
	html:has(#lpn_canvas) #lpn_labels_link_fields .lpn-lblgroup > :nth-child(4),
	html:has(#lpn_canvas) #lpn_labels_customer_fields .lpn-lblgroup > :nth-child(4),
	html:has(#lpn_canvas) #lpn_labels_node_fields .lpn-lblgroup > :nth-child(5),
	html:has(#lpn_canvas) #lpn_labels_link_fields .lpn-lblgroup > :nth-child(5),
	html:has(#lpn_canvas) #lpn_labels_customer_fields .lpn-lblgroup > :nth-child(5),
	html:has(#lpn_canvas) #lpn_labels_node_fields .lpn-lblgroup > :nth-child(6),
	html:has(#lpn_canvas) #lpn_labels_link_fields .lpn-lblgroup > :nth-child(6),
	html:has(#lpn_canvas) #lpn_labels_customer_fields .lpn-lblgroup > :nth-child(6) { width: 1.8rem !important; }
	html:has(#lpn_canvas) #lpn_labels_node_fields > .lpn-set-colhead .lpn-lblgroup > span,
	html:has(#lpn_canvas) #lpn_labels_link_fields > .lpn-set-colhead .lpn-lblgroup > span,
	html:has(#lpn_canvas) #lpn_labels_customer_fields > .lpn-set-colhead .lpn-lblgroup > span { overflow-wrap: anywhere; }
	html:has(#lpn_canvas) #lpn_labels_node_fields,
	html:has(#lpn_canvas) #lpn_labels_link_fields,
	html:has(#lpn_canvas) #lpn_labels_customer_fields { min-width: 11.4rem; }
	html:has(#lpn_canvas) #lpn_labels_node_fields > div > label,
	html:has(#lpn_canvas) #lpn_labels_link_fields > div > label,
	html:has(#lpn_canvas) #lpn_labels_customer_fields > div > label {
		overflow-wrap: normal; word-break: normal;
	}
	@media (hover: none) and (pointer: coarse) {
		html:has(#lpn_canvas) #lpn_labels_node_fields .lpn-lblgroup > :nth-child(4),
		html:has(#lpn_canvas) #lpn_labels_link_fields .lpn-lblgroup > :nth-child(4),
		html:has(#lpn_canvas) #lpn_labels_customer_fields .lpn-lblgroup > :nth-child(4),
		html:has(#lpn_canvas) #lpn_labels_node_fields .lpn-lblgroup > :nth-child(5),
		html:has(#lpn_canvas) #lpn_labels_link_fields .lpn-lblgroup > :nth-child(5),
		html:has(#lpn_canvas) #lpn_labels_customer_fields .lpn-lblgroup > :nth-child(5),
		html:has(#lpn_canvas) #lpn_labels_node_fields .lpn-lblgroup > :nth-child(6),
		html:has(#lpn_canvas) #lpn_labels_link_fields .lpn-lblgroup > :nth-child(6),
		html:has(#lpn_canvas) #lpn_labels_customer_fields .lpn-lblgroup > :nth-child(6) { width: 1.6rem !important; }
		html:has(#lpn_canvas) #lpn_labels_node_fields .lpn-lblgroup > :nth-child(3),
		html:has(#lpn_canvas) #lpn_labels_link_fields .lpn-lblgroup > :nth-child(3),
		html:has(#lpn_canvas) #lpn_labels_customer_fields .lpn-lblgroup > :nth-child(3) { width: 1.4rem !important; }
		html:has(#lpn_canvas) #lpn_labels_node_fields .lpn-lblgroup > :nth-child(4),
		html:has(#lpn_canvas) #lpn_labels_link_fields .lpn-lblgroup > :nth-child(4),
		html:has(#lpn_canvas) #lpn_labels_customer_fields .lpn-lblgroup > :nth-child(4),
		html:has(#lpn_canvas) #lpn_labels_node_fields .lpn-lblgroup > :nth-child(5),
		html:has(#lpn_canvas) #lpn_labels_link_fields .lpn-lblgroup > :nth-child(5),
		html:has(#lpn_canvas) #lpn_labels_customer_fields .lpn-lblgroup > :nth-child(5),
		html:has(#lpn_canvas) #lpn_labels_node_fields .lpn-lblgroup > :nth-child(6),
		html:has(#lpn_canvas) #lpn_labels_link_fields .lpn-lblgroup > :nth-child(6),
		html:has(#lpn_canvas) #lpn_labels_customer_fields .lpn-lblgroup > :nth-child(6) { width: 2rem !important; }
		html:has(#lpn_canvas) #lpn_labels_node_fields,
		html:has(#lpn_canvas) #lpn_labels_link_fields,
		html:has(#lpn_canvas) #lpn_labels_customer_fields { min-width: 11.4rem; }
	}
	@media (min-width: 341px) {
		html:has(#lpn_canvas) #lpn_settings_box #lpn_labels_node_fields .lpn-lblgroup > :nth-child(1),
		html:has(#lpn_canvas) #lpn_settings_box #lpn_labels_link_fields .lpn-lblgroup > :nth-child(1),
		html:has(#lpn_canvas) #lpn_settings_box #lpn_labels_customer_fields .lpn-lblgroup > :nth-child(1),
		html:has(#lpn_canvas) #lpn_settings_box #lpn_labels_node_fields .lpn-lblgroup > :nth-child(2),
		html:has(#lpn_canvas) #lpn_settings_box #lpn_labels_link_fields .lpn-lblgroup > :nth-child(2),
		html:has(#lpn_canvas) #lpn_settings_box #lpn_labels_customer_fields .lpn-lblgroup > :nth-child(2),
		html:has(#lpn_canvas) #lpn_settings_box #lpn_labels_node_fields .lpn-lblgroup > :nth-child(4),
		html:has(#lpn_canvas) #lpn_settings_box #lpn_labels_link_fields .lpn-lblgroup > :nth-child(4),
		html:has(#lpn_canvas) #lpn_settings_box #lpn_labels_customer_fields .lpn-lblgroup > :nth-child(4),
		html:has(#lpn_canvas) #lpn_settings_box #lpn_labels_node_fields .lpn-lblgroup > :nth-child(5),
		html:has(#lpn_canvas) #lpn_settings_box #lpn_labels_link_fields .lpn-lblgroup > :nth-child(5),
		html:has(#lpn_canvas) #lpn_settings_box #lpn_labels_customer_fields .lpn-lblgroup > :nth-child(5),
		html:has(#lpn_canvas) #lpn_settings_box #lpn_labels_node_fields .lpn-lblgroup > :nth-child(6),
		html:has(#lpn_canvas) #lpn_settings_box #lpn_labels_link_fields .lpn-lblgroup > :nth-child(6),
		html:has(#lpn_canvas) #lpn_settings_box #lpn_labels_customer_fields .lpn-lblgroup > :nth-child(6) { width: 2.2rem !important; }
		html:has(#lpn_canvas) #lpn_settings_box #lpn_labels_node_fields .lpn-lblgroup > :nth-child(3),
		html:has(#lpn_canvas) #lpn_settings_box #lpn_labels_link_fields .lpn-lblgroup > :nth-child(3),
		html:has(#lpn_canvas) #lpn_settings_box #lpn_labels_customer_fields .lpn-lblgroup > :nth-child(3) { width: 1.85rem !important; }
		html:has(#lpn_canvas) #lpn_settings_box #lpn_labels_node_fields,
		html:has(#lpn_canvas) #lpn_settings_box #lpn_labels_link_fields,
		html:has(#lpn_canvas) #lpn_settings_box #lpn_labels_customer_fields { min-width: min(14.88rem, 100%); }
	}
	@media (max-width: 340px) {
		html:has(#lpn_canvas) #lpn_labels_node_fields .lpn-lblgroup > :nth-child(1),
		html:has(#lpn_canvas) #lpn_labels_link_fields .lpn-lblgroup > :nth-child(1),
		html:has(#lpn_canvas) #lpn_labels_customer_fields .lpn-lblgroup > :nth-child(1) { width: 1.6rem !important; }
		html:has(#lpn_canvas) #lpn_labels_node_fields .lpn-lblgroup > :nth-child(2),
		html:has(#lpn_canvas) #lpn_labels_link_fields .lpn-lblgroup > :nth-child(2),
		html:has(#lpn_canvas) #lpn_labels_customer_fields .lpn-lblgroup > :nth-child(2),
		html:has(#lpn_canvas) #lpn_labels_node_fields .lpn-lblgroup > :nth-child(3),
		html:has(#lpn_canvas) #lpn_labels_link_fields .lpn-lblgroup > :nth-child(3),
		html:has(#lpn_canvas) #lpn_labels_customer_fields .lpn-lblgroup > :nth-child(3) { width: 1.2rem !important; }
		html:has(#lpn_canvas) #lpn_labels_node_fields .lpn-lblgroup > :nth-child(4),
		html:has(#lpn_canvas) #lpn_labels_link_fields .lpn-lblgroup > :nth-child(4),
		html:has(#lpn_canvas) #lpn_labels_customer_fields .lpn-lblgroup > :nth-child(4),
		html:has(#lpn_canvas) #lpn_labels_node_fields .lpn-lblgroup > :nth-child(5),
		html:has(#lpn_canvas) #lpn_labels_link_fields .lpn-lblgroup > :nth-child(5),
		html:has(#lpn_canvas) #lpn_labels_customer_fields .lpn-lblgroup > :nth-child(5),
		html:has(#lpn_canvas) #lpn_labels_node_fields .lpn-lblgroup > :nth-child(6),
		html:has(#lpn_canvas) #lpn_labels_link_fields .lpn-lblgroup > :nth-child(6),
		html:has(#lpn_canvas) #lpn_labels_customer_fields .lpn-lblgroup > :nth-child(6) { width: 1.6rem !important; }
		html:has(#lpn_canvas) #lpn_labels_node_fields,
		html:has(#lpn_canvas) #lpn_labels_link_fields,
		html:has(#lpn_canvas) #lpn_labels_customer_fields { min-width: 9.6rem; }
	}
	html:has(#lpn_canvas) #lpn_mode_hint { display: none; }
	html:has(#lpn_canvas) #lpn_status {
		max-width: 92%;
		max-height: 33svh;
		overflow-y: auto;
	}
	html:has(#lpn_canvas) #lpn_zoom_control { display: none; }
}
#lpn_zoom_control { display: flex; flex-direction: column; }
#lpn_zoom_in, #lpn_zoom_out { display: flex; align-items: center; justify-content: center; }
#lpn_zoom_in > .ec-icon, #lpn_zoom_out > .ec-icon { margin-inline-end: 0; }
.lpn-profile-say:empty { display: none; }
.lpn-profile-say { margin: .25em 0 .4em; line-height: 1.3; }
.lpn-profile-ghost { pointer-events: none; }
.lpn-profile-panel { flex-direction: column; }
.lpn-profile-controls {
	flex: 0 0 auto;
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: .1em 1em;
	overflow: visible;
}
.lpn-profile-controls > * { margin: 0; }
#lpn_profile_form, #lpn_ts_form { flex: 1 1 16em; min-width: 12em; display: flex; flex-wrap: wrap;
	align-items: baseline; gap: .1em .6em; }
.lpn-profile-say { margin: 0; }
.lpn-profile-edit {
	flex: 0 0 auto; font: inherit; font-size: .95em; padding: 1px 8px;
	border: 1px solid var(--ec-gray-bbb); border-radius: var(--ec-radius-s); background: var(--ec-gray-f6f6f6); cursor: pointer;
}
.lpn-profile-edit:hover, .lpn-profile-edit:focus { background: var(--ec-gray-eaeaea); border-color: var(--ec-gray-888); }
.lpn-profile-edit[aria-pressed="true"] { background: var(--ec-pressed-bg); border-color: var(--ec-pressed-border); }
.lpn-profile-handle { pointer-events: none; }
.lpn-profile-chip {
	font: inherit; font-size: .9em; margin: 0 .25em .25em 0; padding: 1px 6px;
	border: 1px solid var(--ec-gray-bbb); border-radius: var(--ec-radius-pill); background: var(--ec-gray-f6f6f6); cursor: pointer;
}
.lpn-profile-chip:hover, .lpn-profile-chip:focus { background: var(--ec-gray-eaeaea); border-color: var(--ec-gray-888); }
.lpn-ts-line { fill: none; stroke-width: 1.5; stroke-linejoin: round; }
.lpn-ts-dot { stroke: none; }
.lpn-ts-now { stroke: var(--ec-gray-888); stroke-width: 1; stroke-dasharray: 3, 3; }
.lpn-ts-pick { font: inherit; font-size: .95em; max-width: 12em; }
.lpn-ts-swatch {
	display: inline-block; width: 1.1em; height: 0; margin-right: .35em;
	border-top: 2px solid currentColor; vertical-align: middle;
}
.lpn-pgraph { margin-top: .5em; padding-top: .4em; border-top: 1px solid var(--ec-border); }
.lpn-pgraph-row { display: flex; flex-wrap: wrap; align-items: center; gap: .25em .5em; }
.lpn-pgraph-row .lpn-ts-pick { max-width: 100%; }
.lpn-pgraph-chart { width: 100%; height: 150px; }
.lpn-calib-controls { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 12px; margin-bottom: 6px; }
.lpn-calib-tabs { display: flex; flex-wrap: wrap; gap: 2px; margin-top: 8px; border-bottom: 1px solid var(--ec-gray-bbb); }
.lpn-calib-page { padding-top: 8px; }
.lpn-calib-chart { height: 300px; min-width: 260px; }
.lpn-calib-legend { display: flex; flex-wrap: wrap; gap: 4px; margin-top: 4px; }
.lpn-calib-legend .lpn-profile-chip { cursor: default; }
.lpn-calib-network td { font-weight: bold; }
.lpn-calib-diagonal { stroke-dasharray: 4, 3; }
.lpn-calib-point { opacity: .85; }
.lpn-calib-ring { fill: var(--ec-bg); stroke-width: 1.5; }
.lpn-pane-tab-menu {
	background: var(--ec-gray-f0f0f0); border: 1px solid var(--ec-gray-dcdcdc); border-bottom: 0;
	border-inline-start: 1px solid var(--ec-border-strong); font: inherit;
	padding: 3px 8px; margin-inline-start: -2px; min-width: 2rem;
	cursor: pointer; color: var(--ec-ink);
}
.lpn-pane-tab-menu:hover, .lpn-pane-tab-menu:focus { background: var(--ec-border); }
.lpn-pane-tab-pair { display: inline-flex; flex-wrap: nowrap; align-items: flex-start; }
.lpn-pane-tab-menu-current { background: var(--ec-bg); border-color: var(--ec-gray-bbb); border-inline-start-color: var(--ec-border-strong); }
@media (max-width: 40rem) {
	.lpn-pane-tab-menu { min-width: 2.75rem; padding: 3px 12px; }
}
@media (max-width: 40rem) {
	.lpn-profile-panel { overflow: auto; }
}
#lpn_canvas { user-select: none; -webkit-user-select: none; -webkit-touch-callout: none; }
.lpn-engine-bar {
	max-width: 60%;
	height: 6px;
	margin: 0;
	background: var(--ec-a-255-255-255-9);
	border: 1px solid var(--ec-hue-05a);
	border-top: 0;
	overflow: hidden;
}
.lpn-engine-bar-fill {
	height: 100%;
	width: 0;
	background: var(--ec-hue-05a);
	transition: width .2s linear;
}
.lpn-engine-bar-unknown .lpn-engine-bar-fill {
	width: 30%;
	transition: none;
	animation: lpn-engine-bar-sweep 1.4s ease-in-out infinite;
}
@keyframes lpn-engine-bar-sweep {
	0%   { margin-left: 0; }
	50%  { margin-left: 70%; }
	100% { margin-left: 0; }
}
@media (prefers-reduced-motion: reduce) {
	.lpn-engine-bar-unknown .lpn-engine-bar-fill {
		animation: lpn-engine-bar-pulse 2s ease-in-out infinite;
	}
	@keyframes lpn-engine-bar-pulse {
		0%, 100% { opacity: 1; }
		50%      { opacity: .35; }
	}
}
.lpn-menu-row:focus-visible:enabled { background: var(--ec-hover-bg); }
.lpn-menubar-item { position: relative; }
.lpn-kbdbadge { display: none; }
.lpn-kbdmode .lpn-kbdbadge {
	display: block; position: absolute; inset-inline-end: 0; inset-block-end: -7px; z-index: 2;
	min-width: 12px; padding: 0 2px; box-sizing: border-box; text-align: center;
	font: bold 10px/12px monospace; color: var(--ec-bg); background: var(--ec-accent-open);
	border: 1px solid var(--ec-bg); border-radius: var(--ec-radius-s); pointer-events: none;
}
.lpn-menu-icon { position: relative; }
.lpn-kbdmode .lpn-menu-icon[data-mnemonic]::after {
	content: attr(data-mnemonic); content: attr(data-mnemonic) / '';
	display: block; position: absolute; inset-inline-start: -6px; inset-block-end: -3px;
	min-width: 12px; padding: 0 2px; box-sizing: border-box; text-align: center;
	font: bold 10px/12px monospace; color: var(--ec-bg); background: var(--ec-accent-open);
	border: 1px solid var(--ec-bg); border-radius: var(--ec-radius-s); pointer-events: none;
}
.lpn-menu-row[data-hotkey]::after {
	content: attr(data-hotkey); content: attr(data-hotkey) / '';
	float: inline-end; margin-inline-start: 2.5em; color: var(--ec-ink-subtle); unicode-bidi: isolate;
}
.lpn-menu-row[data-pointer-only] { cursor: default; }
@media (hover: none) and (pointer: coarse) {
	.lpn-menu-row[data-hotkey]::after { content: none; }
}
.ec-sk-grid { stroke: var(--ec-border); stroke-width: 1; }
.ec-sk-tick { fill: var(--ec-ink-subtle); font-size: 10px; font-family: sans-serif; }
.tooltip.ec-explain .tooltip-inner p { margin: 0 0 0.6em; }
.tooltip.ec-explain .tooltip-inner p:last-child { margin-bottom: 0; }
.lpn-hovercard-anchor { position: fixed; width: 1px; height: 1px; pointer-events: none; }
.tooltip.lpn-hovercard { pointer-events: none; }
.tooltip.lpn-hovercard { --bs-tooltip-opacity: 1; }
.tooltip.lpn-hovercard { max-width: calc(100vw - 8px); }
.tooltip.lpn-hovercard .tooltip-inner { text-align: start; max-width: min(24rem, calc(100vw - 8px)); max-height: calc(100vh - 8px); overflow: hidden; }
.tooltip.lpn-hovercard-wide .tooltip-inner { max-width: min(46rem, calc(100vw - 8px)); }
.tooltip.lpn-hovercard .tooltip-arrow { display: none; }
.lpn-hovercard-row { white-space: pre-line; }
.lpn-hovercard-cols { column-count: 2; column-gap: 1rem; }
.lpn-hovercard-cols .lpn-hovercard-row { break-inside: avoid; }
.lpn-tsb-layer { position: fixed; z-index: 1100; overflow: hidden; pointer-events: none; }
.lpn-tsb-tails { position: absolute; left: 0; top: 0; width: 100%; height: 100%; overflow: visible; pointer-events: none; z-index: 100000; }
.lpn-tsb-tailfill { fill: var(--ec-bg); stroke: none; }
.lpn-tsb-tailline { fill: none; stroke: var(--ec-gray-999); stroke-width: 1; stroke-linejoin: round; }
.lpn-tsb {
	position: absolute; box-sizing: border-box; pointer-events: auto; background: var(--ec-bg); color: var(--ec-ink);
	border: 1px solid var(--ec-gray-999); border-radius: var(--ec-radius-xl); box-shadow: 0 2px 8px var(--ec-a-0-0-0-25);
	overflow: hidden;
}
.lpn-tsb-head {
	display: flex; align-items: center; gap: 4px; height: 24px; padding: 0 2px 0 8px; cursor: move; touch-action: none;
	background: var(--ec-gray-f6f6f6); border-bottom: 1px solid var(--ec-border); user-select: none;
}
.lpn-tsb-title { flex: 1; min-width: 0; font-size: 12px; font-weight: bold; white-space: nowrap; overflow: hidden; }
.lpn-tsb-q { flex: 0 1 auto; min-width: 0; max-width: 60%; height: 20px; padding: 0 2px; font: inherit; font-size: 12px; cursor: pointer; }
.lpn-tsb-close {
	flex: none; width: 20px; height: 20px; padding: 0; border: 0; border-radius: var(--ec-radius-pill); background: none; font: inherit;
	font-size: 16px; line-height: 18px; color: inherit; cursor: pointer;
}
.lpn-tsb-close:hover, .lpn-tsb-close:focus-visible { background: var(--ec-gray-eaeaea); outline: 0; }
.lpn-tsb-chart { width: 100%; }
.lpn-tsb-say { padding: 8px; font-size: 12px; }
.lpn-tsb-grip { position: absolute; right: 0; bottom: 0; width: 16px; height: 16px; cursor: nwse-resize; touch-action: none; }
.lpn-tsb-grip::after {
	content: ''; position: absolute; right: 3px; bottom: 3px; width: 8px; height: 8px;
	border-right: 2px solid var(--ec-gray-888); border-bottom: 2px solid var(--ec-gray-888);
}
textarea.lpn-desc-ta {
	display: inline-block; vertical-align: top; max-width: 100%; box-sizing: border-box; min-height: 0;
	resize: none; overflow: hidden;
	font-family: inherit; font-size: inherit; line-height: 1.3; padding: 2px 4px;
}
.tooltip.ec-tip-lines .tooltip-inner { white-space: pre-line; text-align: start; max-width: 28em; }
.lpn-gjnet-beta { margin: 0 0 6px; font-size: 0.85em; color: var(--ec-ink-muted); cursor: help; }
.lpn-dxfnet-p { margin: 0 0 8px; }
.lpn-dxfnet-p.lpn-dxfnet-bold { font-weight: bold; }
.lpn-dxfnet-list { margin: 0; padding-left: 20px; max-height: 50vh; overflow: auto; }
.lpn-dxfnet-list li { margin-bottom: 4px; }
.lpn-dxfnet-sub { margin: 4px 0 0; padding-left: 20px; }
.lpn-dxfnet-sub li { margin-bottom: 0; }
@media (max-width: 600px) {
	.lpn-gjnet-table, .lpn-gjnet-table tr, .lpn-gjnet-table td { display: block; }
	.lpn-gjnet-table tr:first-child { display: none; }
	.lpn-gjnet-table tr { padding: 4px 0; border-bottom: 1px solid var(--ec-border); }
	.lpn-gjnet-table td { padding: 1px 0; }
	.lpn-gjnet-table td.lpn-gjnet-field { font-weight: bold; }
	.lpn-gjnet-table td[data-label]::before { content: attr(data-label) ": "; }
	.lpn-gjnet-table select { max-width: 100%; }
}
.ec-guide-page { max-width: 48rem; margin: 0 auto; padding: 1rem 16px 2rem; background: var(--ec-bg); color: var(--ec-ink); }
.ec-guide-page h1 { font-size: 1.6rem; margin: 1rem 0 .75rem; }
.ec-guide-page h2 { font-size: 1.2rem; margin-top: 1.5rem; }
.ec-guide-page dt { font-weight: bold; margin-top: .9rem; }
.ec-guide-page .lpn-guide-subhead { font-size: 1rem; font-weight: bold; margin: .9rem 0 .3rem; padding-bottom: .15em; border-bottom: 1px solid var(--ec-border); }
.ec-guide-page ul { margin: 0 0 .6rem; }
.ec-guide-page dt.lpn-guide-dup { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; margin: 0; }
.ec-guide-page dd { margin-inline-start: 0; }
.ec-guide-top a, .ec-guide-langs a { margin-inline-end: 1rem; }
.ec-guide-langs { margin-top: 1.5rem; font-size: .9rem; }
.ec-guide-langs a { display: inline-block; }
.ec-theme-card {
	display: block; position: relative; box-sizing: border-box; overflow: hidden;
	width: 132px; height: 80px;
	background: var(--ec-bg); color: var(--ec-ink);
	border: 1px solid var(--ec-border-strong); border-radius: var(--ec-radius-m);
	line-height: 0; text-align: start;
}
.ec-theme-card i { display: block; font-style: normal; box-sizing: border-box; }
.ec-tc-menu, .ec-tc-tool, .ec-tc-tabs { display: flex; gap: 4px; background: var(--ec-chrome-bg); background-image: var(--ec-chrome-image); padding: 0 5px; }
.ec-tc-menu, .ec-tc-tool, .ec-tc-tabs { background-size: 100% 100%; }
.ec-tc-menu { height: 14px; align-items: center; padding-top: 2px; gap: 3px; }
.ec-tc-menu i { width: 22px; height: 9px; background: var(--ec-bg); border: 1px solid var(--ec-accent); border-radius: min(var(--ec-btn-radius), 3px); box-shadow: var(--ec-bevel); }
.ec-tc-tool { height: 13px; align-items: center; gap: 6px; border-bottom: 1px solid var(--ec-gray-d6d6d6); }
.ec-tc-tool i { width: 7px; height: 7px; border: 1.5px solid var(--ec-ink-black); border-radius: 1px; }
.ec-tc-tabs { height: 11px; align-items: flex-end; gap: 2px; border-bottom: 1px solid var(--ec-gray-999); }
.ec-tc-tabs i { width: 22px; height: 7px; margin-bottom: -1px; background: var(--ec-gray-ececec); border: 1px solid var(--ec-gray-999); border-bottom: 0; border-radius: var(--ec-radius-xs) var(--ec-radius-xs) 0 0; }
.ec-tc-tabs i.ec-tc-cur { background: var(--ec-bg); }
.ec-tc-panel, .ec-tc-map, .ec-tc-note { display: block; }
.ec-tc-panel { position: absolute; left: 4px; top: 43px; bottom: 4px; width: 36px; padding: 2px 4px 4px; background: var(--ec-bg); border: 1px solid var(--ec-border-strong); border-radius: min(var(--ec-box-radius), 5px); }
.ec-tc-type {
	display: block; height: 15px; margin-bottom: 1px; overflow: hidden; white-space: nowrap;
	font-family: var(--ec-font-title); font-size: 13px; line-height: 15px; font-weight: var(--ec-title-weight);
	text-transform: var(--ec-title-case); letter-spacing: var(--ec-title-tracking); color: var(--ec-title-ink); text-shadow: var(--ec-text-glow);
}
.ec-tc-panel i { height: 3px; margin-bottom: 4px; background: var(--ec-ink); border-radius: 1px; }
.ec-tc-panel i + i { width: 70%; background: var(--ec-ink-muted); }
.ec-tc-panel i.ec-tc-link { width: 85%; background: var(--ec-accent); }
.ec-tc-map { position: absolute; left: 44px; right: 4px; top: 43px; bottom: 4px; background: var(--ec-map-paper); border: 1px solid var(--ec-border-strong); }
.ec-tc-map svg { display: block; width: 100%; height: 100%; fill: var(--ec-map-paper); stroke: var(--ec-map-asset); stroke-width: 1.4px; }
.ec-tc-note { position: absolute; right: 3px; top: 3px; width: 26px; height: 7px; background: var(--ec-warn-bg); border: 1px solid var(--ec-warn-border); }
.lpn-theme-btn {
	display: inline-flex; align-items: center; gap: 8px; max-width: 100%;
	padding: 3px 10px 3px 3px; font: inherit; cursor: pointer;
	background: var(--ec-bg); color: var(--ec-ink);
	border: 1px solid var(--ec-control-border); border-radius: var(--ec-btn-radius);
}
.lpn-theme-btn:hover { border-color: var(--ec-accent-hover); background: var(--ec-accent-hover-bg); }
.lpn-theme-btn[aria-expanded="true"] { border-color: var(--ec-accent-open); background: var(--ec-accent-open-bg); }
.lpn-theme-btn:focus-visible { outline: var(--ec-focus-w) solid var(--ec-accent); outline-offset: 2px; }
.lpn-theme-btn .ec-theme-card { width: 60px; height: 36px; flex: none; }
.lpn-theme-btn .ec-tc-tool, .lpn-theme-btn .ec-tc-tabs, .lpn-theme-btn .ec-tc-panel, .lpn-theme-btn .ec-tc-note { display: none; }
.lpn-theme-btn .ec-tc-menu { height: 10px; padding: 1px 3px 0; }
.lpn-theme-btn .ec-tc-menu i { width: 12px; height: 6px; }
.lpn-theme-btn .ec-tc-map { left: 3px; right: 3px; top: 13px; bottom: 3px; }
.lpn-theme-btn-name { white-space: normal; overflow-wrap: anywhere; min-width: 0; }
.lpn-theme-gallery {
	position: fixed; z-index: 1855; box-sizing: border-box;
	display: grid; grid-template-columns: repeat(auto-fill, 146px); gap: 6px;
	width: min(626px, calc(100vw - 8px)); max-height: calc(100vh - 8px); overflow: auto;
	padding: 8px; justify-content: center;
	background: var(--ec-bg); color: var(--ec-ink);
	border: 1px solid var(--ec-border-strong); border-radius: var(--ec-radius-l);
	box-shadow: 0 4px 14px var(--ec-a-0-0-0-25);
}
.lpn-theme-choice {
	display: flex; flex-direction: column; align-items: center; gap: 4px;
	padding: 6px 6px 4px; margin: 0; font: inherit; font-size: .9em; color: inherit; cursor: pointer;
	background: none; border: 2px solid transparent; border-radius: var(--ec-radius-l);
	animation: lpn-theme-in .2s ease-out both; animation-delay: calc(var(--lpn-theme-i, 0) * 35ms);
}
.lpn-theme-choice:hover, .lpn-theme-choice.lpn-theme-previewing { background: var(--ec-accent-hover-bg); border-color: var(--ec-accent-hover); }
.lpn-theme-choice[aria-pressed="true"] { border-color: var(--ec-accent); }
.lpn-theme-choice[aria-pressed="true"] .lpn-theme-choice-name { font-weight: bold; }
.lpn-theme-choice:focus-visible { outline: var(--ec-focus-w) solid var(--ec-accent); outline-offset: 1px; }
.lpn-theme-choice-name { max-width: 132px; line-height: 1.25; text-align: center; overflow-wrap: anywhere; }
@keyframes lpn-theme-in { from { opacity: 0; transform: translateY(4px) scale(.97); } to { opacity: 1; transform: none; } }
@media (prefers-reduced-motion: reduce) { .lpn-theme-choice { animation: none; } }
.lpn-box-stack #lpn_popup_graph svg { overflow: hidden; max-width: 100%; }
.lpn-box-stack .lpn-pgraph-chart, .lpn-box-stack #lpn_popup_graph { overflow: hidden; }
.lpn-box-stack button, .lpn-box-stack .lpn-rptbox-copy { max-width: 100%; min-width: 0; box-sizing: border-box; }
:root:root .lpn-gridhost .lpn-gname, :root:root .lpn-propbox .lpn-gprops .lpn-gname, :root:root .lpn-propbox #lpn_popup_title.lpn-gtitle-id > .lpn-gname { padding-inline-start: min(6px, 20%); padding-inline-end: min(6px, 20%); }
@media (pointer: coarse) {
	:root:root .lpn-gridhost .lpn-gname, :root:root .lpn-propbox .lpn-gprops .lpn-gname, :root:root .lpn-propbox #lpn_popup_title.lpn-gtitle-id > .lpn-gname { padding-inline-end: min(8px, 20%); }
}
.lpn-export-choice { display: flex; align-items: center; gap: 6px; padding: 3px 6px; cursor: pointer; }
.lpn-export-choice > input[type="radio"] { width: 1.125rem; height: 1.125rem; margin: 0; }
.lpn-lib-actions { display: flex; align-items: center; gap: 8px; margin-block: 4px; }
.lpn-crs-search { margin-block: 4px; }
.lpn-crs-list > select { width: 100%; box-sizing: border-box; }
#lpn_set_units_fields .lpn-units-group { display: block; }
#lpn_set_units_fields .lpn-units-derived { padding: 0 2px; min-height: 0; line-height: 21px; height: 21px; box-sizing: border-box; overflow: hidden; white-space: nowrap; }
.lpn-wtg-box-p { margin: 0 0 8px; }
.lpn-wtg-box-list { margin: 0; padding-left: 20px; }
.lpn-wtg-box-list li { margin-bottom: 4px; }
.lpn-dlg-p { margin: 0 0 8px; }
.lpn-dlg-strong { font-weight: bold; }
.lpn-dlg-group { margin: 0 0 10px; }
.lpn-dlg-opt { display: block; }
.lpn-dlg-indent { margin: 2px 0 0 20px; }
