/* Voxa Karteikasten – Konfigurator (Grundgerüst und Theme wie Namensanhänger/Clicker/Spukscheibe, alle Regeln unter .vxkk) */
@font-face { font-family: "Baloo 2"; src: url("/voxa_karteikasten/static/fonts/baloo2-latin-800.woff2") format("woff2"); font-weight: 600 800; font-style: normal; font-display: swap; }
.vxkk *{box-sizing:border-box}
.vxkk [hidden]{display:none!important}
.vxkk{background:var(--bg)}
.vxkk{background:var(--bg);color:var(--ink);font:15px/1.5 var(--f-body)}
.vxkk .vxkk-wrap{max-width:1240px;margin:0 auto;padding-inline:16px;padding-block:22px 56px}
.vxkk header.vxkk-top{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:8px 24px;margin-bottom:18px}
.vxkk .eyebrow{font-size:.72rem;text-transform:uppercase;letter-spacing:.13em;color:var(--muted);font-weight:800}
.vxkk .eyebrow b{color:var(--accent)}
.vxkk h1{font-family:var(--f-display);font-weight:800;font-size:clamp(1.9rem,4vw,2.5rem);line-height:1.05;margin:2px 0 0;text-wrap:balance}
.vxkk .lede{margin:0;color:var(--muted);max-width:54ch}
.vxkk .vxkk-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:22px;align-items:start}
.vxkk .vxkk-grid>*{min-width:0}
@media (max-width:900px){.vxkk .vxkk-grid{grid-template-columns:1fr}
.vxkk .stagecol{position:static!important}}
.vxkk .stagecol{position:sticky;top:calc(env(safe-area-inset-top,0px) + 10px)}
.vxkk .panel{background:var(--surface);border:1px solid var(--line-soft);border-radius:var(--radius);padding:16px 18px}
.vxkk .stack{display:flex;flex-direction:column;gap:14px}
.vxkk h2{font-family:var(--f-display);font-weight:800;font-size:1.15rem;line-height:1.2;margin:0 0 12px;display:flex;align-items:center;gap:9px;text-wrap:balance}
.vxkk h2 .step{display:inline-grid;place-items:center;width:23px;height:23px;border-radius:50%;background:var(--accent);color:var(--accent-ink);font-size:.8rem;flex:none}
.vxkk label.l,.vxkk .l{font-weight:800;font-size:.84rem;display:flex;align-items:center;gap:6px;margin:0 0 6px;color:var(--muted);letter-spacing:.01em}
.vxkk .field{display:flex;flex-direction:column;gap:2px;min-width:0}
.vxkk .vxkk-row{display:flex;flex-wrap:wrap;gap:12px 18px;align-items:flex-end}
.vxkk .hint{font-size:.82rem;color:var(--muted);margin:8px 0 0}
.vxkk input[type=text]{width:100%;font:inherit;font-family:"VoxaSymbols",var(--f-body);font-weight:800;font-size:1.4rem;padding:8px 12px;border:2px solid var(--line);border-radius:10px;background:var(--surface-2);color:var(--ink)}
.vxkk input[type=text]:focus{outline:none;border-color:var(--accent)}
.vxkk input[type=text].blocked,.vxkk input[type=text].blocked:focus{border-color:var(--bad)}
.vxkk input[type=number]{font:inherit;width:5.6em;padding:4px 6px;border:1px solid var(--line);border-radius:8px;background:var(--surface-2);color:var(--ink);font-variant-numeric:tabular-nums}
.vxkk input[type=range]{width:100%;accent-color:var(--accent)}
.vxkk .slider{display:grid;grid-template-columns:6.6em minmax(0,1fr) 5.2em;gap:10px;align-items:center;font-size:.86rem}
.vxkk .slider .k{color:var(--muted);font-weight:800}
.vxkk .slider .v{font-variant-numeric:tabular-nums;text-align:right;font-weight:700;white-space:nowrap}
.vxkk .seg{display:inline-flex;flex-wrap:wrap;border:1px solid var(--line);border-radius:10px;overflow:hidden;background:var(--surface-2);max-width:100%}
.vxkk .seg button{font:inherit;font-size:.84rem;font-weight:700;padding:7px 12px;border:0;background:transparent;color:var(--muted);cursor:pointer;min-height:36px}
.vxkk .seg button+button{border-left:1px solid var(--line)}
.vxkk .seg button[aria-pressed="true"]{background:var(--accent);color:var(--accent-ink)}
.vxkk .seg button small{display:block;font-size:.68rem;font-weight:600;opacity:.8;line-height:1.1}
.vxkk .seg.two button{text-align:left;line-height:1.15;padding:6px 12px}
.vxkk .seg.cols2{display:grid;grid-template-columns:1fr 1fr}
.vxkk .seg.cols2 button:nth-child(2n+1){border-left:0}
.vxkk .seg.cols2 button:nth-child(n+3){border-top:1px solid var(--line)}
.vxkk .seg.glowseg button[aria-pressed="true"]{background:var(--glow);color:var(--glow-ink)}
.vxkk button:focus-visible,.vxkk .fitem:focus-visible{outline:3px solid var(--accent);outline-offset:2px}
.vxkk .vxkk-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}
.vxkk .vxkk-btn:hover{border-color:var(--muted)}
.vxkk .vxkk-btn.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}
.vxkk .vxkk-btn.sm{padding:5px 10px;font-size:.8rem}
.vxkk .vxkk-btn.big{font-size:1.02rem;padding:13px 18px;border-radius:12px}
.vxkk .vxkk-btn:disabled{opacity:.5;cursor:not-allowed}
.vxkk .symrow{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;margin-top:8px}
.vxkk .chips{display:flex;flex-wrap:wrap;gap:6px}
.vxkk .chips button{font:1.1rem/1 "VoxaSymbols",var(--f-body);min-width:40px;padding:8px 9px;border-radius:999px;border:1px solid var(--line);background:var(--surface-2);color:var(--ink);cursor:pointer}
.vxkk .chips button:hover{border-color:var(--accent);background:var(--accent-soft)}
.vxkk .presets{display:grid;grid-template-columns:repeat(auto-fill,minmax(104px,1fr));gap:8px}
@media (max-width:900px){.vxkk .presets{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:112px;overflow-x:auto;padding-bottom:6px;scroll-snap-type:x proximity}}
.vxkk .preset{display:flex;flex-direction:column;align-items:stretch;gap:4px;padding:6px 6px 7px;border:1px solid var(--line);border-radius:12px;background:var(--surface-2);color:var(--muted);cursor:pointer;font:inherit;font-size:.74rem;font-weight:800;line-height:1.15;text-align:center;scroll-snap-align:start;min-width:0}
.vxkk .preset .th{aspect-ratio:3/2;border-radius:8px;background:var(--surface);display:grid;place-items:center;overflow:hidden}
.vxkk .preset .th svg{width:92%;height:88%;display:block}
.vxkk .preset small{font-weight:600;color:var(--faint);font-size:.68rem}
.vxkk .preset:hover{border-color:var(--accent);color:var(--ink)}
.vxkk .preset[aria-pressed="true"]{border-color:var(--accent);background:var(--accent-soft);color:var(--ink)}
.vxkk .fontbtn{width:100%;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 12px;background:var(--surface-2);border:1px solid var(--line);border-radius:10px;cursor:pointer;text-align:left;color:var(--ink);font:inherit}
.vxkk .fontbtn .prev{font-size:1.35rem;line-height:1.25;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;min-width:0}
.vxkk .fontbtn .nmx{font-size:.72rem;color:var(--muted);font-weight:800;white-space:nowrap}
.vxkk .fontbtn .nmx::after{content:" ▾"}
.vxkk .fpanel{margin-top:8px;border:1px solid var(--line);border-radius:10px;max-height:340px;overflow-y:auto;background:var(--surface-2)}
.vxkk .fgrp{font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font-weight:800;padding:9px 12px 4px;position:sticky;top:0;background:var(--surface-2);z-index:1}
.vxkk .fitem{width:100%;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:7px 12px;border:0;background:transparent;cursor:pointer;text-align:left;border-top:1px solid var(--line-soft);color:var(--ink);font:inherit}
.vxkk .fitem:hover{background:var(--accent-soft)}
.vxkk .fitem[aria-selected="true"]{background:var(--accent-soft);box-shadow:inset 3px 0 0 var(--accent)}
.vxkk .fitem .p{font-size:1.3rem;line-height:1.3;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0}
.vxkk .fitem .m{font-size:.7rem;color:var(--muted);white-space:nowrap;font-weight:700}
.vxkk .colhead{display:flex;justify-content:space-between;align-items:baseline;gap:8px;margin-bottom:6px}
.vxkk .colhead .cn{font-weight:800;font-size:.84rem;color:var(--muted)}
.vxkk .colhead .cv{font-size:.84rem;font-weight:700}
.vxkk .palette{display:grid;grid-template-columns:repeat(auto-fill,minmax(30px,1fr));gap:6px}
.vxkk .palette button{height:30px;border-radius:8px;border:2px solid transparent;cursor:pointer;padding:0;position:relative;box-shadow:inset 0 0 0 1px rgba(0,0,0,.12)}
.vxkk .palette button[aria-pressed="true"]{border-color:var(--ink);box-shadow:0 0 0 2px var(--surface)}
.vxkk .glowrow{display:flex;flex-wrap:wrap;align-items:center;gap:8px 10px;margin-top:8px;padding:7px 9px;border:1px dashed var(--line);border-radius:10px}
.vxkk .glowrow .palette{display:flex;gap:6px}
.vxkk .glowrow .palette button{width:30px}
.vxkk .glowrow .palette button::after{content:"";position:absolute;inset:-5px;border-radius:11px;box-shadow:0 0 10px 1px var(--gc);opacity:.75;pointer-events:none}
.vxkk .glowrow .gl{font-size:.8rem;font-weight:800;color:var(--ink)}
.vxkk .glowrow .gp{font-size:.74rem;font-weight:800;padding:2px 8px;border-radius:999px;background:var(--glow-soft);color:var(--ink);border:1px solid var(--line)}
.vxkk .stage{position:relative;border-radius:var(--radius);border:1px solid var(--line-soft);background:radial-gradient(120% 90% at 50% 20%,var(--stage-a) 0%,var(--stage-b) 75%);overflow:hidden}
.vxkk .stage.night{background:radial-gradient(120% 90% at 50% 30%,#0f0d15 0%,#050409 75%)}
.vxkk #gl{display:block;width:100%;aspect-ratio:4/3;max-width:100%;cursor:grab;touch-action:pan-y}
.vxkk .stage.free #gl{touch-action:none}
.vxkk .rotbtn{position:absolute;top:10px;right:10px;font:inherit;font-weight:800;font-size:.84rem;padding:7px 12px;border-radius:999px;border:1px solid var(--line);background:var(--surface);color:var(--ink);cursor:pointer;box-shadow:var(--shadow)}
.vxkk .stage.free .rotbtn{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}
.vxkk .draghint{position:absolute;left:10px;bottom:10px;font-size:.74rem;font-weight:700;padding:4px 9px;border-radius:999px;background:color-mix(in srgb,var(--surface) 85%,transparent);color:var(--muted);pointer-events:none}
.vxkk .stage.night .draghint{background:rgba(0,0,0,.5);color:#C9C2D6}
.vxkk .stagetag{position:absolute;left:10px;top:12px;font-size:.72rem;font-weight:800;padding:4px 9px;border-radius:999px;background:rgba(0,0,0,.5);color:#F1EDF7;pointer-events:none}
.vxkk .toolbar{display:flex;flex-wrap:wrap;align-items:stretch;gap:8px;margin-top:10px}
.vxkk .toolbar .push{margin-left:auto}
.vxkk .facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:10px}
@media (max-width:520px){.vxkk .facts{grid-template-columns:repeat(2,minmax(0,1fr))}}
.vxkk .fact{background:var(--surface);border:1px solid var(--line-soft);border-radius:10px;padding:7px 10px;min-width:0}
.vxkk .fact b{display:block;font-size:1rem;font-variant-numeric:tabular-nums}
.vxkk .fact span{font-size:.72rem;color:var(--muted);font-weight:700}
.vxkk .miniprice{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;margin-top:12px}
.vxkk .miniprice .big{font-family:var(--f-display);font-weight:800;font-size:1.7rem;line-height:1;font-variant-numeric:tabular-nums}
.vxkk .status{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:12px}
.vxkk .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);background:var(--surface)}
.vxkk .pill i{width:8px;height:8px;border-radius:50%;background:currentColor;display:inline-block}
.vxkk .pill.ok{color:var(--ok)}
.vxkk .pill.warn{color:var(--warn)}
.vxkk .pill.bad{color:var(--bad)}
.vxkk .warns{list-style:none;margin:8px 0 0;padding:0;display:flex;flex-direction:column;gap:6px}
.vxkk .warns li{border-left:3px solid var(--warn);background:var(--surface);padding:6px 10px;border-radius:0 8px 8px 0;font-size:.84rem}
.vxkk .warns li.rot{border-color:var(--bad)}
.vxkk .warns li.kkfit{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.vxkk .warns li.kkfit a{color:var(--accent);font-weight:700}
.vxkk .price{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 14px;margin-top:12px}
.vxkk .price .big{font-family:var(--f-display);font-weight:800;font-size:2.3rem;line-height:1;font-variant-numeric:tabular-nums}
.vxkk .price .vat{color:var(--muted);font-size:.8rem}
.vxkk table{width:100%;border-collapse:collapse;font-size:.86rem}
.vxkk td{padding:4px 0;border-bottom:1px dashed var(--line)}
.vxkk td:last-child{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap;padding-left:10px}
.vxkk tr.sum td{font-weight:800;border-bottom:0}
.vxkk .qty{display:flex;align-items:center;gap:6px;margin-top:12px;flex-wrap:wrap;font-weight:800;font-size:.86rem}
.vxkk .qty input{width:3.6em;text-align:center}
.vxkk .qty button{font:inherit;font-weight:800;width:32px;height:32px;border-radius:8px;border:1px solid var(--line);background:var(--surface-2);color:var(--ink);cursor:pointer}
.vxkk .tiers{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.vxkk .tiers span{font-size:.76rem;padding:3px 8px;border-radius:999px;border:1px solid var(--line);color:var(--muted)}
.vxkk .tiers span.on{border-color:var(--accent);color:var(--ink);background:var(--accent-soft)}
.vxkk .cta{margin-top:14px;display:flex;flex-direction:column;gap:6px}
.vxkk .werkstatt{margin-top:18px;padding-top:14px;border-top:1px solid var(--line)}
.vxkk .vhead{display:flex;flex-wrap:wrap;gap:6px 10px;align-items:baseline;font-size:.92rem}
.vxkk .vhead .tag{font-size:.7rem;font-weight:800;color:var(--accent);letter-spacing:.06em;text-transform:uppercase}
.vxkk .dlgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:10px}
.vxkk .dlgrid .vxkk-btn{width:100%;min-height:44px}
@media (max-width:420px){.vxkk .dlgrid{grid-template-columns:1fr}}
.vxkk .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}
.vxkk .msg.bad{border-color:var(--bad)}
.vxkk .msg.ok{border-color:var(--ok)}
.vxkk details{margin-top:12px}
.vxkk summary{cursor:pointer;font-weight:800;color:var(--muted);font-size:.88rem}
.vxkk details .inner{display:flex;flex-direction:column;gap:12px;margin-top:10px}
.vxkk 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)}
.vxkk .levers{display:grid;grid-template-columns:1fr auto;gap:6px 12px;align-items:center;font-size:.84rem}
.vxkk .check{display:inline-flex;gap:6px;align-items:center;font-size:.84rem;font-weight:700;color:var(--ink);cursor:pointer}
.vxkk .check input{accent-color:var(--accent);width:16px;height:16px}
.vxkk .filebtn{font-size:.82rem;font-weight:700;color:var(--accent);cursor:pointer;text-decoration:underline;text-underline-offset:2px}
.vxkk .filebtn input{display:none}
.vxkk .refrow{display:grid;grid-template-columns:120px minmax(0,1fr);gap:14px;align-items:start}
@media (max-width:420px){.vxkk .refrow{grid-template-columns:1fr}}
.vxkk .qr{background:#fff;border-radius:10px;padding:5px;width:120px;aspect-ratio:1/1}
.vxkk .qr svg{display:block;width:100%;height:100%}
.vxkk .code{display:block;font:600 .74rem/1.45 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;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}
.vxkk .loadrow{display:flex;gap:8px;margin-top:10px}
.vxkk #loadCode{font:600 .85rem ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;padding:8px 10px;border-width:1px;min-width:0}
.vxkk .vxkk-toast{position:fixed;left:50%;bottom:calc(20px + env(safe-area-inset-bottom,0px));transform:translateX(-50%);background:var(--ink);color:var(--bg);padding:8px 14px;border-radius:999px;font-size:.85rem;font-weight:700;opacity:0;transition:opacity .2s;pointer-events:none;z-index:5}
.vxkk .vxkk-toast.show{opacity:1}
.vxkk .boot{position:fixed;inset:0;display:grid;place-items:center;background:var(--bg);color:var(--muted);z-index:50;font-weight:700}
.vxkk .acc{padding:0 18px}
.vxkk .acc > h2{cursor:pointer;margin:0;user-select:none;padding:15px 0}
.vxkk .acc:not(.open){cursor:pointer}
.vxkk .acc:not(.open):hover{border-color:var(--line)}
.vxkk .acc > h2 .t{flex:0 1 auto}
.vxkk .acc > h2 .sum{margin-left:auto;font-family:"VoxaSymbols",var(--f-body);font-weight:700;font-size:.82rem;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:45%;min-width:0}
.vxkk .acc > h2 .chev{flex:none;width:9px;height:9px;border-right:2px solid var(--muted);border-bottom:2px solid var(--muted);transform:rotate(45deg);margin:0 4px 3px 6px;transition:transform .15s}
.vxkk .acc.open > h2 .chev{transform:rotate(-135deg);margin-bottom:-3px}
.vxkk .acc > h2:focus-visible{outline:3px solid var(--accent);outline-offset:4px;border-radius:6px}
.vxkk .acc .acc-body{display:none;padding-bottom:16px}
.vxkk .acc.open .acc-body{display:block}
.vxkk .help{flex:none;width:21px;height:21px;border-radius:50%;border:1px solid var(--line);background:var(--surface-2);color:var(--muted);font:800 .75rem/1 var(--f-body);cursor:pointer;padding:0;display:inline-grid;place-items:center}
.vxkk .help:hover{border-color:var(--accent);color:var(--ink)}
.vxkk .help[aria-expanded="true"]{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}
.vxkk .helpbox{margin:0 0 14px;background:var(--surface-2);border-radius:10px;padding:10px 12px;font-size:.84rem;line-height:1.45}
.vxkk .helpbox p{margin:0 0 6px}
.vxkk .helpbox p:last-child{margin:0}
.vxkk .helpbox table{margin-top:4px}
.vxkk .helpbox td{padding:3px 0;border-bottom:1px dashed var(--line)}
.vxkk .helpbox tr:last-child td{border-bottom:0}
.vxkk .helpbox tr.now td{font-weight:800;color:var(--accent)}
@media (max-width:420px){.vxkk .acc > h2 .sum{max-width:34%}}
@media (prefers-reduced-motion:reduce){.vxkk *{transition:none!important;animation:none!important}}

/* ---------- Website-Theme (dunkel, Glas-Panels, Iris-Verlauf) – wie Spukscheibe, Name Clicker, Leuchtmotive ---------- */
.vxkk {
  color-scheme: dark;
  --bg: 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-2: #E8A2F5; --accent-ink: #fff; --accent-soft: rgba(156,121,244,.20);
  --glow: #8BF06A; --glow-ink: #0E1A08; --glow-soft: rgba(139,240,106,.12);
  --ok: #6CCB8E; --warn: #F2B04A; --bad: #F27466;
  --stage-a: #2b2640; --stage-b: #15121f; --radius: 16px;
  --iri: linear-gradient(100deg, #FEC4C6, #E8A2F5 24%, #9C79F4 48%, #6473CA 70%, #6EB7CC);
  --shadow: 0 18px 50px -24px rgba(0,0,0,.85);
  --f-display: "Baloo 2", var(--vx-font-head, "Nunito"), system-ui, sans-serif;
  --f-body: var(--vx-font, "Inter"), system-ui, sans-serif;
  position: relative; padding: 8px 0 72px; color: var(--ink); background: transparent;
}
.vxkk .vxkk-wrap { padding-block: 8px 24px; max-width: 1240px; }
.vxkk .vxkk-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; }
.vxkk h1.vxkk-title { font-family: "Baloo 2", var(--vx-font-head, sans-serif); font-weight: 800; font-size: clamp(2.2rem, 5vw, 3.4rem); line-height: 1; margin: 0; color: #fff; letter-spacing: .01em; }
.vxkk header.vxkk-top { align-items: flex-end; justify-content: space-between; gap: 10px 28px; margin-bottom: 22px; }
.vxkk header.vxkk-top > .vxkk-brand { flex: 1 1 100%; position: relative; }
.vxkk header.vxkk-top > .lede { align-self: center; flex: 1 1 320px; max-width: 54ch; }
.vxkk .vxkk-chips { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 10px; }
.vxkk .vxkk-chips span { font-size: .78rem; font-weight: 700; padding: 3px 10px; border-radius: 999px; border: 1px solid var(--line); color: var(--ink); background: rgba(0,0,0,.2); }
.vxkk .stagecol { top: 90px; }
@media (max-width: 991.98px) { .vxkk .vxkk-grid { grid-template-columns: 1fr; } .vxkk .stagecol { position: static !important; } }
.vxkk .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: var(--shadow); color: var(--ink); }
.vxkk .acc.open { z-index: 5; position: relative; }
.vxkk h2 { color: #fff; font-size: 1.12rem; }
.vxkk h2 .step { background: var(--iri); color: #15121f; }
.vxkk input[type=text], .vxkk input[type=number] { color: var(--ink); background: rgba(0,0,0,.25); border-color: var(--line); }
.vxkk input::placeholder { color: var(--faint); }
.vxkk .stage { background: radial-gradient(60% 50% at 70% 22%, rgba(254,196,198,.08), transparent 70%), radial-gradient(120% 90% at 50% 35%, var(--stage-a) 0%, var(--stage-b) 72%); border-color: var(--line-soft); }
.vxkk .stage.night { background: radial-gradient(120% 90% at 50% 40%, #0c0b12 0%, #040308 75%); }
.vxkk .vxkk-btn { border-color: var(--line); background: var(--surface-2); color: var(--ink); }
.vxkk .vxkk-btn:hover:not(:disabled) { border-color: var(--muted); color: #fff; }
.vxkk .vxkk-btn.primary, .vxkk .seg button[aria-pressed="true"] { background: linear-gradient(135deg, #E8A2F5, #9C79F4 55%, #6473CA); border-color: transparent; color: #fff; }
.vxkk .seg.glowseg button[aria-pressed="true"] { background: var(--glow); color: var(--glow-ink); box-shadow: 0 0 16px rgba(139,240,106,.4); }
.vxkk .seg { background: rgba(0,0,0,.25); }
.vxkk .rotbtn { background: rgba(21,18,31,.85); color: var(--ink); border-color: var(--line); }
.vxkk .stage.free .rotbtn { background: var(--accent); color: #fff; }
.vxkk .draghint { background: rgba(21,18,31,.7); color: var(--muted); }
.vxkk .preset .th { background: rgba(0,0,0,.28); }
.vxkk .preset, .vxkk .fontbtn, .vxkk .fpanel, .vxkk .fgrp { background: rgba(0,0,0,.2); }
.vxkk .fgrp { background: #1b1826; }
.vxkk .preset[aria-pressed="true"] { border-color: var(--accent-2); box-shadow: 0 0 0 1px var(--accent-2), 0 0 18px rgba(232,162,245,.25); background: rgba(156,121,244,.14); }
.vxkk .palette button[aria-pressed="true"] { border-color: #fff; box-shadow: 0 0 0 2px #15121f; }
.vxkk .helpbox { background: rgba(0,0,0,.22); }
.vxkk .price .big { background: var(--iri); -webkit-background-clip: text; background-clip: text; color: transparent; }
.vxkk table { color: var(--ink); } .vxkk td { border-bottom-color: var(--line-soft); }
.vxkk .tiers span.on { background: var(--accent-soft); border-color: var(--accent); color: #fff; }
.vxkk .msg, .vxkk .warns li, .vxkk .pill { background: rgba(0,0,0,.22); color: var(--ink); }
.vxkk .pill.ok { color: var(--ok); } .vxkk .pill.warn { color: var(--warn); } .vxkk .pill.bad { color: var(--bad); }
.vxkk .code, .vxkk pre { background: rgba(0,0,0,.3); color: var(--ink); border-color: var(--line); }
.vxkk .fact { background: rgba(0,0,0,.2); }
.vxkk #vxkkCart { display: inline-flex; align-items: center; justify-content: center; gap: 10px; font-weight: 800; padding: 14px 18px; border-radius: 14px; width: 100%; }
.vxkk #vxkkCart:disabled { opacity: .5; cursor: not-allowed; }
.vxkk .werkstatt { border-top: 1px dashed var(--line); }
.vxkk .werkstatt .vhead b { color: var(--accent-2); }
.vxkk .nodeStatus { font-size: .78rem; font-weight: 700; margin-left: 6px; }
.vxkk .leverbar { display: flex; flex-wrap: wrap; gap: 8px 12px; align-items: center; }
.vxkk-toast { position: fixed; left: 50%; bottom: calc(20px + env(safe-area-inset-bottom,0px)); transform: translateX(-50%); background: #fff; color: #15121f; padding: 8px 14px; border-radius: 999px;
  font-size: .85rem; font-weight: 700; opacity: 0; transition: opacity .2s; pointer-events: none; z-index: 1080; }
.vxkk-toast.show { opacity: 1; }

/* ---------- Beispielbilder neben der Einleitung + Großansicht (wie Spukscheibe/Clicker) ---------- */
.vxkk .vxkk-gal { flex: 1 1 340px; min-width: 0; max-width: 620px; display: flex; flex-direction: column; gap: 7px; }
.vxkk .vxkk-gal-t { font-family: var(--vx-font-hand, "Caveat", cursive); font-size: 1.3rem; line-height: 1; color: var(--ink); }
.vxkk .vxkk-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); }
.vxkk .vxkk-gal-it { flex: none; width: 92px; height: 92px; padding: 0; border-radius: 14px; overflow: hidden; border: 1px solid var(--line); background: #15122e; cursor: zoom-in;
  scroll-snap-align: start; transition: transform .15s, border-color .15s, box-shadow .15s; }
.vxkk .vxkk-gal-it:last-child { margin-right: 40px; }
.vxkk .vxkk-gal-it img { width: 100%; height: 100%; object-fit: cover; display: block; }
.vxkk .vxkk-gal-it:hover, .vxkk .vxkk-gal-it:focus-visible { transform: translateY(-2px); border-color: rgba(156,121,244,.75); box-shadow: 0 0 18px rgba(156,121,244,.35); outline: none; }
.vxkk .vxkk-gal-note { color: var(--faint); font-size: .74rem; }
@media (max-width: 767.98px) { .vxkk .vxkk-gal { flex-basis: 100%; max-width: none; } .vxkk .vxkk-gal-it { width: 84px; height: 84px; } }
.vxkk-lb { padding: 0; border: 0; background: transparent; max-width: min(92vw, 88vh); width: min(92vw, 88vh); overflow: visible; color: #E9EBF2; }
.vxkk-lb::backdrop { background: rgba(6,5,14,.86); -webkit-backdrop-filter: blur(4px); backdrop-filter: blur(4px); }
.vxkk-lb figure { margin: 0; }
.vxkk-lb img { display: block; width: auto; max-width: 100%; height: auto; max-height: 78vh; margin: 0 auto; border-radius: 16px; box-shadow: 0 30px 80px -20px rgba(0,0,0,.9); background: #0B0A12; }
.vxkk-lb figcaption { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 12px; margin-top: 10px; font-size: .9rem; color: rgba(233,235,242,.8); }
.vxkk-lb-n { margin-left: auto; white-space: nowrap; font-variant-numeric: tabular-nums; color: rgba(233,235,242,.5); }
.vxkk-lb-use { font: inherit; font-weight: 800; font-size: .85rem; padding: 6px 14px; border-radius: 999px; border: 0; background: #9C79F4; color: #fff; cursor: pointer; }
.vxkk-lb-use:hover { filter: brightness(1.1); }
.vxkk-lb-btn, .vxkk-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; line-height: 1; padding: 0; cursor: pointer; }
.vxkk-lb-btn:hover, .vxkk-lb-x:hover { border-color: #9C79F4; box-shadow: 0 0 14px rgba(156,121,244,.45); }
.vxkk-lb-btn { top: calc(50% - 40px); }
.vxkk-lb-btn.prev { left: -22px; } .vxkk-lb-btn.next { right: -22px; }
.vxkk-lb-x { top: -18px; right: -18px; }
@media (max-width: 600px) { .vxkk-lb-btn.prev { left: 6px; } .vxkk-lb-btn.next { right: 6px; } .vxkk-lb-x { top: 6px; right: 6px; } }
@media (prefers-reduced-motion: reduce) { .vxkk *, .vxkk-toast { transition: none !important; animation: none !important; } }
.vxkk .boot { position: absolute; inset: 0; background: rgba(21,18,31,.72); color: var(--muted); z-index: 6; display: grid; place-items: center; font-weight: 700; border-radius: inherit; }

/* ---------- Karteikasten ---------- */
.vxkk .dimtag{position:absolute;left:12px;top:10px;font-size:.78rem;font-weight:800;padding:3px 10px;border-radius:999px;background:rgba(21,18,31,.7);color:var(--ink);pointer-events:none}
.vxkk #cardsBtn[aria-pressed="true"]{border-color:var(--accent-2);background:var(--accent-soft)}
.vxkk .warns li.ok{border-left-color:var(--ok)}
.vxkk .seg.fmts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}
.vxkk .seg.fmts button{border-left:1px solid var(--line);border-top:1px solid var(--line);text-align:center;line-height:1.15;padding:6px 4px}
.vxkk .seg.fmts button:nth-child(4n+1){border-left:0}
.vxkk .seg.fmts button:nth-child(-n+4){border-top:0}
.vxkk .seg.cols2.two button{min-height:48px}
.vxkk .preset .th img{width:100%;height:100%;object-fit:contain;display:block}
.vxkk .preset .nm{color:var(--ink)}
.vxkk .palette button.glow{box-shadow:0 0 10px rgba(139,240,106,.45)}

/* Preis immer sichtbar: unter der Vorschau (Spalte bleibt am Desktop stehen) und Bestellbereich immer offen */
.vxkk .kkprice{margin-top:12px;padding:12px 14px;border-radius:14px;border:1px solid var(--line-soft);background:linear-gradient(145deg,rgba(255,255,255,.07),rgba(255,255,255,.025))}
.vxkk .kkprice .kkp-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 12px}
.vxkk .kkprice .kkp-l{font-weight:800;font-size:.8rem;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}
.vxkk .kkprice .kkp-big{font-family:var(--f-display);font-weight:800;font-size:1.9rem;line-height:1;background:var(--iri);-webkit-background-clip:text;background-clip:text;color:transparent;font-variant-numeric:tabular-nums}
.vxkk .kkprice .kkp-q{font-size:.82rem;color:var(--muted);font-weight:700}
.vxkk .kkprice table{margin-top:8px;font-size:.84rem}
.vxkk .kkprice td{padding:3px 0}
.vxkk .kkprice .kkp-foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:6px 10px;margin-top:8px;font-size:.74rem;color:var(--faint)}
.vxkk #orderPanel > h2{margin-bottom:12px}
.vxkk .kkprice tr.deckel td,.vxkk #priceTable tr.deckel td{color:var(--ok,#3fb27f);font-weight:700}

/* Einfache Ansicht: Details erst nach „Anpassen“ */
.vxkk:not(.kk-custom) section.panel.kkx{display:none}
.vxkk:not(.kk-custom) section.panel.kkref{display:none}
.vxkk .kkcustom{display:flex;align-items:center;gap:12px;width:100%;margin-top:12px;padding:12px 14px;border:1px dashed var(--line);border-radius:14px;background:var(--surface-2);color:var(--ink);font:inherit;text-align:left;cursor:pointer;transition:border-color .15s,background .15s}
.vxkk .kkcustom:hover,.vxkk .kkcustom:focus-visible{border-color:var(--accent);border-style:solid}
.vxkk .kkcustom .ic{flex:none;display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:var(--accent);color:var(--accent-ink,#fff);font-size:1.1rem}
.vxkk .kkcustom .tx{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}
.vxkk .kkcustom .tx b{font-weight:800;font-size:1rem}
.vxkk .kkcustom .tx small{color:var(--muted);font-size:.8rem}
.vxkk .kkcustom .chev{flex:none;width:10px;height:10px;border-right:2px solid var(--muted);border-bottom:2px solid var(--muted);transform:rotate(45deg) translate(-2px,-2px);transition:transform .2s}
.vxkk .kkcustom[aria-expanded="true"]{background:transparent}
.vxkk .kkcustom[aria-expanded="true"] .ic{background:var(--surface);color:var(--ink)}
.vxkk .kkcustom[aria-expanded="true"] .chev{transform:rotate(-135deg) translate(-2px,-2px)}
.vxkk:not(.kk-custom) .vxkk-grid > .stack > section.panel.acc:first-child > h2 .chev{visibility:hidden}.vxkk:not(.kk-custom) .vxkk-grid > .stack > section.panel.acc:first-child > h2{cursor:default}

/* Hinweis: Code der anderen Bauweise */
.vxkk .kkmode{margin:10px 0;padding:12px 14px;border:1px solid var(--accent);border-radius:14px;background:var(--surface-2);display:flex;flex-direction:column;gap:10px;font-size:.88rem;color:var(--ink)}
.vxkk .kkmode p{margin:0}
.vxkk .kkmode .vxkk-btn.ghost{background:transparent;border-color:transparent;color:var(--muted);margin-left:auto}
.vxkk .kkmode a.vxkk-btn{text-decoration:none}

/* Teilen-Knopf am Referenzcode */
.vxkk .kkshare{display:inline-flex;align-items:center;gap:6px}
.vxkk .kkshare svg{flex:none}
@media (pointer:coarse){.vxkk .refrow .vxkk-btn.sm{min-height:40px;padding:8px 14px}}

/* Kaufkarte: gemeinsames Schema voxa_base/static/lib/voxa_buy.css; Preise ohne Farbverlauf (Regel 25.10.) */
.vxkk .vxb-big{font-family:var(--f-display)}
.vxkk .kkprice .kkp-big{background:none;-webkit-background-clip:border-box;background-clip:border-box;color:#fff}
