.nv-customizer-trigger{position:fixed;right:0;top:45%;z-index:1040;display:flex;align-items:center;gap:9px;border:0;border-radius:12px 0 0 12px;background:#5145b6;color:#fff;padding:13px;box-shadow:0 5px 24px #17143933;cursor:pointer;font:600 12px/1.4 system-ui}
.nv-customizer-trigger span{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.nv-customizer{--nv-panel:#fff;--nv-ink:#233249;--nv-muted:#5b6779;--nv-line:#dde3ee;--nv-soft:#f4f5fb;position:fixed;inset:0 0 0 auto;margin:0;width:min(390px,100vw);height:100dvh;max-width:100vw;max-height:100dvh;border:0;border-left:1px solid var(--nv-line);padding:0;background:var(--nv-panel);color:var(--nv-ink);box-shadow:-12px 0 48px #10172926;font:14px/1.5 system-ui;text-align:start;overflow:auto;overscroll-behavior:contain}
html[data-bs-theme=dark] .nv-customizer{--nv-panel:#182331;--nv-ink:#edf2fa;--nv-muted:#b7c3d5;--nv-line:#3b495d;--nv-soft:#243246;color-scheme:dark}
.nv-customizer::backdrop{background:#11182740}
.nv-customizer *{box-sizing:border-box}
.nv-customizer header{display:flex;gap:16px;justify-content:space-between;padding:26px 24px 22px;border-bottom:1px solid var(--nv-line)}
.nv-customizer-kicker{font-size:10px;letter-spacing:1.5px;font-weight:700;color:var(--nv-muted)}
.nv-customizer h2{font:650 25px/1.3 system-ui;margin:7px 0}
.nv-customizer p{font-size:12px;color:var(--nv-muted);margin:8px 0}
.nv-customizer button{font:600 12px/1.5 system-ui;cursor:pointer}
.nv-customizer-close{align-self:flex-start;padding:6px;border:1px solid var(--nv-line);border-radius:8px;background:var(--nv-panel);color:var(--nv-ink)}
.nv-customizer-body{display:grid;gap:20px;padding:24px}
.nv-customizer label,.nv-customizer legend{display:block;font-size:12px;font-weight:600;color:var(--nv-ink);float:none;width:auto;margin:0}
.nv-customizer fieldset{border:0;padding:0;margin:0;min-width:0}
.nv-customizer select{display:block;margin-top:8px;padding:11px 12px;width:100%;border:1px solid var(--nv-line);border-radius:9px;background:var(--nv-panel);color:var(--nv-ink);font:13px system-ui}
.nv-customizer-modes{display:flex;gap:8px;margin-top:10px}
.nv-customizer-modes button{flex:1;padding:10px;border:1px solid var(--nv-line);border-radius:9px;background:var(--nv-panel);color:var(--nv-ink)}
.nv-customizer-modes button[aria-pressed=true]{background:#5145b6;border-color:#5145b6;color:#fff}
.nv-customizer .nv-customizer-switch{display:flex;justify-content:space-between;align-items:center;gap:16px}
.nv-customizer input[type=checkbox]{width:18px;height:18px;accent-color:#6558ce}
.nv-customizer input:disabled{opacity:.4}
.nv-customizer summary{cursor:pointer;font-size:12px;font-weight:600}
.nv-customizer pre{padding:14px;border-radius:9px;background:var(--nv-soft);color:var(--nv-ink);font:11px/1.7 monospace;overflow:auto;white-space:pre}
.nv-customizer footer{padding:20px 24px;border-top:1px solid var(--nv-line)}
.nv-customizer footer button{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:11px;border:1px solid var(--nv-line);border-radius:9px;background:var(--nv-soft);color:var(--nv-ink)}
.nv-customizer footer small{display:block;text-align:center;font-size:11px;color:var(--nv-muted);margin-top:12px}
.nv-customizer :focus-visible,.nv-customizer-trigger:focus-visible{outline:3px solid #9f94f2;outline-offset:3px}
@media print{.nv-customizer,.nv-customizer-trigger{display:none!important}}

/* Visual controls: miniature layouts communicate each setting before selection. */
.nv-customizer{width:min(420px,100vw)}
.nv-customizer header{background:linear-gradient(125deg,var(--nv-soft),var(--nv-panel));padding:26px 24px}
.nv-customizer-kicker{color:#8273d6;letter-spacing:2px}
.nv-customizer h2{font-size:28px;letter-spacing:-1px}
.nv-customizer-body{gap:26px}
.nv-customizer legend{width:100%;margin-bottom:10px;font-size:12px}
.nv-selection{float:inline-end;font-weight:400;color:var(--nv-muted)}
.nv-choices,.nv-customizer-modes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0}
.nv-choices button,.nv-customizer-modes button{position:relative;min-width:0;display:grid;gap:9px;padding:10px;border:1px solid var(--nv-line);border-radius:12px;background:var(--nv-panel);color:var(--nv-muted);text-align:start;font-size:11px}
.nv-choices button[aria-pressed=true],.nv-customizer-modes button[aria-pressed=true]{border-color:#8474df;background:var(--nv-soft);color:var(--nv-ink);box-shadow:0 0 0 1px #8474df}
.nv-choices button:hover,.nv-customizer-modes button:hover{border-color:#8474df}
.nv-mini{position:relative;display:block;height:60px;border:1px solid #dce2ec;border-radius:6px;background:#f4f6fa;overflow:hidden;box-shadow:0 2px 4px #17233708}
.nv-mini i{position:absolute;inset:0 auto 0 0;width:23%;background:#dfe5ef;border-right:1px solid #ccd5e3}
.nv-mini b{position:absolute;top:0;right:0;width:77%;height:12px;background:#fff;border-bottom:1px solid #e1e6ee}
.nv-mini em{position:absolute;top:21px;left:30%;width:26%;height:26px;border-radius:3px;background:#fff;box-shadow:0 1px 3px #19294012}
.nv-mini em:last-child{left:62%;background:#c9c2f0}
.nv-mini-dark{background:#293447;border-color:#3b4961}
.nv-mini-dark i{background:#172232;border-color:#334158}
.nv-mini-dark b{background:#202c3d;border-color:#334158}
.nv-mini-dark em{background:#3c4a60}
.nv-mini-horizontal i{inset:12px 0 auto;width:100%;height:8px;border:0;background:#c9c2f0}
.nv-mini-horizontal b{width:100%}
.nv-mini-horizontal em{left:8%;width:37%;top:29px;height:21px}
.nv-mini-horizontal em:last-child{left:53%}
.nv-mini-brand i,.nv-mini-solid b{background:#7565cc}
.nv-mini-tinted b{background:#d9d2f5}
.nv-mini-auto i{background:linear-gradient(180deg,#dfe5ef 50%,#253449 50%)}
.nv-swatches{display:grid;grid-template-columns:repeat(6,1fr);gap:10px}
.nv-swatches button{height:36px;border:3px solid var(--nv-panel);border-radius:50%;width:36px;justify-self:center;box-shadow:0 0 0 1px var(--nv-line);background:var(--swatch);color:white;padding:0;font-size:17px}
.nv-swatches button[aria-pressed=true]{box-shadow:0 0 0 2px var(--swatch)}
[data-color=emerald]{--swatch:#087e64}[data-color=ruby]{--swatch:#bc3450}[data-color=aqua]{--swatch:#087f96}[data-color=teal]{--swatch:#16817f}[data-color=ocean]{--swatch:#246dad}[data-color=indigo]{--swatch:#6050b8}[data-color=violet]{--swatch:#8050b6}[data-color=rose]{--swatch:#c33e77}[data-color=amber]{--swatch:#9c6b12}[data-color=slate]{--swatch:#56677e}[data-color=blue]{--swatch:#3476cb}
.nv-customizer input[type=checkbox]{appearance:none;position:relative;width:34px;height:20px;margin:0;border:1px solid var(--nv-line);border-radius:20px;background:var(--nv-soft);cursor:pointer;flex-shrink:0}
.nv-customizer input[type=checkbox]::before{content:'';position:absolute;top:3px;left:3px;width:12px;height:12px;border-radius:50%;background:var(--nv-muted)}
.nv-customizer input[type=checkbox]:checked{background:#6558ce;border-color:#6558ce}
.nv-customizer input[type=checkbox]:checked::before{left:17px;background:#fff}
.nv-customizer details{border:1px dashed var(--nv-line);padding:12px;border-radius:10px}
.nv-customizer footer{background:var(--nv-soft)}
.nv-customizer [data-color=red-light]{--swatch:#bc3450}
.nv-customizer [data-color=aqua-light]{--swatch:#087f96}
.nv-customizer [data-color=green-blue]{--swatch:#16817f}
.nv-customizer header{position:sticky;top:0;z-index:2}
.nv-choices:has(button:nth-child(3)):not(:has(button:nth-child(4))){grid-template-columns:repeat(3,minmax(0,1fr))}
