/* Voxa Leuchtmotive – Konfigurator auf der Produktseite. Aus dem Artifact „Voxa Leuchtmotive“ übernommen und auf
   .vxl begrenzt; Farben, Glas-Panels und Kopf wie Spukscheibe/Name Clicker (Website-Theme). */
.vxl{
  color-scheme:dark;
  --ground:#13111A; --surface:#1C1926; --surface-2:#26222F; --line:#3A3447; --line-soft:#2E2939;
  --ink:#EEEAF4; --muted:#A79FB6; --faint:#6F6780;
  --accent:#9B6BFF; --accent-ink:#FFFFFF; --accent-soft:#2B2140;
  --glow:#A6F57A; --glow-soft:#22301C;
  --ok:#6CCB8E; --warn:#F2B04A; --bad:#F27466; --bad-soft:#3A1F22;
  --stage:#0D0C12; --radius:14px;
  --f-display:"Baloo 2","Nunito",system-ui,sans-serif; --f-body:"Nunito",system-ui,-apple-system,"Segoe UI",sans-serif;
  --f-mono:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
}
.vxl *{box-sizing:border-box}
.vxl [hidden]{display:none!important}
.vxl{background:var(--ground);color:var(--ink);font:15px/1.5 var(--f-body)}
.vxl .wrap{max-width:1240px;margin:0 auto;padding-inline:16px;padding-block:22px 56px}
.vxl header.top{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:10px 24px;margin-bottom:18px}
.vxl .brand{display:flex;flex-direction:column;gap:2px}
.vxl .eyebrow{font-size:.72rem;text-transform:uppercase;letter-spacing:.14em;color:var(--muted);font-weight:800}
.vxl .eyebrow b{color:var(--accent);font-weight:800}
.vxl h1{font-family:var(--f-display);font-weight:800;font-size:clamp(2.1rem,4.6vw,3.1rem);line-height:1;margin:0;letter-spacing:.01em;color:var(--glow);text-shadow:0 0 18px rgba(166,245,122,.35);text-wrap:balance}
.vxl .lede{margin:0;color:var(--muted);max-width:56ch}
.vxl .grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:22px;align-items:start}
@media (max-width:900px){.vxl .grid{grid-template-columns:1fr}
.vxl .stagecol{position:static!important}}
@media (min-width:901px){.vxl .stageblock{max-width:max(460px,calc(100vh - 170px));margin-inline:auto}}
.vxl .grid>*{min-width:0}
.vxl .stagecol{position:sticky;top:calc(env(safe-area-inset-top,0px) + 10px)}
.vxl .panel{background:var(--surface);border:1px solid var(--line-soft);border-radius:var(--radius);padding:16px 18px}
.vxl .stack{display:flex;flex-direction:column;gap:14px}
.vxl h2{font-family:var(--f-display);font-weight:800;font-size:1.22rem;line-height:1.2;margin:0 0 10px;display:flex;align-items:center;gap:9px;text-wrap:balance}
.vxl h2 .step{display:inline-grid;place-items:center;width:23px;height:23px;border-radius:50%;background:var(--surface-2);border:1px solid var(--line);color:var(--glow);font-size:.8rem;font-variant-numeric:tabular-nums;flex:none}
.vxl h2 .aside{margin-left:auto;font-family:var(--f-body);font-size:.8rem;font-weight:700;color:var(--muted)}
.vxl label.l{font-weight:800;font-size:.84rem;display:flex;align-items:center;gap:6px;margin:0 0 6px;color:var(--muted);letter-spacing:.02em}
.vxl .hint{font-size:.82rem;color:var(--muted);margin:6px 0 0}
.vxl .hint b{color:var(--ink)}
.vxl input[type=text]{width:100%;font:inherit;font-weight:800;font-size:1.35rem;padding:8px 12px;border:2px solid var(--line);border-radius:10px;background:var(--surface-2);color:var(--ink)}
.vxl input[type=text]:focus{outline:none;border-color:var(--glow)}
.vxl input[type=text].blocked,.vxl input[type=text].blocked:focus{border-color:var(--bad)}
.vxl input[type=range]{width:100%;accent-color:var(--accent)}
.vxl .slider{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center;font-size:.85rem}
.vxl .slider span.v{font-variant-numeric:tabular-nums;min-width:4.8em;text-align:right;color:var(--ink);font-weight:800}
.vxl .slider span.k{color:var(--muted);font-weight:700;min-width:4.6em}
.vxl .seg{display:inline-flex;flex-wrap:wrap;border:1px solid var(--line);border-radius:10px;overflow:hidden;background:var(--surface-2)}
.vxl .seg button{font:inherit;font-size:.84rem;font-weight:700;padding:6px 12px;border:0;background:transparent;color:var(--muted);cursor:pointer}
.vxl .seg button+button{border-left:1px solid var(--line)}
.vxl .seg button[aria-pressed="true"]{background:var(--accent);color:var(--accent-ink)}
.vxl .seg.glowseg button[aria-pressed="true"]{background:var(--glow);color:#0E1A08}
.vxl button:focus-visible,.vxl .motif:focus-visible,.vxl .fontchip:focus-visible,.vxl a:focus-visible{outline:3px solid var(--glow);outline-offset:2px}
.vxl .btn{font:inherit;font-weight:800;font-size:.9rem;padding:9px 14px;border-radius:10px;border:1px solid var(--line);background:var(--surface-2);color:var(--ink);cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:6px}
.vxl .btn:hover{border-color:var(--muted)}
.vxl .btn.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}
.vxl .btn.glow{background:var(--glow);border-color:var(--glow);color:#0E1A08}
.vxl .btn.small{padding:5px 10px;font-size:.8rem}
.vxl .btn.big{font-size:1.05rem;padding:13px 18px;border-radius:12px}
.vxl .btn:disabled{opacity:.45;cursor:not-allowed}
.vxl .cats{display:flex;gap:6px;overflow-x:auto;padding-bottom:6px;margin-bottom:10px;scrollbar-width:thin}
.vxl .cat{flex:none;font:inherit;font-size:.82rem;font-weight:800;padding:6px 11px;border-radius:999px;border:1px solid var(--line);background:var(--surface-2);color:var(--muted);cursor:pointer}
.vxl .cat[aria-pressed="true"]{background:var(--glow-soft);border-color:var(--glow);color:var(--ink)}
.vxl .cat.abc{font-family:var(--f-display)}
.vxl .motifs{display:grid;grid-template-columns:repeat(auto-fill,minmax(78px,1fr));gap:8px}
.vxl .motif{display:flex;flex-direction:column;align-items:center;gap:3px;padding:8px 4px 6px;border:1px solid var(--line);border-radius:10px;background:var(--surface-2);color:var(--muted);cursor:pointer;font:inherit;font-size:.72rem;font-weight:700;line-height:1.15;text-align:center;min-width:0}
.vxl .motif svg{width:40px;height:40px;display:block}
.vxl .motif small{font-size:.64rem;color:var(--faint);font-weight:700}
.vxl .motif:hover{border-color:var(--glow);color:var(--ink)}
.vxl .motif[aria-pressed="true"]{border-color:var(--glow);background:var(--glow-soft);color:var(--ink)}
.vxl .letterrow{display:grid;grid-template-columns:88px minmax(0,1fr);gap:14px;align-items:center}
.vxl #txt{width:88px;height:88px;padding:0;text-align:center;font-family:var(--f-display);font-size:3rem;line-height:1}
.vxl .fontchips{display:grid;grid-template-columns:repeat(auto-fill,minmax(92px,1fr));gap:8px}
.vxl .fontchip{display:flex;flex-direction:column;align-items:center;gap:6px;padding:10px 6px 8px;border:1px solid var(--line);border-radius:10px;background:var(--surface-2);color:var(--ink);cursor:pointer;font:inherit;text-align:center;min-width:0}
.vxl .fontchip svg{width:48px;height:48px;display:block}
.vxl .fontchip small{font-size:.7rem;color:var(--muted);font-weight:800;line-height:1.15}
.vxl .fontchip:hover{border-color:var(--glow)}
.vxl .fontchip[aria-pressed="true"]{border-color:var(--glow);background:var(--glow-soft)}
.vxl .fontchip[aria-pressed="true"] small{color:var(--ink)}
.vxl .checks{display:flex;flex-wrap:wrap;gap:8px 18px;margin-top:10px}
.vxl .check{display:inline-flex;gap:7px;align-items:center;font-size:.86rem;font-weight:700;color:var(--ink);cursor:pointer}
.vxl .check input{accent-color:var(--glow);width:17px;height:17px}
.vxl .tiers{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:10px}
.vxl .tier{display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:9px 11px;border-radius:12px;border:1px solid var(--line);background:var(--surface-2);color:var(--ink);font:inherit;cursor:pointer;text-align:left;min-width:0}
.vxl .tier b{font-family:var(--f-display);font-size:1rem;line-height:1.1}
.vxl .tier span{font-size:.74rem;color:var(--muted);font-weight:700;font-variant-numeric:tabular-nums}
.vxl .tier em{font-style:normal;font-size:.8rem;font-weight:800;color:var(--glow);font-variant-numeric:tabular-nums}
.vxl .tier[aria-pressed="true"]{border-color:var(--accent);background:var(--accent-soft)}
.vxl .tier:disabled{opacity:.4;cursor:not-allowed}
.vxl .tier .meter{width:100%;height:5px;border-radius:9px;background:var(--line);overflow:hidden;margin:3px 0 1px}
.vxl .tier .meter i{display:block;height:100%;background:var(--glow);box-shadow:0 0 8px var(--glow)}
@media (max-width:420px){.vxl .tier{padding:8px}
.vxl .tier b{font-size:.92rem}}
.vxl .glows{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.vxl .gchip{display:flex;align-items:center;gap:9px;padding:8px 10px;border-radius:12px;border:1px solid var(--line);background:var(--surface-2);color:var(--ink);font:inherit;font-size:.8rem;font-weight:800;cursor:pointer;text-align:left;min-width:0;line-height:1.15}
.vxl .gchip i{flex:none;width:24px;height:24px;border-radius:50%;background:var(--sw);box-shadow:0 0 12px 1px var(--gl)}
.vxl .gchip[aria-pressed="true"]{border-color:var(--ink)}
.vxl .palette{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.vxl .palette button{width:30px;height:30px;border-radius:8px;border:2px solid transparent;cursor:pointer;padding:0;background:var(--sw)}
.vxl .palette button[aria-pressed="true"]{border-color:var(--ink);box-shadow:0 0 0 2px var(--surface)}
.vxl details{margin-top:10px}
.vxl summary{cursor:pointer;font-weight:800;color:var(--muted);font-size:.86rem}
.vxl .addrow{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.vxl .stepper{display:inline-flex;align-items:center;border:1px solid var(--line);border-radius:10px;overflow:hidden;background:var(--surface-2)}
.vxl .stepper button{font:inherit;font-weight:800;font-size:1.1rem;width:38px;height:40px;border:0;background:transparent;color:var(--ink);cursor:pointer}
.vxl .stepper button:hover{background:var(--surface)}
.vxl .stepper input{width:3.2em;height:40px;border:0;border-inline:1px solid var(--line);background:transparent;color:var(--ink);font:inherit;font-weight:800;text-align:center;font-variant-numeric:tabular-nums}
.vxl .stepper.sm button{width:30px;height:32px;font-size:1rem}
.vxl .stepper.sm input{height:32px;width:2.6em}
.vxl .addrow .btn{flex:1 1 180px;min-height:44px}
.vxl .stage{position:relative;border-radius:var(--radius);border:1px solid var(--line-soft);background:radial-gradient(120% 90% at 50% 40%,#211d2c 0%,var(--stage) 70%);overflow:hidden}
.vxl .stage.night{background:radial-gradient(120% 90% at 50% 40%,#0c0b12 0%,#050409 75%)}
.vxl #stageSvg{display:block;width:100%;height:auto;aspect-ratio:1/1;max-width:100%;touch-action:pan-y}
.vxl #view3d{display:block;width:100%;aspect-ratio:1/1;max-width:100%;touch-action:none;cursor:grab}
.vxl .stagetag{position:absolute;left:10px;top:10px;font-size:.72rem;font-weight:800;letter-spacing:.03em;padding:4px 9px;border-radius:999px;background:rgba(0,0,0,.5);color:var(--muted);pointer-events:none}
.vxl .toolbar{display:flex;flex-wrap:wrap;align-items:stretch;gap:8px;margin-top:10px}
.vxl .toolbar .seg button{min-height:44px;display:inline-flex;align-items:center;justify-content:center}
.vxl .seg.two{flex-wrap:nowrap}
.vxl .seg.two button{flex-direction:column;align-items:flex-start;line-height:1.15;padding:5px 14px}
.vxl .seg.two button small{font-size:.68rem;font-weight:600;opacity:.8}
@media (max-width:560px){.vxl .seg.two{flex:1 1 100%}
.vxl .seg.two button{flex:1 1 0;min-width:0}
.vxl .toolbar .views{flex:1 1 100%}
.vxl .toolbar .views button{flex:1 1 0}}
.vxl .readout{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:6px 14px;margin-top:10px}
.vxl .dims{font-family:var(--f-display);font-weight:800;font-size:1.05rem;font-variant-numeric:tabular-nums}
.vxl .dims small{font-family:var(--f-body);font-size:.78rem;color:var(--muted);font-weight:700;margin-left:4px}
.vxl .pill{display:inline-flex;align-items:center;gap:6px;padding:3px 10px;border-radius:999px;font-size:.78rem;font-weight:800;border:1px solid var(--line);color:var(--muted)}
.vxl .pill i{width:8px;height:8px;border-radius:50%;background:currentColor;display:inline-block}
.vxl .pill.ok{color:var(--ok)}
.vxl .pill.warn{color:var(--warn)}
.vxl .pill.bad{color:var(--bad)}
.vxl .pill.busy{color:var(--faint)}
.vxl .warns{list-style:none;margin:8px 0 0;padding:0;display:flex;flex-direction:column;gap:6px}
.vxl .warns li{border-left:3px solid var(--warn);background:var(--surface-2);padding:6px 10px;border-radius:0 8px 8px 0;font-size:.84rem}
.vxl .warns li.red{border-color:var(--bad)}
.vxl .refer{margin-top:10px;border:1px solid var(--bad);background:var(--bad-soft);border-radius:12px;padding:12px 14px;display:flex;flex-direction:column;gap:8px}
.vxl .refer p{margin:0;font-size:.86rem}
.vxl .refer .acts{display:flex;flex-wrap:wrap;gap:8px}
.vxl .refer b{color:var(--bad)}
.vxl .setlist{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
.vxl .setrow{display:grid;grid-template-columns:46px minmax(0,1fr) auto;gap:10px;align-items:center;padding:8px 10px;border:1px solid var(--line);border-radius:12px;background:var(--surface-2)}
.vxl .setrow.editing{border-color:var(--accent);background:var(--accent-soft)}
.vxl .setrow.red{border-color:var(--bad)}
.vxl .setrow svg{width:46px;height:46px;display:block}
.vxl .setrow .nm{font-weight:800;font-size:.9rem;line-height:1.2;overflow-wrap:anywhere}
.vxl .setrow .meta{font-size:.74rem;color:var(--muted);font-weight:700;display:flex;flex-wrap:wrap;gap:2px 8px;align-items:center;font-variant-numeric:tabular-nums}
.vxl .setrow .meta .dot{width:10px;height:10px;border-radius:50%;display:inline-block;background:var(--sw);box-shadow:0 0 6px var(--gl);margin-right:3px;vertical-align:-1px}
.vxl .setrow .right{display:flex;flex-direction:column;align-items:flex-end;gap:5px}
.vxl .setrow .pr{font-size:.78rem;font-weight:800;font-variant-numeric:tabular-nums;white-space:nowrap}
.vxl .setrow .ic{display:flex;gap:4px}
.vxl .iconbtn{font:inherit;font-size:.78rem;font-weight:800;border:1px solid var(--line);background:transparent;color:var(--muted);border-radius:8px;padding:4px 8px;cursor:pointer}
.vxl .iconbtn:hover{color:var(--ink);border-color:var(--muted)}
.vxl .iconbtn.del:hover{color:var(--bad);border-color:var(--bad)}
@media (max-width:460px){.vxl .setrow{grid-template-columns:40px minmax(0,1fr)}
.vxl .setrow svg{width:40px;height:40px}
.vxl .setrow .right{grid-column:1/-1;flex-direction:row;justify-content:space-between;align-items:center}}
.vxl .empty{color:var(--muted);font-size:.9rem;margin:0;padding:14px;border:1px dashed var(--line);border-radius:12px;text-align:center}
.vxl .examplebar{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:6px 12px;font-size:.8rem;color:var(--muted);font-weight:700;margin-bottom:10px}
.vxl .ladder{margin-top:14px}
.vxl .qh{position:relative;display:inline-block;width:17px;height:17px;border-radius:50%;border:1px solid var(--line);color:var(--muted);cursor:help;flex:none;align-self:center;text-transform:none;letter-spacing:0;box-sizing:border-box}
.vxl .qh::before{content:"";position:absolute;inset:0;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M6 6.1a2 2 0 1 1 2.8 1.8c-.5.2-.8.7-.8 1.2v.5' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round'/%3E%3Ccircle cx='8' cy='11.9' r='1' fill='black'/%3E%3C/svg%3E") center/100% no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M6 6.1a2 2 0 1 1 2.8 1.8c-.5.2-.8.7-.8 1.2v.5' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round'/%3E%3Ccircle cx='8' cy='11.9' r='1' fill='black'/%3E%3C/svg%3E") center/100% no-repeat}
.vxl label.l .qh,.vxl .slider .k .qh{top:-1px}
.vxl .qh:hover,.vxl .qh:focus-visible,.vxl .qh.open{border-color:var(--accent);color:var(--ink);outline:none}
.vxl .qtip{position:absolute;left:-10px;top:calc(100% + 8px);z-index:20;width:max-content;max-width:min(270px,78vw);padding:9px 11px;border-radius:10px;background:var(--surface-2);border:1px solid var(--line);box-shadow:0 10px 26px rgba(0,0,0,.45);color:var(--ink);font:500 .8rem/1.45 "Nunito",sans-serif;text-align:left;white-space:normal;display:none;pointer-events:none}
.vxl .qh:hover .qtip,.vxl .qh:focus-visible .qtip,.vxl .qh.open .qtip{display:block}
.vxl .qtip b{color:var(--accent);font-weight:800}
.vxl .subhead b{display:inline-flex;align-items:center;gap:7px}
.vxl .qtip{left:auto;right:-10px}
.vxl .subhead b .qtip{left:-10px;right:auto}
.vxl .sub+.sub{margin-top:16px;padding-top:14px;border-top:1px solid var(--line)}
.vxl .subhead{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin-bottom:8px;font-size:.95rem}
.vxl .subhead b{font-family:var(--f-display);font-weight:800}
.vxl .subhead span{font-size:.78rem;color:var(--muted);font-weight:700}
.vxl .stafbox{margin-top:14px;padding-top:12px;border-top:1px solid var(--line)}
.vxl .stafhead{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:2px 10px;font-size:.86rem}
.vxl .stafhead span{font-size:.74rem;color:var(--muted);font-weight:700}
.vxl .stafwrap{overflow-x:auto}
.vxl table.staf{font-size:.8rem;margin-top:6px}
.vxl table.staf td,.vxl table.staf th{padding:4px 0}
.vxl table.staf td.n,.vxl table.staf th.n{padding-left:8px}
.vxl table.staf tr.cur td{background:var(--glow-soft)}
.vxl table.staf tr.cur td:first-child{border-radius:6px 0 0 6px;padding-left:6px}
.vxl table.staf tr.cur td:last-child{border-radius:0 6px 6px 0;padding-right:6px}
.vxl table.staf td.note{color:var(--muted);font-size:.74rem;font-weight:600;border-bottom:0;padding-top:6px}
.vxl .ladbar{position:relative;height:12px;border-radius:999px;background:var(--surface-2);border:1px solid var(--line);overflow:visible}
.vxl .ladfill{height:100%;border-radius:999px;background:linear-gradient(90deg,var(--accent),var(--glow));transition:width .25s}
.vxl .ladtick{position:absolute;top:-4px;width:2px;height:18px;background:var(--line);transform:translateX(-1px)}
.vxl .ladtick.hit{background:var(--glow)}
.vxl .ladlabels{position:relative;height:30px;margin-top:4px;font-size:.7rem;font-weight:800;color:var(--muted);font-variant-numeric:tabular-nums}
.vxl .ladlabels span{position:absolute;transform:translateX(-50%);text-align:center;line-height:1.2;white-space:nowrap}
.vxl .ladlabels span.hit{color:var(--glow)}
.vxl .nudge{margin-top:8px;padding:8px 12px;border-radius:10px;background:var(--glow-soft);border:1px solid #3E5A2E;font-size:.86rem}
.vxl .nudge.min{background:var(--accent-soft);border-color:#4A3775}
.vxl table{width:100%;border-collapse:collapse;font-size:.86rem;margin-top:8px}
.vxl td,.vxl th{padding:5px 0;border-bottom:1px dashed var(--line);text-align:left;font-weight:600}
.vxl th{font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-weight:800}
.vxl td.n,.vxl th.n{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap;padding-left:10px}
.vxl tr.sum td{font-weight:800;border-bottom:0}
.vxl tr.cur td{color:var(--glow);font-weight:800}
.vxl .save{font-size:.72rem;font-weight:800;color:var(--glow);margin-left:2px}
.vxl .price{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 14px;margin-top:12px}
.vxl .price .big{font-family:var(--f-display);font-weight:800;font-size:2.3rem;line-height:1;font-variant-numeric:tabular-nums}
.vxl .price .vat{color:var(--muted);font-size:.8rem}
.vxl .cta{margin-top:14px;display:flex;flex-direction:column;gap:6px}
.vxl .werkstatt{margin-top:18px;padding-top:14px;border-top:1px solid var(--line)}
.vxl .vhead{display:flex;flex-wrap:wrap;gap:6px 10px;align-items:baseline;font-size:.92rem}
.vxl .vhead .tag{font-size:.72rem;font-weight:800;color:var(--glow);letter-spacing:.04em;text-transform:uppercase}
.vxl .dlgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:10px}
.vxl .dlgrid .btn{width:100%;min-height:44px}
@media (max-width:420px){.vxl .dlgrid{grid-template-columns:1fr}}
.vxl .msg{border-left:4px solid var(--warn);background:var(--surface-2);padding:8px 12px;border-radius:0 10px 10px 0;font-size:.86rem;margin-top:10px}
.vxl .msg.bad{border-color:var(--bad)}
.vxl .msg.ok{border-color:var(--ok)}
.vxl .levers{display:grid;grid-template-columns:1fr auto;gap:6px 12px;align-items:center;font-size:.84rem;margin-top:8px}
.vxl .levers input{width:5.4em;font:inherit;padding:3px 6px;border:1px solid var(--line);border-radius:8px;background:var(--surface-2);color:var(--ink);font-variant-numeric:tabular-nums}
.vxl pre{background:var(--surface-2);border:1px solid var(--line);border-radius:10px;padding:10px;font-size:.76rem;overflow-x:auto;white-space:pre;margin:8px 0;color:var(--ink)}
.vxl .refrow{display:grid;grid-template-columns:132px minmax(0,1fr);gap:14px;align-items:start;margin-top:10px}
@media (max-width:420px){.vxl .refrow{grid-template-columns:1fr}}
.vxl .qr{background:#fff;border-radius:10px;padding:6px;width:132px;aspect-ratio:1/1;max-width:100%}
.vxl .qr svg{display:block;width:100%;height:100%}
.vxl .refcol{display:flex;flex-direction:column;gap:10px;min-width:0}
.vxl .code{display:block;font:600 .74rem/1.45 var(--f-mono);word-break:break-all;background:var(--surface-2);border:1px solid var(--line);border-radius:8px;padding:8px 10px;color:var(--ink);user-select:all}
.vxl .loadrow{display:flex;gap:8px;margin-top:10px}
.vxl #loadCode{font:600 .85rem var(--f-mono);padding:8px 10px;border-width:1px;min-width:0}
.vxl .toast{position:fixed;left:50%;bottom:calc(20px + env(safe-area-inset-bottom,0px));transform:translateX(-50%);background:var(--ink);color:var(--ground);padding:8px 14px;border-radius:999px;font-size:.85rem;font-weight:700;opacity:0;transition:opacity .2s;pointer-events:none;z-index:5}
.vxl .toast.show{opacity:1}
@media (prefers-reduced-motion:reduce){.vxl *{transition:none!important;animation:none!important}}
.vxl-top{ display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 10px 28px; margin-bottom: 22px; }
.vxl-brand{ position: relative; padding-right: 150px; }
.vxl-kicker{ display: block; font-family: var(--vx-font-hand, "Caveat", cursive); font-size: 1.6rem; line-height: 1; background: var(--iri); -webkit-background-clip: text; background-clip: text; color: transparent; margin-bottom: 6px; }
.vxl-title{ font-family: "VxsCreepster", var(--vx-font-head, cursive); font-weight: 400; font-size: clamp(2.6rem, 6vw, 4.2rem); line-height: .95; letter-spacing: .03em; margin: 0; color: var(--glow);
  text-shadow: 0 0 10px rgba(166,245,122,.55), 0 0 32px rgba(166,245,122,.3); animation: vxlFlicker 7s infinite; }
.vxl-lede{ margin: 0; color: var(--muted); max-width: 54ch; }
.vxl-bats{ position: absolute; right: 0; top: -12px; width: 150px; height: 62px; color: #120f1c; overflow: visible; }
.vxl-bat path{ fill: #1a1528; stroke: rgba(232,162,245,.85); stroke-width: 1; }
.vxl-bat{ transform-box: fill-box; transform-origin: center; animation: vxlFlap 1.1s ease-in-out infinite alternate, vxlDrift 6s ease-in-out infinite alternate; }
.vxl-bat-2{ animation-delay: -.4s, -2s; }
.vxl-bat-3{ animation-delay: -.8s, -4s; }
@media (max-width: 600px){.vxl-brand{ padding-right: 0; }
.vxl-bats{ width: 110px; top: -34px; }}
.vxl-grid{ display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); gap: 22px; align-items: start; }
.vxl-grid > *{ min-width: 0; }
@media (max-width: 991.98px){.vxl-grid{ grid-template-columns: 1fr; }}
.vxl .vxl-row{ display: flex; flex-wrap: wrap; gap: 10px 16px; align-items: flex-end; }
.vxl .vxl-web{ position: absolute; right: 0; top: 0; width: 26%; max-width: 150px; color: rgba(233,235,242,.14); pointer-events: none; z-index: 1; }
.vxl .vxl-spider{ animation: vxlSpider 5s ease-in-out infinite alternate; transform-box: fill-box; }
.vxl #spukCart .vxl-pumpkin{ width: 22px; height: 22px; color: var(--pumpkin); filter: drop-shadow(0 0 6px rgba(255,154,60,.7)); transition: transform .3s; }
.vxl #spukCart:hover:not(:disabled) .vxl-pumpkin{ transform: rotate(-12deg) scale(1.15); }
.vxl-toast{ position: fixed; left: 50%; bottom: calc(20px + env(safe-area-inset-bottom, 0px)); transform: translateX(-50%); background: #fff; color: #120f1c; padding: 8px 14px; border-radius: 999px; font-size: .85rem; font-weight: 700; opacity: 0; transition: opacity .2s; pointer-events: none; z-index: 1060; }
.vxl-toast.show{ opacity: 1; }
@media (prefers-reduced-motion: reduce){.vxl-title, .vxl-bat{ animation: none !important; }}
.vxl-top > .vxl-brand{ flex: 1 1 100%; }
.vxl-top > .vxl-lede{ align-self: center; }
.vxl-gal{ flex: 1 1 340px; min-width: 0; max-width: 620px; display: flex; flex-direction: column; gap: 7px; }
.vxl-gal-t{ font-family: var(--vx-font-hand, "Caveat", cursive); font-size: 1.3rem; line-height: 1; color: var(--ink); }
.vxl-gal-row{ display: flex; gap: 10px; overflow-x: auto; padding: 4px 2px 8px; scroll-snap-type: x proximity; scrollbar-width: thin;
  -webkit-mask-image: linear-gradient(90deg, #000 88%, transparent); mask-image: linear-gradient(90deg, #000 88%, transparent); }
.vxl-gal-it{ flex: none; width: 92px; height: 92px; padding: 0; border-radius: 14px; overflow: hidden; border: 1px solid var(--line); background: var(--stage); cursor: zoom-in;
  scroll-snap-align: start; transition: transform .15s, border-color .15s, box-shadow .15s; }
.vxl-gal-it:last-child{ margin-right: 40px; }
.vxl-gal-it img{ width: 100%; height: 100%; object-fit: cover; display: block; }
.vxl-gal-it:hover, .vxl-gal-it:focus-visible{ transform: translateY(-2px); border-color: rgba(166,245,122,.6); box-shadow: 0 0 18px rgba(166,245,122,.25); outline: none; }
.vxl-gal-note{ color: var(--faint); font-size: .74rem; }
.vxl-gal-badge{ display: inline-block; font-size: .68rem; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; padding: 2px 7px; border-radius: 99px;
  background: rgba(166,245,122,.12); border: 1px solid rgba(166,245,122,.4); color: var(--glow); }
@media (max-width: 767.98px){.vxl-gal{ flex-basis: 100%; max-width: none; }
.vxl-gal-it{ width: 84px; height: 84px; }}
.vxl-lb{ padding: 0; border: 0; background: transparent; max-width: min(92vw, 88vh); width: min(92vw, 88vh); overflow: visible; color: #E9EBF2; }
.vxl-lb::backdrop{ background: rgba(6,5,14,.86); -webkit-backdrop-filter: blur(4px); backdrop-filter: blur(4px); }
.vxl-lb figure{ margin: 0; }
.vxl-lb img{ display: block; width: auto; max-width: 100%; height: auto; max-height: 80vh; margin: 0 auto; border-radius: 16px; box-shadow: 0 30px 80px -20px rgba(0,0,0,.9); background: #0B0A12; }
.vxl-lb figcaption{ display: flex; align-items: center; gap: 10px; margin-top: 10px; font-size: .9rem; color: rgba(233,235,242,.8); }
.vxl-lb-n{ margin-left: auto; white-space: nowrap; font-variant-numeric: tabular-nums; color: rgba(233,235,242,.5); }
.vxl-lb-btn, .vxl-lb-x{ position: absolute; display: grid; place-items: center; width: 44px; height: 44px; border-radius: 50%; border: 1px solid rgba(255,255,255,.2);
  background: rgba(20,18,34,.75); color: #fff; font-size: 2.1rem; line-height: 1; padding: 0 0 4px; cursor: pointer; }
.vxl-lb-btn:hover, .vxl-lb-x:hover{ border-color: #A6F57A; box-shadow: 0 0 14px rgba(166,245,122,.35); }
.vxl-lb-btn{ top: calc(50% - 40px); }
.vxl-lb-btn.prev{ left: -22px; }
.vxl-lb-btn.next{ right: -22px; }
.vxl-lb-x{ top: -18px; right: -18px; font-size: 1.5rem; }
@media (max-width: 600px){.vxl-lb-btn.prev{ left: 6px; }
.vxl-lb-btn.next{ right: 6px; }
.vxl-lb-x{ top: 6px; right: 6px; }}

/* ---------- Website-Theme (dunkel, Glas-Panels, Iris-Verlauf) – wie Spukscheibe und Name Clicker ---------- */
.vxl {
  --ground: transparent; --surface: rgba(255,255,255,.045); --surface-2: rgba(255,255,255,.07); --line: rgba(255,255,255,.14); --line-soft: rgba(255,255,255,.09);
  --ink: #E9EBF2; --muted: rgba(233,235,242,.66); --faint: rgba(233,235,242,.42);
  --accent: #9C79F4; --accent-ink: #fff; --accent-soft: rgba(156,121,244,.18);
  --glow: #A6F57A; --glow-soft: rgba(166,245,122,.12); --ok: #6CCB8E; --warn: #F2B04A; --bad: #F27466; --bad-soft: rgba(242,116,102,.12);
  --stage: #0B0A12; --radius: 16px;
  --iri: linear-gradient(100deg, #FEC4C6, #E8A2F5 24%, #9C79F4 48%, #6473CA 70%, #6EB7CC);
  --f-display: var(--vx-font-head, "Comfortaa", "Baloo 2", sans-serif); --f-body: var(--vx-font, "Inter", system-ui, sans-serif);
  color: var(--ink); background: transparent; font-family: var(--f-body); font-size: 15px; line-height: 1.5; position: relative; padding: 8px 0 72px; color-scheme: dark;
}
.vxl *, .vxl *::before, .vxl *::after { box-sizing: border-box; }
.vxl [hidden] { display: none !important; }
.vxl-wrap { position: relative; }
.vxl .panel { background: linear-gradient(145deg, rgba(255,255,255,.07), rgba(255,255,255,.025)); border: 1px solid var(--line-soft); border-radius: var(--radius);
  -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); box-shadow: 0 18px 50px -30px rgba(0,0,0,.8); }
.vxl h2 { color: #fff; font-weight: 700; font-size: 1.12rem; }
.vxl h2 .step { background: rgba(166,245,122,.08); border: 1px solid rgba(166,245,122,.45); box-shadow: 0 0 12px rgba(166,245,122,.25); width: 26px; height: 26px; }
.vxl .btn.primary, .vxl .seg button[aria-pressed="true"] { background: linear-gradient(135deg, #E8A2F5, #9C79F4 55%, #6473CA); border-color: transparent; color: #fff; }
.vxl .seg.glowseg button[aria-pressed="true"] { background: var(--glow); color: #0E1A08; box-shadow: 0 0 16px rgba(166,245,122,.45); }
.vxl .btn { text-transform: none; letter-spacing: 0; }
.vxl .btn.glow { box-shadow: 0 0 18px rgba(166,245,122,.35); }
.vxl .btn.primary:hover, .vxl .btn.glow:hover { filter: brightness(1.06); color: #fff; }
.vxl .btn.glow:hover { color: #0E1A08; }
.vxl .price .big { font-family: var(--f-display); font-weight: 700; background: var(--iri); -webkit-background-clip: text; background-clip: text; color: transparent; }
.vxl input[type=text], .vxl input[type=number], .vxl .stepper, .vxl .seg { background: rgba(0,0,0,.25); }
.vxl .stage { background: radial-gradient(60% 50% at 70% 22%, rgba(254,196,198,.10), transparent 70%), radial-gradient(120% 90% at 50% 40%, #1d1830 0%, var(--stage) 72%); }
.vxl .stage.night { background: radial-gradient(120% 90% at 50% 40%, #0c0b12 0%, #040308 75%); }
.vxl .stagecol { top: 90px; }
.vxl .motif svg { filter: drop-shadow(0 0 4px rgba(166,245,122,.35)); }
.vxl .motif:hover { transform: translateY(-2px); }
.vxl .tier[aria-pressed="true"] { border-color: #9C79F4; background: rgba(156,121,244,.18); }
.vxl .vxl-title { font-family: var(--f-display); font-weight: 700; font-size: clamp(2.2rem, 5vw, 3.4rem); line-height: 1; margin: 0; color: var(--glow);
  text-shadow: 0 0 10px rgba(166,245,122,.55), 0 0 32px rgba(166,245,122,.3); }
.vxl .vxl-stars { position: absolute; right: 0; top: -6px; width: 150px; height: 70px; pointer-events: none; }
.vxl .vxl-stars path { fill: var(--glow); filter: drop-shadow(0 0 6px rgba(166,245,122,.8)); animation: vxlTwinkle 3.2s ease-in-out infinite alternate; transform-box: fill-box; transform-origin: center; }
.vxl .vxl-stars path:nth-child(2) { animation-delay: -1.1s; fill: #4FD8FF; filter: drop-shadow(0 0 6px rgba(79,216,255,.8)); }
.vxl .vxl-stars path:nth-child(3) { animation-delay: -2.2s; }
@keyframes vxlTwinkle { from { opacity: .45; transform: scale(.85); } to { opacity: 1; transform: scale(1); } }
.vxl .gal-load { margin-left: auto; }
.vxl .werkstatt h3, .vxl .nodeStatus { font-size: .8rem; }
.vxl .nodeStatus { margin-left: 6px; font-weight: 700; }
.vxl .leverbar { display: flex; flex-wrap: wrap; gap: 8px 12px; align-items: center; margin-top: 10px; }
@media (prefers-reduced-motion: reduce) { .vxl *, .vxl *::before { transition: none !important; animation: none !important; } }

/* Kaufkarte: gemeinsames Schema voxa_base/static/lib/voxa_buy.css; Preise ohne Farbverlauf (Regel 25.10.) */
.vxl .vxb-big{font-family:var(--f-display)}
