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

/* ---------- Website-Theme (dunkel, Glas-Panels, Iris-Verlauf) – wie Spukscheibe, Name Clicker, Leuchtmotive ---------- */
.vxk {
  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;
}
.vxk .vxk-wrap { padding-block: 8px 24px; max-width: 1240px; }
.vxk .vxk-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; }
.vxk h1.vxk-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; }
.vxk header.vxk-top { align-items: flex-end; justify-content: space-between; gap: 10px 28px; margin-bottom: 22px; }
.vxk header.vxk-top > .vxk-brand { flex: 1 1 100%; position: relative; }
.vxk header.vxk-top > .lede { align-self: center; flex: 1 1 320px; max-width: 54ch; }
.vxk .vxk-chips { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 10px; }
.vxk .vxk-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); }
.vxk .stagecol { top: 90px; }
@media (max-width: 991.98px) { .vxk .vxk-grid { grid-template-columns: 1fr; } .vxk .stagecol { position: static !important; } }
.vxk .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); }
.vxk .acc.open { z-index: 5; position: relative; }
.vxk h2 { color: #fff; font-size: 1.12rem; }
.vxk h2 .step { background: var(--iri); color: #15121f; }
.vxk input[type=text], .vxk input[type=number] { color: var(--ink); background: rgba(0,0,0,.25); border-color: var(--line); }
.vxk input::placeholder { color: var(--faint); }
.vxk .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); }
.vxk .stage.night { background: radial-gradient(120% 90% at 50% 40%, #0c0b12 0%, #040308 75%); }
.vxk .vxk-btn { border-color: var(--line); background: var(--surface-2); color: var(--ink); }
.vxk .vxk-btn:hover:not(:disabled) { border-color: var(--muted); color: #fff; }
.vxk .vxk-btn.primary, .vxk .seg button[aria-pressed="true"] { background: linear-gradient(135deg, #E8A2F5, #9C79F4 55%, #6473CA); border-color: transparent; color: #fff; }
.vxk .seg.glowseg button[aria-pressed="true"] { background: var(--glow); color: var(--glow-ink); box-shadow: 0 0 16px rgba(139,240,106,.4); }
.vxk .seg { background: rgba(0,0,0,.25); }
.vxk .rotbtn { background: rgba(21,18,31,.85); color: var(--ink); border-color: var(--line); }
.vxk .stage.free .rotbtn { background: var(--accent); color: #fff; }
.vxk .draghint { background: rgba(21,18,31,.7); color: var(--muted); }
.vxk .preset .th { background: rgba(0,0,0,.28); }
.vxk .preset, .vxk .fontbtn, .vxk .fpanel, .vxk .fgrp { background: rgba(0,0,0,.2); }
.vxk .fgrp { background: #1b1826; }
.vxk .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); }
.vxk .palette button[aria-pressed="true"] { border-color: #fff; box-shadow: 0 0 0 2px #15121f; }
.vxk .helpbox { background: rgba(0,0,0,.22); }
.vxk .price .big { background: var(--iri); -webkit-background-clip: text; background-clip: text; color: transparent; }
.vxk table { color: var(--ink); } .vxk td { border-bottom-color: var(--line-soft); }
.vxk .tiers span.on { background: var(--accent-soft); border-color: var(--accent); color: #fff; }
.vxk .msg, .vxk .warns li, .vxk .pill { background: rgba(0,0,0,.22); color: var(--ink); }
.vxk .pill.ok { color: var(--ok); } .vxk .pill.warn { color: var(--warn); } .vxk .pill.bad { color: var(--bad); }
.vxk .code, .vxk pre { background: rgba(0,0,0,.3); color: var(--ink); border-color: var(--line); }
.vxk .fact { background: rgba(0,0,0,.2); }
.vxk #vxkCart { display: inline-flex; align-items: center; justify-content: center; gap: 10px; font-weight: 800; padding: 14px 18px; border-radius: 14px; width: 100%; }
.vxk #vxkCart:disabled { opacity: .5; cursor: not-allowed; }
.vxk .werkstatt { border-top: 1px dashed var(--line); }
.vxk .werkstatt .vhead b { color: var(--accent-2); }
.vxk .nodeStatus { font-size: .78rem; font-weight: 700; margin-left: 6px; }
.vxk .leverbar { display: flex; flex-wrap: wrap; gap: 8px 12px; align-items: center; }
.vxk-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; }
.vxk-toast.show { opacity: 1; }

/* ---------- Beispielbilder neben der Einleitung + Großansicht (wie Spukscheibe/Clicker) ---------- */
.vxk .vxk-gal { flex: 1 1 340px; min-width: 0; max-width: 620px; display: flex; flex-direction: column; gap: 7px; }
.vxk .vxk-gal-t { font-family: var(--vx-font-hand, "Caveat", cursive); font-size: 1.3rem; line-height: 1; color: var(--ink); }
.vxk .vxk-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); }
.vxk .vxk-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; }
.vxk .vxk-gal-it:last-child { margin-right: 40px; }
.vxk .vxk-gal-it img { width: 100%; height: 100%; object-fit: cover; display: block; }
.vxk .vxk-gal-it:hover, .vxk .vxk-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; }
.vxk .vxk-gal-note { color: var(--faint); font-size: .74rem; }
@media (max-width: 767.98px) { .vxk .vxk-gal { flex-basis: 100%; max-width: none; } .vxk .vxk-gal-it { width: 84px; height: 84px; } }
.vxk-lb { padding: 0; border: 0; background: transparent; max-width: min(92vw, 88vh); width: min(92vw, 88vh); overflow: visible; color: #E9EBF2; }
.vxk-lb::backdrop { background: rgba(6,5,14,.86); -webkit-backdrop-filter: blur(4px); backdrop-filter: blur(4px); }
.vxk-lb figure { margin: 0; }
.vxk-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; }
.vxk-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); }
.vxk-lb-n { margin-left: auto; white-space: nowrap; font-variant-numeric: tabular-nums; color: rgba(233,235,242,.5); }
.vxk-lb-use { font: inherit; font-weight: 800; font-size: .85rem; padding: 6px 14px; border-radius: 999px; border: 0; background: #9C79F4; color: #fff; cursor: pointer; }
.vxk-lb-use:hover { filter: brightness(1.1); }
.vxk-lb-btn, .vxk-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; }
.vxk-lb-btn:hover, .vxk-lb-x:hover { border-color: #9C79F4; box-shadow: 0 0 14px rgba(156,121,244,.45); }
.vxk-lb-btn { top: calc(50% - 40px); }
.vxk-lb-btn.prev { left: -22px; } .vxk-lb-btn.next { right: -22px; }
.vxk-lb-x { top: -18px; right: -18px; }
@media (max-width: 600px) { .vxk-lb-btn.prev { left: 6px; } .vxk-lb-btn.next { right: 6px; } .vxk-lb-x { top: 6px; right: 6px; } }
@media (prefers-reduced-motion: reduce) { .vxk *, .vxk-toast { transition: none !important; animation: none !important; } }
.vxk .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; }

/* ===== Kaufkarte: gemeinsames Schema in voxa_base/static/lib/voxa_buy.css, hier nur die Schriften ===== */
.vxk .vxb-sum{font-family:"VoxaSymbols",var(--f-body)}
.vxk .vxb-big{font-family:var(--f-display)}
