.kv{--kv-ground:#ffffff;--kv-ink:rgba(16,22,32,0.62);--kv-halo:rgba(255,255,255,0.9);--kv-chip:rgba(255,255,255,0.92);--kv-shadow:0 8px 26px rgba(20,28,40,0.14);--kv-panel-2:#fafbfc;--mat-fluid:#c9def0;--mat-fluid-edge:#6d9cc6;--mat-metal:#d3d8de;--mat-metal-edge:#7d8794;--mat-dielectric:#e9dfc4;--mat-dielectric-edge:#a9946a;--mat-solid:#dcdfe5;--mat-solid-edge:#8a929e;--mat-p0:#e9dfc4;--mat-p1:#c9def0;--mat-p2:#d6e9c6;--mat-p3:#f1d6d6;--mat-p4:#e2d8f0;--mat-p5:#f4e4c4;--mat-p6:#cde9e6;--mat-p7:#e3e3cf;--mat3d-metal:#b9c3ce;--mat3d-solid:#c4cad3;--mat3d-fluid:#9cc3e6;--mat3d-dielectric:#d9cba4;--fam-dirichlet:#2b6cd0;--fam-neumann:#e06a24;--fam-robin:#16936a;--fam-periodic:#6a54c2;--fam-symmetry:#b88a07;--fam-port:#c8458b;--kv-s0:#256f84;--kv-s1:#c8692a;--kv-s2:#7457b8;--kv-s3:#7d8797;--kv-reaction:#1d8247;margin:8px 0;width:100%;font-variant-numeric:tabular-nums;color:var(--fg)}.dark .kv{--kv-ground:#1b222d;--kv-ink:rgba(8,11,16,0.6);--kv-halo:rgba(13,16,23,0.85);--kv-chip:rgba(21,26,35,0.94);--kv-shadow:0 10px 30px rgba(0,0,0,0.45);--kv-panel-2:#121720;--mat-fluid:#21415f;--mat-fluid-edge:#4f86b8;--mat-metal:#3c4652;--mat-metal-edge:#8a96a3;--mat-dielectric:#4a4330;--mat-dielectric-edge:#a99263;--mat-solid:#3a414c;--mat-solid-edge:#8a929e;--mat-p0:#4a4330;--mat-p1:#21415f;--mat-p2:#2f4a2c;--mat-p3:#5a3434;--mat-p4:#433a5c;--mat-p5:#5a4a2a;--mat-p6:#244b48;--mat-p7:#45453a;--mat3d-metal:#9aa6b3;--mat3d-solid:#a0a8b3;--mat3d-fluid:#4f86b8;--mat3d-dielectric:#a99263;--fam-dirichlet:#5d9bf2;--fam-neumann:#f2914f;--fam-robin:#3fc493;--fam-periodic:#a18ff0;--fam-symmetry:#e2c04d;--fam-port:#ee7fb6;--kv-s0:#7db9c9;--kv-s1:#f0a35e;--kv-s2:#ab92ea;--kv-s3:#9aa3b1;--kv-reaction:#4cc583}.kv button{font:inherit;color:inherit}.kv :focus-visible{outline:2px solid var(--accent);outline-offset:2px}.kv .ours{position:relative;min-height:120px;container-type:inline-size}.kv .k-head{display:flex;align-items:flex-start;gap:10px;padding:0 0 6px}.kv .k-title{display:none;font-weight:500;font-size:13.5px;color:var(--fg-mid);line-height:1.35;flex:1;min-width:0;overflow-wrap:anywhere}figure:has(>figcaption) .kv .k-title>span{display:none}.kv .k-sub{font-size:12.5px;color:var(--fg-faint);font-weight:400}.kv .k-acts{display:flex;gap:2px;flex:none}.kv .ibtn{width:28px;height:28px;border:1px solid transparent;border-radius:6px;background:none;color:var(--fg-mid);display:inline-grid;place-items:center;cursor:pointer;padding:0}.kv .ibtn:hover{background:var(--rule-soft);color:var(--fg)}.kv .ibtn svg{width:16px;height:16px}.kv .k-tools{display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px;padding:0 0 8px}.kv .k-tools:empty{display:none}.kv .k-seg{display:inline-flex;height:28px;border:1px solid var(--rule);border-radius:7px;overflow:hidden;background:var(--panel)}.kv .k-seg button{border:0;background:none;padding:0 10px;font-size:13px;color:var(--fg-mid);cursor:pointer;white-space:nowrap}.kv .k-seg button+button{border-left:1px solid var(--rule-soft)}.kv .k-seg button[aria-pressed=true]{background:var(--accent-soft);color:var(--fg);font-weight:500}.kv .k-lab{font-size:12.5px;color:var(--fg-faint);margin-right:-2px}.kv .stepper{display:inline-flex;align-items:center;height:28px;border:1px solid var(--rule);border-radius:7px;background:var(--panel);font-size:13px;color:var(--fg)}.kv .stepper button{border:0;background:none;width:26px;height:26px;cursor:pointer;color:var(--fg-mid)}.kv .stepper span{min-width:22px;text-align:center}.kv .k-range{display:inline-flex;align-items:center;gap:8px;font-size:13px;color:var(--fg-mid)}.kv input[type=range]{accent-color:var(--accent);width:120px}.kv .plotwrap{position:relative;touch-action:pan-y}.kv .plotwrap canvas{display:block;width:100%}.kv .zoombtns{position:absolute;right:6px;top:6px;display:flex;flex-direction:column;background:var(--kv-chip);border:1px solid var(--rule);border-radius:7px;overflow:hidden}.kv .zoombtns .ibtn{border-radius:0;width:28px;height:26px}.kv .zoombtns .ibtn+.ibtn{border-top:1px solid var(--rule-soft)}.kv .tip{position:absolute;z-index:8;pointer-events:none;background:var(--kv-chip);border:1px solid var(--rule);border-radius:7px;padding:6px 9px;font-size:12.5px;line-height:1.45;color:var(--fg-mid);box-shadow:var(--kv-shadow);white-space:nowrap;display:none}.kv .tip b{color:var(--fg);font-weight:600}.kv .tip .row{display:flex;align-items:center;gap:7px}.kv .tip .sw{width:12px;height:3px;border-radius:2px}.kv .tip .row.sub{padding-left:19px;margin-bottom:2px;color:var(--fg-faint)}.kv .plotwrap.box>.tip,.kv .plotwrap.curves>.tip,.kv .plotwrap.polar>.tip{background:var(--panel,#ffffff)}.kv .plotwrap.box>.tip{width:max-content}.kv .tip.narrow{box-sizing:border-box;white-space:normal;overflow-wrap:break-word}.kv .tip.narrow .row{flex-wrap:wrap}.kv .tip.narrow .row>.sw+*{max-width:calc(100% - 19px)}.kv[data-kv-kind=table] .ours{min-height:0}.kv .jp-df-wrap{margin:0;overflow-x:auto}.kv .jp-df{border-collapse:collapse;border:none;font-family:var(--font-mono,ui-monospace,monospace);font-size:calc(12.5px * var(--ts, 1));color:var(--fg)}.kv .jp-df thead th{text-align:right;font-weight:600;padding:4px 10px;border-bottom:1px solid var(--rule);color:var(--fg);vertical-align:bottom}.kv .jp-df td{padding:3px 10px;text-align:left;white-space:nowrap}.kv .jp-df td[data-num=true]{text-align:right}.kv .jp-df tbody tr:hover{background:var(--hover-wash,rgba(127,127,127,.08))}.kv .jp-df-shape{font-size:calc(11px * var(--ts, 1));color:var(--fg-faint);margin-top:4px}.kv .k-foot{display:flex;flex-wrap:wrap;align-items:center;gap:10px 18px;padding:8px 0 0}.kv .k-foot .hint{order:99;flex:1 0 100%;font-size:11.5px;color:var(--fg-faint);padding:0}.kv .k-foot .st-note{font-size:12.5px;color:var(--fg-mid)}.kv .k-foot:empty{display:none}.kv .k-foot .k-note{flex:1 0 100%;margin:0;max-width:72ch;font-size:12px;line-height:1.45;color:var(--fg-mid)}.kv .hint{font-size:12px;padding:4px 0 0}.kv .hint,.kv .small{color:var(--fg-faint)}.kv .small{font-size:13px}.kv .cbar{display:inline-flex;align-items:center;gap:12px;flex-wrap:wrap}.kv .cbar .q{font-size:13px;color:var(--fg);font-weight:500;white-space:normal;overflow-wrap:break-word}.kv .cbar .q i{font-style:normal;color:var(--fg-faint);font-weight:400}.kv .cbar .leg{display:grid;grid-template-columns:auto 220px;column-gap:12px;align-items:center}.kv .cbar .leg .q{grid-row:1/span 2}.kv .cbar .barbox{position:relative;width:220px;grid-column:2}.kv .cbar canvas.ramp{display:block;width:220px;height:10px;border-radius:3px}.kv .cbar .ticks{position:relative;grid-column:2;height:15px;font-size:11px;color:var(--fg-mid);margin-top:2px}.kv .cbar .ticks span{position:absolute;top:0;white-space:nowrap}.kv .cbar .mk{top:-7px;width:0;height:0;border-left:5px solid transparent;border-right:5px solid transparent;border-top:6px solid var(--fg);transform:translateX(-5px)}.kv .cbar .mk,.kv .cbar .mkv{position:absolute;display:none}.kv .cbar .mkv{top:-24px;transform:translateX(-50%);font-size:11px;color:var(--fg);background:var(--kv-chip);border:1px solid var(--rule);border-radius:4px;padding:0 4px;white-space:nowrap}.kv .pick{display:inline-flex;align-items:center;gap:7px;height:28px;border:1px solid var(--rule);border-radius:7px;background:var(--panel);padding:0 8px;font-size:13px;color:var(--fg-mid);cursor:pointer}.kv .pick canvas{width:30px;height:9px;border-radius:2px}.kv .menu{position:absolute;z-index:20;min-width:210px;padding:5px;background:var(--panel);border:1px solid var(--rule);border-radius:9px;box-shadow:var(--kv-shadow);font-size:13px}.kv .menu[hidden]{display:none}.kv .menu .mh{font-size:12px;color:var(--fg-faint);padding:4px 7px 5px}.kv .menu button{display:flex;width:100%;gap:10px;align-items:center;border:0;background:none;padding:6px 7px;border-radius:6px;cursor:pointer;text-align:left;color:var(--fg)}.kv .menu button:focus-visible,.kv .menu button:hover{background:var(--accent-soft);outline:none}.kv .menu button[aria-checked=true]:after{content:"";margin-left:auto;width:7px;height:7px;border-radius:50%;background:var(--accent)}.kv .menu canvas{width:52px;height:10px;border-radius:2px;flex:none}.kv .menu hr{border:0;border-top:1px solid var(--rule-soft);margin:5px 2px}.kv .scrub{display:flex;align-items:center;gap:10px;padding:6px 0 4px}.kv .play{width:34px;height:34px;border-radius:50%;border:1px solid var(--rule);background:var(--panel);display:grid;place-items:center;cursor:pointer;flex:none;color:var(--fg)}.kv .play[aria-pressed=true]{background:var(--accent);border-color:var(--accent);color:var(--panel)}.kv .track{position:relative;flex:1;height:34px;cursor:pointer;touch-action:none}.kv .track .rail{right:0;background:var(--rule)}.kv .track .fill,.kv .track .rail{position:absolute;left:0;top:12px;height:4px;border-radius:2px}.kv .track .fill{background:var(--accent)}.kv .track .tick{position:absolute;top:10px;width:2px;height:8px;margin-left:-1px;background:var(--fg-ghost);border-radius:1px}.kv .track .knob{position:absolute;top:6px;width:16px;height:16px;margin-left:-8px;border-radius:50%;background:var(--panel);border:2px solid var(--accent);box-shadow:0 1px 4px rgba(0,0,0,.2)}.kv .track .tl{position:absolute;top:21px;font-size:11px;color:var(--fg-faint);transform:translateX(-50%);white-space:nowrap}.kv .tnow{font-weight:600;font-size:15px;min-width:44px;text-align:right;flex:none;white-space:nowrap}.kv .spark{display:flex;align-items:center;gap:10px;font-size:12.5px;color:var(--fg-mid)}.kv .spark canvas{width:180px;height:34px}.kv .spark .touch{display:none}@media (hover:none){.kv .spark .mouse{display:none}.kv .spark .touch{display:inline}}.kv .v3{--v-canvas:#e6eaf0;--v-rule:#c3cad6;--v-fg:#1c2230;--v-mid:#4a5566;--v-faint:#7d8797;--v-chip:rgba(238,241,246,0.86);--v-chip-strong:rgba(238,241,246,0.95);--v-accent:#256f84;--v-accent-soft:#d0e3ea;--v-ctl:#f6f8fb;--v-ctl-rule:#6b7686;--v-ctl-div:#c3cad6;--v-on-ink:#ffffff;--v-ctl-hover:#ffffff;position:relative;border-radius:8px;overflow:hidden;background:var(--v-canvas);border:1px solid var(--v-rule)}.kv .plotwrap.box,.kv .v3{height:480px}.kv .v3 canvas.view{display:block;width:100%;height:100%;touch-action:none;cursor:grab}.kv .v3 canvas.view:active{cursor:grabbing}.kv .v3 .nogl{position:absolute;inset:0;display:grid;place-items:center;font-size:13px;color:var(--v-mid)}.kv .v3 .vt{position:absolute;left:8px;top:8px;right:8px;display:flex;flex-wrap:wrap;gap:6px;pointer-events:none}.kv .v3 .vt>*{pointer-events:auto}.kv .vp{display:inline-flex;align-items:center;gap:6px;height:26px;padding:0 9px;border:1px solid var(--v-ctl-rule);border-radius:6px;background:var(--v-ctl);color:var(--v-fg);font-size:12.5px;cursor:pointer;white-space:nowrap}.kv .vp:hover{background:var(--v-ctl-hover)}.kv .vp[aria-pressed=true]{border-color:var(--v-accent);background:var(--v-accent);color:var(--v-on-ink)}.kv .tbk{display:inline-grid;place-items:center;flex:none;box-sizing:border-box;width:13px;height:13px;border:1.5px solid;border-radius:2px}.kv .tbk svg{width:11px;height:11px;fill:none;stroke:currentColor;stroke-width:2;visibility:hidden}.kv [aria-pressed=true]>.tbk{border-color:var(--v-on-ink);background:var(--v-on-ink);color:var(--v-accent)}.kv [aria-pressed=true]>.tbk svg{visibility:visible}.kv .v3 .vt button:focus-visible{outline:2px solid var(--v-accent);outline-offset:1px}.kv .vp:disabled{opacity:.45;cursor:default}.kv .vchev{padding:0 6px}.kv .vsel{height:26px;border:1px solid var(--v-accent);border-radius:6px;background:var(--v-chip-strong);color:var(--v-fg);font-weight:500;font-size:12.5px;padding:0 6px}.kv .vseg{display:inline-flex;gap:1px;height:26px;border:1px solid var(--v-ctl-rule);border-radius:6px;background:var(--v-ctl-div);overflow:hidden}.kv .vseg button{border:0;background:var(--v-ctl);font-size:12.5px;color:var(--v-fg);padding:0 9px;cursor:pointer}.kv .vseg button:hover{background:var(--v-ctl-hover)}.kv .vseg button[aria-checked=true],.kv .vseg button[aria-pressed=true]{background:var(--v-accent);color:var(--v-on-ink)}.kv .v3 .vt .vseg button:focus-visible{outline-color:currentColor;outline-offset:-3px}.kv .vseg.vsize .k-lab{display:inline-flex;align-items:center;padding:0 2px 0 9px;margin:0;background:var(--v-ctl);color:var(--v-faint)}.kv .comp{position:absolute;right:8px;top:42px;width:210px;max-height:calc(100% - 140px);overflow:auto;border:1px solid var(--v-rule);border-radius:8px;background:var(--v-chip-strong);color:var(--v-fg);font-size:13px}.kv .comp-h,.kv .lg-h{display:flex;width:100%;align-items:center;gap:7px;border:0;background:none;padding:7px 10px;cursor:pointer;font-weight:500}.kv .comp-h{color:var(--v-fg)}.kv .lg-h{color:var(--fg)}.kv .comp-h .chev,.kv .lg-h .chev{margin-left:auto;transition:transform var(--hover-timing)}.kv .comp[data-open=false] .comp-h .chev,.kv .lg[data-open=false] .lg-h .chev{transform:rotate(180deg)}.kv .comp[data-open=false] .comp-b,.kv .lg[data-open=false] .lg-b{display:none}.kv .comp-b,.kv .lg-b{padding:0 6px 8px}.kv .gname{font-size:11.5px;color:var(--fg-faint);padding:6px 4px 2px}.kv .comp .gname{color:var(--v-faint)}.kv .comp .row,.kv .lg .row{display:flex;align-items:center;gap:7px;padding:2px 4px;border-radius:5px;min-height:26px}.kv .comp{text-align:left}.kv .comp .row{position:relative}.kv .comp .row:hover,.kv .lg .row:hover{background:color-mix(in srgb,var(--accent-soft) 60%,transparent)}.kv .comp .row label,.kv .lg .row label{display:flex;align-items:center;gap:7px;flex:1;min-width:0;cursor:pointer}.kv .comp .row label span.n,.kv .lg .row label span.n{overflow-wrap:break-word;line-height:1.3;padding:2px 0;min-width:0}.kv .comp input,.kv .lg input{accent-color:var(--accent);width:14px;height:14px;margin:0;flex:none}.kv .only{border:0;background:none;color:var(--fg-faint);font-size:11.5px;cursor:pointer;padding:1px 4px;border-radius:4px;opacity:0}.kv .only:focus-visible,.kv .row:hover .only{opacity:1}.kv .only:hover{color:var(--fg)}.kv .note{font-size:11.5px;color:var(--fg-faint);padding:6px 4px 0;line-height:1.4}.kv .comp .note,.kv .comp .nt{color:var(--v-faint)}.kv .pmark{display:inline-block;margin-left:6px;padding:0 4px;border:1px dashed;border-radius:3px;font-size:.85em;line-height:1.35;font-style:italic;white-space:nowrap;opacity:.85}.kv .v3 .card.mchips{display:flex;flex-wrap:wrap;gap:6px;padding:5px 9px;font-size:12.5px}.kv .mchip{display:inline-flex;align-items:center;gap:6px;white-space:nowrap}.kv .mchip .sw{width:11px;height:11px;border-radius:3px;border:1px solid var(--v-rule)}.kv .lg .row.off{color:var(--fg-faint)}.kv .lg .row.off label{cursor:default}.kv .lg .row.child{padding-left:18px}.kv .lg .row[data-disabled=true]{color:var(--fg-faint);opacity:.55}.kv .lg .row[data-disabled=true] label{cursor:default;pointer-events:none}.kv .nobox{width:14px;height:14px;flex:none}.kv .lsw{display:inline-flex;width:22px;height:12px;flex:none}.kv .lsw svg{display:block}.kv .k-body{display:flex;align-items:flex-start;gap:12px}.kv .k-body>.plotwrap,.kv .plotcol{flex:1;min-width:0}.kv .k-panels,.kv .k-stack{display:grid;gap:14px}.kv .k-panels{grid-template-columns:repeat(var(--cols,2),minmax(0,1fr))}@container (max-width: 640px){.kv .k-panels{grid-template-columns:minmax(0,1fr)}}.kv .k-panel .k-title{display:block}.kv .k-panel .k-title>span{display:inline}.kv .k-link[aria-pressed=true]{border-color:var(--accent);color:var(--fg)}.kv .k-link[aria-pressed=true]>.tbk{border-color:var(--accent);background:var(--accent);color:var(--panel)}.kv .k-link:disabled{opacity:.45;cursor:default}.kv .overview{display:none;margin:6px 0 0;width:100%;height:26px;border-radius:4px;cursor:pointer;touch-action:none}.kv .lg{width:228px;flex:none;border:1px solid var(--rule);border-radius:8px;background:var(--kv-panel-2);color:var(--fg);font-size:13px}.kv .flowbtn svg{width:13px;height:13px}.kv .flowbtn[aria-pressed=true]{border-color:var(--accent);color:var(--fg)}.kv .v3 .card{position:absolute;left:8px;bottom:8px;padding:8px 11px 6px;background:var(--v-chip-strong);border:1px solid var(--v-rule);border-radius:7px;color:var(--v-fg);max-width:calc(100% - 120px)}.kv .k-foot .card.docked{position:static;padding:0;background:none;border:0;max-width:100%;min-width:0}.kv .k-foot .card.mchips.docked{display:flex;flex-wrap:wrap;gap:6px;font-size:12.5px}.kv .k-foot .card.docked .cbar,.kv .k-foot .card.docked .cbar .leg{max-width:100%}.kv .k-foot .card.docked .cbar .leg{grid-template-columns:auto minmax(0,220px)}.kv .k-foot .card.docked .cbar .barbox,.kv .k-foot .card.docked .cbar .ticks,.kv .k-foot .card.docked .cbar canvas.ramp{width:100%}.kv .v3 .card .cbar .barbox,.kv .v3 .card .cbar .ticks,.kv .v3 .card .cbar canvas.ramp{width:190px}.kv .v3 .card .cbar{flex-direction:column;align-items:flex-start;gap:5px}.kv .v3 .card .cbar .leg{display:flex;flex-direction:column;align-items:flex-start}.kv .v3 .card .cbar .leg .q{margin-bottom:5px}.kv .v3 .card .cbar .ticks{color:var(--v-mid)}.kv .v3 .card .cbar .q{color:var(--v-fg)}.kv .v3 .card .cbar .mk{border-top-color:var(--v-fg)}.kv .v3 .tip{background:var(--v-chip-strong);border-color:var(--v-rule);color:var(--v-mid)}.kv .v3 .tip b{color:var(--v-fg)}.kv .v3 .gizmo{right:6px;bottom:6px;width:84px;height:84px}.kv .v3 .gizmo,.kv .v3 .lab{position:absolute;pointer-events:none}.kv .v3 .lab{transform:translate(-50%,-100%);background:var(--v-chip-strong);border:1px solid var(--v-rule);border-radius:6px;padding:3px 8px;font-size:12px;color:var(--v-fg);white-space:nowrap;line-height:1.3}.kv .v3 .lab b{display:block}.kv .v3 .lab span{color:var(--v-mid);font-size:11.5px}.kv .v3 .lab span.ml{display:block}.kv .kv-fallback{font-size:11.5px;color:var(--fg-faint);margin:4px 0 0}@container (max-width: 700px){.kv .k-body{flex-direction:column;align-items:stretch;padding-right:0;gap:8px}.kv .k-body .lg{width:auto}.kv .k-body .lg .lg-b{display:grid;grid-template-columns:repeat(auto-fill,minmax(178px,1fr));column-gap:8px}.kv .k-body .lg .lg-b .gname,.kv .k-body .lg .lg-b .note{grid-column:1/-1}.kv .k-body .lg[data-open=false] .lg-b{display:none}}@media (max-width:767px){.kv .plotwrap.box,.kv .v3{height:400px}}@container (max-width: 520px){.kv .v3 .card{max-width:calc(100% - 100px)}}@media (prefers-reduced-motion:reduce){.kv *{transition:none!important}}.kv .v3 .hint-in{position:absolute;left:10px;bottom:7px;right:96px;font-size:10.5px;line-height:1.3;color:var(--v-faint);opacity:.85;pointer-events:none}.kv .comp{top:8px;width:max-content;min-width:132px;max-width:200px;max-height:calc(100% - 70px);font-size:12.5px;border-radius:6px}.kv .comp-h{height:26px;padding:0 8px;gap:6px;font-size:12.5px}.kv .comp-b{padding:0 4px 5px}.kv .comp .row{min-height:22px;padding:1px 4px;gap:6px}.kv .comp .row label{gap:6px;align-items:flex-start}.kv .comp .row label .sw,.kv .comp .row label input{margin-top:3px}.kv .comp .row label span.n{padding:1px 0}@container (max-width: 520px){.kv .comp{min-width:0}}.kv .v3 .ov{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;overflow:visible}.kv .v3 .ov .lead{fill:none;stroke:var(--v-mid);stroke-width:1;stroke-linejoin:miter;opacity:.85}.kv .v3 .ov .dot{fill:var(--v-fg)}.kv .v3 .ov .dim{opacity:.4}.kv .v3 .ov .lead.dim{stroke-dasharray:2 2}.kv .v3 .ov .hov{stroke:var(--v-fg);opacity:1}.kv .v3 .ov circle.hov{fill:var(--v-fg);stroke:var(--v-canvas);stroke-width:1.5}.kv .v3 .lab{transform:none;background:none;border:0;padding:0 2px;font-size:11.5px;line-height:1.25;text-shadow:0 0 2px var(--v-canvas),0 0 3px var(--v-canvas),0 0 5px var(--v-canvas)}.kv .v3 .lab b{font-weight:600}.kv .v3 .lab span{font-size:10.5px}.kv .v3 .lab.wrap{white-space:normal}.kv .v3 .tip{padding:4px 7px;font-size:11.5px;border-radius:4px;box-shadow:none}.kv .v3 .ov .arrow .head,.kv .v3 .ov .arrow .shaft{fill:none;stroke:var(--fam-neumann);stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.kv .v3 .ov .arrow.dim{opacity:.35}.kv .v3 .ov .load-t{font-size:11.5px;paint-order:stroke;stroke:var(--v-canvas);stroke-width:3px;stroke-linejoin:round}.kv .v3 .ov .load-t .n{font-weight:600;fill:var(--v-fg)}.kv .v3 .ov .load-t .v{fill:var(--fam-neumann);font-size:10.5px}.kv .cbar .leg .qrow{grid-row:1/span 2}.kv .cbar .qrow{display:flex;align-items:baseline;gap:10px;min-width:0}.kv .cbar .qrow .mkv{position:static;transform:none;margin-left:auto;font-variant-numeric:tabular-nums;font-weight:600;background:none;border:0;padding:0;display:block;visibility:hidden;flex:none;min-width:11ch;text-align:right}.kv .v3 .card .cbar .qrow{width:100%;margin-bottom:5px}.kv .v3 .card .cbar .leg .qrow .q{margin-bottom:0}.kv .v3 .card .cbar .qrow .mkv{color:var(--v-fg)}.kv .k-foot .card.docked .cbar .leg{display:flex;flex-direction:column;align-items:stretch;gap:4px}.kv .k-foot .card.docked .cbar .qrow{width:100%}@container (max-width: 520px){.kv .cbar .leg{display:flex;flex-direction:column;align-items:stretch;gap:4px}.kv .cbar .ticks{width:220px}}.kv .ours{text-align:left}.kv .comp.compact .comp-h span{display:none}.kv .plotwrap .lg.over{position:absolute;z-index:4;top:calc(var(--pt, 10px) + 6px);right:calc(var(--pr, 10px) + 6px);width:max-content;max-width:46%;border-radius:6px;border-color:var(--rule);background:var(--kv-chip);font-size:12.5px;backdrop-filter:blur(3px)}.kv .plotwrap .lg.over .lg-h{height:26px;padding:0 8px;gap:6px;font-size:12.5px}.kv .plotwrap .lg.over .lg-b{padding:0 4px 5px}.kv .plotwrap .lg.over .row{min-height:22px;padding:1px 4px}.kv .plotwrap .lg.over.tight .row{min-height:18px;padding-block:0}.kv .plotwrap .lg.over.tight .row label span.n{padding-block:0}.kv .plotwrap .lg.over.up{display:flex;flex-direction:column-reverse}.kv .plotwrap .lg.over.up[data-open=false] .lg-h .chev{transform:none}.kv .plotwrap .lg.over.up[data-open=true] .lg-h .chev{transform:rotate(180deg)}.kv .lg .grp{width:100%}.kv .lg .grp+.grp{margin-top:2px}.kv .lg .grp-h{display:flex;align-items:center;gap:6px;border:0;background:none;padding:3px 4px;cursor:pointer;font:inherit;font-weight:500;color:var(--fg-mid)}.kv .lg .grp-h:hover{color:var(--fg)}.kv .lg .grp-h .chev{width:12px;height:12px;transform:rotate(90deg);transition:transform var(--hover-timing)}.kv .lg .grp[data-open=true] .grp-h .chev{transform:rotate(180deg)}.kv .lg .grp-h .gc{color:var(--fg-faint);font-weight:400}.kv .lg .grp[data-open=false] .grp-b{display:none}.kv .lg .grp-b{display:flex;flex-wrap:wrap;gap:0 14px;padding:0 0 2px 16px}.kv .lg .row .dt{color:var(--fg-faint);white-space:nowrap}.kv .lg .row label:has(>.dt.members){flex-wrap:wrap;row-gap:0}.kv .lg .row .dt.members{flex-basis:100%;padding:0 0 2px 50px;white-space:normal;line-height:1.3}.kv .lg .row .dt.members>span{white-space:nowrap}.kv .lg .row .faces{display:flex;flex-wrap:wrap;gap:0 10px;width:100%;padding:0 0 2px 22px}.kv .lg .row:has(.faces){flex-wrap:wrap}.kv .lg .row .face{display:inline-flex;align-items:center;gap:5px;color:var(--fg-mid);cursor:pointer}.kv .plotwrap .hint-in{position:absolute;left:calc(var(--pl, 50px) + 8px);right:calc(var(--pr, 10px) + var(--lgw, 0px) + 16px);top:calc(var(--pt, 10px) + 7px);font-size:10.5px;line-height:1.3;color:var(--fg-faint);opacity:.9;pointer-events:none;text-shadow:0 0 2px var(--kv-halo),0 0 4px var(--kv-halo)}.kv .plotwrap .hint-in .short{display:none}@container (max-width: 520px){.kv .plotwrap .hint-in .long{display:none}.kv .plotwrap .hint-in .short{display:inline}}.kv .plotwrap .hint-in .touch{display:none}@media (hover:none){.kv .plotwrap .hint-in:has(>.touch)>.long,.kv .plotwrap .hint-in:has(>.touch)>.short{display:none}.kv .plotwrap .hint-in>.touch{display:inline}}.kv .k-body .plotcol .plotwrap .hint-in{color:rgba(255,255,255,.8);text-shadow:0 0 3px rgba(0,0,0,.6)}.kv .plotwrap.box .hint-in{top:auto;right:calc(var(--pr, 10px) + 8px);bottom:calc(var(--pb, 40px) + 6px)}.kv .k-body .plotcol .plotwrap.box:not(.on-map) .hint-in{color:var(--fg-faint);text-shadow:0 0 2px var(--kv-halo),0 0 4px var(--kv-halo)}.kv .v3 .vt .vstep{display:inline-flex;align-items:center;gap:2px;height:26px;padding:0 3px 0 9px;border:1px solid var(--v-ctl-rule);border-radius:6px;background:var(--v-ctl);color:var(--v-mid);font-size:12.5px}.kv .v3 .vt .vstep .k-lab{font-size:12.5px;color:var(--v-mid);margin-right:4px}.kv .v3 .vt .vstep .stepper{border:0;background:none;height:24px}.kv .v3 .vt .vstep .stepper button{width:20px;height:22px;color:var(--v-mid)}.kv .v3 .vt .vstep .stepper span{min-width:14px;text-align:center;color:var(--v-fg);font-weight:500}.kv .comp{max-width:260px;overflow-x:hidden;background:linear-gradient(var(--v-chip-strong),var(--v-chip-strong)),var(--v-canvas)}.kv .comp:not(.foot){min-width:0;max-width:82cqw}.kv .comp .row{display:grid;grid-template-columns:minmax(0,1fr);row-gap:1px;align-items:start;padding:2px 4px}.kv .comp .row>label{grid-column:1;grid-row:1;align-items:flex-start;min-width:0}.kv .comp .row label .lsw,.kv .comp .row label input{margin-top:2px}.kv .comp .row label span.n{white-space:normal;line-height:1.3;padding:0}.kv .comp .row>.sub{grid-column:1/-1;grid-row:2;min-width:0;padding-left:calc(14px + 22px + 2 * 6px);line-height:1.3}.kv .comp .sub .matchip{display:inline-flex;max-width:100%;height:auto;margin:0;padding:0;border:0;border-radius:3px;background:none;color:var(--v-faint);font-size:11px;font-weight:400;white-space:normal;overflow-wrap:anywhere;vertical-align:0;gap:4px}.kv .comp .sub .matchip .matchip-icon{width:10px;height:10px;margin-top:1px;align-self:flex-start}.kv .comp .sub .matchip:hover,.kv .comp .sub .matchip[aria-expanded=true]{color:var(--v-fg);background:none;text-decoration:underline;text-underline-offset:2px}.kv .comp .cond{font-size:11px;color:var(--v-faint)}.kv .comp .sub .cond{margin:0;padding:0;white-space:normal}.kv .comp-h .cnt{color:var(--v-faint);font-weight:400;font-variant-numeric:tabular-nums}.kv .comp-h .cnt:empty,.kv .comp[data-open=true] .comp-h .cnt{display:none}.kv .comp[data-open=false] .comp-h .cnt{flex:none;width:14px;margin-left:auto;text-align:center}.kv .comp[data-open=false] .comp-h .cnt:not(:empty)~.chev{display:none}.kv .comp-b[data-more=true]:after,.kv .comp[data-more=true]:after{content:"\25BE";position:sticky;bottom:0;display:block;height:22px;margin-top:-22px;padding-top:8px;background:linear-gradient(transparent,var(--v-chip-strong) 70%);color:var(--v-mid);font-size:12px;line-height:14px;text-align:center;pointer-events:none}.kv .comp.foot .comp-b:after,.kv .comp.foot:after{display:none}.kv .comp.foot{width:max-content!important;overflow-x:auto}.kv .comp.foot .row{display:flex;align-items:center;gap:6px;padding:1px 4px}.kv .comp.foot .row>label{align-items:center}.kv .comp.foot .row label .lsw,.kv .comp.foot .row label input{margin-top:0}.kv .comp.foot .row label span.n{white-space:nowrap;padding:1px 0}.kv .comp.foot .row>.sub{display:contents}.kv .comp.foot .sub .cond,.kv .comp.foot .sub .matchip{flex:none;margin-left:auto;white-space:nowrap}.kv .comp.foot .sub .matchip{max-width:none;height:18px;margin-right:1px;padding:0 6px 0 5px;border:1px solid transparent;font-weight:500}.kv .comp.foot .sub .matchip .matchip-icon{width:12px;height:12px;margin-top:0}.kv .comp.foot .sub .cond{padding-right:2px}.kv .cond.t-dirichlet,.kv .v3 .lab span.t-dirichlet{color:var(--fam-dirichlet)}.kv .cond.t-neumann,.kv .v3 .lab span.t-neumann{color:var(--fam-neumann)}.kv .cond.t-robin,.kv .v3 .lab span.t-robin{color:var(--fam-robin)}.kv .cond.t-periodic,.kv .v3 .lab span.t-periodic{color:var(--fam-periodic)}.kv .cond.t-symmetry,.kv .v3 .lab span.t-symmetry{color:var(--fam-symmetry)}.kv .cond.t-port,.kv .v3 .lab span.t-port{color:var(--fam-port)}.kv .v3 .ov .pl .edge{fill:none;stroke:var(--v-fg);stroke-width:1.4;stroke-linejoin:round}.kv .v3 .ov .pl.src .edge{stroke:var(--fam-port);stroke-width:2}.kv .v3 .ov .pl.dash .edge{stroke-dasharray:4 3;stroke-width:1.2}.kv .v3 .ov .pl .halo,.kv .v3 .ov .sarrow .halo{fill:none;stroke:var(--v-canvas);stroke-width:4;stroke-linecap:round;stroke-linejoin:round;opacity:.75}.kv .v3 .ov .pl .halo{opacity:.45}.kv .v3 .ov .sarrow .head,.kv .v3 .ov .sarrow .shaft{fill:none;stroke:var(--fam-port);stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}.kv .v3 .vt.flow{display:block;top:2px}.kv .v3 .vt.flow>*{vertical-align:top;margin:6px 6px 0 0}.kv .v3 .vt.flow>.vt-room{float:right;height:26px;margin:6px 0 0;pointer-events:none}@container (max-width: 520px){.kv .vp{padding:0 7px}.kv .vchev,.kv .vsel{padding:0 4px}.kv .vseg button{padding:0 6px}.kv .vseg.vsize .k-lab{padding:0 0 0 7px}}.kv .vsec{gap:6px;min-width:0}.kv .vsec,.kv .vsec-p{display:inline-flex;flex-wrap:wrap;align-items:center}.kv .vsec-p{gap:4px}.kv .vsec-p[hidden]{display:none}.kv .vsec .vax{padding:0 7px}.kv .vsec input[type=range]{width:96px;accent-color:var(--v-accent)}.kv .comp.compact[data-open=true]{overflow:visible;max-height:none}.kv .comp.compact[data-open=true] .comp-b{position:absolute;right:-1px;top:var(--comp-drop);width:max-content;min-width:0;max-width:82cqw;max-height:var(--comp-room);overflow:hidden auto;padding-top:5px;border:1px solid var(--v-rule);border-radius:6px;background:linear-gradient(var(--v-chip-strong),var(--v-chip-strong)),var(--v-canvas)}.kv .comp.compact.foot[data-open=true] .comp-b{min-width:132px;max-width:260px;overflow:auto}.kv .v3 .lab{background:var(--v-chip);border-radius:0}.kv .corner2d{margin:0 0 4px;font-size:12px;line-height:1.35;color:var(--fg-mid)}.kv .kv-sec-dark,.kv .kv-sec-light{display:none}.kv .kv-sec-light{--kv-ground:#ffffff;--kv-halo:rgba(255,255,255,0.9);--mat-fluid:#c9def0;--mat-fluid-edge:#6d9cc6;--mat-metal:#d3d8de;--mat-metal-edge:#7d8794;--mat-dielectric:#e9dfc4;--mat-dielectric-edge:#a9946a;--mat-solid:#dcdfe5;--mat-solid-edge:#8a929e;--fam-dirichlet:#2b6cd0;--fam-neumann:#e06a24;--fam-robin:#16936a;--fam-periodic:#6a54c2;--fam-symmetry:#b88a07;--fam-port:#c8458b;--fg:#1c2430;--fg-mid:#4f5d72;--fg-faint:#616c85;--rule:#d9dee7;--panel:#ffffff}.kv .kv-sec-dark{--kv-ground:#1b222d;--kv-halo:rgba(13,16,23,0.85);--mat-fluid:#21415f;--mat-fluid-edge:#4f86b8;--mat-metal:#3c4652;--mat-metal-edge:#8a96a3;--mat-dielectric:#4a4330;--mat-dielectric-edge:#a99263;--mat-solid:#3a414c;--mat-solid-edge:#8a929e;--fam-dirichlet:#5d9bf2;--fam-neumann:#f2914f;--fam-robin:#3fc493;--fam-periodic:#a18ff0;--fam-symmetry:#e2c04d;--fam-port:#ee7fb6;--fg:#edf1f3;--fg-mid:#aab7c0;--fg-faint:#8999a4;--rule:#384d5c;--panel:#18232a}.kv .k-body .plotcol .plotwrap.box.plan:not(.on-map) .hint-in{right:auto;max-width:calc(100% - var(--pl, 50px) - var(--vbw, 0px) - var(--pr, 10px) - 24px);padding:1px 5px;color:var(--hint-fg,var(--fg-mid));background:var(--hint-bg,var(--kv-ground));opacity:1;text-shadow:none}.kv .caption2d{margin:6px 0 0;max-width:76ch;font-size:12.5px;line-height:1.45;color:var(--fg-mid)}.kv .lg .cat{grid-column:1/-1}.kv .k-foot .lg.foot .cat{width:100%}.kv .lg .cat-h{display:flex;align-items:center;gap:3px;min-height:24px}.kv .lg .cat-chev{display:inline-flex;flex:none;align-items:center;justify-content:center;width:20px;height:20px;padding:0;border:0;background:none;color:var(--fg-mid);cursor:pointer}.kv .lg .cat-chev .chev{transform:rotate(180deg);transition:transform var(--hover-timing)}.kv .lg .cat[data-open=false] .cat-chev .chev{transform:rotate(90deg)}.kv .lg .cat[data-open=false] .cat-b{display:none}.kv .lg .cat-all{display:flex;flex:1;align-items:center;gap:7px;min-width:0;padding:0 4px;font-weight:600;font-size:12px;color:var(--fg);cursor:pointer}.kv .lg .cat-k{font-weight:400;color:var(--fg-faint)}.kv .lg .cat-b{padding-left:44px}.kv .plotwrap .lg.over.grouped{width:max-content;max-width:calc(100% - 32px)}.kv .plotwrap .lg.over.grouped .cat[data-open=false] .cat-b,.kv .plotwrap .lg.over.grouped[data-open=false] .lg-b{display:block;height:0;padding-top:0;padding-bottom:0;overflow:hidden;visibility:hidden}.kv .plotwrap .lg.over.grouped .cat-h{min-height:22px}.kv .plotwrap .lg.over.grouped .row{position:relative;min-height:21px;padding-right:2px;font-size:12px}@container (max-width: 400px){.kv .plotwrap .lg.over.grouped .lg-b{padding:0 2px 5px}.kv .plotwrap .lg.over.grouped .cat-h{gap:2px}.kv .plotwrap .lg.over.grouped .cat-chev{width:16px}.kv .plotwrap .lg.over.grouped .cat-b{padding-left:39px}.kv .plotwrap .lg.over.grouped .row{font-size:11.5px}.kv .plotwrap .lg.over.grouped .row label{gap:5px}.kv .plotwrap .lg.over.grouped .lsw,.kv .plotwrap .lg.over.grouped .lsw svg{width:18px;height:10px}}.kv .plotwrap .lg.over.grouped .row .only{position:absolute;top:50%;right:2px;transform:translateY(-50%);background:var(--kv-panel-2)}.kv .plotwrap .lg.over.grouped .note{box-sizing:border-box;width:0;min-width:100%}.kv .v3 .ov .pl.own .edge{stroke:var(--mk);stroke-width:2}.kv .v3 .ov .pl.own .sarrow .head,.kv .v3 .ov .pl.own .sarrow .shaft{stroke:var(--mk-arrow,var(--mk))}.kv .v3 .ov .pl .sarrow.pol .head,.kv .v3 .ov .pl .sarrow.pol .shaft{stroke:var(--mk-pol);stroke-dasharray:4 3}.kv .comp .gname.all label{display:flex;align-items:center;gap:7px;cursor:pointer;padding:0}.kv .comp .gname.all{padding:6px 4px 2px}.kv .v3 .corner{position:absolute;left:10px;right:96px;bottom:24px;font-size:12px;line-height:1.35;color:var(--v-mid);pointer-events:none}.kv .comp .comp-gh{display:flex;width:100%;align-items:center;gap:5px;border:0;background:none;color:var(--v-fg);font-size:12px;font-weight:500;padding:4px 4px 2px 2px;cursor:pointer;text-align:left}.kv .comp .comp-fold svg,.kv .comp .comp-gh svg{transform:rotate(180deg);transition:transform var(--hover-timing);flex:none}.kv .comp .comp-fold[aria-expanded=true] svg,.kv .comp .comp-gh[aria-expanded=true] svg{transform:none}.kv .comp .comp-gh .gn{flex:1}.kv .comp .comp-gh .gc{color:var(--v-faint);font-weight:400}.kv .comp .comp-faces,.kv .comp .comp-member{margin-left:20px}.kv .comp .row.side>span.n{padding-left:20px;line-height:1.3;white-space:nowrap}.kv .comp .row.fold{grid-template-columns:minmax(0,1fr) auto}.kv .comp .comp-fold{grid-column:2;grid-row:1;align-self:start;display:inline-flex;align-items:center;gap:5px;height:18px;margin:0;padding:0 0 0 10px;border:0;border-radius:4px;background:none;color:var(--v-faint);font:inherit;font-size:12px;font-variant-numeric:tabular-nums;cursor:pointer}.kv .comp .comp-fold:focus-visible,.kv .comp .comp-fold:hover{color:var(--v-fg)}@media (prefers-reduced-motion:reduce){.kv .comp .comp-fold svg,.kv .comp .comp-gh svg{transition:none}}.kv .comp .row label span.n{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;overflow-wrap:normal;word-break:normal}.kv .comp .row>label{overflow:hidden}.kv .comp .row label .lsw,.kv .comp .row label .sw,.kv .comp .row label input{flex:none}.kv .kv-wait{container-type:inline-size;width:100%}.kv .kv-wait-box{box-sizing:border-box;display:flex;align-items:center;justify-content:center;min-height:486px;border-radius:8px;background:var(--kv-panel-2);border:1px solid var(--v-rule,var(--kv-ground))}.kv .kv-wait-box[data-kv-tall=true]{min-height:514px}@container (max-width: 520px){.kv .kv-wait-box{min-height:406px}.kv .kv-wait-box[data-kv-tall=true]{min-height:434px}}.kv .k-montage{display:grid;grid-template-columns:repeat(var(--cols,3),minmax(0,1fr));gap:12px 14px}.kv .k-pane{min-height:0;min-width:0}.kv .k-pane-t{display:flex;align-items:baseline;gap:8px;min-height:18px;padding:0 10px 2px var(--pl,44px);font-size:12.5px;font-weight:500;line-height:18px;color:var(--fg-mid);white-space:nowrap;overflow:hidden}.kv .k-pane-t .n{flex:none;max-width:100%}.kv .k-pane-t .n,.kv .k-pane-t .v{overflow:hidden;text-overflow:ellipsis}.kv .k-pane-t .v{min-width:0;color:var(--fg);font-weight:600}.kv .k-pane-t[data-two=true]{flex-wrap:wrap;align-content:flex-start;row-gap:0;min-height:38px}.kv .k-pane-t[data-two=true] .v{flex-basis:100%}.kv .k-pane-t .v:empty{display:none}.kv .k-pane[data-hot=true] .k-pane-t .n{color:var(--accent)}.kv .k-mbar{display:flex;align-items:center;gap:10px;flex:1 0 100%;min-width:0}.kv .k-mbar>.vb{position:static;flex:none;opacity:1;pointer-events:auto;box-shadow:none}.kv .k-mhint{font-size:11.5px;line-height:1.35;color:var(--fg-faint)}.kv .k-mhint .short{display:none}@media (hover:none){.kv .k-mhint .long{display:none}.kv .k-mhint .short{display:inline}}.kv .lg.lg-strip{flex:1 1 100%;width:auto;min-width:0;border:0;background:none}.kv .lg.lg-strip .lg-h{display:none}.kv .lg.lg-strip .lg-b{display:flex;flex-wrap:wrap;gap:0 6px;padding:0}.kv .lg.lg-strip .row{flex:none;max-width:100%}