/* ============================================================
   MINT-Material — Interaktive Übungs-Widgets (Klasse 10)
   Eigenentwicklung, Palette der Nuklidkarte, semantisch gesetzt.
   blau #5b8bd8/#2c5fb5 · grün #4a7530/#67b05f · orange #e79a3a
   rot #e2574c · violett #7c5fb5 · gelb #f4d03f · dunkel #2f2f2f
   ============================================================ */

.ux{
  --ux-blue:#5b8bd8; --ux-blue-d:#2c5fb5;
  --ux-green:#67b05f; --ux-green-d:#4a7530;
  --ux-orange:#e79a3a; --ux-red:#e2574c;
  --ux-violet:#7c5fb5; --ux-yellow:#f4d03f;
  --ux-dark:#2f2f2f; --ux-paper:#faf6ee; --ux-line:#d9cdb8;
  margin:14px 0 2px;
}
.ux *{box-sizing:border-box}

/* ---------- gemeinsame Bausteine ---------- */
.ux-lead{
  font-size:14px; line-height:1.55; color:#6b5f53;
  margin:0 0 10px; padding-left:11px; border-left:3px solid var(--ux-line);
}
.ux-lead kbd{
  font:600 11.5px/1 ui-monospace,SFMono-Regular,Menlo,monospace;
  background:#fff; border:1px solid var(--ux-line); border-bottom-width:2px;
  border-radius:4px; padding:2px 5px; color:var(--ux-dark);
}
.ux-bar{
  display:flex; flex-wrap:wrap; align-items:center; gap:9px; margin-top:12px;
}
.ux-btn{
  font:600 13.5px/1 inherit; cursor:pointer;
  padding:9px 16px; border-radius:9px; border:1.5px solid var(--ux-blue-d);
  background:var(--ux-blue-d); color:#fff;
}
.ux-btn:hover{filter:brightness(1.08)}
.ux-btn:focus-visible{outline:3px solid var(--ux-yellow); outline-offset:2px}
.ux-btn.ghost{background:#fff; color:var(--ux-dark); border-color:var(--ux-line)}
.ux-btn.ghost:hover{background:#f3ece0}
.ux-btn[disabled]{opacity:.45; cursor:default; filter:none}
.ux-out{
  font-size:13px; font-weight:600; color:#6b5f53; min-height:19px;
}
.ux-out.ok{color:var(--ux-green-d)}
.ux-out.bad{color:var(--ux-red)}
.ux-note{
  margin-top:10px; padding:10px 13px; border-radius:9px; font-size:13.5px; line-height:1.6;
  background:#eef3fb; border:1px solid #cfdcf1; color:#24405f; display:none;
}
.ux-note.show{display:block}

/* ---------- 1) Kategorien-Körbe (cat) ---------- */
.ux-pool{
  display:flex; flex-wrap:wrap; gap:8px; min-height:46px;
  padding:10px; border-radius:11px;
  background:var(--ux-paper); border:1.5px dashed var(--ux-line);
}
.ux-pool:empty::after{content:'Alle Karten verteilt.'; font-size:13px; color:#9a8d7d}
.ux-chip{
  font:600 13.5px/1.2 inherit; cursor:grab;
  padding:8px 13px; border-radius:20px;
  background:#fff; border:1.5px solid var(--ux-line); color:var(--ux-dark);
}
.ux-chip:focus-visible{outline:3px solid var(--ux-yellow); outline-offset:2px}
.ux-chip.picked{
  background:var(--ux-violet); border-color:var(--ux-violet); color:#fff;
  transform:translateY(-2px);
}
.ux-chip.drag{opacity:.4}
.ux-chip.ok{background:#e8f4e4; border-color:var(--ux-green); color:var(--ux-green-d)}
.ux-chip.bad{background:#fbe6e4; border-color:var(--ux-red); color:#96271e}
.ux-baskets{display:grid; gap:10px; margin-top:12px; grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}
.ux-basket{
  border-radius:11px; padding:10px; background:#fff;
  border:1.5px solid var(--ux-line); border-top-width:4px;
}
.ux-basket.b0{border-top-color:var(--ux-blue)}
.ux-basket.b1{border-top-color:var(--ux-green)}
.ux-basket.b2{border-top-color:var(--ux-orange)}
.ux-basket.b3{border-top-color:var(--ux-violet)}
.ux-basket.over{background:#f1f6ff; border-color:var(--ux-blue)}
.ux-bh{
  display:flex; align-items:center; gap:7px;
  font:700 13px/1 inherit; color:var(--ux-dark); margin-bottom:8px;
}
.ux-key{
  display:inline-flex; align-items:center; justify-content:center;
  width:19px; height:19px; border-radius:5px; flex:0 0 19px;
  background:var(--ux-dark); color:#fff; font:700 11px/1 ui-monospace,Menlo,monospace;
}
.ux-drop{display:flex; flex-wrap:wrap; gap:7px; min-height:36px}

/* ---------- 2) Reihenfolge (sort) ---------- */
.ux-sort{display:flex; flex-direction:column; gap:8px}
.ux-item{
  display:flex; align-items:center; gap:10px;
  padding:9px 11px; border-radius:10px; background:#fff;
  border:1.5px solid var(--ux-line); cursor:grab;
  font-size:14px; line-height:1.45; color:var(--ux-dark);
}
.ux-item:focus-visible{outline:3px solid var(--ux-yellow); outline-offset:2px}
.ux-item.drag{opacity:.4}
.ux-item.ok{background:#e8f4e4; border-color:var(--ux-green)}
.ux-item.bad{background:#fbe6e4; border-color:var(--ux-red)}
.ux-rank{
  flex:0 0 24px; width:24px; height:24px; border-radius:50%;
  background:var(--ux-blue); color:#fff;
  display:flex; align-items:center; justify-content:center;
  font:700 12px/1 inherit;
}
.ux-item.ok .ux-rank{background:var(--ux-green-d)}
.ux-item.bad .ux-rank{background:var(--ux-red)}
.ux-txt{flex:1}
.ux-moves{display:flex; flex-direction:column; gap:2px}
.ux-mv{
  width:24px; height:16px; padding:0; cursor:pointer; line-height:1;
  border:1px solid var(--ux-line); background:#f7f2e8; border-radius:5px;
  font-size:9px; color:var(--ux-dark);
}
.ux-mv:hover{background:var(--ux-blue); color:#fff; border-color:var(--ux-blue)}
.ux-mv:focus-visible{outline:2px solid var(--ux-yellow); outline-offset:1px}

/* ---------- 3) Lückentext mit Wortbank (bank) ---------- */
.ux-cloze{
  font-size:15px; line-height:2.15; color:var(--ux-dark);
  background:var(--ux-paper); border:1.5px solid var(--ux-line);
  border-radius:11px; padding:13px 15px;
}
.ux-gap{
  font:600 13.5px/1 inherit; cursor:pointer; vertical-align:baseline;
  min-width:96px; padding:6px 10px; border-radius:7px;
  background:#fff; border:1.5px dashed var(--ux-blue); color:var(--ux-blue-d);
}
.ux-gap:focus-visible{outline:3px solid var(--ux-yellow); outline-offset:2px}
.ux-gap.filled{border-style:solid; background:#eef3fb}
.ux-gap.sel{background:var(--ux-violet); border-color:var(--ux-violet); color:#fff}
.ux-gap.ok{background:#e8f4e4; border-color:var(--ux-green); color:var(--ux-green-d)}
.ux-gap.bad{background:#fbe6e4; border-color:var(--ux-red); color:#96271e}

/* ---------- 4) Paare finden / Memory (pair) ---------- */
.ux-mem{display:grid; grid-template-columns:repeat(4,1fr); gap:8px}
@media(max-width:560px){.ux-mem{grid-template-columns:repeat(3,1fr)}}
.ux-card{
  position:relative; min-height:70px; padding:8px 6px; cursor:pointer;
  border-radius:10px; border:1.5px solid var(--ux-line); background:#fff;
  display:flex; align-items:center; justify-content:center; text-align:center;
  font:600 12.5px/1.35 inherit; color:var(--ux-dark);
  transition:background .18s ease, border-color .18s ease, transform .18s ease;
}
.ux-card:focus-visible{outline:3px solid var(--ux-yellow); outline-offset:2px}
.ux-card .ux-face{visibility:hidden}
.ux-card.up .ux-face,.ux-card.got .ux-face{visibility:visible}
.ux-card::after{
  content:'?'; position:absolute; inset:0;
  display:flex; align-items:center; justify-content:center;
  font:700 20px/1 inherit; color:#b9ac9a;
  background:var(--ux-paper); border-radius:9px;
}
.ux-card.up::after,.ux-card.got::after{display:none}
.ux-card.up{background:#eef3fb; border-color:var(--ux-blue); transform:translateY(-2px)}
.ux-card.got{background:#e8f4e4; border-color:var(--ux-green); cursor:default}
.ux-card.miss{background:#fbe6e4; border-color:var(--ux-red)}
.ux-pair .ux-card{min-height:76px}
.ux-tries{
  font:700 12.5px/1.3 inherit; color:var(--ux-dark);
  background:var(--ux-paper); border:1.5px solid var(--ux-line);
  border-radius:999px; padding:4px 11px; white-space:nowrap;
}
.ux-pair.ux-over .ux-tries{background:#fbe6e4; border-color:var(--ux-red); color:#96271e}
.ux-pair.done .ux-tries{background:#e8f4e4; border-color:var(--ux-green); color:var(--ux-green-d)}
.ux-pair.ux-over .ux-mem{opacity:.55; filter:grayscale(.4)}
.ux-pair.ux-over .ux-card{cursor:not-allowed}

/* ---------- 5) Mehrfachauswahl (multi) ---------- */
.ux-multi{display:flex; flex-direction:column; gap:8px}
.ux-opt{
  display:flex; align-items:flex-start; gap:10px; text-align:left; cursor:pointer;
  padding:10px 12px; border-radius:10px; background:#fff;
  border:1.5px solid var(--ux-line); font-size:14px; line-height:1.5; color:var(--ux-dark);
}
.ux-opt:focus-visible{outline:3px solid var(--ux-yellow); outline-offset:2px}
.ux-box{
  flex:0 0 19px; width:19px; height:19px; margin-top:1px; border-radius:5px;
  border:1.5px solid var(--ux-line); background:var(--ux-paper);
  display:flex; align-items:center; justify-content:center;
  font:700 12px/1 inherit; color:#fff;
}
.ux-opt.on{border-color:var(--ux-blue); background:#eef3fb}
.ux-opt.on .ux-box{background:var(--ux-blue-d); border-color:var(--ux-blue-d)}
.ux-opt.on .ux-box::after{content:'\2713'}
.ux-opt.ok{border-color:var(--ux-green); background:#e8f4e4}
.ux-opt.ok .ux-box{background:var(--ux-green-d); border-color:var(--ux-green-d)}
.ux-opt.bad{border-color:var(--ux-red); background:#fbe6e4}
.ux-opt.bad .ux-box{background:var(--ux-red); border-color:var(--ux-red)}
.ux-opt.miss{border-color:var(--ux-orange); background:#fdf1e0}

/* ---------- 6) Wahr/Falsch mit Serie (tf) ---------- */
.ux-tf{background:var(--ux-paper); border:1.5px solid var(--ux-line); border-radius:11px; padding:15px}
.ux-tf-meta{display:flex; justify-content:space-between; align-items:center; font-size:12px; font-weight:700; color:#6b5f53; margin-bottom:9px}
.ux-streak{display:flex; gap:4px}
.ux-pip{width:9px; height:9px; border-radius:50%; background:#e2dccf}
.ux-pip.hit{background:var(--ux-green)}
.ux-pip.fail{background:var(--ux-red)}
.ux-stmt{font-size:15.5px; line-height:1.6; color:var(--ux-dark); min-height:52px}
.ux-tf-btns{display:flex; gap:9px; margin-top:11px}
.ux-tf-btns .ux-btn{flex:1; max-width:170px}
.ux-item-tf{display:none}
.ux-count{font-weight:700}
.ux-why{
  display:none; margin-top:11px; padding:9px 12px; border-radius:8px;
  font-size:13.5px; line-height:1.6; background:#fff; border:1px solid var(--ux-line); color:#4a4038;
}
.ux-why.show{display:block}
.ux-btn.yes{background:var(--ux-green-d); border-color:var(--ux-green-d)}
.ux-btn.no{background:var(--ux-red); border-color:var(--ux-red)}

/* ---------- 7) Zahleneingabe (num) ---------- */
.ux-numrow{display:flex; flex-wrap:wrap; align-items:center; gap:9px}
.ux-input{
  font:600 15px/1 ui-monospace,SFMono-Regular,Menlo,monospace;
  width:150px; padding:10px 12px; border-radius:9px;
  border:1.5px solid var(--ux-line); background:#fff; color:var(--ux-dark);
}
.ux-input:focus-visible{outline:3px solid var(--ux-yellow); outline-offset:2px}
.ux-input.ok{border-color:var(--ux-green); background:#e8f4e4}
.ux-input.bad{border-color:var(--ux-red); background:#fbe6e4}
.ux-unit{font-size:14px; font-weight:600; color:#6b5f53}

/* ---------- 8) Schätzregler (slider) ---------- */
.ux-slide{background:var(--ux-paper); border:1.5px solid var(--ux-line); border-radius:11px; padding:15px}
.ux-range{width:100%; accent-color:var(--ux-blue-d); margin:6px 0}
.ux-scale{display:flex; justify-content:space-between; font-size:11.5px; color:#9a8d7d}
.ux-read{
  font:700 26px/1 inherit; color:var(--ux-blue-d); margin:4px 0 2px;
}
.ux-read.ok{color:var(--ux-green-d)}
.ux-read.bad{color:var(--ux-red)}
.ux-track{position:relative; height:9px; border-radius:5px; background:#e7e0d2; margin:10px 0 4px; overflow:hidden}
.ux-band{position:absolute; top:0; bottom:0; background:#cfe6c9; display:none}
.ux-track.reveal .ux-band{display:block}
.ux-mark{position:absolute; top:-3px; width:3px; height:15px; background:var(--ux-dark); border-radius:2px}

/* ---------- 9) Fehlersuche (bug) ---------- */
.ux-lines{display:flex; flex-direction:column; gap:6px}
.ux-line{
  display:flex; gap:10px; align-items:flex-start; text-align:left; cursor:pointer;
  padding:9px 12px; border-radius:9px; background:#fff;
  border:1.5px solid var(--ux-line); font-size:14px; line-height:1.55; color:var(--ux-dark);
}
.ux-line:focus-visible{outline:3px solid var(--ux-yellow); outline-offset:2px}
.ux-ln{flex:0 0 20px; font:700 12px/1.4 ui-monospace,Menlo,monospace; color:#a99c8a}
.ux-line.on{border-color:var(--ux-orange); background:#fdf1e0}
.ux-line.ok{border-color:var(--ux-green); background:#e8f4e4}
.ux-line.bad{border-color:var(--ux-red); background:#fbe6e4}
.ux-fix{display:none; margin-top:5px; font-size:13px; color:var(--ux-green-d); font-weight:600}
.ux-line.ok .ux-fix{display:block}

/* ---------- 10) Bit-Raster (grid) ---------- */
.ux-grid-wrap{background:var(--ux-paper); border:1.5px solid var(--ux-line); border-radius:11px; padding:15px}
.ux-cells{display:flex; gap:6px; flex-wrap:wrap; justify-content:center}
.ux-cell{
  width:46px; cursor:pointer; border-radius:9px; padding:7px 0 6px;
  background:#fff; border:1.5px solid var(--ux-line); text-align:center;
}
@media(max-width:520px){.ux-cell{width:38px}}
.ux-cell:focus-visible{outline:3px solid var(--ux-yellow); outline-offset:2px}
.ux-bit{font:700 19px/1 ui-monospace,Menlo,monospace; color:#b9ac9a}
.ux-cell.on{background:var(--ux-blue-d); border-color:var(--ux-blue-d)}
.ux-cell.on .ux-bit{color:#fff}
.ux-w{display:block; margin-top:4px; font-size:10px; color:#9a8d7d}
.ux-cell.on .ux-w{color:#d8e4f7}
.ux-sum{text-align:center; font:700 24px/1 inherit; color:var(--ux-blue-d); margin-top:12px}
.ux-sum.ok{color:var(--ux-green-d)}
.ux-target{text-align:center; font-size:13px; color:#6b5f53; margin-top:5px}

/* ---------- 11) Klick-Schema (hot) ---------- */
.ux-scheme{background:var(--ux-paper); border:1.5px solid var(--ux-line); border-radius:11px; padding:13px}
.ux-scheme svg{display:block; width:100%; height:auto}
.ux-hot rect{fill:#fff; stroke:var(--ux-line); stroke-width:1.6; rx:9}
.ux-hot text{font:600 12px/1 'Inter',sans-serif; fill:var(--ux-dark)}
.ux-task{display:none}
.ux-hot{cursor:pointer}
.ux-hot:focus-visible{outline:3px solid var(--ux-yellow); outline-offset:2px}
.ux-hot:hover rect{stroke:var(--ux-blue); stroke-width:2.4}
.ux-hot.ok rect{fill:#e8f4e4; stroke:var(--ux-green); stroke-width:2.4}
.ux-hot.bad rect{fill:#fbe6e4; stroke:var(--ux-red); stroke-width:2.4}
.ux-hot.done{cursor:default}
.ux-ask{font-size:14.5px; line-height:1.55; color:var(--ux-dark); margin:0 0 10px; font-weight:600}

/* ---------- Bewegungsreduktion ---------- */
@media (prefers-reduced-motion: reduce){
  .ux-card{transition:none}
  .ux-chip.picked{transform:none}
  .ux-card.up{transform:none}
}

/* ---------- Druck ---------- */
@media print{
  .ux-bar,.ux-mv,.ux-moves{display:none !important}
  .ux-card::after{display:none}
  .ux-card .ux-face{visibility:visible}
  .ux-note{display:block}
  .ux-pool,.ux-basket,.ux-item,.ux-opt,.ux-line,.ux-cell{box-shadow:none}
}

/* ============ 12) Zuordnungslinien ============ */
.ux-link{position:relative;display:grid;
  grid-template-columns:minmax(0,1.15fr) 170px minmax(0,1fr);
  grid-auto-flow:row dense;gap:12px 16px;align-items:center}
.ux-col{display:contents}
.ux-left .ux-node{grid-column:1;justify-self:stretch;text-align:left}
.ux-right .ux-node{grid-column:3;justify-self:end;text-align:right}
.ux-wires{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;overflow:visible}
.ux-wire{fill:none;stroke:var(--ux-blue);stroke-width:3.4;stroke-linecap:round;stroke-linejoin:round}
.ux-wire.ok{stroke:var(--ux-green-d)}
.ux-wire.bad{stroke:var(--ux-red)}
.ux-wire-bg{fill:none;stroke:#fff;stroke-width:7.5;stroke-linecap:round;opacity:.92}
.ux-dot{fill:var(--ux-blue);stroke:#fff;stroke-width:1.6}
.ux-dot.ok{fill:var(--ux-green-d)}
.ux-dot.bad{fill:var(--ux-red)}
.ux-node{position:relative;z-index:1;text-align:left;font:inherit;font-size:13.5px;line-height:1.35;
  background:var(--ux-paper);border:1.5px solid var(--ux-line);border-radius:9px;padding:9px 11px;cursor:pointer}
.ux-node:hover{border-color:var(--ux-blue)}
.ux-node.picked{border-color:var(--ux-blue-d);box-shadow:0 0 0 3px rgba(91,139,216,.22)}
.ux-node.linked{background:#fff}
.ux-node.ok{border-color:var(--ux-green-d);background:#eef7ea}
.ux-node.bad{border-color:var(--ux-red);background:#fdeeed}
.ux-node:focus-visible{outline:2px solid var(--ux-blue-d);outline-offset:2px}

/* ============ 13) Ablauf-Simulator ============ */
.ux-stage{background:var(--ux-paper);border:1.5px solid var(--ux-line);border-radius:11px;padding:12px 13px}
.ux-scene{font-weight:600;font-size:14.5px;margin-bottom:10px;color:var(--ux-dark)}
.ux-choices{display:flex;flex-wrap:wrap;gap:8px}
.ux-choice{font:inherit;font-size:13.5px;background:#fff;border:1.5px solid var(--ux-line);
  border-radius:9px;padding:8px 12px;cursor:pointer;text-align:left}
.ux-choice:hover:not(:disabled){border-color:var(--ux-blue)}
.ux-choice.ok{border-color:var(--ux-green-d);background:#eef7ea}
.ux-choice.bad{border-color:var(--ux-red);background:#fdeeed;opacity:.65}
.ux-choice:focus-visible{outline:2px solid var(--ux-blue-d);outline-offset:2px}
.ux-log{margin:10px 0 0;padding-left:20px;font-size:13px;color:#5a5148}
.ux-log li{margin:3px 0}

/* ============ 14) Rechenkette ============ */
.ux-steps{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
.ux-crow{display:flex;flex-wrap:wrap;align-items:center;gap:8px;background:var(--ux-paper);
  border:1.5px solid var(--ux-line);border-left:4px solid var(--ux-blue);border-radius:9px;padding:9px 11px}
.ux-crow.locked{opacity:.5;border-left-color:var(--ux-line)}
.ux-crow.ok{border-left-color:var(--ux-green-d);background:#eef7ea}
.ux-crow.bad{border-left-color:var(--ux-red);background:#fdeeed}
.ux-cq{flex:1 1 240px;font-size:13.5px}
.ux-in{width:96px;font:inherit;font-size:14px;padding:6px 8px;border:1.5px solid var(--ux-line);border-radius:7px;background:#fff}
.ux-in:focus-visible{outline:2px solid var(--ux-blue-d);outline-offset:1px}
.ux-cu{font-size:12.5px;color:#6a6055;min-width:34px}
.ux-go{font:inherit;font-size:12.5px;padding:6px 10px;border:1.5px solid var(--ux-line);
  border-radius:7px;background:#fff;cursor:pointer}
.ux-go:hover{border-color:var(--ux-blue)}
.ux-fbk{font-weight:700;min-width:14px}

/* ============ 15) Venn-Zuordnung ============ */
.ux-venn{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:10px}
.ux-vz{border:1.5px solid var(--ux-line);border-radius:11px;padding:9px;background:var(--ux-paper);min-height:96px}
.ux-vz[data-z="0"]{border-color:var(--ux-blue);background:#eef3fb}
.ux-vz[data-z="1"]{border-color:var(--ux-violet);background:#f2eefa}
.ux-vz[data-z="2"]{border-color:var(--ux-orange);background:#fdf3e6}
.ux-vh{font-size:12px;font-weight:700;letter-spacing:.02em;color:var(--ux-dark);margin-bottom:7px;text-align:center}
.ux-vdrop{display:flex;flex-wrap:wrap;gap:6px;min-height:44px}

/* ============ 16) Einschätz-Skala ============ */
.ux-lvl{display:flex;flex-direction:column;gap:8px}
.ux-lvl-head{display:flex;justify-content:space-between;font-size:11.5px;color:#6a6055;padding:0 2px}
.ux-lvl-row{display:flex;flex-wrap:wrap;align-items:center;gap:9px;background:var(--ux-paper);
  border:1.5px solid var(--ux-line);border-radius:9px;padding:9px 11px}
.ux-lvl-row.ok{border-color:var(--ux-green-d);background:#eef7ea}
.ux-lvl-row.bad{border-color:var(--ux-red);background:#fdeeed}
.ux-lvl-txt{flex:1 1 230px;font-size:13.5px;order:0}
.ux-lvl-opts{display:flex;gap:5px;order:2;margin-left:auto}
.ux-lvl-opt{width:32px;height:32px;font:inherit;font-size:13px;border:1.5px solid var(--ux-line);
  border-radius:8px;background:#fff;cursor:pointer}
.ux-lvl-opt:hover{border-color:var(--ux-blue)}
.ux-lvl-opt.on{background:var(--ux-blue);border-color:var(--ux-blue-d);color:#fff;font-weight:700}
.ux-lvl-opt:focus-visible{outline:2px solid var(--ux-blue-d);outline-offset:2px}
.ux-lvl-fb{font-size:12px;font-weight:600;min-width:0;order:1;text-align:right;white-space:nowrap;margin-left:auto}

/* ============ 17) Baukasten ============ */
.ux-slots{display:flex;flex-wrap:wrap;gap:7px;padding:11px;background:var(--ux-paper);
  border:1.5px dashed var(--ux-line);border-radius:11px;min-height:56px;align-items:center}
.ux-slot{min-width:104px;min-height:36px;border:1.5px dashed var(--ux-line);border-radius:8px;
  background:#fff;display:flex;align-items:center;justify-content:center;padding:2px}
.ux-slot.ok{border-style:solid;border-color:var(--ux-green-d);background:#eef7ea}
.ux-slot.bad{border-style:solid;border-color:var(--ux-red);background:#fdeeed}
.ux-parts{display:flex;flex-wrap:wrap;gap:7px;margin-top:9px}
.ux-part{font:inherit;font-size:13px;background:#fff;border:1.5px solid var(--ux-line);
  border-radius:8px;padding:7px 11px;cursor:pointer}
.ux-part:hover{border-color:var(--ux-blue)}
.ux-part:focus-visible{outline:2px solid var(--ux-blue-d);outline-offset:2px}
.ux-slot .ux-part{border-color:var(--ux-blue);background:#eef3fb}

/* ============ 18) Entscheidungsbaum ============ */
.ux-tree{background:var(--ux-paper);border:1.5px solid var(--ux-line);border-radius:11px;padding:12px 13px}
.ux-tq{font-weight:600;font-size:14.5px;color:var(--ux-dark);min-height:22px}
.ux-tbtns{display:flex;gap:8px;margin-top:10px}
.ux-tpath{margin:10px 0 0;padding-left:20px;font-size:12.5px;color:#5a5148}
.ux-tpath li{margin:3px 0}
.ux-tnode{display:none}

/* ============ 19) Kreuztabelle ============ */
.ux-matrix{border-collapse:collapse;width:100%;font-size:13px;background:var(--ux-paper);
  border:1.5px solid var(--ux-line);border-radius:11px;overflow:hidden}
.ux-matrix th,.ux-matrix td{border:1px solid var(--ux-line);padding:6px 8px;text-align:center}
.ux-matrix th[scope="row"]{text-align:left;font-weight:600;background:#fff}
.ux-matrix thead th{background:#fff;font-size:12px;line-height:1.25}
.ux-xcell{width:30px;height:30px;font:inherit;font-size:14px;font-weight:700;border:1.5px solid var(--ux-line);
  border-radius:7px;background:#fff;cursor:pointer;color:var(--ux-blue-d)}
.ux-xcell:hover{border-color:var(--ux-blue)}
.ux-xcell.on{background:#eef3fb;border-color:var(--ux-blue-d)}
.ux-xcell.ok{background:#eef7ea;border-color:var(--ux-green-d);color:var(--ux-green-d)}
.ux-xcell.bad{background:#fdeeed;border-color:var(--ux-red);color:var(--ux-red)}
.ux-xcell.miss{background:#fdf3e6;border-color:var(--ux-orange)}
.ux-xcell:focus-visible{outline:2px solid var(--ux-blue-d);outline-offset:2px}

@media (max-width:640px){
  .ux-link{grid-template-columns:1fr;gap:8px}
  .ux-left .ux-node,.ux-right .ux-node{grid-column:1;justify-self:stretch;text-align:left}
  .ux-wires{display:none}
  .ux-venn{grid-template-columns:1fr}
}
@media (prefers-reduced-motion: reduce){
  .ux-node{transition:none}
  .ux-choice{transition:none}
  .ux-lvl-opt{transition:none}
  .ux-part{transition:none}
  .ux-xcell{transition:none}
}
@media print{
  .ux-choices,.ux-tbtns,.ux-go{display:none}
  .ux-wires{display:none}
}

/* ============ 20) Skip-Link ============ */
.skip-link{position:absolute;left:-9999px;top:0;z-index:999;background:#2f2f2f;color:#fff;
  font-family:'Fredoka',sans-serif;font-weight:600;font-size:15px;padding:12px 20px;
  border-radius:0 0 10px 0;text-decoration:none}
.skip-link:focus{left:0}
[tabindex="-1"]:focus{outline:none}

/* ============ 21) Fortschritt zurücksetzen ============ */
.progress-reset{font-family:'Fredoka',sans-serif;font-weight:600;font-size:11.5px;
  color:#6b6b6b;background:none;border:1px solid #d9d2c6;border-radius:8px;
  padding:4px 10px;cursor:pointer;white-space:nowrap;transition:border-color .18s,color .18s}
.progress-reset:hover{border-color:#2f2f2f;color:#2f2f2f}
.progress-reset:focus-visible{outline:2px solid #5b8bd8;outline-offset:2px}

/* ============ 22) Druckansicht (seitenweit) ============ */
@media print{
  header,footer,.m-burger,.m-menu,.progress-sticky,.dotnav,.skip-link,
  .back-link,.breadcrumb,.hilfe-btn,.ux-check,.ux-reset,.ux-go,.ux-btn,
  .swt-ctrl,.dvs-ctrl{display:none !important}

  .topic-hero,.subject-hero{background:none !important;color:#000 !important;
    padding:0 0 8px !important;border-bottom:2px solid #000}
  .topic-hero::after,.subject-hero::after{display:none !important}
  .topic-hero h1,.subject-hero h1{color:#000 !important;font-size:22pt}

  body{background:#fff !important;color:#000;font-size:10.5pt;line-height:1.45}
  .container{max-width:none;padding:0}
  .panel,.phase,.aufgabe,.ux,.definition,.hinweis-box,.glossar{
    background:#fff !important;box-shadow:none !important;border:1px solid #999;
    break-inside:avoid;page-break-inside:avoid}
  .phase,.aufgabe{margin:0 0 10px}

  /* Reveal-Animation darf im Druck nichts verstecken */
  .reveal{opacity:1 !important;transform:none !important}

  /* Lösungen und Hilfen ausklappen, damit das Blatt vollständig ist */
  details{display:block}
  details > summary{list-style:none;font-weight:600}
  details[open] > summary::marker{content:''}
  .hilfe-content{display:block !important;border-left:3px solid #999;padding-left:10px}

  /* Externe Ziele sichtbar machen */
  a[href^="http"]::after{content:" (" attr(href) ")";font-size:8.5pt;color:#444;word-break:break-all}
  a{color:#000;text-decoration:underline}

  h2,h3{break-after:avoid;page-break-after:avoid}
  img,svg,table{break-inside:avoid;page-break-inside:avoid;max-width:100%}
}

/* ============ 23) Kurzer Inline-Hinweis im Fließtext ============ */
.hinweis-inline{background:#faf6ee;border-left:3px solid #e79a3a;border-radius:0 8px 8px 0;
  padding:9px 14px;margin:14px 0;font-size:15px;color:#4a4036}
.hinweis-inline b{color:#2f2f2f}

/* ============ 24) AFB-III-Begründungsteil unter einem Widget ============ */
.afb3-frage{margin-top:18px;padding-top:16px;border-top:1px dashed #d6cbb8}
.afb3-frage > p.q{margin:0 0 4px;font-size:15.5px;line-height:1.6}
.afb3-frage > p.q b{color:#a05a12}
.afb3-frage details.loesung summary svg{flex-shrink:0}
@media print{
  .afb3-frage{border-top:1px solid #999}
}

/* ============ 25) Hinweis unter den Weiterschauen-Links ============ */
.reslinks-note{display:flex;align-items:flex-start;gap:10px;margin:14px 0 0;padding:13px 16px;
  background:#fdf6e8;border:1px solid #e7d2a8;border-left:4px solid #e79a3a;border-radius:11px;
  font-size:14px;line-height:1.6;color:#5a4a30}
.reslinks-note svg{width:19px;height:19px;stroke-width:2;color:#e79a3a;flex-shrink:0;margin-top:2px}
.reslinks-note b{color:#a05a12}
@media print{ .reslinks-note{background:none;border:1px solid #999} }

/* ============================================================
   Typografie-Harmonisierung mit den Lernseiten
   Fredoka = Label, Button, Tabellenkopf, Bedienelement
   Inter   = Lesetext, angeglichen an .aufgabe .q (15–16px)
   ============================================================ */
.ux-btn,.ux-bh,.ux-vh,.ux-lvl-head,.ux-lvl-fb,.ux-tf-meta,.ux-out,.ux-scene,.ux-tq,.ux-ask,
.ux-sum,.ux-num,.ux-rank,.ux-unit,.ux-cu,.ux-go,.ux-target,.ux-w,.ux-scale,.ux-pool:empty::after,
.ux-matrix thead th,.ux-lvl-opt,.ux-fix,.ux-fbk{
  font-family:'Fredoka',Inter,sans-serif;
}
.ux-btn{font-size:14.5px;font-weight:600}
.ux-out{font-size:14px}
.ux-lead{font-size:15px}
.ux-note{font-size:15px;line-height:1.65}
.ux-opt{font-size:15.5px;line-height:1.55}
.ux-node{font-size:15px;line-height:1.4;padding:11px 13px}
.ux-item{font-size:15px}
.ux-chip{font-size:14.5px}
.ux-part,.ux-choice,.ux-cq{font-size:14.5px}
.ux-lvl-txt{font-size:15px;line-height:1.45}
.ux-lvl-opt{font-size:14px;font-weight:600}
.ux-bh{font-size:14.5px;font-weight:600}
.ux-vh{font-size:13.5px}
.ux-matrix{font-size:14px}
.ux-matrix th[scope="row"]{font-size:14.5px;line-height:1.45;font-weight:400}
.ux-matrix thead th{font-size:13.5px;font-weight:600;line-height:1.3}
.ux-cloze{font-size:15.5px}
.ux-gap{font-size:14.5px}
.ux-log,.ux-tpath{font-size:14px;line-height:1.55}
@media(max-width:640px){
  .ux-opt{font-size:15px}
  .ux-matrix{font-size:13px}
  .ux-matrix th[scope="row"]{font-size:13.5px}
  .ux-matrix thead th{font-size:12.5px}
}

/* Kleinteilige Meta-Labels: minimal angehoben, damit nichts winzig wirkt */
.ux-target{font-size:14px}
.ux-fix{font-size:13.5px}
.ux-cu,.ux-go{font-size:13px}
.ux-lvl-fb{font-size:13px}
.ux-lvl-head{font-size:12.5px}
.ux-tf-meta{font-size:12.5px}
.ux-scale{font-size:12px}
.ux-w{font-size:11px}

/* Formularelemente erben die Seitenschrift nicht automatisch (UA-Default).
   Ohne diese Regel rendern Buttons/Inputs in der System-Schrift statt Fredoka. */
.ux button,.ux input,.ux select,.ux textarea,.ux option,
.ux [role="button"],.ux [role="checkbox"],.ux [role="radio"]{
  font-family:'Fredoka',Inter,sans-serif;
}

/* ================= Video-Einbettung (YouTube, klick-to-load) ================= */
.video-embed{position:relative;width:100%;aspect-ratio:16/9;margin:6px 0 4px;border:1px solid var(--rule);border-radius:16px;overflow:hidden;background:var(--accent-deep);box-shadow:var(--sh-md)}
.video-embed iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.vplay{position:absolute;inset:0;width:100%;height:100%;padding:0;margin:0;border:0;background:none;display:block;cursor:pointer;font:inherit;color:#fff}
.vplay img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;display:block;image-rendering:auto;transition:transform .5s cubic-bezier(.2,.8,.25,1)}
.vposter{position:absolute;inset:0;display:block;background:
  radial-gradient(120% 130% at 14% 6%,rgba(255,255,255,.18) 0%,rgba(255,255,255,0) 58%),
  linear-gradient(140deg,var(--accent-deep) 0%,var(--accent-strong) 100%);
  transition:transform .5s cubic-bezier(.2,.8,.25,1)}
.vposter::after{content:"";position:absolute;inset:0;opacity:.17;
  background-image:linear-gradient(rgba(255,255,255,.6) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.6) 1px,transparent 1px);
  background-size:36px 36px;
  -webkit-mask-image:radial-gradient(95% 85% at 72% 26%,#000 0%,rgba(0,0,0,0) 74%);
  mask-image:radial-gradient(95% 85% at 72% 26%,#000 0%,rgba(0,0,0,0) 74%)}
.vshade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.14) 0%,rgba(0,0,0,0) 38%,rgba(0,0,0,.58) 78%,rgba(0,0,0,.82) 100%)}
.vbtn{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:74px;height:74px;border-radius:50%;background:var(--accent-strong);display:flex;align-items:center;justify-content:center;box-shadow:0 10px 28px rgba(0,0,0,.42);transition:transform .25s cubic-bezier(.2,.8,.25,1),background .25s}
.vposter ~ .vbtn{background:rgba(255,255,255,.16);backdrop-filter:blur(2px);border:2px solid rgba(255,255,255,.75)}
.vbtn svg{width:34px;height:34px;margin-left:4px;color:#fff}
.vtitle{position:absolute;left:22px;right:22px;bottom:18px;font-family:'Fredoka',sans-serif;font-weight:600;font-size:19px;line-height:1.25;text-align:left;text-shadow:0 2px 10px rgba(0,0,0,.55)}
.vchan{display:block;margin-top:5px;font-family:inherit;font-weight:400;font-size:13px;letter-spacing:.02em;opacity:.85;text-shadow:0 1px 6px rgba(0,0,0,.6)}
.vplay:hover img,.vplay:hover .vposter{transform:scale(1.045)}
.vplay:hover .vbtn{transform:translate(-50%,-50%) scale(1.09);background:var(--accent-deep)}
.vplay:hover .vposter ~ .vbtn{background:rgba(255,255,255,.28)}
.vplay:focus-visible{outline:3px solid var(--accent-strong);outline-offset:3px}
.video-cap{font-size:13.5px;color:var(--ink-soft);margin-top:10px}
@media(max-width:560px){.vbtn{width:58px;height:58px}.vbtn svg{width:26px;height:26px}.vtitle{font-size:16px;left:16px;right:16px;bottom:14px}.vchan{font-size:12px}}
@media(prefers-reduced-motion:reduce){.vplay img,.vposter,.vbtn{transition:none}}

/* Diagramm-Figur innerhalb eines Uebungs-Widgets */
.ux-fig{margin:14px 0 18px}
.ux-fig svg{width:100%;max-width:560px;height:auto;display:block;margin:0 auto;border:1px solid var(--rule,#e3dcd0);border-radius:12px;background:#fff}

/* ============ 23) Tabelle / Mehrfach-Eingabe (table) ============ */
.ux-tabwrap{overflow-x:auto;background:var(--ux-paper);border:1.5px solid var(--ux-line);border-radius:11px;padding:10px}
.ux-tab{border-collapse:collapse;min-width:100%;font-size:14px}
.ux-tab th,.ux-tab td{border:1px solid var(--ux-line);padding:6px 8px;text-align:center;background:#fff}
.ux-tab th{font-weight:700;color:var(--ux-dark);background:#f3ece0}
.ux-tab th[scope="row"]{text-align:left;white-space:nowrap}
.ux-tin{width:84px;max-width:100%;font:600 14px/1 ui-monospace,SFMono-Regular,Menlo,monospace;padding:7px 8px;border-radius:7px;
  border:1.5px solid var(--ux-line);background:#fff;color:var(--ux-dark);text-align:center}
.ux-tin.wide{width:170px;text-align:left}
.ux-tin:focus-visible{outline:3px solid var(--ux-yellow);outline-offset:2px}
.ux-tin.ok{border-color:var(--ux-green);background:#e8f4e4}
.ux-tin.bad{border-color:var(--ux-red);background:#fbe6e4}
.ux-fields{display:flex;flex-wrap:wrap;gap:10px 18px;background:var(--ux-paper);border:1.5px solid var(--ux-line);border-radius:11px;padding:12px 13px}
.ux-field{display:flex;align-items:center;gap:8px;font-size:14px;color:var(--ux-dark)}
.ux-field .ux-flab{font-weight:600;min-width:0}
.ux-tab .katex,.ux-field .katex{font-size:1.02em}

/* ============ 24) Punkte im Koordinatensystem (point) ============ */
.ux-plane{background:var(--ux-paper);border:1.5px solid var(--ux-line);border-radius:11px;padding:10px;max-width:420px}
.ux-psvg{display:block;width:100%;height:auto;cursor:crosshair;border-radius:8px;background:#fff;touch-action:manipulation}
.ux-psvg:focus-visible{outline:3px solid var(--ux-yellow);outline-offset:2px}
.ux-pgrid line{stroke:#e6e0d4;stroke-width:1}
.ux-paxes line{stroke:var(--ux-dark);stroke-width:1.8}
.ux-parrow{fill:var(--ux-dark)}
.ux-plab{font:600 12px/1 'Inter',sans-serif;fill:var(--ux-dark)}
.ux-plab.ok{fill:var(--ux-green-d)}
.ux-ptick{font:500 10.5px/1 'Inter',sans-serif;fill:#6b5f53}
.ux-pcurve{fill:none;stroke:var(--ux-blue-d);stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
.ux-pfix{fill:var(--ux-orange);stroke:#fff;stroke-width:1.6}
.ux-pcursor line{stroke:var(--ux-violet);stroke-width:1;stroke-dasharray:4 3;opacity:.7}
.ux-pcursor circle{fill:none;stroke:var(--ux-violet);stroke-width:2}
.ux-pok{fill:var(--ux-green);stroke:#fff;stroke-width:1.8}
.ux-pbad line{stroke:var(--ux-red);stroke-width:2.6;stroke-linecap:round}
.ux-pread{font:600 13px/1 ui-monospace,SFMono-Regular,Menlo,monospace;color:#6b5f53;background:#fff;border:1px solid var(--ux-line);border-radius:7px;padding:6px 9px}
.ux-ptask,.ux-pfixed{display:none}

/* ============ 25) Intervall auf der Zahlengeraden (ival) ============ */
.ux-ivbox{background:var(--ux-paper);border:1.5px solid var(--ux-line);border-radius:11px;padding:10px 12px 8px}
.ux-ivsvg{display:block;width:100%;height:auto;overflow:visible;touch-action:none}
.ux-ivaxis{stroke:var(--ux-dark);stroke-width:1.8}
.ux-ivarrow{fill:var(--ux-dark)}
.ux-ivtick{font:500 11px/1 'Inter',sans-serif;fill:#6b5f53}
.ux-ivtick.inf{font-size:13px;fill:#9a8d7d}
.ux-ivband{fill:var(--ux-blue);opacity:.35}
.ux-ivband.ok{fill:var(--ux-green);opacity:.55}
.ux-ivband.bad{fill:var(--ux-red);opacity:.45}
.ux-ivh{cursor:grab}
.ux-ivh:focus-visible{outline:none}
.ux-ivh:focus-visible .ux-ivgrip{stroke:var(--ux-yellow);stroke-width:3}
.ux-ivgrip{fill:#fff;stroke:var(--ux-blue-d);stroke-width:1.8}
.ux-ivh:hover .ux-ivgrip{fill:#eef3fb}
.ux-ivh.inf .ux-ivgrip{stroke:#9a8d7d;stroke-dasharray:3 2}
.ux-ivbr{font:700 22px/1 'Inter',sans-serif;fill:var(--ux-blue-d);pointer-events:none}
.ux-ivh.inf .ux-ivbr{fill:#9a8d7d}
.ux-ivname{font:700 12px/1 'Inter',sans-serif;fill:var(--ux-dark);pointer-events:none}
.ux-ivctl{display:flex;flex-wrap:wrap;gap:6px 14px;align-items:center;margin-top:8px;font-size:12.5px;color:#6b5f53}
.ux-ivgrp{display:inline-flex;align-items:center;gap:4px}
.ux-ivbtn{font:600 12.5px/1 inherit;width:30px;height:28px;border:1.5px solid var(--ux-line);border-radius:7px;background:#fff;cursor:pointer;color:var(--ux-dark)}
.ux-ivbtn.br{width:auto;padding:0 9px}
.ux-ivbtn:hover{border-color:var(--ux-blue)}
.ux-ivbtn:focus-visible{outline:2px solid var(--ux-blue-d);outline-offset:2px}
.ux-ivread{font:600 14px/1 ui-monospace,SFMono-Regular,Menlo,monospace;color:var(--ux-blue-d);margin-top:8px}
@media (prefers-reduced-motion: reduce){.ux-tin,.ux-ivgrip,.ux-ivbtn{transition:none}}
@media print{.ux-pcursor,.ux-ivctl{display:none}}
.ux-input.wide{width:min(100%,260px);text-align:left}
.ux-in.wide{width:200px}
/* hot: freie Trefferzonen (Kreise/Rechtecke) über Zeichnungen */
.ux-hot .ux-hz{fill:rgba(255,255,255,.3);stroke:var(--ux-line);stroke-width:1.4;stroke-dasharray:3 2;rx:6}
.ux-hot:hover .ux-hz{stroke:var(--ux-blue);stroke-width:2.2}
.ux-hot.ok .ux-hz{fill:rgba(103,176,95,.28);stroke:var(--ux-green);stroke-dasharray:none;stroke-width:2.2}
.ux-hot.bad .ux-hz{fill:rgba(226,87,76,.25);stroke:var(--ux-red);stroke-dasharray:none;stroke-width:2.2}

/* ---------- 20) Bruch-Eingabe (frac) ---------- */
.ux-fracrow{display:flex; flex-wrap:wrap; align-items:center; gap:12px}
.ux-fracbox{display:inline-flex; flex-direction:column; align-items:center; gap:4px}
.ux-fn,.ux-fd{
  font:600 15px/1 ui-monospace,SFMono-Regular,Menlo,monospace; text-align:center;
  width:86px; padding:8px 10px; border-radius:9px;
  border:1.5px solid var(--ux-line); background:#fff; color:var(--ux-dark);
}
.ux-fn:focus-visible,.ux-fd:focus-visible{outline:3px solid var(--ux-yellow); outline-offset:2px}
.ux-fn.ok,.ux-fd.ok{border-color:var(--ux-green); background:#e8f4e4}
.ux-fn.bad,.ux-fd.bad{border-color:var(--ux-red); background:#fbe6e4}
.ux-fbar{display:block; width:86px; height:3px; border-radius:2px; background:var(--ux-dark)}
.ux-fraclbl{font-size:14.5px; font-weight:600; color:var(--ux-dark)}

/* ---------- 21) Mehrere Eingabefelder (fill) ---------- */
.ux-fill{display:flex; flex-direction:column; gap:9px; font-size:14.5px; line-height:1.7}
.ux-fill p,.ux-fill li{margin:0}
.ux-fi{
  font:600 14px/1 ui-monospace,SFMono-Regular,Menlo,monospace; text-align:center;
  width:82px; padding:7px 8px; border-radius:8px; margin:0 3px;
  border:1.5px solid var(--ux-line); background:#fff; color:var(--ux-dark); vertical-align:middle;
}
.ux-fi.wide{width:130px}
.ux-fi:focus-visible{outline:3px solid var(--ux-yellow); outline-offset:2px}
.ux-fi.ok{border-color:var(--ux-green); background:#e8f4e4}
.ux-fi.bad{border-color:var(--ux-red); background:#fbe6e4}
.ux-fill table{border-collapse:collapse; width:auto}
.ux-fill th,.ux-fill td{padding:6px 10px; border:1px solid var(--ux-line); text-align:center; background:#fff}
.ux-fill th{background:var(--ux-paper); font-weight:600}
.ux-fill-wrap{overflow-x:auto}

/* ---------- 22) Term-Eingabe (term) ---------- */
.ux-termrow{display:flex; flex-wrap:wrap; align-items:center; gap:9px}
.ux-termrow .ux-input{width:min(100%,360px); font-weight:500}
.ux-termrow .ux-eq{font-size:15px; font-weight:600; color:var(--ux-dark)}

/* ============ 20) Mehrfach-Eingabe (vec / mat) — 2026-09-02 ============ */
.ux-vec{display:flex;flex-wrap:wrap;gap:10px 16px;align-items:center;background:var(--ux-paper);border:1.5px solid var(--ux-line);border-radius:11px;padding:12px 14px}
.ux-vf{display:inline-flex;align-items:center;gap:7px}
.ux-vl{font-size:14.5px;font-weight:600;color:var(--ux-dark);white-space:nowrap}
.ux-vin.wide{width:212px;text-align:left}
.ux-vin{width:96px;font:600 15px/1 ui-monospace,SFMono-Regular,Menlo,monospace;padding:8px 10px;border:1.5px solid var(--ux-line);border-radius:8px;background:#fff;color:var(--ux-dark)}
.ux-vin:focus-visible{outline:3px solid var(--ux-yellow);outline-offset:2px}
.ux-vin.ok{border-color:var(--ux-green);background:#e8f4e4}
.ux-vin.bad{border-color:var(--ux-red);background:#fbe6e4}
.ux-vin[disabled]{opacity:.85}
.ux-vfb{font-weight:700;min-width:14px;font-size:14px}
.ux-vf-in .ux-vin{width:74px;padding:6px 8px;margin:0 3px}
.ux-vec-inline{display:block;font-size:17px;line-height:2.2}
.ux-vec-inline .ux-vf{vertical-align:middle}
.ux-mat{display:grid;gap:0 8px;align-items:center;justify-items:center;max-width:520px}
.ux-mat .ux-vf{position:relative;padding:4px 0}
.ux-mat .ux-vin{width:64px;text-align:center;padding:7px 4px}
.ux-mat .ux-vfb{position:absolute;right:-2px;top:-9px;font-size:12px}
.ux-mat .ux-mat-rhs{border-left:2px solid var(--ux-dark);padding-left:12px;align-self:stretch;display:flex;align-items:center}
.ux-mat-head{display:grid;gap:8px;max-width:520px;margin:0 0 4px;justify-items:center;font-size:13px;font-weight:600;color:#6a6055}
.ux-mat-head span:last-child{padding-left:12px}
@media(max-width:560px){
  .ux-mat{gap:0 4px;max-width:100%}
  .ux-mat .ux-vin{width:clamp(32px,11.5vw,64px);padding:7px 2px;font-size:14px}
  .ux-mat .ux-vfb{right:0}
  .ux-mat .ux-mat-rhs{padding-left:6px}
  .ux-mat-head{gap:4px;max-width:100%;font-size:11.5px}
  .ux-mat-head span:last-child{padding-left:6px}
}
@media(prefers-reduced-motion:reduce){.ux-vin{transition:none}}

/* ============ 27) Fehler finden und korrigieren (fixit) — 2026-09-02 ============ */
.ux-fixlist{display:flex;flex-direction:column;gap:8px}
.ux-fixrow{border:1.5px solid var(--ux-line);border-radius:11px;background:#fff;overflow:hidden}
.ux-fixrow.marked{border-color:var(--ux-violet);background:#f7f4fd}
.ux-fixrow.ok{border-color:var(--ux-green);background:#e8f4e4}
.ux-fixrow.bad{border-color:var(--ux-red);background:#fbe6e4}
.ux-fixline{display:flex;align-items:center;gap:11px;width:100%;text-align:left;cursor:pointer;
  border:0;background:transparent;padding:10px 13px;font:500 15px/1.5 inherit;color:var(--ux-dark)}
.ux-fixline:focus-visible{outline:3px solid var(--ux-yellow);outline-offset:-3px}
.ux-fixln{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;
  border-radius:6px;background:var(--ux-paper);border:1px solid var(--ux-line);
  font:700 11.5px/1 ui-monospace,SFMono-Regular,Menlo,monospace;color:#6b5f53;flex:none}
.ux-fixrow.marked .ux-fixln{background:var(--ux-violet);border-color:var(--ux-violet);color:#fff}
.ux-fixrow.ok .ux-fixln{background:var(--ux-green-d);border-color:var(--ux-green-d);color:#fff}
.ux-fixrow.bad .ux-fixln{background:var(--ux-red);border-color:var(--ux-red);color:#fff}
.ux-fixtxt{flex:1}
.ux-fixmark{font:700 12px/1 inherit;color:var(--ux-violet);opacity:0;flex:none}
.ux-fixrow.marked .ux-fixmark{opacity:1}
.ux-fixfix{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:0 13px 12px 46px}
.ux-fixfix[hidden]{display:none}
.ux-fixfix .ux-fixlab{font-size:13.5px;font-weight:600;color:#6b5f53}
.ux-fixin{width:min(100%,240px);font:600 14.5px/1 ui-monospace,SFMono-Regular,Menlo,monospace;
  padding:8px 10px;border:1.5px solid var(--ux-line);border-radius:8px;background:#fff;color:var(--ux-dark)}
.ux-fixin:focus-visible{outline:3px solid var(--ux-yellow);outline-offset:2px}
.ux-fixin.ok{border-color:var(--ux-green);background:#fff}
.ux-fixin.bad{border-color:var(--ux-red);background:#fff}
@media(max-width:560px){.ux-fixfix{padding-left:13px}}
@media(prefers-reduced-motion:reduce){.ux-fixrow,.ux-fixmark{transition:none}}

/* ============ 21) Graph-Auswahl (pick) + Auswahlmenues (sel) — 2026-09-02 ============ */
.ux-pick{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:14px;margin:4px 0 14px}
.ux-pcard{position:relative;display:flex;flex-direction:column;align-items:center;gap:8px;padding:12px 10px 10px;background:#fff;border:2px solid var(--ux-line);border-radius:14px;cursor:pointer;transition:border-color .18s,box-shadow .18s,transform .18s}
.ux-pcard:hover{border-color:var(--ux-blue);transform:translateY(-2px);box-shadow:0 8px 20px rgba(20,34,60,.10)}
.ux-pcard:focus-visible{outline:3px solid var(--ux-yellow);outline-offset:2px}
.ux-pcard svg{width:100%;height:auto;max-width:210px;display:block}
.ux-pcap{font-family:'Fredoka',Inter,sans-serif;font-size:14px;font-weight:600;color:var(--ux-dark)}
.ux-pcard.on{border-color:var(--ux-blue);box-shadow:0 0 0 3px rgba(91,139,216,.28)}
.ux-pcard.ok{border-color:var(--ux-green);background:#eef7ea}
.ux-pcard.bad{border-color:var(--ux-red);background:#fdeeed}
.ux .done .ux-pcard,.ux.done .ux-pcard{cursor:default}
.ux.done .ux-pcard:hover{transform:none;box-shadow:none;border-color:var(--ux-line)}
.ux.done .ux-pcard.ok:hover{border-color:var(--ux-green)}

.ux-selbody{font-size:16.5px;line-height:2.35;color:var(--ux-dark);margin:2px 0 14px}
.ux-selbody p{margin:0 0 6px;line-height:2.35}
.ux-sel{font:600 15px/1.2 'Fredoka',Inter,sans-serif;color:var(--ux-dark);background:#fff;border:1.5px solid var(--ux-line);border-radius:8px;padding:6px 8px;margin:0 3px;vertical-align:middle;max-width:100%}
.ux-sel:focus-visible{outline:3px solid var(--ux-yellow);outline-offset:2px}
.ux-sel.ok{border-color:var(--ux-green);background:#e8f4e4}
.ux-sel.bad{border-color:var(--ux-red);background:#fbe6e4}
.ux-sel[disabled]{opacity:.9}
.ux-seltab{width:100%;border-collapse:collapse;margin:2px 0 14px}
.ux-seltab th,.ux-seltab td{border:1px solid var(--ux-line);padding:9px 10px;text-align:center;font-size:15px}
.ux-seltab th{background:var(--ux-soft,#f4ede0);font-weight:600}
@media(max-width:560px){.ux-pick{grid-template-columns:1fr 1fr;gap:10px}.ux-selbody{font-size:15.5px}}
@media(prefers-reduced-motion:reduce){.ux-pcard{transition:none}.ux-pcard:hover{transform:none}}

/* ===== 26) Histogramm bauen (hist) ===== */
.ux-histbox{background:var(--ux-paper);border:1.5px solid var(--ux-line);border-radius:11px;padding:12px 10px 8px}
.ux-hsvg{width:100%;height:auto;display:block;max-width:640px;margin:0 auto;touch-action:none}
.ux-hsvg:focus-visible{outline:3px solid var(--ux-yellow);outline-offset:3px;border-radius:8px}
.ux-hgrid{stroke:var(--ux-line);stroke-width:1;stroke-dasharray:3 4}
.ux-haxisline{stroke:var(--ux-dark);stroke-width:1.8}
.ux-htick{font-family:Inter,sans-serif;font-size:12px;fill:#6b6156}
.ux-hlab{font-family:Inter,sans-serif;font-size:11.5px;fill:var(--ux-dark)}
.ux-haxis{font-family:Inter,sans-serif;font-size:12px;font-weight:600;fill:#6b6156}
.ux-hval{font-family:Inter,sans-serif;font-size:12px;font-weight:700;fill:var(--ux-blue-d)}
.ux-hrect{fill:var(--ux-blue);stroke:var(--ux-blue-d);stroke-width:1.4;transition:y .12s,height .12s}
.ux-hcap{fill:var(--ux-blue-d);opacity:.85;cursor:ns-resize}
.ux-hb{cursor:ns-resize}
.ux-hb:focus-visible{outline:none}
.ux-hb:focus-visible .ux-hcap{fill:var(--ux-yellow);opacity:1}
.ux-hb:focus-visible .ux-hrect{stroke:var(--ux-violet);stroke-width:2.4}
.ux-hrect.ok{fill:var(--ux-green);stroke:var(--ux-green-d)}
.ux-hrect.bad{fill:var(--ux-red);stroke:#96271e}
.ux-hread{margin-top:8px;font-family:Inter,sans-serif;font-size:13px;color:#6b6156;text-align:center}
.ux.done .ux-hb{cursor:default}
@media (prefers-reduced-motion: reduce){.ux-hrect{transition:none}}

/* ============================================================ Statistik-Widgets (dots, bars) */
.ux-dbox,.ux-bbox{background:#faf6ee;border:1px solid var(--rule,#e6ddcc);border-radius:12px;padding:10px 12px;margin:12px 0 8px;overflow-x:auto}
.ux-dsvg,.ux-bsvg{display:block;width:100%;min-width:420px;height:auto;touch-action:manipulation}
.ux-dsvg:focus-visible,.ux-bsvg:focus-visible{outline:2px solid #e79a3a;outline-offset:2px;border-radius:8px}
.ux-dot{cursor:pointer}
.ux-dot circle{transition:r .12s ease,stroke-width .12s ease}
.ux-dot:hover circle{r:9}
.ux-dot:focus-visible{outline:none}
.ux-dot:focus-visible circle{stroke:#e79a3a;stroke-width:3}
.ux-bar-g{cursor:pointer}
.ux-bar-g:focus-visible{outline:none}
.ux-bar-g:focus-visible rect:last-of-type{stroke:#e79a3a;stroke-width:2.6}
.ux-dstat,.ux-bstat{font-family:Inter,sans-serif;font-size:13.5px;line-height:1.75;color:#2f2f2f;background:#f4ede0;border-radius:9px;padding:8px 12px;margin-bottom:10px}
.ux-dhint{font-family:Inter,sans-serif;font-size:12.5px;color:#6b6257;margin:2px 0 0}
@media (prefers-reduced-motion:reduce){.ux-dot circle{transition:none}.ux-dot:hover circle{r:7.5}}
@media print{.ux-dbox,.ux-bbox{break-inside:avoid}}
.stat-fig{display:block;width:100%;max-width:640px;height:auto;margin:12px auto;background:#faf6ee;border:1px solid var(--rule,#e6ddcc);border-radius:12px;padding:8px}
.aufgabe-text .fakten.txt{margin:12px 0}

/* ====== 28) Einheitskreis-Zeiger (circ) — 2026-09-02 ====== */
.ux-cbox{background:var(--ux-paper); border:1.5px solid var(--ux-line); border-radius:12px; padding:10px 12px 6px; overflow-x:auto}
.ux-csvg{display:block; width:100%; max-width:420px; height:auto; margin:0 auto; touch-action:none; cursor:crosshair}
.ux-csvg:focus-visible{outline:3px solid var(--ux-yellow); outline-offset:3px; border-radius:10px}
.ux-cgrid circle,.ux-cgrid line{stroke:#e0d6c6; stroke-width:1}
.ux-caxes line{stroke:#8a7f70; stroke-width:1.4}
.ux-carrow{fill:#8a7f70}
.ux-clab{font:600 13px/1 Inter,system-ui,sans-serif; fill:#6a6055}
.ux-clab.ok{fill:var(--ux-green); font-weight:700}
.ux-ctick{font:500 12px/1 Inter,system-ui,sans-serif; fill:#8a7f70}
.ux-carc{stroke:var(--ux-orange); stroke-width:2.6; stroke-linecap:round}
.ux-cproj line{stroke:var(--ux-blue); stroke-width:2.2; stroke-dasharray:5 4}
.ux-cproj line:first-child{stroke:var(--ux-green)}
.ux-cray{stroke:var(--ux-dark); stroke-width:2.6; stroke-linecap:round}
.ux-cdot{fill:var(--ux-violet); stroke:#fff; stroke-width:2}
.ux-cok{fill:none; stroke:var(--ux-green); stroke-width:3}
.ux-cread{margin-top:6px; text-align:center; font:600 13.5px/1.6 ui-monospace,SFMono-Regular,Menlo,monospace; color:var(--ux-dark)}
.ux-cjumps{display:flex; flex-wrap:wrap; gap:7px; justify-content:center; margin-top:8px}
.ux-cjump{font:600 13px/1 Inter,system-ui,sans-serif; padding:6px 11px; border-radius:999px;
  border:1.5px solid var(--ux-line); background:#fff; color:var(--ux-dark); cursor:pointer}
.ux-cjump:hover{background:var(--ux-paper)}
.ux-cjump:focus-visible{outline:3px solid var(--ux-yellow); outline-offset:2px}

/* ====== 29) Sinuskurve: Stellen anklicken (wave) — 2026-09-02 ====== */
.ux-wbox{background:var(--ux-paper); border:1.5px solid var(--ux-line); border-radius:12px; padding:10px 12px 6px; overflow-x:auto}
.ux-wsvg{display:block; width:100%; min-width:460px; height:auto; touch-action:none; cursor:crosshair}
.ux-wsvg:focus-visible{outline:3px solid var(--ux-yellow); outline-offset:3px; border-radius:10px}
.ux-wgrid line{stroke:#e6ddcd; stroke-width:1}
.ux-waxes line{stroke:#8a7f70; stroke-width:1.4}
.ux-warrow{fill:#8a7f70}
.ux-wlab{font:600 13px/1 Inter,system-ui,sans-serif; fill:#6a6055}
.ux-wlab.ok{fill:var(--ux-green); font-weight:700}
.ux-wtick{font:500 12px/1 Inter,system-ui,sans-serif; fill:#8a7f70}
.ux-wcurve{stroke:var(--ux-red); stroke-width:2.8; stroke-linejoin:round; stroke-linecap:round}
.ux-wref{stroke:#b9b0a3; stroke-width:2; stroke-dasharray:6 5}
.ux-wcursor line{stroke:var(--ux-violet); stroke-width:1.6; stroke-dasharray:4 4}
.ux-wcursor circle{fill:var(--ux-violet); stroke:#fff; stroke-width:2}
.ux-wok{fill:none; stroke:var(--ux-green); stroke-width:3}
.ux-wread{margin-top:6px; text-align:center; font:600 13.5px/1.6 ui-monospace,SFMono-Regular,Menlo,monospace; color:var(--ux-dark)}
@media(prefers-reduced-motion:reduce){.ux-cray,.ux-cdot,.ux-wcursor{transition:none}}
.ux-dsvg{max-width:660px;margin:0 auto}
.ux-bsvg{max-width:680px;margin:0 auto}

/* ---- bx: Boxplot bauen (Mathe K11 Stochastik 6.5) ---- */
.bx-task{font-family:Inter,sans-serif;font-size:14px;line-height:1.7;color:#2f2f2f;background:#f4ede0;border-radius:9px;padding:9px 13px;margin:0 0 12px}
.bx-stage{background:#faf6ee;border:1px solid #c9bb9a;border-radius:12px;padding:10px 10px 12px}
.bx-svg{width:100%;height:auto;display:block;touch-action:pan-y;cursor:pointer}
.bx-svg:focus-visible{outline:2px solid #e79a3a;outline-offset:2px;border-radius:8px}
.bx-mark circle{cursor:grab}
.bx-mark.fixed circle{cursor:default}
.bx-ctl{display:flex;flex-wrap:wrap;gap:10px;margin-top:10px;justify-content:center}
.bx-grp{display:inline-flex;align-items:center;gap:3px}
.bx-sel,.bx-nudge{font-family:Inter,sans-serif;font-size:12.5px;font-weight:600;color:#15294a;background:#fff;border:1.5px solid #c9bb9a;border-radius:8px;padding:5px 9px;cursor:pointer;line-height:1.2}
.bx-sel.on{background:#e79a3a;border-color:#b86a2c;color:#fff}
.bx-nudge{padding:5px 7px;color:#5b4f43}
.bx-sel:hover,.bx-nudge:hover{border-color:#2c5fb5}
.bx-sel:focus-visible,.bx-nudge:focus-visible{outline:2px solid #e79a3a;outline-offset:2px}
.bx-read{font-family:Inter,sans-serif;font-size:13px;line-height:1.7;color:#4a4239;margin-top:9px;text-align:center}
.ux.bx-w.ok .bx-stage{border-color:#4a7530}
.ux.bx-w.bad .bx-stage{border-color:#e2574c}
@media (max-width:640px){.bx-ctl{gap:7px}.bx-sel,.bx-nudge{font-size:11.5px;padding:4px 7px}}
@media print{.bx-stage{break-inside:avoid}.bx-ctl{display:none}}

/* vec mobil (2026-09-24): lange Beschriftung + breites Feld duerfen umbrechen */
@media(max-width:560px){.ux-vf{flex-wrap:wrap;max-width:100%}.ux-vl{white-space:normal}.ux-vin.wide{width:100%;max-width:212px}}

/*tspan-baseline 2026-10-05: Safari/iPad vererbt dominant-baseline nicht an <tspan> – farbige Zahlen sprangen gegen +/− */
svg text tspan:not([dominant-baseline]){dominant-baseline:inherit}

/* >>> ux-swipe (Physik K7 2026-10-08) */
/* ---------- Wischkarten-Stapel (swipe) — Physik K7 1.1.1, 2026-10-08 ---------- */
.ux-swipe{
  display:grid; gap:12px; align-items:start;
  grid-template-columns:minmax(0,1fr) minmax(0,1.25fr) minmax(0,1fr);
  grid-template-areas:"l mid r";
}
.ux-swipe-pile[data-side="l"]{grid-area:l}
.ux-swipe-pile[data-side="r"]{grid-area:r}
.ux-swipe-mid{grid-area:mid; min-width:0}
.ux-swipe-pile{
  min-width:0; border-radius:11px; padding:10px; background:#fff;
  border:1.5px solid var(--ux-line); border-top-width:4px;
  transition:background .15s ease, border-color .15s ease;
}
.ux-swipe-pile[data-side="l"]{border-top-color:var(--ux-blue)}
.ux-swipe-pile[data-side="r"]{border-top-color:var(--ux-orange)}
.ux-swipe-pile.over{background:#f1f6ff; border-color:var(--ux-blue)}
.ux-swipe-pile[data-side="r"].over{background:#fdf3e3; border-color:var(--ux-orange)}
.ux-swipe-go{
  display:flex; align-items:center; justify-content:center; gap:7px; width:100%;
  font:600 14px/1.25 'Fredoka',Inter,sans-serif; cursor:pointer; text-align:center;
  padding:9px 10px; border-radius:9px; color:#fff;
  border:1.5px solid var(--ux-blue-d); background:var(--ux-blue-d);
  transition:filter .15s ease;
}
.ux-swipe-pile[data-side="r"] .ux-swipe-go{background:#c97a1c; border-color:#c97a1c}
.ux-swipe-go:hover{filter:brightness(1.08)}
.ux-swipe-go:focus-visible{outline:3px solid var(--ux-yellow); outline-offset:2px}
.ux-swipe-go[disabled]{opacity:.5; cursor:default; filter:none}
.ux-swipe-arrow{font-size:17px; line-height:1}
.ux-swipe-list{display:flex; flex-direction:column; gap:6px; margin-top:9px; min-height:34px}
.ux-swipe-list:empty::after{
  content:'noch leer'; display:block; text-align:center; padding:7px 0;
  font-size:12.5px; color:#9a8d7d; border:1.5px dashed var(--ux-line); border-radius:8px;
}
.ux-swipe-stack{
  display:grid; position:relative; min-height:128px; padding:4px 4px 18px;
}
.ux-swipe-stack:empty{
  align-items:center; justify-items:center;
  background:var(--ux-paper); border:1.5px dashed var(--ux-line); border-radius:14px;
}
.ux-swipe-stack:empty::after{content:'Stapel leer'; font:600 14px/1 'Fredoka',Inter,sans-serif; color:#9a8d7d}
.ux-swipe-stack>.ux-swipe-card{
  grid-area:1/1; align-self:stretch;
  display:flex; flex-direction:column; justify-content:center; gap:8px;
  min-height:120px; padding:18px 18px; text-align:center;
  background:#fff; border:1.5px solid var(--ux-line); border-radius:14px;
  box-shadow:0 3px 0 #e6dccb;
  font:500 16.5px/1.4 'Fredoka',Inter,sans-serif; color:var(--ux-dark);
  cursor:grab; touch-action:pan-y; user-select:none; -webkit-user-select:none;
  transition:transform .2s ease, opacity .2s ease, box-shadow .2s ease;
}
.ux-swipe-stack>.ux-swipe-card[data-depth="0"]{z-index:4}
.ux-swipe-stack>.ux-swipe-card[data-depth="1"]{z-index:3; transform:translateY(7px) scale(.965); background:#fbf8f2}
.ux-swipe-stack>.ux-swipe-card[data-depth="2"]{z-index:2; transform:translateY(14px) scale(.93); background:#f7f2e8}
.ux-swipe-stack>.ux-swipe-card[data-depth="1"]>*,.ux-swipe-stack>.ux-swipe-card[data-depth="2"]>*{visibility:hidden}
.ux-swipe-stack>.ux-swipe-card[data-depth="3"]{z-index:1; visibility:hidden}
.ux-swipe-stack>.ux-swipe-card:focus-visible{outline:3px solid var(--ux-yellow); outline-offset:3px}
.ux-swipe-stack>.ux-swipe-card.drag{cursor:grabbing; transition:none; box-shadow:0 8px 18px rgba(47,47,47,.16)}
.ux-swipe-stack>.ux-swipe-card.fly-l{transform:translateX(-115%) rotate(-10deg); opacity:0}
.ux-swipe-stack>.ux-swipe-card.fly-r{transform:translateX(115%) rotate(10deg); opacity:0}
.ux-swipe-stack>.ux-swipe-card.back{border-color:var(--ux-orange); border-top-width:4px}
.ux-swipe-why{
  display:block; font:500 13px/1.45 Inter,sans-serif; color:#7a4a10;
  background:#fdf3e3; border-radius:8px; padding:6px 9px; text-align:left;
}
.ux-swipe-why:empty{display:none}
.ux-swipe-list .ux-swipe-why{display:none}
.ux-swipe-list>.ux-swipe-card{
  display:block; padding:7px 10px; border-radius:8px; cursor:pointer; text-align:left;
  background:var(--ux-paper); border:1.5px solid var(--ux-line);
  font:500 13.5px/1.35 'Fredoka',Inter,sans-serif; color:var(--ux-dark);
  overflow-wrap:break-word; -webkit-hyphens:auto; hyphens:auto;
}
.ux-swipe-list>.ux-swipe-card:hover{border-color:#bfb19a}
.ux-swipe-list>.ux-swipe-card:focus-visible{outline:3px solid var(--ux-yellow); outline-offset:2px}
.ux-swipe-list>.ux-swipe-card.ok{background:#e8f4e4; border-color:var(--ux-green); color:var(--ux-green-d); cursor:default}
.ux-swipe-count{margin:2px 0 0; text-align:center; font:600 13px/1.3 'Fredoka',Inter,sans-serif; color:#6b5f53}
.ux-swipe-w.done .ux-swipe-list>.ux-swipe-card{cursor:default}
@media (max-width:640px){
  .ux-swipe{grid-template-columns:minmax(0,1fr) minmax(0,1fr); grid-template-areas:"mid mid" "l r"; gap:10px}
  .ux-swipe-stack>.ux-swipe-card{font-size:15.5px; padding:16px 14px; min-height:110px}
  .ux-swipe-go{flex-wrap:wrap; gap:2px 6px; font-size:13px; line-height:1.2; padding:8px 6px; -webkit-hyphens:auto; hyphens:auto; overflow-wrap:break-word}
  .ux-swipe-list>.ux-swipe-card{font-size:12.5px; padding:6px 7px}
}
@media (prefers-reduced-motion: reduce){
  .ux-swipe-pile,.ux-swipe-go,.ux-swipe-stack>.ux-swipe-card,.ux-swipe-stack>.ux-swipe-card.fly-l,.ux-swipe-stack>.ux-swipe-card.fly-r{transition:none}
}
/* <<< ux-swipe */

/* >>> ux-sankey (Physik K7 2026-10-08) */
/* ---------- sankey: Energieflussdiagramm mit einstellbaren Pfeilbreiten ---------- */
.ux-sk-flow{display:none}
.ux-sk-box{background:var(--ux-paper);border:1.5px solid var(--ux-line);border-radius:11px;padding:12px 12px 10px}
.ux-sk-svg{display:block;width:100%;height:auto;max-width:560px;margin:0 auto 6px}
.ux-sk-dev{fill:var(--ux-dark)}
.ux-sk-devlab{font:600 15px/1 'Fredoka',Inter,sans-serif;fill:var(--ux-dark)}
.ux-sk-band.adj{cursor:ns-resize;touch-action:none}
.ux-sk-svg.fertig .ux-sk-band.adj{cursor:default}
.ux-sk-zero{stroke-width:2;stroke-dasharray:5 4;fill:none}
.ux-sk-guide{stroke:var(--ux-dark);stroke-width:1.2;stroke-dasharray:3 4;opacity:.45}
.ux-sk-ruler{stroke:var(--ux-dark);stroke-width:2}
.ux-sk-scale{font:600 15px/1 'Fredoka',Inter,sans-serif;fill:var(--ux-dark)}
.ux-sk-bdg{stroke:#fff;stroke-width:2}
.ux-sk-bnum{font:700 13px/1 'Fredoka',Inter,sans-serif;fill:#fff}
.ux-sk-ctl{display:flex;flex-direction:column;gap:7px}
.ux-sk-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:7px 10px;border-radius:10px;
  background:#fff;border:1.5px solid var(--ux-line);transition:background-color .2s,border-color .2s}
.ux-sk-row.ok{background:#e8f4e4;border-color:var(--ux-green)}
.ux-sk-row.fix{background:#f7f2e8}
.ux-sk-badge{flex:0 0 22px;width:22px;height:22px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;
  font:700 12px/1 'Fredoka',Inter,sans-serif;color:#fff}
.ux-sk-name{flex:1 1 180px;min-width:0;font-size:14px;line-height:1.4;color:var(--ux-dark)}
.ux-sk-kind{display:inline-block;margin-right:7px;padding:2px 7px;border-radius:6px;background:#f3ece0;
  font:600 11.5px/1.3 'Fredoka',Inter,sans-serif;color:#6b5f53;vertical-align:1px}
.ux-sk-step{display:inline-flex;align-items:center;gap:6px;margin-left:auto}
.ux-sk-btn{width:34px;height:34px;padding:0;border-radius:9px;cursor:pointer;
  border:1.5px solid var(--ux-line);background:#fff;color:var(--ux-dark);
  font:700 18px/1 'Fredoka',Inter,sans-serif;transition:background-color .15s,border-color .15s}
.ux-sk-btn:hover{background:var(--ux-blue-d);border-color:var(--ux-blue-d);color:#fff}
.ux-sk-btn:focus-visible{outline:3px solid var(--ux-yellow);outline-offset:2px}
.ux-sk-btn[disabled]{opacity:.4;cursor:default;background:#fff;color:var(--ux-dark);border-color:var(--ux-line)}
.ux-sk-val{min-width:74px;text-align:center;padding:7px 8px;border-radius:8px;background:var(--ux-paper);
  border:1.5px solid var(--ux-line);font:600 14px/1 'Fredoka',Inter,sans-serif;color:var(--ux-dark);white-space:nowrap}
.ux-sk-val:focus-visible{outline:3px solid var(--ux-yellow);outline-offset:2px}
.ux-sk-given{font:600 12px/1 'Fredoka',Inter,sans-serif;color:#9a8d7d}
.ux-sk-box.ux-sk-flash{animation:ux-sk-flash .5s ease-out}
@keyframes ux-sk-flash{0%{border-color:var(--ux-red);box-shadow:0 0 0 3px rgba(226,87,76,.25)}100%{border-color:var(--ux-line);box-shadow:none}}
@media (max-width:520px){
  .ux-sk-box{padding:10px 8px 8px}
  .ux-sk-row{padding:7px 8px;gap:8px}
  .ux-sk-name{flex:1 1 120px}
  .ux-sk-step{margin-left:30px}
}
@media (prefers-reduced-motion: reduce){
  .ux-sk-row,.ux-sk-btn{transition:none}
  .ux-sk-box.ux-sk-flash{animation:none}
}
/* <<< ux-sankey */

/* >>> ux-komma (Physik K7 2026-10-08) */
/* ---------- Komma-Schieber (komma) — Physik K7 2026-10-08 ---------- */
.ux-komma-list{display:flex; flex-direction:column; gap:10px}
.ux-komma-row{
  display:flex; flex-wrap:wrap; align-items:center; gap:10px 16px;
  padding:11px 13px; border-radius:11px;
  background:var(--ux-paper); border:1.5px solid var(--ux-line);
  transition:border-color .18s, background-color .18s;
}
.ux-komma-row.ok{background:#eef7ea; border-color:var(--ux-green)}
.ux-komma-row.bad{background:#fdeeed; border-color:var(--ux-red)}
.ux-komma-q{
  flex:1 1 210px; min-width:0;
  font:500 15px/1.4 'Fredoka',Inter,sans-serif; color:var(--ux-dark);
}
.ux-komma-q b{font-weight:600}
.ux-komma-in{
  display:inline-block; margin-left:4px; padding:2px 8px; border-radius:999px;
  font:600 12.5px/1.3 'Fredoka',Inter,sans-serif; color:#fff; background:var(--ux-violet);
  vertical-align:1px;
}
.ux-komma-ctl{display:flex; flex-wrap:wrap; align-items:center; gap:7px; min-width:0; max-width:100%}
.ux-komma-eq{font:600 20px/1 'Fredoka',Inter,sans-serif; color:#6b5f53; margin-right:2px}
.ux-komma-num{
  display:inline-flex; align-items:baseline; justify-content:flex-end;
  min-width:118px; max-width:100%; padding:7px 12px;
  font:600 24px/1.1 'Fredoka',Inter,sans-serif; letter-spacing:.01em;
  color:var(--ux-dark); background:#fff;
  border:1.5px solid var(--ux-line); border-radius:9px;
  cursor:ew-resize; touch-action:pan-y; user-select:none; -webkit-user-select:none;
  font-variant-numeric:tabular-nums;
  transition:border-color .15s, box-shadow .15s;
}
.ux-komma-num:hover{border-color:var(--ux-blue)}
.ux-komma-num:focus-visible{outline:3px solid var(--ux-yellow); outline-offset:2px}
.ux-komma-num.drag{border-color:var(--ux-blue); box-shadow:0 0 0 3px rgba(91,139,216,.22)}
.ux-komma-d{color:var(--ux-dark)}
.ux-komma-z{color:#a2967f}
.ux-komma-d.g,.ux-komma-z.g{margin-left:.22em}
.ux-komma-c{color:var(--ux-orange); font-weight:700; margin:0 .02em; display:inline-block}
.ux-komma-c.pop{animation:ux-komma-pop .26s ease-out}
@keyframes ux-komma-pop{0%{transform:translateY(-5px) scale(1.25)}100%{transform:none}}
.ux-komma-mv{
  width:34px; height:34px; padding:0; flex:0 0 34px; cursor:pointer;
  border-radius:50%; border:1.5px solid var(--ux-line); background:#fff; color:var(--ux-dark);
  font:600 20px/1 'Fredoka',Inter,sans-serif;
  transition:background-color .15s, border-color .15s, color .15s;
}
.ux-komma-mv:hover{background:var(--ux-blue-d); border-color:var(--ux-blue-d); color:#fff}
.ux-komma-mv:focus-visible{outline:3px solid var(--ux-yellow); outline-offset:2px}
.ux-komma-mv[disabled]{opacity:.4; cursor:default; background:#fff; color:var(--ux-dark); border-color:var(--ux-line)}
.ux-komma-units{display:inline-flex; flex-wrap:wrap; gap:5px; margin-left:4px}
.ux-komma-u{
  min-width:44px; padding:7px 11px; cursor:pointer;
  border-radius:999px; border:1.5px solid var(--ux-line); background:#fff; color:var(--ux-dark);
  font:600 15px/1 'Fredoka',Inter,sans-serif;
  transition:background-color .15s, border-color .15s, color .15s;
}
.ux-komma-u:hover{border-color:var(--ux-violet)}
.ux-komma-u.on{background:var(--ux-violet); border-color:var(--ux-violet); color:#fff}
.ux-komma-u:focus-visible{outline:3px solid var(--ux-yellow); outline-offset:2px}
.ux-komma-u[disabled]{cursor:default}
.ux-komma-fb{min-width:16px; font:700 17px/1 'Fredoka',Inter,sans-serif}
.ux-komma-row.ok .ux-komma-fb{color:var(--ux-green-d)}
.ux-komma-row.bad .ux-komma-fb{color:var(--ux-red)}
.ux.done .ux-komma-num{cursor:default}
.ux.done .ux-komma-u:not(.on){opacity:.5}
@media(max-width:520px){
  .ux-komma-row{padding:10px}
  .ux-komma-num{font-size:21px; min-width:100px; padding:6px 10px}
  .ux-komma-units{margin-left:0}
}
@media (prefers-reduced-motion: reduce){
  .ux-komma-c.pop{animation:none}
  .ux-komma-row,.ux-komma-num,.ux-komma-mv,.ux-komma-u{transition:none}
}
/* <<< ux-komma */

/* >>> ux-portion (Physik K7 2026-10-08) */
/* ---------- Mengen-Stepper (portion) ---------- */
.ux-portion-goal{
  display:inline-flex; flex-wrap:wrap; align-items:center; gap:6px 10px;
  font:600 14.5px/1.3 'Fredoka',Inter,sans-serif; color:var(--ux-dark);
  background:#fff; border:1.5px solid var(--ux-line); border-left:4px solid var(--ux-green-d);
  border-radius:9px; padding:8px 12px; margin:0 0 10px;
}
.ux-portion-goal b{color:var(--ux-green-d); font-weight:700}
.ux-portion-list{
  display:grid; gap:10px; grid-template-columns:repeat(auto-fit,minmax(250px,1fr));
  background:var(--ux-paper); border:1.5px solid var(--ux-line); border-radius:11px; padding:12px;
}
.ux-portion-item{
  display:grid; grid-template-columns:minmax(0,1fr) auto; grid-template-rows:auto auto;
  gap:6px 10px; align-items:center;
  background:#fff; border:1.5px solid var(--ux-line); border-radius:11px; padding:10px 11px;
  transition:border-color .18s, box-shadow .18s;
}
.ux-portion-item.on{border-color:var(--ux-blue); box-shadow:0 0 0 3px rgba(91,139,216,.16)}
.ux-portion-text{display:flex; flex-direction:column; gap:3px; min-width:0}
.ux-portion-name{font:600 15px/1.25 'Fredoka',Inter,sans-serif; color:var(--ux-dark); overflow-wrap:break-word; hyphens:auto}
.ux-portion-info{font-size:13.5px; line-height:1.4; color:#6b5f53; overflow-wrap:break-word; hyphens:auto}
.ux-portion-step{display:inline-flex; align-items:center; gap:5px}
.ux-portion-minus,.ux-portion-plus{
  width:34px; height:34px; padding:0; border-radius:9px; cursor:pointer;
  font:700 19px/1 'Fredoka',Inter,sans-serif;
  background:#fff; color:var(--ux-blue-d); border:1.5px solid var(--ux-line);
  display:inline-flex; align-items:center; justify-content:center;
}
.ux-portion-plus{background:var(--ux-blue-d); color:#fff; border-color:var(--ux-blue-d)}
.ux-portion-minus:hover{background:#f3ece0}
.ux-portion-plus:hover{filter:brightness(1.08)}
.ux-portion-minus:focus-visible,.ux-portion-plus:focus-visible,.ux-portion-count:focus-visible{outline:3px solid var(--ux-yellow); outline-offset:2px}
.ux-portion-minus[disabled],.ux-portion-plus[disabled]{opacity:.35; cursor:default; filter:none}
.ux-portion-count{
  min-width:38px; height:34px; padding:0 6px; border-radius:9px;
  display:inline-flex; align-items:center; justify-content:center;
  font:700 17px/1 'Fredoka',Inter,sans-serif; color:var(--ux-dark);
  background:var(--ux-paper); border:1.5px solid var(--ux-line); cursor:default;
}
.ux-portion-item.on .ux-portion-count{color:var(--ux-blue-d); border-color:var(--ux-blue)}
.ux-portion-dots{grid-column:1 / -1; display:flex; flex-wrap:wrap; gap:4px; min-height:10px}
.ux-portion-dot{width:10px; height:10px; border-radius:50%; background:var(--ux-orange)}
.ux-portion-dot.pop{animation:ux-portion-pop .22s ease-out}
@keyframes ux-portion-pop{from{transform:scale(.2)} to{transform:scale(1)}}
.ux-portion-sumrow{display:flex; flex-wrap:wrap; align-items:center; gap:9px; margin-top:12px}
.ux-portion-sumrow label{font:600 14.5px/1.3 'Fredoka',Inter,sans-serif; color:var(--ux-dark)}
.ux-portion-sum{
  font:600 15px/1 ui-monospace,SFMono-Regular,Menlo,monospace;
  width:150px; max-width:100%; padding:10px 12px; border-radius:9px;
  border:1.5px solid var(--ux-line); background:#fff; color:var(--ux-dark);
}
.ux-portion-sum:focus-visible{outline:3px solid var(--ux-yellow); outline-offset:2px}
.ux-portion-sum.ok{border-color:var(--ux-green); background:#e8f4e4}
.ux-portion-sum.bad{border-color:var(--ux-red); background:#fbe6e4}
.ux-portion-unit{font:600 14px/1 'Fredoka',Inter,sans-serif; color:#6b5f53}
.ux-portion-total{
  display:none; margin-top:10px; padding:9px 12px; border-radius:9px;
  font:600 14px/1.5 'Fredoka',Inter,sans-serif; color:var(--ux-green-d);
  background:#e8f4e4; border:1px solid var(--ux-green); overflow-wrap:anywhere;
}
.ux-portion-total.show{display:block}
.ux-portion-w.bad .ux-portion-goal{border-left-color:var(--ux-red)}
.ux-portion-w.done .ux-portion-item.on{border-color:var(--ux-green); box-shadow:none}
.ux-portion-w.done .ux-portion-item.on .ux-portion-count{color:var(--ux-green-d); border-color:var(--ux-green)}
.ux-portion-w.done .ux-portion-dot{background:var(--ux-green)}
@media(max-width:420px){
  .ux-portion-item{grid-template-columns:1fr}
  .ux-portion-step{justify-self:start}
}
@media(max-width:560px){
  .ux-portion-list{grid-template-columns:1fr; padding:9px}
  .ux-portion-minus,.ux-portion-plus{width:38px; height:38px}
}
@media(prefers-reduced-motion:reduce){
  .ux-portion-item{transition:none}
  .ux-portion-dot.pop{animation:none}
}
@media print{.ux-portion-step button{display:none}}
/* <<< ux-portion */

/* >>> ux-waage (Physik K7 2026-10-08) */
/* ============ waage — Bilanzwaage (Physik K7 Energiebilanzen, 2026-10-08) ============ */
.ux-waage-stage{background:var(--ux-paper); border:1.5px solid var(--ux-line); border-radius:11px; padding:8px 10px 2px}
.ux-waage-svg{display:block; width:100%; max-width:520px; height:auto; margin:0 auto}
.ux-waage-svg text{font-family:'Fredoka',sans-serif}
.ux-waage-svg .ux-waage-beam{fill:var(--ux-dark)}
.ux-waage-svg .ux-waage-post{fill:#6b5f53}
.ux-waage-svg .ux-waage-base{fill:#6b5f53}
.ux-waage-svg .ux-waage-pivot{fill:#fff; stroke:var(--ux-dark); stroke-width:3}
.ux-waage-svg .ux-waage-needle{stroke:var(--ux-red); stroke-width:3; stroke-linecap:round}
.ux-waage-svg .ux-waage-tick{stroke:#b9ab95; stroke-width:2; stroke-linecap:round}
.ux-waage-svg .ux-waage-tick0{stroke:var(--ux-dark); stroke-width:2.6; stroke-linecap:round}
.ux-waage-svg .ux-waage-stem{stroke:var(--ux-dark); stroke-width:5; stroke-linecap:round}
.ux-waage-svg .ux-waage-plate{fill:var(--ux-dark)}
.ux-waage-svg .ux-waage-klotz{stroke:#fff; stroke-width:1.5}
.ux-waage-svg .ux-waage-klotz.leer{fill:#fff; stroke:var(--ux-dark); stroke-width:1.6; stroke-dasharray:4 3}
.ux-waage-svg .ux-waage-knr{font-size:12.5px; font-weight:600; fill:#fff}
.ux-waage-svg .ux-waage-knr.dunkel{fill:var(--ux-dark)}
.ux-waage-svg .ux-waage-sum{font-size:15px; font-weight:600; fill:var(--ux-green-d)}
.ux-waage-pans{display:grid; grid-template-columns:1fr 1fr; gap:10px; margin-top:10px}
.ux-waage-pan{
  border-radius:11px; padding:10px; background:#fff; min-width:0; cursor:pointer;
  border:1.5px solid var(--ux-line); border-top-width:4px; transition:background .15s, border-color .15s;
}
.ux-waage-pan[data-side="l"]{border-top-color:var(--ux-blue)}
.ux-waage-pan[data-side="r"]{border-top-color:var(--ux-green)}
.ux-waage-pan:focus-visible{outline:3px solid var(--ux-yellow); outline-offset:2px}
.ux-waage-pan.over{background:#f1f6ff; border-color:var(--ux-blue)}
.ux-waage-ph{display:flex; align-items:center; gap:7px; margin-bottom:8px; font:600 14px/1.2 'Fredoka',sans-serif; color:var(--ux-dark)}
.ux-waage-ph .ux-waage-key{
  display:inline-grid; place-items:center; min-width:22px; height:20px; padding:0 4px; border-radius:5px;
  background:var(--ux-dark); color:#fff; font:700 12px/1 ui-monospace,Menlo,monospace;
}
.ux-waage-drop{display:flex; flex-direction:column; gap:6px; min-height:38px}
.ux-waage-drop:empty::after{content:'leer'; font-size:13px; color:#9a8d7d; padding:9px 2px}
.ux-waage-pool{
  display:flex; flex-wrap:wrap; gap:8px; margin-top:10px; min-height:50px; padding:10px; border-radius:11px;
  background:var(--ux-paper); border:1.5px dashed var(--ux-line); transition:background .15s;
}
.ux-waage-pool.over{background:#f1f6ff; border-color:var(--ux-blue)}
.ux-waage-pool:empty::after{content:'Alle Posten liegen auf der Waage.'; font-size:13px; color:#9a8d7d}
.ux-waage-gw{
  display:inline-flex; align-items:center; gap:8px; max-width:100%; text-align:left; cursor:grab;
  font:600 13.5px/1.3 inherit; color:var(--ux-dark); padding:6px 12px 6px 6px; border-radius:20px;
  background:#fff; border:1.5px solid var(--ux-line); transition:transform .15s, background .15s;
}
.ux-waage-drop .ux-waage-gw{border-radius:10px; width:100%}
.ux-waage-t{min-width:0; overflow-wrap:anywhere}
.ux-waage-gw:focus-visible{outline:3px solid var(--ux-yellow); outline-offset:2px}
.ux-waage-gw.picked{background:var(--ux-violet); border-color:var(--ux-violet); color:#fff; transform:translateY(-2px)}
.ux-waage-gw.drag{opacity:.45}
.ux-waage-gw.ok{background:#e8f4e4; border-color:var(--ux-green); color:var(--ux-green-d)}
.ux-waage-nr{
  flex:none; display:inline-grid; place-items:center; width:23px; height:23px; border-radius:50%;
  background:var(--ux-dark); color:#fff; font:600 12.5px/1 'Fredoka',sans-serif;
}
.ux-waage-xrow{display:flex; flex-wrap:wrap; align-items:center; gap:6px 10px; margin-top:10px; font-size:14.5px; color:var(--ux-dark)}
.ux-waage-xin{display:inline-flex; align-items:center; gap:7px; white-space:nowrap}
.ux-waage-xu{font:600 14.5px/1 'Fredoka',sans-serif}
.ux-waage-pname{min-width:0; overflow-wrap:anywhere}
.ux-waage-in{
  width:120px; font:600 15px/1.2 inherit; padding:8px 10px; text-align:right;
  border-radius:9px; border:1.5px solid var(--ux-line); background:#fff; color:var(--ux-dark);
}
.ux-waage-in:focus-visible{outline:3px solid var(--ux-yellow); outline-offset:2px}
.ux-waage-in.ok{border-color:var(--ux-green); background:#e8f4e4}
.ux-waage-in.bad{border-color:var(--ux-red); background:#fbe6e4}
.ux-waage-w.done .ux-waage-gw,.ux-waage-w.done .ux-waage-pan{cursor:default}
@media (max-width:560px){
  .ux-waage-pans{gap:8px}
  .ux-waage-pan{padding:8px}
  .ux-waage-ph{font-size:13px; gap:5px}
  .ux-waage-ph .ux-waage-key{min-width:18px; height:18px; font-size:11px}
  .ux-waage-stage{padding:6px 4px 0}
  .ux-waage-gw{font-size:13px; padding-right:9px}
  .ux-waage-drop .ux-waage-gw{gap:6px; padding:5px 7px 5px 5px}
  .ux-waage-nr{width:20px; height:20px; font-size:11.5px}
}
@media (max-width:480px){
  .ux-waage-pans{grid-template-columns:1fr}
  .ux-waage-drop{min-height:30px}
}
@media (prefers-reduced-motion: reduce){
  .ux-waage-gw{transition:none}
  .ux-waage-gw.picked{transform:none}
  .ux-waage-pan{transition:none}
  .ux-waage-pool{transition:none}
}
/* <<< ux-waage */

/* >>> ux-etikett (Physik K7 2026-10-08) */
/* ============ etikett — Etiketten an Marker einer Szene heften (Physik K7, 2026-10-08) ============ */
.ux-etk-pool{display:flex;flex-wrap:wrap;gap:8px;min-height:46px;padding:10px;border-radius:11px;background:var(--ux-paper);border:1.5px dashed var(--ux-line)}
.ux-etk-pool:not(:has(.ux-etk-chip:not([hidden])))::after{content:'Alle Etiketten angeheftet.';font:500 13px/1.4 'Fredoka',Inter,sans-serif;color:#9a8d7d;align-self:center}
.ux-etk-chip{display:inline-flex;align-items:center;gap:8px;font:600 14.5px/1.25 'Fredoka',Inter,sans-serif;text-align:left;cursor:pointer;padding:6px 13px 6px 6px;border-radius:20px;background:#fff;border:1.5px solid var(--ux-line);color:var(--ux-dark);transition:transform .15s,background-color .15s,border-color .15s;max-width:100%}
.ux-etk-chip[hidden]{display:none}
.ux-etk-chip:hover{border-color:var(--ux-violet)}
.ux-etk-chip:focus-visible{outline:3px solid var(--ux-yellow);outline-offset:2px}
.ux-etk-key{flex:0 0 22px;width:22px;height:22px;border-radius:6px;display:inline-flex;align-items:center;justify-content:center;background:var(--ux-violet);color:#fff;font:700 12.5px/1 'Fredoka',Inter,sans-serif}
.ux-etk-chip.picked{background:var(--ux-violet);border-color:var(--ux-violet);color:#fff;transform:translateY(-2px)}
.ux-etk-chip.picked .ux-etk-key{background:#fff;color:var(--ux-violet)}
.ux-etk-chip.drag{opacity:.45}
.ux-etk-stage{margin-top:12px;background:var(--ux-paper);border:1.5px solid var(--ux-line);border-radius:11px;padding:10px}
.ux-etk-svg{display:block;width:100%;height:auto;margin:0 auto;font-family:'Fredoka',Inter,sans-serif;touch-action:manipulation}
.ux-etk-m{cursor:pointer}
.ux-etk-m:focus{outline:none}
.ux-etk-halo{fill:transparent;stroke:transparent;stroke-width:3}
.ux-etk-m:hover .ux-etk-halo{stroke:var(--ux-violet);fill:rgba(124,95,181,.12)}
.ux-etk-m:focus-visible .ux-etk-halo{stroke:var(--ux-yellow);stroke-width:4;fill:rgba(244,208,63,.28)}
.ux-etk-dot{fill:var(--ux-dark);stroke:#fff;stroke-width:2.5}
.ux-etk-num{fill:#fff;font-family:'Fredoka',Inter,sans-serif;font-weight:700;pointer-events:none}
.ux-etk-m.filled .ux-etk-dot{fill:var(--ux-violet)}
.ux-etk-tag{display:none}
.ux-etk-tag.on{display:inline}
.ux-etikett-w.ux-etk-compact .ux-etk-tag.on{display:none}
.ux-etk-tag rect{fill:#fff;stroke:var(--ux-violet);stroke-width:2}
.ux-etk-tag text{fill:var(--ux-violet);font-family:'Fredoka',Inter,sans-serif;font-weight:700}
.ux-etk-m.ok .ux-etk-dot{fill:var(--ux-green-d)}
.ux-etk-m.ok .ux-etk-tag rect{stroke:var(--ux-green-d);fill:#e8f4e4}
.ux-etk-m.ok .ux-etk-tag text{fill:var(--ux-green-d)}
.ux-etk-m.bad .ux-etk-dot{fill:var(--ux-red)}
.ux-etk-m.bad .ux-etk-tag rect{stroke:var(--ux-red);fill:#fbe6e4}
.ux-etk-m.bad .ux-etk-tag text{fill:#96271e}
.ux-etikett-w.ux-etk-armed .ux-etk-m:not(.filled) .ux-etk-halo{stroke:var(--ux-violet);fill:rgba(124,95,181,.14);animation:ux-etk-pulse 1.3s ease-in-out infinite}
@keyframes ux-etk-pulse{0%,100%{stroke-opacity:1}50%{stroke-opacity:.25}}
.ux-etk-m.ux-etk-pop .ux-etk-dot{animation:ux-etk-pop .42s ease-out}
@keyframes ux-etk-pop{0%{stroke-width:2.5}40%{stroke-width:7}100%{stroke-width:2.5}}
.ux-etk-legend{list-style:none;margin:12px 0 0;padding:0;display:grid;gap:8px;grid-template-columns:repeat(auto-fit,minmax(min(100%,270px),1fr))}
.ux-etk-row{display:flex;flex-wrap:wrap;align-items:center;gap:6px 9px;padding:8px 10px;border-radius:10px;background:#fff;border:1.5px solid var(--ux-line);min-width:0}
.ux-etk-row.over{border-color:var(--ux-violet);background:#f4f0fb}
.ux-etk-badge{flex:0 0 24px;width:24px;height:24px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:var(--ux-dark);color:#fff;font:700 12.5px/1 'Fredoka',Inter,sans-serif}
.ux-etk-name{flex:1 1 140px;min-width:0;font-size:14px;line-height:1.35;color:#6b5f53}
.ux-etk-slot{flex:1 1 100%;min-width:0;min-height:36px;text-align:left;cursor:pointer;font:600 14px/1.3 'Fredoka',Inter,sans-serif;padding:7px 10px;border-radius:8px;background:#fff;border:1.5px dashed var(--ux-blue);color:var(--ux-blue-d);overflow-wrap:anywhere}
.ux-etk-slot.filled{border-style:solid;border-color:var(--ux-violet);background:#f4f0fb;color:#4b3680}
.ux-etk-slot:focus-visible{outline:3px solid var(--ux-yellow);outline-offset:2px}
.ux-etk-row.ok{border-color:var(--ux-green);background:#f3f9f0}
.ux-etk-row.ok .ux-etk-badge{background:var(--ux-green-d)}
.ux-etk-row.ok .ux-etk-slot{border-color:var(--ux-green);background:#e8f4e4;color:var(--ux-green-d)}
.ux-etk-row.bad{border-color:var(--ux-red)}
.ux-etk-row.bad .ux-etk-badge{background:var(--ux-red)}
.ux-etk-row.bad .ux-etk-slot{border-color:var(--ux-red);background:#fbe6e4;color:#96271e}
.ux-etikett-w.done .ux-etk-chip,.ux-etikett-w.done .ux-etk-m,.ux-etikett-w.done .ux-etk-slot{cursor:default}
.ux-etikett-w.done .ux-etk-slot[disabled]{opacity:1}
@media(max-width:560px){.ux-etk-stage{padding:6px}.ux-etk-chip{font-size:14px}}
@media (prefers-reduced-motion: reduce){
  .ux-etk-chip{transition:none}
  .ux-etk-chip.picked{transform:none}
  .ux-etikett-w.ux-etk-armed .ux-etk-m:not(.filled) .ux-etk-halo{animation:none}
  .ux-etk-m.ux-etk-pop .ux-etk-dot{animation:none}
}
@media print{.ux-etk-pool{display:none}}
/* <<< ux-etikett */

/* >>> ux-duell (Physik K7 2026-10-08) */
/* ---------- duell: Duell-Turnier (Physik K7 2026-10-08) ---------- */
.ux-duell-pool[hidden]{display:none}
.ux-duell-stage{background:var(--ux-paper);border:1.5px solid var(--ux-line);border-radius:11px;padding:12px}
.ux-duell-kopf{margin:0 0 10px;font:600 14.5px/1.4 'Fredoka',system-ui,sans-serif;color:var(--ux-dark);display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 12px}
.ux-duell-nr{font-size:12.5px;font-weight:500;color:#6b5f53;background:#fff;border:1px solid var(--ux-line);border-radius:20px;padding:3px 10px}
.ux-duell-fr{color:#3d2a6b}
.ux-duell-arena{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:10px;align-items:stretch}
.ux-duell-k{font:500 14px/1.4 'Fredoka',system-ui,sans-serif;color:var(--ux-dark);cursor:pointer;
  display:flex;flex-direction:column;justify-content:center;align-items:center;gap:3px;text-align:center;
  min-height:92px;padding:14px 12px;background:#fff;border:2px solid var(--ux-line);border-radius:14px;
  overflow-wrap:break-word;hyphens:auto;transition:border-color .18s,box-shadow .18s,transform .18s,opacity .18s}
.ux-duell-k>*{max-width:100%}
.ux-duell-k b,.ux-duell-k strong{font-weight:600;font-size:15px}
.ux-duell-k .ux-duell-d{display:block;color:#6b5f53;font-size:13.5px}
.ux-duell-k:hover{border-color:var(--ux-blue);transform:translateY(-2px);box-shadow:0 8px 20px rgba(20,34,60,.10)}
.ux-duell-k:focus-visible{outline:3px solid var(--ux-yellow);outline-offset:2px}
.ux-duell-k.win{border-color:var(--ux-violet);box-shadow:0 0 0 3px rgba(124,95,181,.28);transform:none}
.ux-duell-k.lose{opacity:.42;transform:scale(.97)}
.ux-duell-vs{align-self:center;justify-self:center;display:flex;align-items:center;justify-content:center;
  width:44px;height:44px;border-radius:50%;background:#fff;border:1.5px solid var(--ux-line);
  font:600 12px/1 'Fredoka',system-ui,sans-serif;color:#6b5f53}
.ux-duell-info{grid-column:1/-1;margin:0;padding:14px;border-radius:12px;background:#fff;border:1.5px dashed var(--ux-line);font-size:13.5px;color:#6b5f53;text-align:center}
.ux-duell-sieger{grid-column:1/-1;display:flex;flex-direction:column;align-items:center;gap:4px;padding:12px;border-radius:14px;
  background:#fff;border:2px solid var(--ux-violet);font:500 14px/1.4 'Fredoka',system-ui,sans-serif;color:var(--ux-dark);text-align:center}
.ux-duell-sl{font-size:12px;color:#6b5f53;text-transform:uppercase;letter-spacing:.06em}
.ux-duell-sf b,.ux-duell-sf strong{font-weight:600}
.ux-duell-sf .ux-duell-d{display:block;color:#6b5f53;font-size:13px}
.ux-duell-w.done .ux-duell-sieger{border-color:var(--ux-green);background:#eef7ea}
/* Turnierbaum */
.ux-duell-baum{display:flex;gap:8px;margin-top:14px;overflow-x:auto;padding-bottom:2px}
.ux-duell-runde{flex:1 1 0;min-width:0;display:flex;flex-direction:column}
.ux-duell-rh{font:600 11.5px/1.2 'Fredoka',system-ui,sans-serif;color:#6b5f53;text-align:center;margin-bottom:6px}
.ux-duell-ms{flex:1;display:flex;flex-direction:column;justify-content:space-around;gap:6px}
.ux-duell-m{background:#fff;border:1.5px solid var(--ux-line);border-radius:9px;overflow:hidden;transition:border-color .18s,box-shadow .18s}
.ux-duell-m.cur{border-color:var(--ux-violet);box-shadow:0 0 0 2px rgba(124,95,181,.22)}
.ux-duell-slot{font:500 12px/1.25 'Fredoka',system-ui,sans-serif;color:var(--ux-dark);padding:5px 7px;min-height:25px;overflow-wrap:break-word;hyphens:auto;transition:background-color .18s}
.ux-duell-slot+.ux-duell-slot{border-top:1px solid #eee4d3}
.ux-duell-slot.leer{color:#b3a794}
.ux-duell-slot.win{background:#f1ecf9;color:#3d2a6b;font-weight:600}
.ux-duell-sk{display:block}
.ux-duell-sw{display:block;font-weight:500;font-size:11px;color:var(--ux-green-d)}
.ux-duell-champ .ux-duell-slot{min-height:32px;display:flex;flex-direction:column;justify-content:center}
.ux-duell-w.done .ux-duell-slot.win{background:#eef7ea;color:var(--ux-green-d)}
.ux-duell-w.lost .ux-duell-baum{opacity:.6}
.ux-duell-w.done .ux-duell-k,.ux-duell-w.lost .ux-duell-k{cursor:default}
@media (max-width:560px){
  .ux-duell-stage{padding:10px}
  .ux-duell-arena{gap:6px}
  .ux-duell-k{min-height:84px;padding:10px 6px;font-size:12.5px;overflow-wrap:anywhere}
  .ux-duell-k b,.ux-duell-k strong{font-size:12.5px}
  .ux-duell-k .ux-duell-d{font-size:12.5px}
  .ux-duell-vs{width:34px;height:34px;font-size:11px}
  /* Turnierbaum auf schmalen Bildschirmen: Runden untereinander, Duelle zweispaltig */
  .ux-duell-baum{flex-direction:column;gap:10px}
  .ux-duell-runde{flex:none}
  .ux-duell-rh{text-align:left;margin-bottom:4px}
  .ux-duell-ms{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}
  .ux-duell-slot{padding:4px 6px;font-size:11px;overflow-wrap:anywhere}
}
@media (prefers-reduced-motion: reduce){
  .ux-duell-k,.ux-duell-m,.ux-duell-slot{transition:none}
  .ux-duell-k:hover,.ux-duell-k.lose{transform:none}
}
/* <<< ux-duell */

/* >>> ux-raster (Physik K7 2026-10-08) */
/* ============ Malraster mit Farbpalette (raster) — Physik K7 2026-10-08 ============ */
.ux-raster-pal{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 12px}
.ux-raster-farbe{display:inline-flex;align-items:center;gap:8px;cursor:pointer;
  font:600 14.5px/1.2 'Fredoka',Inter,sans-serif;color:var(--ux-dark);
  padding:7px 12px 7px 8px;border-radius:20px;background:#fff;border:1.5px solid var(--ux-line)}
.ux-raster-farbe:hover{border-color:#bfb19a}
.ux-raster-farbe:focus-visible{outline:3px solid var(--ux-yellow);outline-offset:2px}
.ux-raster-farbe.on{border-color:var(--ux-violet);background:#f3effa;box-shadow:0 0 0 2px rgba(124,95,181,.25)}
.ux-raster-farbe[disabled]{cursor:default;opacity:.75}
.ux-raster-farbe.radier::before{content:'';width:22px;height:22px;border-radius:50%;flex:none;
  border:2px dashed #b9ac9a;background:#fff}
.ux-raster-sw{display:inline-flex;align-items:center;justify-content:center;flex:none;width:24px;height:24px;border-radius:50%;
  color:#fff;font:700 15px/1 'Fredoka',Inter,sans-serif;box-shadow:inset 0 -2px 0 rgba(0,0,0,.18)}
.ux-raster-sw.k{width:16px;height:16px;font-size:12px;margin:0 4px}
.ux-raster-n{min-width:24px;padding:3px 6px;border-radius:10px;background:var(--ux-paper);border:1px solid var(--ux-line);
  font:600 12.5px/1 'Fredoka',Inter,sans-serif;color:#6b5f53;text-align:center}
.ux-raster-farbe.on .ux-raster-n{background:#fff}
.ux-raster-legende{display:flex;flex-wrap:wrap;gap:6px 14px;margin:0 0 10px;font:500 13.5px/1.3 'Fredoka',Inter,sans-serif;color:#6b5f53}
.ux-raster-legende span{display:inline-flex;align-items:center;gap:6px}
.ux-raster-legende span::before{content:'';width:16px;height:16px;border-radius:4px;border:1.5px solid var(--ux-line);background:#fff}
.ux-raster-legende .z1::before{background:#e6eefa}
.ux-raster-legende .z2::before{background:#f6e7cf}
.ux-raster-legende .z3::before{background:#e5f1e0}
.ux-raster-buehne{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:center;gap:16px;
  background:var(--ux-paper);border:1.5px solid var(--ux-line);border-radius:11px;padding:14px}
.ux-raster-haupt{flex:1 1 300px;max-width:470px;min-width:0}
.ux-raster-seiten{display:flex;justify-content:space-between;gap:10px;margin:0 2px 6px;
  font:600 13px/1.2 'Fredoka',Inter,sans-serif;color:#6b5f53}
.ux-raster-seiten span:first-child::before{content:'\2190\00a0'}
.ux-raster-seiten span:last-child::after{content:'\00a0\2192'}
.ux-raster-feld{display:grid;grid-template-columns:repeat(var(--ux-raster-sp,8),minmax(0,1fr));gap:3px;
  padding:5px;border-radius:10px;background:#fff;border:2px solid var(--ux-line)}
.ux-raster-feld.mal{touch-action:none;user-select:none;-webkit-user-select:none}
.ux-raster-feld.ok{border-color:var(--ux-green)}
.ux-raster-feld.bad{border-color:var(--ux-red)}
.ux-raster-reihe{display:contents}
.ux-raster-zelle{position:relative;aspect-ratio:1/1;display:flex;align-items:center;justify-content:center;
  border-radius:6px;background:#fbf8f2;border:1px solid #eadfcd;min-width:0}
.ux-raster-feld.mal .ux-raster-zelle{cursor:pointer}
.ux-raster-feld.mal .ux-raster-zelle:hover{border-color:var(--ux-blue)}
.ux-raster-zelle:focus-visible{outline:3px solid var(--ux-yellow);outline-offset:1px;z-index:1}
.ux-raster-zelle.z1{background:#e6eefa;border-color:#cfdcf1}
.ux-raster-zelle.z2{background:#f6e7cf;border-color:#e8d2ad}
.ux-raster-zelle.z3{background:#e5f1e0;border-color:#c9e0c1}
.ux-raster-zelle.fest{cursor:default}
.ux-raster-zelle.fest::after{content:'';position:absolute;right:3px;top:3px;width:5px;height:5px;border-radius:50%;background:#9a8d7d}
.ux-raster-tok{display:flex;align-items:center;justify-content:center;width:78%;height:78%;border-radius:50%;
  color:#fff;font:700 clamp(12px,3.4vw,19px)/1 'Fredoka',Inter,sans-serif;box-shadow:inset 0 -2px 0 rgba(0,0,0,.2);
  pointer-events:none;transition:transform .14s ease-out}
.ux-raster-tok.k{width:46%;height:46%;font-size:clamp(10px,2.6vw,14px)}
.ux-raster-tok.neu{animation:ux-raster-pop .18s ease-out}
@keyframes ux-raster-pop{from{transform:scale(.55)}to{transform:scale(1)}}
.ux-raster-w.done .ux-raster-zelle{cursor:default}
.ux-raster-w.done .ux-raster-zelle:hover{border-color:#eadfcd}
.ux-raster-vorher{flex:0 1 220px;margin:0;min-width:0}
.ux-raster-vorher figcaption{font:600 13px/1.2 'Fredoka',Inter,sans-serif;color:#6b5f53;margin:0 0 6px;text-align:center}
.ux-raster-feld.klein{gap:2px;padding:4px;border-width:1.5px}
.ux-raster-feld.klein .ux-raster-zelle{border-radius:4px}
.ux-raster-feld.klein .ux-raster-tok{font-size:clamp(9px,2.2vw,12px)}
.ux-raster-regel{display:none}
.ux-raster-hinw{margin:10px 0 0;padding:0;list-style:none;display:flex;flex-direction:column;gap:6px}
.ux-raster-hinw:empty{display:none}
.ux-raster-hinw li{font:500 14px/1.45 Inter,sans-serif;color:#96271e;background:#fbe6e4;border-left:3px solid var(--ux-red);
  border-radius:0 8px 8px 0;padding:7px 11px}
@media(max-width:560px){
  .ux-raster-buehne{padding:10px;gap:12px}
  .ux-raster-vorher{flex-basis:100%;max-width:260px}
  .ux-raster-feld{gap:2px;padding:4px}
  .ux-raster-farbe{font-size:13.5px;padding:6px 10px 6px 7px}
}
@media (prefers-reduced-motion: reduce){
  .ux-raster-tok,.ux-raster-tok.neu{transition:none;animation:none}
}
@media print{.ux-raster-pal,.ux-raster-hinw{display:none}}
/* <<< ux-raster */

/* >>> ux-knoten (Physik K7 2026-10-08) */
/* ---------- knoten: Werte direkt im Schaltplan ---------- */
.ux-knoten-plan{background:var(--ux-paper); border:1.5px solid var(--ux-line); border-radius:11px; padding:12px; overflow-x:auto; -webkit-overflow-scrolling:touch}
.ux-knoten-stage{position:relative; container-type:inline-size; max-width:640px; min-width:380px; margin:0 auto}
.ux-knoten-svg{display:block; width:100%; height:auto}
.ux-knoten-svg text{font-family:'Fredoka','Inter',sans-serif}
.ux-knoten-svg .ux-knoten-m circle{fill:#fff; stroke:var(--ux-blue-d); stroke-width:2.4; transition:fill .2s ease, stroke .2s ease}
.ux-knoten-svg .ux-knoten-m text{fill:var(--ux-blue-d); font-weight:600}
.ux-knoten-svg .ux-knoten-m.has-in{cursor:pointer}
.ux-knoten-svg .ux-knoten-m.has-in circle{fill:#fff8d6; stroke:var(--ux-orange)}
.ux-knoten-svg .ux-knoten-m.has-in text{fill:#a2600f}
.ux-knoten-svg .ux-knoten-m.hl circle{stroke:var(--ux-violet); stroke-width:3.4}
.ux-knoten-svg .ux-knoten-m.ok circle{fill:#e8f4e4; stroke:var(--ux-green-d)}
.ux-knoten-svg .ux-knoten-m.ok text{fill:var(--ux-green-d)}
.ux-knoten-svg .ux-knoten-m.bad circle{fill:#fbe6e4; stroke:var(--ux-red)}
.ux-knoten-svg .ux-knoten-m.bad text{fill:#96271e}

.ux-knoten-f,.ux-knoten-v{
  position:absolute; z-index:1; display:inline-flex; align-items:center; gap:.3em; white-space:nowrap;
  font:600 13px/1.1 'Fredoka','Inter',sans-serif; font-size:clamp(11px,2.3cqw,14.5px);
  color:var(--ux-dark);
}
.ux-knoten-pos-c{transform:translate(-50%,-50%)}
.ux-knoten-pos-r{transform:translate(0,-50%)}
.ux-knoten-pos-l{transform:translate(-100%,-50%)}
.ux-knoten-pos-t{transform:translate(-50%,-100%)}
.ux-knoten-pos-b{transform:translate(-50%,0)}
.ux-knoten-v{
  padding:.28em .55em; border-radius:7px; background:#fff; border:1.5px solid var(--ux-line); color:#3d352d;
}
.ux-knoten-f{
  padding:.2em .35em .2em .45em; border-radius:9px; background:#fff;
  border:1.5px solid var(--ux-orange); box-shadow:0 1px 0 rgba(47,47,47,.06);
  transition:border-color .2s ease, background-color .2s ease;
}
.ux-knoten-l{color:#6b5f53}
.ux-knoten-u{color:#6b5f53; font-weight:600}
.ux-knoten-in{
  width:5em; padding:.32em .4em; border-radius:6px; text-align:right;
  font:600 1em/1 ui-monospace,SFMono-Regular,Menlo,monospace; color:var(--ux-dark);
  border:1.5px solid var(--ux-line); background:#fffdf8;
}
.ux-knoten-in:focus-visible{outline:3px solid var(--ux-yellow); outline-offset:1px}
.ux-knoten-in[readonly]{background:transparent; border-color:transparent}
.ux-knoten-f.hl{border-color:var(--ux-violet)}
.ux-knoten-f.ok{border-color:var(--ux-green); background:#e8f4e4}
.ux-knoten-f.ok .ux-knoten-in{background:#f3faf1}
.ux-knoten-f.bad{border-color:var(--ux-red); background:#fbe6e4}
.ux-knoten-f.bad .ux-knoten-in{background:#fff6f5}
@container (max-width:440px){
  .ux-knoten-l{display:none}
  .ux-knoten-in{width:4.4em; padding:.28em .3em}
  .ux-knoten-f{padding:.16em .28em}
}
@media (prefers-reduced-motion: reduce){
  .ux-knoten-svg .ux-knoten-m circle,.ux-knoten-f{transition:none}
}
@media print{
  .ux-knoten-f{box-shadow:none}
}
/* <<< ux-knoten */

/* >>> ux-ladung (Physik K7 2026-10-08) */
/* ---------- ladung: Ladungs-Detektiv (Physik K7 1.2.2) ---------- */
.ux-ladung-obs{display:grid; grid-template-columns:repeat(auto-fill,minmax(150px,1fr)); gap:10px; margin:0 0 12px; padding:0}
.ux-ladung-ob{
  margin:0; padding:8px 8px 7px; border-radius:11px;
  background:var(--ux-paper); border:1.5px solid var(--ux-line);
  display:flex; flex-direction:column; align-items:center; gap:3px;
}
.ux-ladung-ob svg{display:block; width:100%; max-width:200px; height:auto}
.ux-ladung-ob figcaption{
  font-family:'Fredoka',Inter,sans-serif; font-size:13px; font-weight:500; line-height:1.3;
  color:var(--ux-dark); text-align:center;
}
.ux-ladung-ob .ux-ladung-nr{color:#6b5f53; font-weight:600}
.ux-ladung-ob.ok{background:#eef7ea; border-color:var(--ux-green)}
.ux-ladung-ob.bad{background:#fbe6e4; border-color:var(--ux-red)}
.ux-ladung-beam{stroke:var(--ux-dark); stroke-width:3.5; stroke-linecap:round}
.ux-ladung-lot{stroke:var(--ux-line); stroke-width:1.2; stroke-dasharray:3 3}
.ux-ladung-thread{stroke:#8a7d6b; stroke-width:1.4}
.ux-ladung-dot{fill:#fff; stroke:#b9ab95; stroke-width:2; stroke-dasharray:4 3; transition:fill .2s, stroke .2s}
.ux-ladung-dot.s-plus{fill:#f8d3ce; stroke:var(--ux-red); stroke-dasharray:none}
.ux-ladung-dot.s-minus{fill:#d3e0f6; stroke:var(--ux-blue-d); stroke-dasharray:none}
.ux-ladung-dot.s-null{fill:#f4ede0; stroke:#8a7d6b; stroke-dasharray:none}
.ux-ladung-dot.s-frage{fill:#ebe4f6; stroke:var(--ux-violet); stroke-dasharray:none}
.ux-ladung-dl{font-family:'Fredoka',Inter,sans-serif; font-size:16px; font-weight:600; fill:var(--ux-dark); pointer-events:none}
.ux-ladung-set{
  display:flex; flex-wrap:wrap; justify-content:center; gap:12px 14px;
  padding:12px; border-radius:11px; background:#fff; border:1.5px solid var(--ux-line);
}
.ux-ladung-k{display:flex; flex-direction:column; align-items:center; gap:5px; min-width:84px}
.ux-ladung-ball{
  width:54px; height:54px; border-radius:50%; padding:0; cursor:pointer;
  display:flex; align-items:center; justify-content:center;
  background:#fff; border:2.5px dashed #b9ab95; color:var(--ux-dark);
  font:600 27px/1 'Fredoka',Inter,sans-serif;
  transition:background-color .2s, border-color .2s;
}
.ux-ladung-ball:hover{border-color:var(--ux-blue)}
.ux-ladung-ball:focus-visible{outline:3px solid var(--ux-yellow); outline-offset:3px}
.ux-ladung-ball.s-plus{background:#f8d3ce; border:2.5px solid var(--ux-red); color:#96271e}
.ux-ladung-ball.s-minus{background:#d3e0f6; border:2.5px solid var(--ux-blue-d); color:#1f437f}
.ux-ladung-ball.s-null{background:#f4ede0; border:2.5px solid #8a7d6b; color:#4f463c}
.ux-ladung-ball.s-frage{background:#ebe4f6; border:2.5px solid var(--ux-violet); color:#4e3a7d}
.ux-ladung-ball.pop{animation:ux-ladung-pop .22s ease-out}
@keyframes ux-ladung-pop{0%{transform:scale(.86)}100%{transform:scale(1)}}
.ux-ladung-k.fix .ux-ladung-ball{cursor:default}
.ux-ladung-name{font-family:'Fredoka',Inter,sans-serif; font-size:14px; font-weight:600; color:var(--ux-dark); text-align:center; line-height:1.2}
.ux-ladung-fixcap{font-size:12px; color:#6b5f53; line-height:1.2; text-align:center}
.ux-ladung-opts{display:flex; flex-wrap:wrap; justify-content:center; gap:4px; max-width:132px}
.ux-ladung-opt{
  width:30px; height:30px; padding:0; border-radius:8px; cursor:pointer;
  background:#f7f2e8; border:1.5px solid var(--ux-line); color:var(--ux-dark);
  font:600 16px/1 'Fredoka',Inter,sans-serif;
  transition:background-color .15s, border-color .15s;
}
.ux-ladung-opt:hover{border-color:var(--ux-blue)}
.ux-ladung-opt:focus-visible{outline:3px solid var(--ux-yellow); outline-offset:2px}
.ux-ladung-opt[aria-pressed="true"]{background:var(--ux-violet); border-color:var(--ux-violet); color:#fff}
.ux-ladung-w.done .ux-ladung-ball,.ux-ladung-w.done .ux-ladung-opt{cursor:default}
.ux-ladung-w.done .ux-ladung-opt:not([aria-pressed="true"]){opacity:.45}
@media (max-width:560px){
  .ux-ladung-obs{grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px}
  .ux-ladung-ob{padding:6px 5px 6px}
  .ux-ladung-ob figcaption{font-size:12px}
  .ux-ladung-set{gap:12px 8px; padding:10px 6px}
  .ux-ladung-k{min-width:0; width:calc(50% - 4px)}
  .ux-ladung-ball{width:46px; height:46px; font-size:24px}
  .ux-ladung-w[data-unklar="1"] .ux-ladung-opts{max-width:64px}
}
@media (prefers-reduced-motion: reduce){
  .ux-ladung-dot,.ux-ladung-ball,.ux-ladung-opt{transition:none}
  .ux-ladung-ball.pop{animation:none}
}
/* <<< ux-ladung */

/* >>> ux-zaehler (Physik K7 2026-10-08) */
/* ---------- Rollen-Zählwerk (zaehler) ---------- */
.ux-zl-meters{
  display:flex; flex-wrap:wrap; justify-content:center; gap:16px 28px;
  background:var(--ux-paper); border:1.5px solid var(--ux-line); border-radius:11px; padding:15px 12px;
}
.ux-zl-meter{display:flex; flex-direction:column; align-items:center; gap:7px; min-width:0; max-width:100%}
.ux-zl-cap{font:600 14px/1.3 'Fredoka',Inter,sans-serif; color:#6b5f53; text-align:center}
.ux-zl-box{
  display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:6px 10px;
  background:#fff; border:1.5px solid var(--ux-line); border-radius:12px; padding:9px 12px;
  box-shadow:0 2px 0 rgba(47,47,47,.06);
}
.ux-zl-rolls{display:flex; align-items:center; gap:4px}
.ux-zl-col{display:flex; flex-direction:column; align-items:center; gap:4px}
.ux-zl-roll{
  position:relative; width:38px; height:50px; overflow:hidden; border-radius:7px;
  background:var(--ux-dark); touch-action:none; cursor:ns-resize;
  -webkit-user-select:none; user-select:none;
}
.ux-zl-meter.fix .ux-zl-roll{cursor:default; touch-action:auto}
.ux-zl-col.dec .ux-zl-roll{background:var(--ux-red)}
.ux-zl-roll::after{
  content:''; position:absolute; inset:0; pointer-events:none; border-radius:7px;
  background:linear-gradient(rgba(0,0,0,.42),rgba(0,0,0,0) 32%,rgba(0,0,0,0) 68%,rgba(0,0,0,.42));
}
.ux-zl-roll:focus-visible{outline:3px solid var(--ux-yellow); outline-offset:2px}
.ux-zl-strip{display:flex; flex-direction:column; transition:transform .22s ease}
.ux-zl-strip.ux-zl-nt{transition:none}
.ux-zl-strip span{
  display:block; height:50px; line-height:50px; text-align:center;
  font:600 28px/50px 'Fredoka',Inter,sans-serif; color:#fff; font-variant-numeric:tabular-nums;
}
.ux-zl-comma{font:700 28px/1 'Fredoka',Inter,sans-serif; color:var(--ux-dark); align-self:center; margin:0 -1px}
.ux-zl-unit{font:600 18px/1 'Fredoka',Inter,sans-serif; color:var(--ux-dark)}
.ux-zl-btn{
  width:38px; height:22px; padding:0; cursor:pointer; line-height:1;
  border:1px solid var(--ux-line); background:#f7f2e8; border-radius:6px;
  font-size:10px; color:var(--ux-dark);
}
.ux-zl-btn:hover{background:var(--ux-blue); color:#fff; border-color:var(--ux-blue)}
.ux-zl-btn:focus-visible{outline:2px solid var(--ux-yellow); outline-offset:1px}
.ux-zl-btn[disabled]{opacity:.35; cursor:default; background:#f7f2e8; color:var(--ux-dark); border-color:var(--ux-line)}
.ux-zl-meter.ok .ux-zl-box{border-color:var(--ux-green); background:#e8f4e4}
.ux-zl-meter.bad .ux-zl-box{border-color:var(--ux-red); background:#fbe6e4}
.ux-zl-sr{position:absolute; width:1px; height:1px; margin:-1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; border:0; padding:0}
.ux[data-ux="zaehler"].done .ux-zl-roll{cursor:default}
@media(max-width:520px){
  .ux-zl-meters{padding:12px 6px; gap:14px}
  .ux-zl-box{padding:8px 8px; gap:6px 8px}
  .ux-zl-rolls{gap:3px}
  .ux-zl-roll,.ux-zl-btn{width:31px}
  .ux-zl-roll{height:44px}
  .ux-zl-strip span{height:44px; line-height:44px; font-size:24px}
  .ux-zl-comma{font-size:24px}
  .ux-zl-unit{font-size:16px}
}
@media (prefers-reduced-motion: reduce){
  .ux-zl-strip{transition:none}
}
@media print{
  .ux-zl-btn{display:none !important}
}
/* <<< ux-zaehler */

/* >>> ux-stapel (Physik K7 2026-10-08) */
/* ---------- stapel: gestapelte Balken mit Teilungsgriffen ---------- */
.ux-stapel-legend{display:flex;flex-wrap:wrap;gap:6px 14px;margin:0 0 8px;font:500 13px/1.3 'Fredoka',Inter,sans-serif;color:var(--ux-dark)}
.ux-stapel-key{display:inline-flex;align-items:center;gap:6px}
.ux-stapel-sw{display:inline-block;width:13px;height:13px;border-radius:4px;flex:0 0 13px;border:1px solid rgba(0,0,0,.12)}
.ux-stapel{display:flex;flex-direction:column;gap:10px}
.ux-stapel-row{background:var(--ux-paper);border:1.5px solid var(--ux-line);border-radius:11px;padding:10px 14px 9px}
.ux-stapel-row.fix{background:#fff;border-style:dashed}
.ux-stapel-row.ok{background:#eef7ea;border-color:var(--ux-green)}
.ux-stapel-row.bad{background:#fdf0ee;border-color:var(--ux-red)}
.ux-stapel-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 10px;margin-bottom:9px}
.ux-stapel-lab{font:600 14px/1.35 'Fredoka',Inter,sans-serif;color:var(--ux-dark);flex:1 1 auto;min-width:0}
.ux-stapel-tag{font:500 11.5px/1 'Fredoka',Inter,sans-serif;color:#6b5f53;background:#f3ece0;border:1px solid var(--ux-line);border-radius:20px;padding:3px 8px}
.ux-stapel-sum{font:500 12.5px/1 'Fredoka',Inter,sans-serif;color:#6b5f53}
.ux-stapel-track{position:relative;height:38px;margin:6px 9px;touch-action:pan-y;cursor:pointer;-webkit-user-select:none;user-select:none}
.ux-stapel-row.fix .ux-stapel-track{cursor:default}
.ux-stapel-bar{display:flex;height:100%;border-radius:8px;overflow:hidden;background:#fff;border:1.5px solid var(--ux-dark)}
.ux-stapel-seg{height:100%;min-width:0;transition:width .12s ease}
.ux-stapel-seg+.ux-stapel-seg{box-shadow:inset 1.5px 0 0 rgba(255,255,255,.85)}
.ux-stapel-seg.leer{box-shadow:none}
.ux-stapel-c-blue{background:#5b8bd8}
.ux-stapel-c-green{background:#67b05f}
.ux-stapel-c-orange{background:#e79a3a}
.ux-stapel-c-red{background:#e2574c}
.ux-stapel-c-violet{background:#7c5fb5}
.ux-stapel-c-yellow{background:#f4d03f}
.ux-stapel-c-dark{background:#2f2f2f}
.ux-stapel-grip{position:absolute;top:-7px;bottom:-7px;width:18px;margin-left:-9px;border-radius:6px;background:#fff;border:2px solid var(--ux-dark);
  box-shadow:0 1px 3px rgba(0,0,0,.18);cursor:ew-resize;touch-action:none;transition:left .12s ease;
  background-image:linear-gradient(90deg,transparent 5px,#b8ab96 5px,#b8ab96 6.5px,transparent 6.5px,transparent 8.5px,#b8ab96 8.5px,#b8ab96 10px,transparent 10px)}
.ux-stapel-grip:hover{border-color:var(--ux-violet)}
.ux-stapel-grip:focus{outline:none}
.ux-stapel-grip:focus-visible{outline:3px solid var(--ux-yellow);outline-offset:2px;border-color:var(--ux-violet)}
.ux-stapel-track.drag .ux-stapel-seg,.ux-stapel-track.drag .ux-stapel-grip{transition:none}
.ux-stapel-track.drag .ux-stapel-grip:focus{border-color:var(--ux-violet)}
.ux-stapel-vals{display:flex;flex-wrap:wrap;gap:4px 14px;margin-top:9px;font:400 13px/1.35 'Fredoka',Inter,sans-serif;color:#4e453c}
.ux-stapel-val{display:inline-flex;align-items:center;gap:6px}
.ux-stapel-val b{font-weight:600;color:var(--ux-dark);font-variant-numeric:tabular-nums}
.ux.done .ux-stapel-track{cursor:default}
.ux.done .ux-stapel-grip{cursor:default;border-color:var(--ux-green-d)}
.ux-stapel-rm .ux-stapel-seg,.ux-stapel-rm .ux-stapel-grip{transition:none}
@media (max-width:520px){
  .ux-stapel-row{padding:9px 10px 8px}
  .ux-stapel-vals{gap:3px 10px;font-size:12.5px}
}
@media (prefers-reduced-motion: reduce){
  .ux-stapel-seg,.ux-stapel-grip{transition:none}
}
/* <<< ux-stapel */

/* >>> ux-tank (Physik K7 2026-10-08) */
/* ---------- tank: Füllstands-Tanks / Energiekonten ---------- */
.ux-tank-w{--tank-h:190px}
.ux-tank-row{
  display:flex; align-items:flex-start; gap:10px; max-width:100%;
  padding:12px 14px 12px 8px; border-radius:11px;
  background:var(--ux-paper); border:1.5px solid var(--ux-line);
}
.ux-tank-axis{flex:0 0 auto; min-width:28px; font:500 11.5px/1 'Fredoka',Inter,sans-serif; color:#6b5f53}
.ux-tank-unit{display:block; height:22px; line-height:22px; text-align:right; font-weight:600; color:var(--ux-dark)}
.ux-tank-scale{position:relative; height:var(--tank-h); margin-top:6px}
.ux-tank-tl{position:absolute; right:0; transform:translateY(50%); white-space:nowrap}
.ux-tank{
  flex:1 1 0; min-width:0; max-width:132px;
  display:flex; flex-direction:column; align-items:center; gap:6px;
}
.ux-tank-val{
  display:block; height:22px; font:600 15px/22px 'Fredoka',Inter,sans-serif;
  color:var(--ux-dark); white-space:nowrap; font-variant-numeric:tabular-nums;
}
.ux-tank-vessel{
  position:relative; display:block; width:100%; max-width:76px; height:var(--tank-h);
  background:#fff; border:2px solid #b9ab94; border-radius:9px 9px 12px 12px;
  overflow:hidden; cursor:ns-resize; touch-action:none; -webkit-user-select:none; user-select:none;
}
.ux-tank-vessel:focus-visible{outline:3px solid var(--ux-yellow); outline-offset:2px}
.ux-tank-tick{position:absolute; left:0; right:0; height:0; border-top:1px solid rgba(47,47,47,.13); z-index:2; pointer-events:none}
.ux-tank-fill{
  position:absolute; left:0; right:0; bottom:0; height:0; z-index:1;
  background:var(--tank-c,var(--ux-blue)); border-top:2px solid rgba(47,47,47,.38);
  transition:height .15s ease-out;
}
.ux-tank-ghost{position:absolute; left:0; right:0; height:0; border-top:2px dashed rgba(47,47,47,.55); z-index:3; pointer-events:none}
.ux-tank-c-blue{--tank-c:var(--ux-blue)}
.ux-tank-c-green{--tank-c:var(--ux-green)}
.ux-tank-c-orange{--tank-c:var(--ux-orange)}
.ux-tank-c-red{--tank-c:var(--ux-red)}
.ux-tank-c-violet{--tank-c:var(--ux-violet)}
.ux-tank-c-yellow{--tank-c:var(--ux-yellow)}
.ux-tank-steps{display:flex; justify-content:center; gap:6px; width:100%}
.ux-tank-btn{
  flex:0 1 32px; min-width:0; height:30px; padding:0; cursor:pointer;
  font:600 17px/1 'Fredoka',Inter,sans-serif; color:var(--ux-dark);
  background:#fff; border:1.5px solid var(--ux-line); border-radius:8px;
}
.ux-tank-btn:hover{border-color:var(--ux-blue); background:#f1f6ff}
.ux-tank-btn:focus-visible{outline:3px solid var(--ux-yellow); outline-offset:2px}
.ux-tank-btn[disabled]{opacity:.4; cursor:default; background:#fff; border-color:var(--ux-line)}
.ux-tank-name{
  display:block; max-width:100%; text-align:center; overflow-wrap:break-word; -webkit-hyphens:auto; hyphens:auto;
  font:600 13.5px/1.25 'Fredoka',Inter,sans-serif; color:var(--ux-dark);
}
.ux-tank-key{
  display:none; align-items:center; justify-content:center; width:21px; height:21px; border-radius:50%;
  background:var(--tank-c,var(--ux-blue)); color:#fff; font:600 12px/1 'Fredoka',Inter,sans-serif;
}
.ux-tank-c-yellow .ux-tank-key,.ux-tank-key.ux-tank-c-yellow{color:var(--ux-dark)}
.ux-tank-legend{display:none; list-style:none; margin:8px 0 0; padding:0; gap:5px 14px; flex-wrap:wrap;
  font:500 13px/1.3 'Fredoka',Inter,sans-serif; color:var(--ux-dark)}
.ux-tank-legend li{display:flex; align-items:center; gap:6px}
.ux-tank-legend .ux-tank-key{display:inline-flex; flex:0 0 21px}
.ux-tank.fix .ux-tank-vessel{cursor:default; border-style:dashed; background:#f7f2e8}
.ux-tank.fix .ux-tank-steps{visibility:hidden}
.ux-tank.ok .ux-tank-vessel{border-color:var(--ux-green-d)}
.ux-tank.ok .ux-tank-val{color:var(--ux-green-d)}
.ux-tank-miss .ux-tank-row{border-color:#e9b3ad}
.ux.done .ux-tank-vessel{cursor:default}
.ux-tank-info{
  display:flex; flex-wrap:wrap; align-items:center; gap:6px 14px; margin:9px 0 0;
  font:500 13.5px/1.4 'Fredoka',Inter,sans-serif; color:#6b5f53;
}
.ux-tank-info[hidden]{display:none}
.ux-tank-info b{font-weight:600; color:var(--ux-dark)}
.ux-tank-free{display:inline-block; padding:3px 11px; border-radius:20px; background:#fff; border:1.5px solid var(--ux-line)}
.ux-tank-info.open .ux-tank-free{background:#fdf1e1; border-color:var(--ux-orange); color:#8a5212}
.ux-tank-info.open .ux-tank-free b{color:#8a5212}
.ux-tank-info.pulse .ux-tank-free{animation:uxTankPulse .6s ease-out 1}
@keyframes uxTankPulse{0%{transform:scale(1)}40%{transform:scale(1.08)}100%{transform:scale(1)}}
@media (max-width:560px){
  .ux-tank-w{--tank-h:160px}
  .ux-tank-row{gap:6px; padding:10px 8px 10px 4px}
  .ux-tank-axis{min-width:24px}
  .ux-tank-val{font-size:12.5px}
  .ux-tank-vessel{max-width:48px}
  .ux-tank-steps{flex-direction:column-reverse; align-items:center; gap:5px}
  .ux-tank-btn{flex:0 0 auto; width:100%; max-width:44px; height:30px; font-size:16px}
  .ux-tank-name{display:none}
  .ux-tank-key{display:inline-flex}
  .ux-tank-legend{display:flex}
}
@media (prefers-reduced-motion: reduce){
  .ux-tank-fill{transition:none}
  .ux-tank-info.pulse .ux-tank-free{animation:none}
}
@media print{.ux-tank-steps{display:none}}
/* <<< ux-tank */

/* >>> ux-richtung (Physik K7 2026-10-08) */
/* ---------- richtung: Richtungspfeile an Leitungsabschnitten (Physik K7 2026-10-08) ---------- */
.ux-richtung-stage{background:var(--ux-paper);border:1.5px solid var(--ux-line);border-radius:11px;padding:10px 12px}
.ux-richtung-svg{display:block;width:100%;max-width:560px;height:auto;margin:0 auto;touch-action:manipulation;overflow:visible}
.ux-richtung-svg text{font-family:'Fredoka',Inter,sans-serif;font-weight:600;fill:var(--ux-dark)}
.ux-richtung-svg .ux-richtung-draht{fill:none;stroke:var(--ux-dark);stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round}
.ux-richtung-pf{cursor:pointer;outline:none}
.ux-richtung-pf .ux-richtung-zone{fill:transparent;stroke:none}
.ux-richtung-pf .ux-richtung-hit{fill:#fff;stroke:#b8aa92;stroke-width:1.6;stroke-dasharray:4 3;transition:stroke .15s,fill .15s}
.ux-richtung-pf:hover .ux-richtung-hit{stroke:var(--ux-blue-d);stroke-width:2.2}
.ux-richtung-pf:not(.leer) .ux-richtung-hit{stroke-dasharray:none;stroke:var(--ux-line)}
.ux-richtung-pf:focus-visible .ux-richtung-hit{stroke:var(--ux-yellow);stroke-width:4;stroke-dasharray:none}
.ux-richtung-pfeil{transition:transform .2s ease;transform-box:fill-box;transform-origin:center}
.ux-richtung-pf.leer .ux-richtung-pfeil{display:none}
.ux-richtung-pf.k0 .ux-richtung-form{fill:var(--ux-blue-d)}
.ux-richtung-pf.k0 .ux-richtung-schaft{stroke:var(--ux-blue-d);stroke-width:3.4;stroke-linecap:round}
.ux-richtung-pf.k1 .ux-richtung-form{fill:var(--ux-orange);stroke:#a8640f;stroke-width:1.2;stroke-linejoin:round}
.ux-richtung-pf.k2 .ux-richtung-form{fill:var(--ux-violet)}
.ux-richtung-pf.k2 .ux-richtung-schaft{stroke:var(--ux-violet);stroke-width:3.2;stroke-dasharray:4 3}
.ux-richtung-pf.fix{cursor:default}
.ux-richtung-pf.fix .ux-richtung-hit{fill:#e6ddcc;stroke:#b8aa92;stroke-dasharray:none}
.ux-richtung-pf.bad .ux-richtung-hit{stroke:var(--ux-red);stroke-width:3;stroke-dasharray:none;fill:#fbe6e4}
.ux-richtung-pf.ok .ux-richtung-hit{stroke:var(--ux-green);stroke-width:2.6;stroke-dasharray:none;fill:#e8f4e4}
.ux.done .ux-richtung-pf{cursor:default}
.ux-richtung-leg{display:flex;flex-wrap:wrap;gap:6px 16px;margin-top:8px;font-family:'Fredoka',Inter,sans-serif;font-size:13.5px;font-weight:500;color:#6b5f53}
.ux-richtung-li{display:inline-flex;align-items:center;gap:6px}
.ux-richtung-li svg{display:block;overflow:visible}
.ux-richtung-li.k0 .ux-richtung-form{fill:var(--ux-blue-d)}
.ux-richtung-li.k0 .ux-richtung-schaft{stroke:var(--ux-blue-d);stroke-width:3.4;stroke-linecap:round}
.ux-richtung-li.k1 .ux-richtung-form{fill:var(--ux-orange);stroke:#a8640f;stroke-width:1.2}
.ux-richtung-li.k2 .ux-richtung-form{fill:var(--ux-violet)}
.ux-richtung-li.k2 .ux-richtung-schaft{stroke:var(--ux-violet);stroke-width:3.2;stroke-dasharray:4 3}
.ux-richtung-li.fixh::before{content:'';display:inline-block;width:14px;height:14px;border-radius:50%;background:#e6ddcc;border:1.5px solid #b8aa92}
.ux-richtung-win .ux-richtung-stage{animation:ux-richtung-glow .9s ease-out 1}
@keyframes ux-richtung-glow{0%{box-shadow:0 0 0 0 rgba(103,176,95,.55)}100%{box-shadow:0 0 0 12px rgba(103,176,95,0)}}
@media (max-width:480px){
  .ux-richtung-stage{padding:6px;overflow-x:auto;-webkit-overflow-scrolling:touch}
  .ux-richtung-svg{min-width:520px}
  .ux-richtung-leg{font-size:12.5px}
}
@media (prefers-reduced-motion: reduce){
  .ux-richtung-pfeil{transition:none}
  .ux-richtung-pf .ux-richtung-hit{transition:none}
  .ux-richtung-win .ux-richtung-stage{animation:none}
}
/* <<< ux-richtung */

/* >>> ux-einbau (Physik K7 2026-10-08) */
/* ---------- einbau: Amperemeter in einen Schaltplan einsetzen ---------- */
.ux-einbau-task,.ux-einbau-pos{display:none}
.ux-einbau-ask{font-size:14.5px; line-height:1.55; color:var(--ux-dark); margin:0 0 10px; font-weight:600}
.ux-einbau-stage{background:var(--ux-paper); border:1.5px solid var(--ux-line); border-radius:11px; padding:10px; overflow:hidden}
.ux-einbau-svg{display:block; width:100%; max-width:640px; height:auto; margin:0 auto; touch-action:manipulation}
.ux-einbau-svg text{font-family:'Fredoka','Inter',sans-serif}
.ux-einbau-ctl{display:flex; flex-wrap:wrap; align-items:center; gap:8px 12px; margin-top:10px}
.ux-einbau-stat{font-size:13.5px; line-height:1.45; color:#6b5f53; flex:1 1 220px; min-width:0}
.ux-einbau-log{margin:8px 0 0; padding-left:22px; font-size:13.5px; line-height:1.55; color:var(--ux-green-d)}
.ux-einbau-log:empty{display:none}
/* Einbaustellen */
.ux-einbau-slot{cursor:pointer; outline:none}
.ux-einbau-hit{fill:transparent}
.ux-einbau-ph{fill:rgba(255,255,255,.82); stroke:var(--ux-violet); stroke-width:2; stroke-dasharray:4 3; transition:stroke .15s ease, stroke-width .15s ease}
.ux-einbau-num{font-size:12px; font-weight:600; fill:var(--ux-violet); pointer-events:none}
.ux-einbau-lead{fill:none; stroke:var(--ux-violet); stroke-width:1.8; stroke-dasharray:4 3; opacity:.75; pointer-events:none}
.ux-einbau-slot:hover .ux-einbau-ph{stroke:var(--ux-blue-d); stroke-width:2.8}
.ux-einbau-slot:focus-visible .ux-einbau-ph{stroke:var(--ux-yellow); stroke-width:4; stroke-dasharray:none}
.ux-einbau-slot:focus-visible .ux-einbau-lead{stroke:var(--ux-yellow); opacity:1}
.ux-einbau-slot.on .ux-einbau-ph,.ux-einbau-slot.on .ux-einbau-num,.ux-einbau-slot.on .ux-einbau-lead,
.ux-einbau-slot.belegt .ux-einbau-ph,.ux-einbau-slot.belegt .ux-einbau-num,.ux-einbau-slot.belegt .ux-einbau-lead{opacity:0}
.ux-einbau-slot.on:focus-visible .ux-einbau-ph{opacity:1; fill:none}
.ux-einbau-slot.belegt{cursor:default}
/* Amperemeter */
.ux-einbau-m{cursor:pointer}
.ux-einbau-m.fix{cursor:default; pointer-events:none}
.ux-einbau-draht{fill:none; stroke:var(--ux-dark); stroke-width:2.4}
.ux-einbau-knoten{fill:var(--ux-dark)}
.ux-einbau-kreis{fill:#fff; stroke:var(--ux-dark); stroke-width:2.4}
.ux-einbau-a{font-size:16px; font-weight:600; fill:var(--ux-dark)}
.ux-einbau-plus{font-size:16px; font-weight:700; fill:var(--ux-red)}
.ux-einbau-minus{font-size:16px; font-weight:700; fill:var(--ux-blue-d)}
.ux-einbau-m.cur .ux-einbau-kreis{stroke:var(--ux-violet); stroke-width:3}
.ux-einbau-m.bad .ux-einbau-kreis{fill:#fbe6e4; stroke:var(--ux-red)}
.ux-einbau-m.bad .ux-einbau-draht{stroke:var(--ux-red)}
.ux-einbau-m.fix .ux-einbau-kreis{fill:#e8f4e4; stroke:var(--ux-green-d)}
.ux-einbau-tag rect{fill:#fff; stroke:var(--ux-green-d); stroke-width:1.6}
.ux-einbau-tag text{font-size:13px; font-weight:600; fill:var(--ux-green-d)}
.ux-einbau-koerper{transform-box:fill-box; transform-origin:center}
.ux-einbau-m.neu .ux-einbau-koerper{animation:uxEinbauPop .22s ease-out}
@keyframes uxEinbauPop{from{transform:scale(.6); opacity:.3} to{transform:scale(1); opacity:1}}
.ux.done .ux-einbau-slot{cursor:default}
.ux.done .ux-einbau-slot .ux-einbau-ph{stroke:var(--ux-line)}
.ux.done .ux-einbau-slot .ux-einbau-num{fill:#b9ac9a}
@media (max-width:560px){
  .ux-einbau-stage{padding:6px; overflow-x:auto; -webkit-overflow-scrolling:touch}
  .ux-einbau-svg{min-width:430px}
  .ux-einbau-ctl .ux-btn{flex:0 0 auto}
}
@media (prefers-reduced-motion: reduce){
  .ux-einbau-m.neu .ux-einbau-koerper{animation:none}
  .ux-einbau-ph{transition:none}
}
@media print{.ux-einbau-ctl{display:none}}
/* <<< ux-einbau */

/* >>> ux-messreihe (Physik K7 2026-10-08) */
/* ---------- messreihe: Messtabelle bearbeiten (Kopfzeile · Ausreißer · Mittelwert) ---------- */
.ux-mr-wrap{overflow-x:auto;background:var(--ux-paper);border:1.5px solid var(--ux-line);border-radius:11px;padding:10px}
.ux-mr-tab{border-collapse:collapse;min-width:100%;font:500 15px/1.3 'Fredoka',Inter,sans-serif;color:var(--ux-dark)}
.ux-mr-tab caption{caption-side:top;text-align:left;font:600 14px/1.4 'Fredoka',Inter,sans-serif;color:#6b5f53;padding:0 2px 8px}
.ux-mr-tab th,.ux-mr-tab td{border:1px solid var(--ux-line);padding:6px 7px;text-align:center;vertical-align:middle;background:#fff}
.ux-mr-tab thead th{background:#f3ece0;font-weight:600}
.ux-mr-tab tbody th{background:#f8f3ea;font-weight:600;white-space:nowrap}
.ux-mr-tab td.ux-mr-mw{background:#f2f6fc}
.ux-mr-kopf{display:inline-flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:4px 6px}
.ux-mr-sel{font:600 14.5px/1.2 'Fredoka',Inter,sans-serif;color:var(--ux-dark);background:#fff;
  border:1.5px solid var(--ux-line);border-radius:8px;padding:5px 6px;max-width:100%;cursor:pointer;
  transition:border-color .15s ease,background-color .15s ease}
.ux-mr-sel:focus-visible{outline:3px solid var(--ux-yellow);outline-offset:2px}
.ux-mr-sel.ok{border-color:var(--ux-green);background:#e8f4e4}
.ux-mr-sel[disabled]{opacity:1;cursor:default;color:var(--ux-green-d)}
.ux-mr-val{font:500 15px/1 'Fredoka',Inter,sans-serif;color:var(--ux-dark);cursor:pointer;
  min-width:54px;padding:7px 8px;border-radius:8px;border:2px solid transparent;background:transparent;
  transition:background-color .15s ease,border-color .15s ease}
.ux-mr-val:hover{background:#f3ece0}
.ux-mr-val:focus-visible{outline:3px solid var(--ux-yellow);outline-offset:1px}
.ux-mr-val.on{border:2px dashed var(--ux-orange);background:#fdf0dd;color:#8a4b0c;font-weight:600}
.ux-messreihe-w.done .ux-mr-val{cursor:default}
.ux-messreihe-w.done .ux-mr-val:hover{background:transparent}
.ux-messreihe-w.done .ux-mr-val.on{border-style:solid;background:#fdf0dd}
.ux-mr-in{width:78px;max-width:100%;font:600 14px/1 ui-monospace,SFMono-Regular,Menlo,monospace;padding:7px 8px;border-radius:7px;
  border:1.5px solid var(--ux-line);background:#fff;color:var(--ux-dark);text-align:center;
  transition:border-color .15s ease,background-color .15s ease}
.ux-mr-in:focus-visible{outline:3px solid var(--ux-yellow);outline-offset:2px}
.ux-mr-in.ok{border-color:var(--ux-green);background:#e8f4e4}
.ux-mr-in.bad{border-color:var(--ux-red);background:#fbe6e4}
.ux-mr-stat{margin:8px 2px 0;font:500 13px/1.4 'Fredoka',Inter,sans-serif;color:#6b5f53}
.ux-mr-legend{display:inline-block;width:22px;height:13px;margin:0 5px -2px 0;border:2px dashed var(--ux-orange);border-radius:4px;background:#fdf0dd}
@media (max-width:560px){
  .ux-mr-wrap{padding:4px}
  .ux-mr-tab{font-size:13.5px}
  .ux-mr-tab th,.ux-mr-tab td{padding:4px 2px}
  .ux-mr-tab thead th{font-size:13px}
  .ux-mr-tab th{white-space:normal;-webkit-hyphens:auto;hyphens:auto}
  .ux-mr-kopf{flex-direction:column;align-items:stretch;gap:3px}
  .ux-mr-sel{width:100%;font-size:12px;padding:4px 1px}
  .ux-mr-sel.kurz{width:4.4em}
  .ux-mr-val{min-width:0;width:100%;padding:6px 1px;font-size:13.5px}
  .ux-mr-in{width:100%;min-width:42px;padding:6px 2px;font-size:13px}
}
@media (prefers-reduced-motion: reduce){
  .ux-mr-sel,.ux-mr-val,.ux-mr-in{transition:none}
}
/* <<< ux-messreihe */

/* >>> ux-zeiger (Physik K7 2026-10-08) */
/* ---------- zeiger: Analoges Zeigermessgerät (Physik K7 1.2.2) ---------- */
.ux-zg-ask{
  margin:0 0 10px; font:500 15px/1.5 'Fredoka',Inter,sans-serif; color:var(--ux-dark);
  padding:9px 12px; border-radius:10px; background:#fff; border:1.5px solid var(--ux-line);
}
.ux-zg-body{display:grid; grid-template-columns:minmax(0,1.55fr) minmax(0,1fr); gap:12px; align-items:stretch}
.ux-zg-meter{
  position:relative; padding:8px; border-radius:11px;
  background:var(--ux-paper); border:1.5px solid var(--ux-line);
}
.ux-zg-face{display:block; width:100%; max-width:440px; height:auto; margin:0 auto}
.ux-zg-bg{fill:#fff; stroke:var(--ux-line); stroke-width:1.6}
.ux-zg-arc{fill:none; stroke:var(--ux-dark); stroke-width:1.6}
.ux-zg-tick{stroke:var(--ux-dark); stroke-width:1.1}
.ux-zg-tick.big{stroke-width:1.9}
.ux-zg-num{font:500 13.5px/1 'Fredoka',Inter,sans-serif; fill:var(--ux-dark)}
.ux-zg-sym{font:600 30px/1 'Fredoka',Inter,sans-serif; fill:#b9ab95}
.ux-zg-fuse{font:600 13px/1 'Fredoka',Inter,sans-serif; fill:var(--ux-red); opacity:0}
.ux-zg-meter.blown .ux-zg-fuse{opacity:1}
.ux-zg-needle line{stroke:var(--ux-red); stroke-width:2.6; stroke-linecap:round}
.ux-zg-pivot{fill:var(--ux-dark)}
.ux-zg-pivot2{fill:#fff}
.ux-zg-meter.over{border-color:var(--ux-red); background:#fbe6e4}
.ux-zg-sr{
  position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden;
  clip:rect(0 0 0 0); clip-path:inset(50%); white-space:nowrap; border:0;
}
.ux-zg-side{display:flex; flex-direction:column; gap:10px; min-width:0}
.ux-zg-dial{
  padding:8px 8px 4px; border-radius:11px; background:var(--ux-paper); border:1.5px solid var(--ux-line);
  display:flex; flex-direction:column; align-items:center;
}
.ux-zg-cap{font:600 13px/1.2 'Fredoka',Inter,sans-serif; color:#6b5f53; align-self:flex-start}
.ux-zg-knob{display:block; width:100%; max-width:280px; height:auto; touch-action:none}
.ux-zg-stop{cursor:pointer}
.ux-zg-hit{fill:transparent}
.ux-zg-dot{fill:#b9ab95}
.ux-zg-rl{font:500 12.5px/1 'Fredoka',Inter,sans-serif; fill:#6b5f53}
.ux-zg-stop:hover .ux-zg-rl{fill:var(--ux-blue-d)}
.ux-zg-stop.on .ux-zg-dot{fill:var(--ux-blue-d)}
.ux-zg-stop.on .ux-zg-rl{fill:var(--ux-blue-d); font-weight:700}
.ux-zg-kn{cursor:grab; outline:none}
.ux-zg-kring{fill:#fff; stroke:var(--ux-line); stroke-width:2}
.ux-zg-kbody{fill:var(--ux-dark)}
.ux-zg-kmark{stroke:#fff; stroke-width:4; stroke-linecap:round}
.ux-zg-kcap{transform-box:view-box; transform-origin:120px 86px; transition:transform .25s ease-out}
.ux-zg-kn:focus-visible .ux-zg-kring{stroke:var(--ux-yellow); stroke-width:5}
.ux-zg-knob.locked .ux-zg-kn,.ux-zg-knob.locked .ux-zg-stop{cursor:not-allowed}
.ux-zg-knob.locked .ux-zg-kbody{fill:#8a7d6b}
.ux-zeiger-w.done .ux-zg-kn,.ux-zeiger-w.done .ux-zg-stop{cursor:default}
.ux-zg-entry{
  padding:10px; border-radius:11px; background:#fff; border:1.5px solid var(--ux-line);
}
.ux-zg-lab{display:block; font:600 13px/1.2 'Fredoka',Inter,sans-serif; color:#6b5f53; margin-bottom:7px}
.ux-zg-row{display:flex; flex-wrap:wrap; gap:8px; align-items:center}
.ux-zg-in{
  width:110px; max-width:100%; font:600 15px/1 ui-monospace,SFMono-Regular,Menlo,monospace;
  padding:8px 10px; border:1.5px solid var(--ux-line); border-radius:8px; background:#fff; color:var(--ux-dark);
}
.ux-zg-unit{
  font:600 15px/1.2 'Fredoka',Inter,sans-serif; color:var(--ux-dark); background:#fff;
  border:1.5px solid var(--ux-line); border-radius:8px; padding:7px 8px; max-width:100%;
}
.ux-zg-in:focus-visible,.ux-zg-unit:focus-visible{outline:3px solid var(--ux-yellow); outline-offset:2px}
.ux-zg-in.ok,.ux-zg-unit.ok{border-color:var(--ux-green); background:#e8f4e4}
.ux-zg-in.bad,.ux-zg-unit.bad{border-color:var(--ux-red); background:#fbe6e4}
.ux-zg-unit[disabled]{opacity:.9}
@media (max-width:640px){
  .ux-zg-body{grid-template-columns:1fr}
  .ux-zg-dial{flex-direction:column}
  .ux-zg-knob{max-width:260px}
  .ux-zg-meter{padding:4px}
  .ux-zg-num{font-size:16px}
  .ux-zg-sym{font-size:34px}
}
@media (prefers-reduced-motion: reduce){
  .ux-zg-kcap{transition:none}
}
/* <<< ux-zeiger */

/* >>> ux-schalt (Physik K7 2026-10-08) */
/* ---------- schalt: Schalter-Simulator (Physik K7, 2026-10-08) ---------- */
.ux-schalt-task{display:none}
.ux-schalt-meta{display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; gap:8px 12px; margin:0 0 6px; font-size:13px; font-weight:600; color:#6b5f53}
.ux-schalt-pips{display:flex; gap:5px}
.ux-schalt-pip{width:22px; height:7px; border-radius:4px; background:var(--ux-line)}
.ux-schalt-pip.cur{background:var(--ux-blue)}
.ux-schalt-pip.ok{background:var(--ux-green)}
.ux-schalt-ask{font-size:14.5px; line-height:1.55; color:var(--ux-dark); margin:0 0 10px; font-weight:600; min-height:22px}
.ux-schalt-plan{background:var(--ux-paper); border:1.5px solid var(--ux-line); border-radius:11px; padding:10px 12px}
.ux-schalt-plan svg{display:block; width:100%; height:auto; max-width:560px; margin:0 auto; overflow:visible}
.ux-schalt-wire{fill:none; stroke:var(--ux-dark); stroke-width:2.4; stroke-linecap:round; stroke-linejoin:round}
.ux-schalt-dot{fill:var(--ux-dark)}
.ux-schalt-lab{font:600 14px/1 'Fredoka',sans-serif; fill:var(--ux-dark)}
.ux-schalt-pol{font:600 15px/1 'Fredoka',sans-serif; fill:#6b5f53}
.ux-schalt-plate{fill:none; stroke:var(--ux-dark); stroke-width:2.6; stroke-linecap:round}
.ux-schalt-plate.minus{stroke-width:6.5; stroke-linecap:butt}
.ux-schalt-src.short .ux-schalt-plate{stroke:var(--ux-red)}
.ux-schalt-bulb{fill:#fff; stroke:var(--ux-dark); stroke-width:2.4; transition:fill .25s ease}
.ux-schalt-x{fill:none; stroke:var(--ux-dark); stroke-width:2}
.ux-schalt-glow{fill:var(--ux-yellow); opacity:0; transition:opacity .25s ease}
.ux-schalt-lamp.lit .ux-schalt-bulb{fill:var(--ux-yellow)}
.ux-schalt-lamp.lit .ux-schalt-glow{opacity:.5}
.ux-schalt-lamp.lit[data-b="2"] .ux-schalt-glow{opacity:.3}
.ux-schalt-lamp.lit[data-b="1"] .ux-schalt-glow{opacity:.14}
.ux-schalt-lamp.lit[data-b="1"] .ux-schalt-bulb{fill:#f8e59a}
.ux-schalt-lamp.dark .ux-schalt-bulb{fill:#d9d2c5}
.ux-schalt-sw{cursor:pointer}
.ux-schalt-hit{fill:transparent; stroke:none}
.ux-schalt-sw:hover .ux-schalt-hit{fill:rgba(91,139,216,.13)}
.ux-schalt-lever{fill:none; stroke:var(--ux-violet); stroke-width:3.2; stroke-linecap:round}
.ux-schalt-pin{fill:#fff; stroke:var(--ux-dark); stroke-width:2}
.ux-schalt-sw .ux-schalt-p1{display:none}
.ux-schalt-sw.is-1 .ux-schalt-p0{display:none}
.ux-schalt-sw.is-1 .ux-schalt-p1{display:inline}
.ux-schalt-sw.locked{cursor:not-allowed}
.ux-schalt-sw.locked .ux-schalt-lever{stroke:#9a8d7d}
.ux-schalt-sw.locked:hover .ux-schalt-hit{fill:transparent}
.ux-schalt-ctl{display:flex; flex-wrap:wrap; gap:8px; margin-top:10px}
.ux-schalt-btn{font:500 13.5px/1.2 inherit; cursor:pointer; padding:8px 13px; border-radius:20px; background:#fff; border:1.5px solid var(--ux-line); color:var(--ux-dark); transition:background-color .15s ease, border-color .15s ease}
.ux-schalt-btn b{font-family:'Fredoka',sans-serif; font-weight:600; margin-right:2px}
.ux-schalt-btn:hover{border-color:var(--ux-violet)}
.ux-schalt-btn:focus-visible{outline:3px solid var(--ux-yellow); outline-offset:2px}
.ux-schalt-btn[aria-pressed="true"]{background:var(--ux-violet); border-color:var(--ux-violet); color:#fff}
.ux-schalt-btn.wechsel{background:#f1ecf9; border-color:#cbbde6}
.ux-schalt-btn.locked{background:#f3ece0; border-style:dashed; color:#6b5f53; cursor:not-allowed}
.ux-schalt-btn[disabled]{cursor:default; opacity:.7}
.ux.done .ux-schalt-sw{cursor:default}
.ux.done .ux-schalt-sw:hover .ux-schalt-hit{fill:transparent}
@media (max-width:560px){
  .ux-schalt-plan{padding:8px 4px}
  .ux-schalt-lab,.ux-schalt-pol{font-size:25px}
  .ux-schalt-wire,.ux-schalt-bulb{stroke-width:3.4}
  .ux-schalt-x{stroke-width:2.8}
  .ux-schalt-lever{stroke-width:4.6}
  .ux-schalt-plate{stroke-width:3.6}
  .ux-schalt-plate.minus{stroke-width:8}
  .ux-schalt-pin{stroke-width:2.8}
}
@media (prefers-reduced-motion: reduce){
  .ux-schalt-bulb,.ux-schalt-glow,.ux-schalt-btn{transition:none}
}
/* <<< ux-schalt */

/* >>> ux-domino (Physik K7 2026-10-08) */
/* ============ domino — Domino-Kette (Physik K7 1.1.3, 2026-10-08) ============ */
.ux-domino-pool{
  display:flex; flex-wrap:wrap; gap:16px 14px; min-height:92px;
  padding:16px 12px 18px; border-radius:11px;
  background:var(--ux-paper); border:1.5px dashed var(--ux-line);
}
.ux-domino-pool:empty::after{content:'Alle Steine liegen in der Kette.'; font:500 13px/1 'Fredoka',Inter,sans-serif; color:#9a8d7d; align-self:center}
.ux-domino-pool.over{background:#f1f6ff; border-color:var(--ux-blue)}
.ux-domino-row{
  display:flex; flex-wrap:wrap; align-items:center; row-gap:16px;
  margin-top:12px; padding:18px 12px 20px; border-radius:11px;
  background:#fff; border:1.5px solid var(--ux-line);
}
.ux-domino-slot{
  position:relative; flex:0 0 auto; width:214px; min-height:90px;
  display:flex; align-items:center; justify-content:center;
  padding:6px 6px 16px; border-radius:12px;
  border:1.5px dashed var(--ux-line); background:var(--ux-paper);
}
.ux-domino-slot.over{border-color:var(--ux-blue); background:#f1f6ff}
.ux-domino-slot.full{border-color:transparent; background:transparent}
.ux-domino-no{
  position:absolute; top:-9px; left:9px; z-index:2;
  display:inline-flex; align-items:center; justify-content:center;
  min-width:20px; height:20px; padding:0 5px; border-radius:6px;
  background:var(--ux-dark); color:#fff; font:700 11.5px/1 'Fredoka',Inter,sans-serif;
}
.ux-domino-place{
  position:absolute; inset:0; width:100%; border:0; border-radius:12px; cursor:pointer;
  background:transparent; color:#9a8d7d; font:500 13.5px/1 'Fredoka',Inter,sans-serif;
}
.ux-domino-place:hover{color:var(--ux-blue-d)}
.ux-domino-slot.full .ux-domino-place{display:none}
.ux-domino-joint{
  flex:0 0 16px; height:6px; margin:0 3px 8px; border-radius:3px;
  background:var(--ux-line);
}
.ux-domino-joint.match{background:var(--ux-green)}
.ux-domino-joint.gap{background:repeating-linear-gradient(90deg,var(--ux-dark) 0 3px,transparent 3px 6px)}
.ux-domino-stone{position:relative; display:inline-flex; width:200px; max-width:100%}
.ux-domino-face{
  position:relative; display:flex; align-items:stretch; width:100%; min-height:68px; padding:0;
  border-radius:11px; border:2px solid var(--ux-dark); background:#fff; color:var(--ux-dark);
  cursor:grab; box-shadow:0 3px 0 rgba(47,47,47,.16);
  transition:transform .15s ease, box-shadow .15s ease, border-color .15s ease;
}
.ux-domino-face:hover{border-color:var(--ux-blue-d)}
.ux-domino-face:focus-visible,.ux-domino-turn:focus-visible,.ux-domino-place:focus-visible{outline:3px solid var(--ux-yellow); outline-offset:2px}
.ux-domino-half{
  flex:1 1 50%; min-width:0; display:flex; align-items:center; justify-content:center; text-align:center;
  padding:9px 7px 16px; font:600 13.5px/1.22 'Fredoka',Inter,sans-serif;
  hyphens:auto; -webkit-hyphens:auto; overflow-wrap:anywhere;
}
.ux-domino-half.l{border-right:2px solid var(--ux-dark); background:#f4f8fe; border-radius:9px 0 0 9px}
.ux-domino-half.r{background:#fdf6ec; border-radius:0 9px 9px 0}
.ux-domino-mid{
  position:absolute; left:50%; bottom:-12px; transform:translateX(-50%); z-index:1;
  display:inline-flex; align-items:center; gap:4px; max-width:92%; white-space:nowrap;
  padding:3px 9px; border-radius:999px; background:#f1ecfa; border:1.5px solid var(--ux-violet);
  color:#4b3584; font:600 12px/1.2 'Fredoka',Inter,sans-serif;
}
.ux-domino-mt{overflow:hidden; text-overflow:ellipsis}
.ux-domino-arr{font-weight:700}
.ux-domino-turn{
  position:absolute; top:-10px; right:-10px; z-index:2; width:28px; height:28px; padding:0;
  border-radius:50%; border:1.5px solid var(--ux-line); background:#fff; color:var(--ux-dark);
  font:700 15px/1 'Fredoka',Inter,sans-serif; cursor:pointer; box-shadow:0 1px 3px rgba(47,47,47,.15);
}
.ux-domino-turn:hover{background:var(--ux-blue-d); border-color:var(--ux-blue-d); color:#fff}
.ux-domino-stone.picked .ux-domino-face{border-color:var(--ux-violet); box-shadow:0 0 0 3px rgba(124,95,181,.3); transform:translateY(-2px)}
.ux-domino-stone.drag{opacity:.45}
.ux-domino-stone.spin .ux-domino-face{animation:ux-domino-spin .3s ease}
@keyframes ux-domino-spin{0%{transform:scaleX(1)}50%{transform:scaleX(.08)}100%{transform:scaleX(1)}}
.ux-domino-w.done .ux-domino-face{border-color:var(--ux-green-d); cursor:default; box-shadow:0 3px 0 rgba(74,117,48,.25)}
.ux-domino-w.done .ux-domino-half.l{border-right-color:var(--ux-green-d)}
.ux-domino-w.done .ux-domino-turn{display:none}
.ux-domino-w.done .ux-domino-joint{background:var(--ux-green)}
@media(max-width:560px){
  .ux-domino-row{flex-direction:column; align-items:stretch; row-gap:0}
  .ux-domino-slot{width:auto}
  .ux-domino-joint{flex:0 0 14px; width:6px; height:14px; margin:3px auto; align-self:center}
  .ux-domino-joint.gap{background:repeating-linear-gradient(180deg,var(--ux-dark) 0 3px,transparent 3px 6px)}
  .ux-domino-pool{justify-content:center}
}
@media (prefers-reduced-motion: reduce){
  .ux-domino-face{transition:none}
  .ux-domino-stone.picked .ux-domino-face{transform:none}
  .ux-domino-stone.spin .ux-domino-face{animation:none}
}
/* <<< ux-domino */

/* ==== Ergänzungen 2026-10-08 (Physik K5, 30 Aufgaben) ==== */
/* Eingabezeilen-Grundstil: :where() hat Spezifität 0, seiteneigene Regeln gewinnen immer */
:where(.input-row){display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:12px 0}
:where(.input-row) label{font-size:15px;color:var(--ink,#2f2f2f);display:flex;align-items:center;gap:6px}
:where(.input-row) input{width:110px;padding:9px 12px;border:1.5px solid var(--rule,#e2d8c8);border-radius:9px;font:inherit;font-size:15px;text-align:center;background:#fff}
:where(.input-row) input.ok{border-color:#4a7530;background:#f4faec}
:where(.input-row) input.wrong{border-color:#e2574c;background:#fce5e5}
:where(.input-row) .unit{font-size:14px;color:var(--ink-soft,#6b5f53)}
:where(.input-fb){display:none;margin-top:10px;padding:11px 15px;border-radius:9px;font-size:14px;line-height:1.5}
:where(.input-fb.show){display:block}
:where(.input-fb.ok){background:#e4f0d8;color:#2e5e1f;border-left:3px solid #4a7530}
:where(.input-fb.warn){background:#fbefd9;color:#7a4a0a;border-left:3px solid #e79a3a}
:where(.input-fb.error){background:#fbe3e0;color:#8a2a20;border-left:3px solid #e2574c}
:where(.aufgabe-text) .op{border-bottom:1.5px dotted currentColor;cursor:help;font-weight:600}
/* schmale Bildschirme: Memory zweispaltig, Kreuztabelle umbrechen statt überlaufen */
@media(max-width:440px){.ux-mem{grid-template-columns:repeat(2,1fr)}}
.ux-face{overflow-wrap:break-word}
@media(max-width:640px){.ux-matrix{table-layout:fixed}.ux-matrix th,.ux-matrix td{overflow-wrap:break-word;padding:5px 4px}.ux-matrix thead th{font-size:11px}.ux-matrix thead th:first-child,.ux-matrix th[scope="row"]{width:38%}}
/* Gestufte Hilfen — Grundstil für Seiten ohne eigenen (Spezifität 0) */
:where(.hilfen){margin-top:14px}
:where(.hilfen-row){display:flex;gap:8px;flex-wrap:wrap}
:where(.hilfe-btn){font-family:'Fredoka',sans-serif;font-weight:600;font-size:13px;background:#fff;color:var(--accent-strong,#7c5fb5);border:1.5px solid var(--accent-deep,#c9b8e6);border-radius:9px;padding:8px 14px;cursor:pointer}
:where(.hilfe-btn:disabled){opacity:.5;cursor:default}
:where(.hilfe-content){display:none;margin-top:10px;background:var(--bg,#faf6ee);border:1px dashed var(--accent-deep,#c9b8e6);border-radius:10px;padding:13px 16px;font-size:14.5px;color:var(--ink,#2f2f2f)}
:where(.hilfe-content.show){display:block}
/* ==== Ende Ergänzungen 2026-10-08 (Physik K5) ==== */

/* ==== NEUE WIDGETS 2026-10-08 (aus _vorlagen/_werkzeug/ueb30/widgets-neu) — BEGINN ==== */
/* --- Widget „ampel“ --- */
/* ampel — Ampel-Bewertung (2026-10-08) */
.ux-ampel-w .ux-ampel-legend{list-style:none;margin:2px 0 12px;padding:0;display:flex;flex-wrap:wrap;gap:6px 14px;font-family:'Fredoka',Inter,sans-serif;font-size:13.5px;line-height:1.3;color:var(--ux-dark,#2f2f2f)}
.ux-ampel-w .ux-ampel-lg{display:flex;align-items:center;gap:7px;min-width:0}
.ux-ampel-w .ux-ampel-dot{flex:0 0 auto;width:14px;height:14px;border-radius:50%;box-shadow:0 0 0 2px #2f2f2f}
.ux-ampel-w .ux-ampel-dot.rot{background:#e2574c}
.ux-ampel-w .ux-ampel-dot.gelb{background:#f4d03f}
.ux-ampel-w .ux-ampel-dot.gruen{background:#67b05f}
.ux-ampel-w .ux-ampel-list{list-style:none;margin:0 0 14px;padding:0;display:flex;flex-direction:column;gap:8px;counter-reset:uxampel}
.ux-ampel-w .ux-ampel-row{counter-increment:uxampel;display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"txt box" "why why";align-items:center;gap:6px 12px;padding:8px 10px 8px 12px;background:var(--ux-paper,#faf6ee);border:2px solid var(--ux-line,#d9cdb8);border-radius:12px;transition:border-color .2s,background-color .2s}
.ux-ampel-w .ux-ampel-row.has-fig{grid-template-columns:64px minmax(0,1fr) auto;grid-template-areas:"fig txt box" "why why why"}
.ux-ampel-w .ux-ampel-fig{grid-area:fig;width:64px;line-height:0}
.ux-ampel-w .ux-ampel-fig svg{width:100%;height:auto;display:block}
.ux-ampel-w .ux-ampel-txt{grid-area:txt;min-width:0;font-family:'Fredoka',Inter,sans-serif;font-size:14.5px;line-height:1.4;color:var(--ux-dark,#2f2f2f)}
.ux-ampel-w .ux-ampel-txt::before{content:counter(uxampel);display:inline-flex;align-items:center;justify-content:center;width:21px;height:21px;margin-right:7px;border-radius:50%;background:var(--ux-violet,#7c5fb5);color:#fff;font-size:12px;font-weight:700;vertical-align:1px}
.ux-ampel-w .ux-ampel-st{display:block;margin-top:3px;font-size:12.5px;font-weight:600;color:#96271e}
.ux-ampel-w .ux-ampel-st:empty{display:none}
.ux-ampel-w .ux-ampel-box{grid-area:box;display:flex;flex-direction:column;align-items:center;gap:5px;padding:6px 7px;background:#2f2f2f;border-radius:13px;box-shadow:inset 0 0 0 2px #474747}
.ux-ampel-w .ux-ampel-lamp{position:relative;width:28px;height:28px;padding:0;margin:0;border:0;border-radius:50%;cursor:pointer;opacity:1;transition:background-color .18s,box-shadow .18s,transform .12s}
.ux-ampel-w .ux-ampel-lamp::after{content:"";position:absolute;inset:-5px -7px;border-radius:50%}
.ux-ampel-w .ux-ampel-lamp[data-f="rot"]{background:#5c2724}
.ux-ampel-w .ux-ampel-lamp[data-f="gelb"]{background:#5b5122}
.ux-ampel-w .ux-ampel-lamp[data-f="gruen"]{background:#2d4a2a}
.ux-ampel-w .ux-ampel-lamp:hover:not(:disabled){transform:scale(1.07)}
.ux-ampel-w .ux-ampel-lamp[data-f="rot"]:hover:not(.on):not(:disabled){background:#8a3a33}
.ux-ampel-w .ux-ampel-lamp[data-f="gelb"]:hover:not(.on):not(:disabled){background:#8a7a2e}
.ux-ampel-w .ux-ampel-lamp[data-f="gruen"]:hover:not(.on):not(:disabled){background:#43703d}
.ux-ampel-w .ux-ampel-lamp[data-f="rot"].on{background:#e2574c;box-shadow:0 0 0 2px #ffd9d4,0 0 12px 3px rgba(226,87,76,.85)}
.ux-ampel-w .ux-ampel-lamp[data-f="gelb"].on{background:#f4d03f;box-shadow:0 0 0 2px #fff6cc,0 0 12px 3px rgba(244,208,63,.85)}
.ux-ampel-w .ux-ampel-lamp[data-f="gruen"].on{background:#67b05f;box-shadow:0 0 0 2px #dff2da,0 0 12px 3px rgba(103,176,95,.85)}
.ux-ampel-w .ux-ampel-lamp:focus-visible{outline:3px solid #fff;outline-offset:3px}
.ux-ampel-w .ux-ampel-lamp:disabled{cursor:default}
.ux-ampel-w .ux-ampel-row.bad{border-color:#e2574c;background:#fbe6e4}
.ux-ampel-w .ux-ampel-row.ok{border-color:#67b05f;background:#eef6ea}
.ux-ampel-w .ux-ampel-row.shake{animation:uxAmpelShake .38s ease}
.ux-ampel-w .ux-ampel-why{grid-area:why;margin:2px 0 0;padding-top:6px;border-top:1px dashed #b9d7b1;font-family:'Fredoka',Inter,sans-serif;font-size:13.5px;line-height:1.4;color:#4a7530}
.ux-ampel-w .ux-ampel-why[hidden]{display:none}
@keyframes uxAmpelShake{0%,100%{transform:translateX(0)}25%{transform:translateX(-4px)}50%{transform:translateX(4px)}75%{transform:translateX(-2px)}}
@media (max-width:520px){
  .ux-ampel-w .ux-ampel-row{padding:7px 8px 7px 10px;gap:6px 9px}
  .ux-ampel-w .ux-ampel-row.has-fig{grid-template-columns:46px minmax(0,1fr) auto}
  .ux-ampel-w .ux-ampel-fig{width:46px}
  .ux-ampel-w .ux-ampel-txt{font-size:14px}
  .ux-ampel-w .ux-ampel-lamp{width:26px;height:26px}
}
@media (prefers-reduced-motion: reduce){
  .ux-ampel-w .ux-ampel-row,.ux-ampel-w .ux-ampel-lamp{transition:none}
  .ux-ampel-w .ux-ampel-row.shake{animation:none}
  .ux-ampel-w .ux-ampel-lamp:hover:not(:disabled){transform:none}
}

/* --- Widget „bingo“ --- */
/* bingo — Bingo-Raster (2026-10-08) */
.ux-bingo-w .ux-bingo-goal{margin:2px 0 10px;font-family:'Fredoka',Inter,sans-serif;font-size:16px;font-weight:600;line-height:1.35;color:#3d2a6b}
.ux-bingo-w .ux-bingo-board{position:relative;max-width:540px;margin:6px auto 14px}
.ux-bingo-w .ux-bingo{display:grid;grid-template-columns:repeat(var(--ux-bingo-cols,4),minmax(0,1fr));gap:8px;padding:10px;background:#f4ede0;border:2px solid var(--ux-line,#d9cdb8);border-radius:16px}
.ux-bingo-w .ux-bingo-cell{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-width:0;min-height:76px;padding:8px 5px;
  font-family:'Fredoka',Inter,sans-serif;font-size:15px;font-weight:500;line-height:1.2;color:var(--ux-dark,#2f2f2f);text-align:center;
  hyphens:manual;-webkit-hyphens:manual;overflow-wrap:break-word;
  background:#fff;border:2px solid var(--ux-line,#d9cdb8);border-radius:12px;cursor:pointer;
  transition:background-color .15s,border-color .15s,box-shadow .2s,transform .12s}
.ux-bingo-w .ux-bingo-cell:hover{border-color:var(--ux-blue,#5b8bd8)}
.ux-bingo-w .ux-bingo-cell:active{transform:scale(.97)}
.ux-bingo-w .ux-bingo-cell:focus-visible{outline:3px solid var(--ux-yellow,#f4d03f);outline-offset:2px;z-index:1}
.ux-bingo-w .ux-bingo-txt{position:relative;z-index:1;max-width:100%}
.ux-bingo-w .ux-bingo-pic{position:relative;z-index:1;display:block;width:46px;height:46px;flex:0 0 auto}
/* Stempel (Bingo-Dauber) hinter markierten Feldern */
.ux-bingo-w .ux-bingo-cell::after{content:"";position:absolute;left:50%;top:50%;width:min(62%,66px);aspect-ratio:1/1;border-radius:50%;
  background:rgba(124,95,181,.22);transform:translate(-50%,-50%) scale(0);transition:transform .18s ease-out;pointer-events:none}
.ux-bingo-w .ux-bingo-cell.on{border-color:var(--ux-violet,#7c5fb5);background:#f3effa}
.ux-bingo-w .ux-bingo-cell.on::after{transform:translate(-50%,-50%) scale(1)}
.ux-bingo-w .ux-bingo-cell.ux-bingo-inline{border-color:var(--ux-orange,#e79a3a);box-shadow:0 0 0 3px rgba(244,208,63,.6)}
.ux-bingo-w.done .ux-bingo-cell{cursor:default}
.ux-bingo-w.done .ux-bingo-cell:active{transform:none}
.ux-bingo-w.done .ux-bingo-cell.hit{background:#eef6ea;border-color:#4a7530}
.ux-bingo-w.done .ux-bingo-cell.hit::after{background:rgba(103,176,95,.28)}
.ux-bingo-w .ux-bingo-lines{position:absolute;left:0;top:0;width:100%;height:100%;pointer-events:none;overflow:visible;z-index:2}
.ux-bingo-w .ux-bingo-line{stroke:var(--ux-orange,#e79a3a);stroke-width:6;stroke-linecap:round;opacity:.55;transition:stroke-dashoffset .55s ease-out}
@media (max-width:520px){
  .ux-bingo-w .ux-bingo{gap:5px;padding:5px;border-radius:13px}
  .ux-bingo-w .ux-bingo-cell{min-height:62px;padding:5px 2px;font-size:13px;line-height:1.15;border-radius:10px}
  .ux-bingo-w .ux-bingo[style*="--ux-bingo-cols:4"] .ux-bingo-cell{font-size:12px;padding:5px 1px}
  .ux-bingo-w .ux-bingo-pic{width:38px;height:38px}
  .ux-bingo-w .ux-bingo-line{stroke-width:4}
}
@media (max-width:520px){
  .ux-bingo-w .ux-bingo[style*="--ux-bingo-cols:5"] .ux-bingo-cell{font-size:11.5px;min-height:56px;padding:5px 2px}
}
@media (prefers-reduced-motion: reduce){
  .ux-bingo-w .ux-bingo-cell,.ux-bingo-w .ux-bingo-cell::after,.ux-bingo-w .ux-bingo-line{animation:none;transition:none}
  .ux-bingo-w .ux-bingo-cell:active{transform:none}
}

/* --- Widget „budget“ --- */
/* budget — Auswahl mit Grenze (Sicherung) */
.ux-budget-w .ux-budget-meter{display:flex;align-items:center;gap:14px;background:#faf6ee;border:1.5px solid var(--ux-line);border-radius:12px;padding:12px 14px;margin:0 0 10px}
.ux-budget-w .ux-budget-fusebox{flex:0 0 auto;display:flex;flex-direction:column;align-items:center;gap:2px}
.ux-budget-w .ux-budget-fuse{width:78px;height:auto;display:block;overflow:visible}
.ux-budget-w .ux-budget-fcap{font:600 12px/1.2 'Fredoka',Inter,sans-serif;color:#6b5f53}
.ux-budget-w .ux-budget-wire{stroke:#2f2f2f;stroke-width:1.8;stroke-linecap:round}
.ux-budget-w .ux-budget-broken{display:none}
.ux-budget-w .ux-budget-spark{opacity:0}
.ux-budget-w.is-blown .ux-budget-wire{display:none}
.ux-budget-w.is-blown .ux-budget-broken{display:inline}
.ux-budget-w.is-blown .ux-budget-glass{fill:#efe6d6}
.ux-budget-w.is-blowing .ux-budget-spark{animation:ux-budget-flash .8s ease-out 1}
.ux-budget-w.is-blowing .ux-budget-track{animation:ux-budget-shake .45s ease-in-out 1}
@keyframes ux-budget-flash{0%{opacity:1;transform:scale(.6)}35%{opacity:1;transform:scale(1.25)}100%{opacity:0;transform:scale(1.5)}}
@keyframes ux-budget-shake{0%,100%{transform:translateX(0)}20%{transform:translateX(-4px)}40%{transform:translateX(4px)}60%{transform:translateX(-3px)}80%{transform:translateX(2px)}}
.ux-budget-w .ux-budget-spark{transform-origin:40px 22px;transform-box:view-box}
.ux-budget-w .ux-budget-scale{flex:1 1 auto;min-width:0}
.ux-budget-w .ux-budget-track{position:relative;height:24px;border-radius:12px;background:#fff;border:1.5px solid var(--ux-line);margin:18px 0 6px}
.ux-budget-w .ux-budget-segs{position:absolute;inset:0;display:flex;overflow:hidden;border-radius:11px}
.ux-budget-w .ux-budget-seg{display:block;height:100%;border-right:2px solid #fff;flex:0 0 auto;transition:width .25s ease}
.ux-budget-w .ux-budget-over{position:absolute;top:0;bottom:0;right:0;border-radius:0 11px 11px 0;background:repeating-linear-gradient(135deg,rgba(226,87,76,.13) 0 6px,rgba(226,87,76,.03) 6px 12px);pointer-events:none}
.ux-budget-w .ux-budget-limit{position:absolute;top:-7px;bottom:-7px;width:0;border-left:2.5px solid #2f2f2f;pointer-events:none}
.ux-budget-w .ux-budget-limlab{position:absolute;bottom:100%;left:0;transform:translateX(-50%);white-space:nowrap;font:600 12.5px/1.3 'Fredoka',Inter,sans-serif;color:#2f2f2f;background:#faf6ee;padding:0 4px}
.ux-budget-w.is-near .ux-budget-limit{border-left-color:#e79a3a}
.ux-budget-w.is-blown .ux-budget-segs{filter:grayscale(1);opacity:.45}
.ux-budget-w.is-blown .ux-budget-track{border-color:#e2574c}
.ux-budget-w .ux-budget-sum{font:500 14px/1.4 'Fredoka',Inter,sans-serif;color:#2f2f2f}
.ux-budget-w.is-blown .ux-budget-sum{color:#b3372d;font-weight:600}
.ux-budget-w .ux-budget-new{margin-top:6px;font-size:13.5px;padding:6px 12px;border-color:#e2574c;color:#b3372d}
.ux-budget-w .ux-budget-new[hidden]{display:none}
.ux-budget-w .ux-budget-goal{font:500 14.5px/1.45 'Fredoka',Inter,sans-serif;color:#3d2a6b;margin:0 0 10px}
.ux-budget-w .ux-budget-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:12px 9px;margin:0 0 12px}
.ux-budget-w .ux-budget-card{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr);grid-template-areas:'name name' 'sw val';column-gap:8px;row-gap:5px;align-items:center;text-align:left;padding:9px 10px;border-radius:11px;background:#fff;border:1.5px solid var(--ux-line);border-left:6px solid var(--ux-line);color:#2f2f2f;cursor:pointer;font-family:'Fredoka',Inter,sans-serif;transition:border-color .15s ease,background .15s ease}
.ux-budget-w .ux-budget-card:hover{border-color:var(--ux-budget-c,#5b8bd8)}
.ux-budget-w .ux-budget-card:focus-visible{outline:3px solid #f4d03f;outline-offset:2px}
.ux-budget-w .ux-budget-card[aria-pressed="true"]{border-color:var(--ux-budget-c,#5b8bd8);border-left-color:var(--ux-budget-c,#5b8bd8);background:#f8f5ff}
.ux-budget-w .ux-budget-sw{grid-area:sw;width:30px;height:17px;border-radius:9px;background:#d9cdb8;position:relative;transition:background .15s ease}
.ux-budget-w .ux-budget-sw::after{content:"";position:absolute;top:2px;left:2px;width:13px;height:13px;border-radius:50%;background:#fff;transition:left .15s ease}
.ux-budget-w .ux-budget-card[aria-pressed="true"] .ux-budget-sw{background:var(--ux-budget-c,#5b8bd8)}
.ux-budget-w .ux-budget-card[aria-pressed="true"] .ux-budget-sw::after{left:15px}
.ux-budget-w .ux-budget-name{grid-area:name;font-size:14.5px;font-weight:500;line-height:1.25;overflow-wrap:break-word;hyphens:auto;-webkit-hyphens:auto}
.ux-budget-w .ux-budget-val{grid-area:val;justify-self:start;font-size:13px;font-weight:600;color:#6b5f53}
.ux-budget-w .ux-budget-tag{position:absolute;top:-8px;right:8px;font:600 10.5px/1 'Fredoka',Inter,sans-serif;letter-spacing:.02em;background:#3d2a6b;color:#fff;border-radius:999px;padding:3px 7px}
.ux-budget-w .ux-budget-card.ux-budget-dark{background:#f1ede6}
.ux-budget-w .ux-budget-card.ux-budget-dark[aria-pressed="true"] .ux-budget-sw{background:#9a8f80}
.ux-budget-w .ux-budget-card.ok{border-color:#67b05f;background:#eef7ea}
.ux-budget-w .ux-budget-card.bad{border-color:#e2574c;background:#fbe6e4}
.ux-budget-w.done .ux-budget-card{cursor:default}
@media(max-width:560px){
  .ux-budget-w .ux-budget-meter{gap:10px;padding:10px}
  .ux-budget-w .ux-budget-fuse{width:58px}
  .ux-budget-w .ux-budget-cards{grid-template-columns:1fr 1fr;gap:8px}
  .ux-budget-w .ux-budget-card{padding:8px 8px;column-gap:7px}
  .ux-budget-w .ux-budget-sw{width:26px;height:15px}
  .ux-budget-w .ux-budget-sw::after{width:11px;height:11px}
  .ux-budget-w .ux-budget-card[aria-pressed="true"] .ux-budget-sw::after{left:13px}
  .ux-budget-w .ux-budget-name{font-size:13.5px}
  .ux-budget-w .ux-budget-sum{font-size:13px}
}
@media(prefers-reduced-motion:reduce){
  .ux-budget-w .ux-budget-seg,.ux-budget-w .ux-budget-card,.ux-budget-w .ux-budget-sw,.ux-budget-w .ux-budget-sw::after{transition:none}
  .ux-budget-w.is-blowing .ux-budget-spark,.ux-budget-w.is-blowing .ux-budget-track{animation:none}
}

/* --- Widget „cmp“ --- */
/* cmp — Vergleichen (2026-10-08) */
.ux-cmp-w .ux-cmp-head{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr) 22px;gap:10px;padding:0 12px 4px;font-family:'Fredoka',Inter,sans-serif;font-size:12.5px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:#8a7d6d}
.ux-cmp-w .ux-cmp-head span:nth-child(1){text-align:right}
.ux-cmp-w .ux-cmp-head span:nth-child(2){width:132px}
.ux-cmp-w.ux-cmp-words .ux-cmp-head span:nth-child(2){width:96px}
.ux-cmp-w .ux-cmp-rows{list-style:none;margin:0 0 4px;padding:0;display:flex;flex-direction:column;gap:8px}
.ux-cmp-w .ux-cmp-row{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr) 22px;grid-template-areas:"l o r f" "w w w w";align-items:center;gap:6px 10px;padding:9px 12px;background:var(--ux-paper,#faf6ee);border:2px solid var(--ux-line,#d9cdb8);border-radius:12px;font-family:'Fredoka',Inter,sans-serif;transition:border-color .2s,background-color .2s}
.ux-cmp-w .ux-cmp-side{min-width:0;font-size:15px;line-height:1.35;color:var(--ux-dark,#2f2f2f);overflow-wrap:break-word}
.ux-cmp-w .ux-cmp-l{grid-area:l;text-align:right}
.ux-cmp-w .ux-cmp-r{grid-area:r;text-align:left}
.ux-cmp-w .ux-cmp-side b,.ux-cmp-w .ux-cmp-side strong{font-weight:600}
.ux-cmp-w .ux-cmp-side .ux-cmp-num{font-weight:600;white-space:nowrap}
.ux-cmp-w .ux-cmp-side svg{display:inline-block;width:100%;max-width:150px;height:auto;vertical-align:middle}
.ux-cmp-w .ux-cmp-ops{grid-area:o;display:flex;gap:6px;justify-content:center}
.ux-cmp-w .ux-cmp-op{width:40px;height:40px;border-radius:50%;border:2px solid var(--ux-line,#d9cdb8);background:#fff;color:var(--ux-dark,#2f2f2f);font:600 21px/1 'Fredoka',Inter,sans-serif;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;padding:0;transition:background-color .15s,border-color .15s,color .15s,transform .15s}
.ux-cmp-w .ux-cmp-op:hover{border-color:var(--ux-violet,#7c5fb5)}
.ux-cmp-w .ux-cmp-op:focus-visible{outline:3px solid var(--ux-yellow,#f4d03f);outline-offset:2px}
.ux-cmp-w .ux-cmp-op.on{background:var(--ux-violet,#7c5fb5);border-color:var(--ux-violet,#7c5fb5);color:#fff;transform:scale(1.08)}
.ux-cmp-w.ux-cmp-words .ux-cmp-ops{flex-direction:column;gap:4px;width:96px}
.ux-cmp-w.ux-cmp-words .ux-cmp-op{width:100%;height:auto;border-radius:9px;padding:6px 6px;font-size:14px;line-height:1.15}
.ux-cmp-w.ux-cmp-words .ux-cmp-op.on{transform:none}
.ux-cmp-w .ux-cmp-fb{grid-area:f;font-size:18px;font-weight:700;text-align:center}
.ux-cmp-w .ux-cmp-row.set{border-color:#c9bce4}
.ux-cmp-w .ux-cmp-row.ok{border-color:var(--ux-green,#67b05f);background:#eef7ea}
.ux-cmp-w .ux-cmp-row.ok .ux-cmp-op.on{background:var(--ux-green-d,#4a7530);border-color:var(--ux-green-d,#4a7530)}
.ux-cmp-w .ux-cmp-row.ok .ux-cmp-fb{color:var(--ux-green-d,#4a7530)}
.ux-cmp-w .ux-cmp-row.bad{border-color:var(--ux-red,#e2574c);background:#fdeeed}
.ux-cmp-w .ux-cmp-row.bad .ux-cmp-op.on{background:var(--ux-red,#e2574c);border-color:var(--ux-red,#e2574c)}
.ux-cmp-w .ux-cmp-row.bad .ux-cmp-fb{color:var(--ux-red,#e2574c)}
.ux-cmp-w .ux-cmp-row.shake{animation:ux-cmp-shake .38s ease}
@keyframes ux-cmp-shake{0%,100%{transform:translateX(0)}25%{transform:translateX(-5px)}75%{transform:translateX(5px)}}
.ux-cmp-w .ux-cmp-why{grid-area:w;margin:2px 0 0;padding-top:6px;border-top:1px dashed #b9d8ad;font-size:13.5px;line-height:1.45;color:#2e5220;text-align:center}
.ux-cmp-w.done .ux-cmp-op{cursor:default}
.ux-cmp-w.done .ux-cmp-op:not(.on){opacity:.4}
@media(max-width:560px){
  .ux-cmp-w .ux-cmp-head{display:none}
  .ux-cmp-w .ux-cmp-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr) 18px;grid-template-areas:"l r f" "o o o" "w w w";gap:8px 8px;padding:9px 9px}
  .ux-cmp-w .ux-cmp-l{text-align:left;padding-right:8px;border-right:1.5px dashed var(--ux-line,#d9cdb8)}
  .ux-cmp-w .ux-cmp-side{font-size:14px}
  .ux-cmp-w .ux-cmp-side svg{max-width:130px}
  .ux-cmp-w .ux-cmp-ops{gap:10px}
  .ux-cmp-w.ux-cmp-words .ux-cmp-ops{flex-direction:row;width:auto}
  .ux-cmp-w.ux-cmp-words .ux-cmp-op{width:auto;flex:1 1 0;min-width:0}
}
@media(prefers-reduced-motion:reduce){
  .ux-cmp-w .ux-cmp-row,.ux-cmp-w .ux-cmp-op{transition:none}
  .ux-cmp-w .ux-cmp-row.shake{animation:none}
  .ux-cmp-w .ux-cmp-op.on{transform:none}
}

/* --- Widget „config“ --- */
/* config — Einstellungen kombinieren (2026-10-08, Physik K5 › Elektromagnet) */
.ux-config-w .ux-config-goal{margin:0 0 12px;padding:9px 12px;border-radius:10px;background:#f3eefb;border:1px solid #d9cdee;
  color:#3a2b62;font-size:14.5px;line-height:1.5}
.ux-config-w .ux-config-gtag{display:inline-block;margin-right:6px;padding:2px 9px;border-radius:999px;background:var(--ux-violet);
  color:#fff;font:600 12px/1.5 'Fredoka',Inter,sans-serif;letter-spacing:.02em;vertical-align:1px}
.ux-config-w .ux-config-body{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:16px;align-items:start}
.ux-config-w .ux-config-stage{position:relative;border:1.5px solid var(--ux-line);border-radius:12px;background:var(--ux-paper);overflow:hidden}
.ux-config-w .ux-config-svg{display:block;width:100%;height:auto}
.ux-config-w .ux-config-res{position:absolute;bottom:10px;left:10px;padding:4px 10px;border-radius:8px;background:#fff;
  border:1.5px solid var(--ux-line);font:600 14px/1.3 'Fredoka',Inter,sans-serif;color:var(--ux-dark)}
.ux-config-w .ux-config-groups{display:flex;flex-direction:column;gap:12px}
.ux-config-w .ux-config-glabel{display:block;margin:0 0 5px;font:600 13.5px/1.3 'Fredoka',Inter,sans-serif;color:#5d5146}
.ux-config-w .ux-config-seg{display:flex;flex-wrap:wrap;gap:0;border:1.5px solid var(--ux-line);border-radius:10px;overflow:hidden;background:#fff}
.ux-config-w .ux-config-opt{flex:1 1 0;min-width:56px;padding:9px 8px;border:0;border-left:1.5px solid var(--ux-line);background:#fff;
  color:var(--ux-dark);font:600 14px/1.2 'Fredoka',Inter,sans-serif;cursor:pointer;transition:background .15s,color .15s}
.ux-config-w .ux-config-opt:first-child{border-left:0}
.ux-config-w .ux-config-opt:hover{background:#f3ece0}
.ux-config-w .ux-config-opt.on{background:var(--ux-violet);color:#fff}
.ux-config-w .ux-config-opt:focus-visible{outline:3px solid var(--ux-yellow);outline-offset:-3px;position:relative;z-index:1}
.ux-config-w.done .ux-config-opt{cursor:default}
.ux-config-w.done .ux-config-opt:hover:not(.on){background:#fff}
.ux-config-w.done .ux-config-opt.on{background:var(--ux-green-d)}
.ux-config-w.done .ux-config-stage{border-color:var(--ux-green)}
.ux-config-w .ux-config-sr{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.ux-config-w .ux-config-pop{animation:ux-config-pop .35s ease-out}
@keyframes ux-config-pop{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
@media(max-width:640px){.ux-config-w .ux-config-body{grid-template-columns:1fr}}
@media (prefers-reduced-motion: reduce){.ux-config-w .ux-config-pop{animation:none}.ux-config-w .ux-config-opt{transition:none}}

/* --- Widget „crossword“ --- */
/* crossword — Kreuzworträtsel (2026-10-08) */
.ux-crossword-w .ux-cw-body{display:flex;flex-wrap:wrap;gap:16px 20px;align-items:flex-start}
.ux-crossword-w .ux-cw-gridwrap{flex:1 1 260px;min-width:0;max-width:calc(var(--cw-c, 10) * 40px)}
.ux-crossword-w .ux-cw-grid{
  container-type:inline-size;
  display:grid;grid-template-columns:repeat(var(--cw-c, 10),minmax(0,1fr));gap:2px;
  padding:6px;border-radius:12px;background:var(--ux-paper);border:1.5px solid var(--ux-line);
}
.ux-crossword-w .ux-cw-x{aspect-ratio:1/1}
.ux-crossword-w .ux-cw-cell{
  position:relative;aspect-ratio:1/1;min-width:0;border-radius:4px;
  background:#fff;border:1.5px solid #b9ab94;transition:background-color .15s,border-color .15s;
}
.ux-crossword-w .ux-cw-in{
  position:absolute;inset:0;width:100%;height:100%;margin:0;padding:10% 0 0;border:0;border-radius:3px;
  background:transparent;color:var(--ux-dark);text-align:center;text-transform:uppercase;
  font-family:'Fredoka',Inter,sans-serif;font-weight:600;
  font-size:clamp(16px, calc(100cqw / var(--cw-c, 10) * .5), 22px);line-height:1;
  caret-color:transparent;outline:none;-webkit-appearance:none;appearance:none;
}
.ux-crossword-w .ux-cw-num{
  position:absolute;left:2px;top:0;font:600 9px/1.15 'Fredoka',Inter,sans-serif;color:#6b5f53;pointer-events:none;z-index:1;
}
.ux-crossword-w .ux-cw-m::before{
  content:'';position:absolute;inset:14%;border-radius:50%;border:2px solid var(--ux-orange);background:#fff6dc;pointer-events:none;
}
.ux-crossword-w .ux-cw-mk{
  position:absolute;right:2px;bottom:0;font:700 8.5px/1.15 'Fredoka',Inter,sans-serif;color:#b86a2c;pointer-events:none;z-index:1;
}
.ux-crossword-w .ux-cw-in{z-index:2}
.ux-crossword-w.ux-cw-act .ux-cw-cell.hl{background:#e6eefb;border-color:var(--ux-blue)}
.ux-crossword-w.ux-cw-act .ux-cw-cell.cur{background:#cfdff8;border-color:var(--ux-blue-d);box-shadow:0 0 0 2px var(--ux-blue-d)}
.ux-crossword-w .ux-cw-cell:focus-within{box-shadow:0 0 0 2px var(--ux-blue-d)}
.ux-crossword-w .ux-cw-cell.bad{background:#fdeeed;border-color:var(--ux-red)}
.ux-crossword-w .ux-cw-cell.bad .ux-cw-in{color:#b23a30}
.ux-crossword-w .ux-cw-cell.ok{background:#eef7ea;border-color:var(--ux-green)}
.ux-crossword-w .ux-cw-cell.ok .ux-cw-in{color:var(--ux-green-d)}
.ux-crossword-w .ux-cw-grid.ux-cw-shake{animation:ux-cw-shake .32s ease}
@keyframes ux-cw-shake{0%,100%{transform:none}25%{transform:translateX(-4px)}75%{transform:translateX(4px)}}

/* Lösungswort */
.ux-crossword-w .ux-cw-sol{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:10px;font:600 14px/1.2 'Fredoka',Inter,sans-serif;color:#6b5f53}
.ux-crossword-w .ux-cw-sol[hidden]{display:none}
.ux-crossword-w .ux-cw-solrow{display:inline-flex;gap:4px}
.ux-crossword-w .ux-cw-solc{
  position:relative;width:30px;height:32px;display:inline-flex;align-items:center;justify-content:center;
  border-radius:50%;border:2px solid var(--ux-orange);background:#fff6dc;color:var(--ux-dark);font:600 17px/1 'Fredoka',Inter,sans-serif;
}
.ux-crossword-w .ux-cw-solc::after{content:attr(data-i);position:absolute;right:-3px;bottom:-4px;font-size:9px;color:#b86a2c}
.ux-crossword-w .ux-cw-sol.ok .ux-cw-solc{border-color:var(--ux-green);background:#eef7ea;color:var(--ux-green-d)}

/* Hinweise */
.ux-crossword-w .ux-cw-clues{flex:1 1 230px;min-width:0;display:flex;flex-direction:column;gap:12px}
.ux-crossword-w .ux-cw-ch{margin:0 0 6px;font:600 13px/1.2 'Fredoka',Inter,sans-serif;letter-spacing:.08em;text-transform:uppercase;color:#6b5f53}
.ux-crossword-w .ux-cw-cl{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}
.ux-crossword-w .ux-cw-clue{
  width:100%;display:flex;align-items:center;gap:9px;text-align:left;cursor:pointer;
  padding:6px 10px;border-radius:9px;background:#fff;border:1.5px solid var(--ux-line);
  font:400 14px/1.35 'Fredoka',Inter,sans-serif;color:var(--ux-dark);transition:border-color .15s,background-color .15s;
}
.ux-crossword-w .ux-cw-clue:hover{border-color:var(--ux-blue)}
.ux-crossword-w .ux-cw-clue:focus-visible{outline:3px solid var(--ux-yellow);outline-offset:2px}
.ux-crossword-w .ux-cw-clue.on{border-color:var(--ux-blue-d);background:#eef3fb}
.ux-crossword-w .ux-cw-cn{flex:0 0 auto;min-width:22px;height:22px;border-radius:6px;display:inline-flex;align-items:center;justify-content:center;background:#3d2a6b;color:#fff;font-weight:600;font-size:12.5px}
.ux-crossword-w .ux-cw-ct{flex:1 1 auto;min-width:0;display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.ux-crossword-w .ux-cw-ct svg{height:30px;width:auto;max-width:96px;flex:0 0 auto;display:block}
.ux-crossword-w .ux-cw-len{flex:0 0 auto;color:#9a8d7d;font-size:12.5px}
.ux-crossword-w .ux-cw-sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.ux-crossword-w.done .ux-cw-clue{cursor:default}
.ux-crossword-w.done .ux-cw-clue:hover{border-color:var(--ux-line)}

@media (max-width:520px){
  .ux-crossword-w .ux-cw-grid{padding:4px;gap:1.5px}
  .ux-crossword-w .ux-cw-cell{border-width:1px;border-radius:3px}
  .ux-crossword-w .ux-cw-num{font-size:7.5px;left:1px}
  .ux-crossword-w .ux-cw-mk{display:none}
  .ux-crossword-w .ux-cw-clue{font-size:13.5px;padding:5px 8px}
  .ux-crossword-w .ux-cw-ct svg{height:26px}
}
@media (prefers-reduced-motion: reduce){
  .ux-crossword-w .ux-cw-grid.ux-cw-shake{animation:none}
  .ux-crossword-w .ux-cw-cell,.ux-crossword-w .ux-cw-clue{transition:none}
}

/* --- Widget „field“ --- */
/* field — drehbare Kompassnadeln in einer Zeichnung */
.ux-field-w .ux-field-stage{background:var(--ux-paper);border:1.5px solid var(--ux-line);border-radius:11px;padding:10px;max-width:560px}
.ux-field-w .ux-field-svg{display:block;width:100%;height:auto;font-family:'Fredoka',sans-serif;overflow:hidden}
.ux-field-w .ux-field-svg text{font-family:'Fredoka',sans-serif}
.ux-field-w .ux-field-n{cursor:pointer;touch-action:none;outline:none}
.ux-field-w .ux-field-ring{fill:#fff;stroke:#2f2f2f;stroke-width:1.8}
.ux-field-w .ux-field-nn{fill:#e2574c;stroke:#9e2f27;stroke-width:.8;stroke-linejoin:round}
.ux-field-w .ux-field-s{fill:#f4ede0;stroke:#6b5f53;stroke-width:.8;stroke-linejoin:round}
.ux-field-w .ux-field-pin{fill:#2f2f2f}
.ux-field-w .ux-field-n:hover .ux-field-ring{stroke:#2c5fb5;stroke-width:2.6}
.ux-field-w .ux-field-n:focus-visible .ux-field-ring,.ux-field-w .ux-field-n.drag .ux-field-ring{stroke:#2c5fb5;stroke-width:3;fill:#fff8d6}
.ux-field-w .ux-field-n.ok .ux-field-ring{stroke:#4a7530;stroke-width:3;fill:#e8f4e4}
.ux-field-w .ux-field-n.bad .ux-field-ring{stroke:#e2574c;stroke-width:3;fill:#fbe6e4}
.ux-field-w.done .ux-field-n{cursor:default}
.ux-field-w .ux-field-n:focus-visible{outline:none}
.ux-field-w .ux-field-key{display:flex;flex-wrap:wrap;gap:6px 14px;margin:8px 2px 0;font-size:13px;color:#6b5f53}
.ux-field-w .ux-field-key span{display:inline-flex;align-items:center;gap:6px}
.ux-field-w .ux-field-key i{display:inline-block;width:18px;height:7px;border-radius:4px;background:linear-gradient(90deg,#f4ede0 0 50%,#e2574c 50% 100%);border:1px solid #9e2f27}
@media (max-width:480px){.ux-field-w .ux-field-stage{padding:4px}}
@media (prefers-reduced-motion: reduce){
  .ux-field-w .ux-field-ring,.ux-field-w .ux-field-rot{transition:none;animation:none}
}

/* --- Widget „flip“ --- */
/* flip — Ausrichten im Raster (Elementarmagnete) */
.ux-flip-w .ux-flip-stage{
  display:flex; align-items:center; justify-content:center; gap:10px;
  padding:14px 10px; border-radius:12px; background:#faf6ee; border:1.5px solid var(--ux-line,#d9cdb8);
}
.ux-flip-w .ux-flip-stage.mag-left{flex-direction:row}
.ux-flip-w .ux-flip-stage.mag-right{flex-direction:row-reverse}
.ux-flip-w .ux-flip-mag{flex:0 0 auto; width:min(26%,124px); height:auto; display:block}
.ux-flip-w .ux-flip-mag text{font-family:'Fredoka',Inter,sans-serif; font-weight:600; font-size:22px; fill:#fff}
.ux-flip-w .ux-flip-grid{
  flex:1 1 auto; min-width:0; width:100%;
  display:grid; gap:3px; padding:8px; border-radius:10px;
  background:#f4ede0; border:2.2px solid #2f2f2f;
}
.ux-flip-w .ux-flip-cell{
  appearance:none; -webkit-appearance:none; margin:0; padding:0; min-width:0;
  aspect-ratio:1/1; width:100%; border-radius:8px; cursor:pointer;
  background:#fff; border:1.5px solid transparent; display:flex; align-items:center; justify-content:center;
  touch-action:manipulation;
}
.ux-flip-w .ux-flip-cell svg{width:100%; height:100%; display:block; overflow:visible}
.ux-flip-w .ux-flip-cell:hover{border-color:var(--ux-blue,#5b8bd8)}
.ux-flip-w .ux-flip-cell:focus-visible{outline:3px solid var(--ux-yellow,#f4d03f); outline-offset:1px; position:relative; z-index:1}
.ux-flip-w .ux-flip-rot{transition:transform .22s ease}
.ux-flip-w .ux-flip-n{fill:#e2574c}
.ux-flip-w .ux-flip-s{fill:#5b8bd8}
.ux-flip-w .ux-flip-cell.lock{background:#ece4d6; cursor:not-allowed; border-style:dashed; border-color:#b9ab95}
.ux-flip-w .ux-flip-pin{fill:#7c5fb5}
.ux-flip-w .ux-flip-cell.ok{background:#e8f4e4; border-color:var(--ux-green,#67b05f); cursor:default}
.ux-flip-w.done .ux-flip-cell:hover{border-color:var(--ux-green,#67b05f)}
.ux-flip-w .ux-flip-grid.shake{animation:ux-flip-shake .32s ease}
@keyframes ux-flip-shake{0%,100%{transform:translateX(0)}25%{transform:translateX(-4px)}75%{transform:translateX(4px)}}
.ux-flip-w .ux-flip-meta{
  display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; gap:6px 14px;
  margin-top:8px; font-family:'Fredoka',Inter,sans-serif; font-size:14px; color:#2f2f2f;
}
.ux-flip-w .ux-flip-moves{font-weight:600; padding:3px 10px; border-radius:999px; background:#fff; border:1.5px solid var(--ux-line,#d9cdb8)}
.ux-flip-w .ux-flip-moves.over{border-color:#e2574c; color:#96271e; background:#fbe6e4}
.ux-flip-w .ux-flip-legend{display:flex; flex-wrap:wrap; gap:4px 12px; font-size:13px; color:#6b5f53}
.ux-flip-w .ux-flip-key{display:inline-flex; align-items:center; gap:5px}
.ux-flip-w .ux-flip-sw{display:inline-block; width:14px; height:10px; border-radius:2px}
.ux-flip-w .ux-flip-sw.n{background:#e2574c}
.ux-flip-w .ux-flip-sw.s{background:#5b8bd8}
.ux-flip-w .ux-flip-sw.p{background:#7c5fb5; border-radius:50%; width:9px; height:9px}
@media (max-width:440px){
  .ux-flip-w .ux-flip-stage{padding:10px 6px; gap:6px}
  .ux-flip-w .ux-flip-grid{padding:5px; gap:2px}
}
@media (prefers-reduced-motion: reduce){
  .ux-flip-w .ux-flip-rot{transition:none}
  .ux-flip-w .ux-flip-grid.shake{animation:none}
}

/* --- Widget „focus“ --- */
/* focus — Scharfstellen an der optischen Bank */
.ux-focus-w .ux-focus-task{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 10px;margin:0 0 8px}
.ux-focus-w .ux-focus-cnt{font-size:12px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:#7c5fb5;white-space:nowrap}
.ux-focus-w .ux-focus-cnt[hidden]{display:none}
.ux-focus-w .ux-focus-q{margin:0;font-weight:600;color:#2f2f2f;flex:1 1 220px}
.ux-focus-w .ux-focus-stage{background:var(--ux-paper,#faf6ee);border:1.5px solid var(--ux-line,#d9cdb8);border-radius:11px;padding:6px;max-width:560px;transition:border-color .2s}
.ux-focus-w.ux-focus-ok .ux-focus-stage{border-color:#4a7530}
.ux-focus-w.ux-focus-bad .ux-focus-stage{border-color:#e2574c}
.ux-focus-w .ux-focus-svg{display:block;width:100%;height:auto;font-family:'Fredoka',sans-serif;user-select:none;-webkit-user-select:none}
.ux-focus-w .ux-focus-svg text{font-family:'Fredoka',sans-serif}
.ux-focus-w .ux-focus-bg{fill:#faf6ee}
.ux-focus-w .ux-focus-lbl{font-size:13px;font-weight:600;fill:#6b5f53}
.ux-focus-w .ux-focus-scr{fill:#fff;stroke:#2f2f2f;stroke-width:1.6}
.ux-focus-w .ux-focus-glow{fill:#f4d03f}
.ux-focus-w .ux-focus-wax{fill:#e2574c;stroke:#9e2f27;stroke-width:1;vector-effect:non-scaling-stroke}
.ux-focus-w .ux-focus-wick{stroke:#2f2f2f;stroke-width:1.4;vector-effect:non-scaling-stroke}
.ux-focus-w .ux-focus-flame{fill:#e79a3a}
.ux-focus-w .ux-focus-core{fill:#f4d03f}
.ux-focus-w .ux-focus-axis{stroke:#9b8f80;stroke-width:1;stroke-dasharray:6 4}
.ux-focus-w .ux-focus-rail{fill:#6b5f53}
.ux-focus-w .ux-focus-tk{stroke:#6b5f53;stroke-width:.7}
.ux-focus-w .ux-focus-tk.b{stroke-width:1.2}
.ux-focus-w .ux-focus-num{font-size:12px;fill:#6b5f53}
.ux-focus-w .ux-focus-rod{stroke:#6b5f53;stroke-width:2.4}
.ux-focus-w .ux-focus-foot{fill:#2f2f2f}
.ux-focus-w .ux-focus-lens{fill:#5b8bd8;fill-opacity:.28;stroke:#2c5fb5;stroke-width:1.8}
.ux-focus-w .ux-focus-sp{fill:#fff;stroke:#2f2f2f;stroke-width:1.5}
.ux-focus-w .ux-focus-spot{stroke:#e79a3a;stroke-width:4;stroke-linecap:round}
.ux-focus-w .ux-focus-cone{fill:#f4d03f;fill-opacity:.28;stroke:none}
.ux-focus-w .ux-focus-cone2{fill:#f4d03f;fill-opacity:.45;stroke:#e79a3a;stroke-width:1.2;stroke-linejoin:round}
.ux-focus-w .ux-focus-hit{fill:transparent}
.ux-focus-w .ux-focus-mov{cursor:grab;touch-action:none;outline:none}
.ux-focus-w .ux-focus-mov.drag{cursor:grabbing}
.ux-focus-w .ux-focus-arr{fill:#7c5fb5}
.ux-focus-w .ux-focus-mov:hover .ux-focus-foot,.ux-focus-w .ux-focus-mov:focus-visible .ux-focus-foot,.ux-focus-w .ux-focus-mov.drag .ux-focus-foot{fill:#7c5fb5}
.ux-focus-w .ux-focus-mov:focus-visible .ux-focus-hit{fill:#fff8d6;fill-opacity:.7;stroke:#2c5fb5;stroke-width:2;stroke-dasharray:4 3}
.ux-focus-w .ux-focus-fl{transform-box:fill-box;transform-origin:50% 100%;animation:ux-focus-flicker 1.6s ease-in-out infinite alternate}
@keyframes ux-focus-flicker{0%{transform:scale(1,1)}50%{transform:scale(.92,1.06)}100%{transform:scale(1.04,.96)}}
.ux-focus-w .ux-focus-ctl{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:6px;margin:8px 0 2px;max-width:560px}
.ux-focus-w .ux-focus-mb{min-width:44px;padding:6px 10px;font-size:14px;line-height:1.1}
.ux-focus-w .ux-focus-ml{font-size:13px;color:#6b5f53;padding:0 4px}
.ux-focus-w.done .ux-focus-mov{cursor:default}
.ux-focus-w.done .ux-focus-arr{display:none}
.ux-focus-w.done .ux-focus-stage{border-color:#4a7530}
@media (max-width:480px){.ux-focus-w .ux-focus-stage{padding:3px}.ux-focus-w .ux-focus-ml{flex-basis:100%;text-align:center;order:-1;padding:0}}
@media (prefers-reduced-motion: reduce){
  .ux-focus-w .ux-focus-fl{animation:none}
  .ux-focus-w .ux-focus-stage{transition:none}
}

/* --- Widget „gauge“ --- */
/* gauge — Zeigermessgerät (2026-10-08) */
.ux-gauge-w .ux-gauge-box{background:var(--ux-paper,#faf6ee);border:1.5px solid var(--ux-line,#d9cdb8);border-radius:12px;padding:12px 12px 14px;margin:4px 0 10px}
.ux-gauge-w .ux-gauge-top{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 12px;margin-bottom:8px}
.ux-gauge-w .ux-gauge-rng{display:flex;flex-wrap:wrap;align-items:center;gap:6px;font-family:'Fredoka',Inter,sans-serif;font-size:14px;color:var(--ux-dark,#2f2f2f)}
.ux-gauge-w .ux-gauge-rl{font-weight:500}
.ux-gauge-w .ux-gauge-rv{font-weight:600;background:#fff;border:1.5px solid var(--ux-line,#d9cdb8);border-radius:8px;padding:3px 9px}
.ux-gauge-w .ux-gauge-rb{font:600 14px/1 'Fredoka',Inter,sans-serif;background:#fff;color:var(--ux-dark,#2f2f2f);border:1.5px solid var(--ux-line,#d9cdb8);border-radius:999px;padding:6px 12px;cursor:pointer;min-height:32px}
.ux-gauge-w .ux-gauge-rb[aria-pressed="true"]{background:var(--ux-violet,#7c5fb5);border-color:var(--ux-violet,#7c5fb5);color:#fff}
.ux-gauge-w .ux-gauge-rb:focus-visible,.ux-gauge-w .ux-gauge-nb:focus-visible{outline:3px solid var(--ux-yellow,#f4d03f);outline-offset:2px}
.ux-gauge-w .ux-gauge-goal{font:600 14px/1.2 'Fredoka',Inter,sans-serif;background:#fff;border:1.5px solid var(--ux-dark,#2f2f2f);border-radius:8px;padding:5px 10px;color:var(--ux-dark,#2f2f2f)}
.ux-gauge-w .ux-gauge-svg{display:block;width:100%;height:auto;max-width:400px;margin:0 auto;border-radius:18px}
.ux-gauge-w .ux-gauge-svg:focus{outline:none}
.ux-gauge-w .ux-gauge-svg:focus-visible{outline:3px solid var(--ux-yellow,#f4d03f);outline-offset:3px}
.ux-gauge-w .ux-gauge-drag{touch-action:none;cursor:pointer}
.ux-gauge-w .ux-gauge-case{fill:#2f2f2f}
.ux-gauge-w .ux-gauge-face{fill:#fffdf8}
.ux-gauge-w .ux-gauge-band{fill:none;stroke:var(--ux-violet,#7c5fb5);stroke-opacity:.22;stroke-width:6}
.ux-gauge-w .ux-gauge-arc{fill:none;stroke:#2f2f2f;stroke-width:1.6}
.ux-gauge-w .ux-gauge-maj{stroke:#2f2f2f;stroke-width:2.2;stroke-linecap:round}
.ux-gauge-w .ux-gauge-mid{stroke:#2f2f2f;stroke-width:1.6}
.ux-gauge-w .ux-gauge-min{stroke:#2f2f2f;stroke-width:1.1}
.ux-gauge-w .ux-gauge-num{font-family:'Fredoka',Inter,sans-serif;font-size:16px;font-weight:600;fill:#2f2f2f}
.ux-gauge-w .ux-gauge-sym circle{fill:none;stroke:var(--ux-violet,#7c5fb5);stroke-width:2.2}
.ux-gauge-w .ux-gauge-sym text{font-family:'Fredoka',Inter,sans-serif;font-size:17px;font-weight:600;fill:var(--ux-violet,#7c5fb5)}
.ux-gauge-w .ux-gauge-over{font-family:'Fredoka',Inter,sans-serif;font-size:14px;font-weight:600;fill:var(--ux-red,#e2574c)}
.ux-gauge-w .ux-gauge-needle{transform-box:view-box;transform-origin:160px 178px}
.ux-gauge-w .ux-gauge-needle line{stroke:var(--ux-red,#e2574c);stroke-width:3;stroke-linecap:round}
.ux-gauge-w .ux-gauge-needle.ux-gauge-anim{transition:transform .28s cubic-bezier(.3,1.4,.5,1)}
.ux-gauge-w .ux-gauge-dragging .ux-gauge-needle.ux-gauge-anim{transition:none}
.ux-gauge-w .ux-gauge-needle.ux-gauge-ov line{stroke:#96271e}
.ux-gauge-w .ux-gauge-pivot{fill:#2f2f2f}
.ux-gauge-w .ux-gauge-pin{fill:#fffdf8}
.ux-gauge-w .ux-gauge-svg.ok .ux-gauge-face{fill:#eef7ea}
.ux-gauge-w .ux-gauge-svg.bad .ux-gauge-face{fill:#fdf0ee}
.ux-gauge-w .ux-gauge-nudge{display:flex;justify-content:center;gap:8px;margin-top:10px}
.ux-gauge-w .ux-gauge-nb{font:600 16px/1 'Fredoka',Inter,sans-serif;min-width:46px;min-height:38px;background:#fff;color:var(--ux-dark,#2f2f2f);border:1.5px solid var(--ux-line,#d9cdb8);border-radius:9px;cursor:pointer}
.ux-gauge-w .ux-gauge-nb:hover{border-color:var(--ux-blue,#5b8bd8)}
.ux-gauge-w .ux-gauge-inrow{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:8px;margin-top:10px;font-family:'Fredoka',Inter,sans-serif;font-size:15px}
.ux-gauge-w .ux-gauge-il{display:flex;align-items:center;gap:8px;font-weight:500}
.ux-gauge-w .ux-gauge-in{font:600 16px/1.2 'Fredoka',Inter,sans-serif;width:110px;max-width:100%;padding:7px 10px;border:1.5px solid var(--ux-line,#d9cdb8);border-radius:8px;background:#fff;color:var(--ux-dark,#2f2f2f);text-align:right}
.ux-gauge-w .ux-gauge-in:focus-visible{outline:3px solid var(--ux-yellow,#f4d03f);outline-offset:2px}
.ux-gauge-w .ux-gauge-in.ok{border-color:var(--ux-green,#67b05f);background:#e8f4e4}
.ux-gauge-w .ux-gauge-in.bad{border-color:var(--ux-red,#e2574c);background:#fbe6e4}
.ux-gauge-w .ux-gauge-unit{font-weight:600}
.ux-gauge-w.done .ux-gauge-drag{cursor:default}
@media (prefers-reduced-motion: reduce){
  .ux-gauge-w .ux-gauge-needle,.ux-gauge-w .ux-gauge-needle.ux-gauge-anim{transition:none}
}

/* --- Widget „label“ --- */
/* label — Abbildung beschriften (2026-10-08) */
.ux-label-w{font-family:'Fredoka',Inter,sans-serif}
.ux-label-w .ux-label-pool{
  display:flex; flex-wrap:wrap; gap:8px; padding:10px; min-height:46px;
  border-radius:11px; background:var(--ux-paper,#faf6ee); border:1.5px dashed var(--ux-line,#d9cdb8);
}
.ux-label-w .ux-label-chip{
  font:600 14px/1.2 'Fredoka',Inter,sans-serif; cursor:grab; touch-action:none; user-select:none; -webkit-user-select:none;
  display:inline-flex; align-items:center; gap:6px; max-width:100%;
  padding:8px 13px; border-radius:20px; background:#fff; color:#2f2f2f;
  border:1.5px solid var(--ux-line,#d9cdb8);
  transition:transform .15s ease, background-color .15s ease;
}
.ux-label-w .ux-label-chip:hover{border-color:#7c5fb5}
.ux-label-w .ux-label-chip:focus-visible{outline:3px solid #f4d03f; outline-offset:2px}
.ux-label-w .ux-label-chip.picked{background:#7c5fb5; border-color:#7c5fb5; color:#fff; transform:translateY(-2px)}
.ux-label-w .ux-label-chip.placed{background:#f1ecf8; border-style:dashed; border-color:#7c5fb5; color:#5b4590}
.ux-label-w .ux-label-chip.placed.picked{background:#7c5fb5; color:#fff; border-style:solid}
.ux-label-w .ux-label-chip.dragging{opacity:.45}
.ux-label-w .ux-label-chip.ok{background:#e8f4e4; border-color:#67b05f; color:#4a7530; border-style:solid}
.ux-label-w .ux-label-chip.bad{background:#fbe6e4; border-color:#e2574c; color:#96271e; border-style:solid}
.ux-label-w .ux-label-chip.spare{opacity:.5; text-decoration:line-through}
.ux-label-w .ux-label-badge{font-size:12px; font-weight:700; color:inherit; opacity:.85}
.ux-label-w .ux-label-badge:empty{display:none}
.ux-label-w .ux-label-fig{
  margin-top:12px; padding:10px; border-radius:11px;
  background:#faf6ee; border:1.5px solid var(--ux-line,#d9cdb8);
}
.ux-label-w .ux-label-svg{display:block; width:100%; height:auto; max-width:520px; margin:0 auto; overflow:visible}
.ux-label-w .ux-label-svg text{font-family:'Fredoka',Inter,sans-serif}
.ux-label-w .ux-label-probe{font-weight:600}
/* Leitlinien */
.ux-label-w .ux-label-lead{stroke:#a89a85; stroke-width:1.6; stroke-dasharray:4 4; fill:none}
.ux-label-w .ux-label-lead.filled{stroke:#7c5fb5; stroke-dasharray:none; stroke-width:1.8}
.ux-label-w .ux-label-lead.ok{stroke:#4a7530}
.ux-label-w .ux-label-lead.bad{stroke:#e2574c}
/* Schilder */
.ux-label-w .ux-label-pt{cursor:pointer; outline:none}
.ux-label-w .ux-label-tag rect{fill:#fff; fill-opacity:.85; stroke:#b9ab95; stroke-width:1.5; stroke-dasharray:5 4}
.ux-label-w .ux-label-tag text{fill:#9a8d7d; font-weight:600}
.ux-label-w .ux-label-pt.filled .ux-label-tag rect{fill-opacity:1; stroke:#7c5fb5; stroke-width:2; stroke-dasharray:none}
.ux-label-w .ux-label-pt.filled .ux-label-tag text{fill:#2f2f2f}
.ux-label-w .ux-label-pt.ok .ux-label-tag rect{fill:#e8f4e4; stroke:#4a7530}
.ux-label-w .ux-label-pt.ok .ux-label-tag text{fill:#4a7530}
.ux-label-w .ux-label-pt.bad .ux-label-tag rect{fill:#fbe6e4; stroke:#e2574c}
.ux-label-w .ux-label-pt.bad .ux-label-tag text{fill:#96271e}
/* Markierungspunkte */
.ux-label-w .ux-label-mark circle{fill:#7c5fb5; stroke:#fff; stroke-width:2.2}
.ux-label-w .ux-label-mark text{fill:#fff; font-weight:700}
.ux-label-w .ux-label-pt:hover .ux-label-mark circle,
.ux-label-w .ux-label-pt.over .ux-label-mark circle{fill:#2c5fb5}
.ux-label-w .ux-label-pt:hover .ux-label-tag rect,
.ux-label-w .ux-label-pt.over .ux-label-tag rect{stroke:#2c5fb5; stroke-width:2.4}
.ux-label-w .ux-label-pt:focus-visible .ux-label-mark circle{stroke:#f4d03f; stroke-width:4}
.ux-label-w .ux-label-pt:focus-visible .ux-label-tag rect{stroke:#f4d03f; stroke-width:3.2; stroke-dasharray:none}
.ux-label-w.ux-label-armed .ux-label-pt:not(.filled) .ux-label-tag rect{stroke:#7c5fb5; stroke-width:2}
.ux-label-w.ux-label-anim.ux-label-armed .ux-label-mark circle{animation:ux-label-puls 1.1s ease-in-out infinite}
.ux-label-w.done .ux-label-pt,.ux-label-w.done .ux-label-chip{cursor:default}
.ux-label-w.done .ux-label-mark circle{animation:none}
@keyframes ux-label-puls{0%,100%{stroke-width:2.2}50%{stroke-width:5}}
/* Zieh-Geist (hängt am body, darum eigene Wurzelklasse) */
.ux-label-ghost{
  position:fixed; z-index:9999; pointer-events:none; transform:translate(-50%,-130%);
  font:600 14px/1.2 'Fredoka',Inter,sans-serif; padding:8px 13px; border-radius:20px;
  background:#7c5fb5; color:#fff; box-shadow:0 6px 16px rgba(47,47,47,.25); white-space:nowrap;
}
@media (max-width:480px){
  .ux-label-w .ux-label-fig{padding:6px}
  .ux-label-w .ux-label-chip{font-size:13.5px; padding:7px 11px}
}
@media (prefers-reduced-motion: reduce){
  .ux-label-w .ux-label-chip{transition:none}
  .ux-label-w .ux-label-chip.picked{transform:none}
  .ux-label-w .ux-label-mark circle{animation:none}
}

/* --- Widget „mix“ --- */
/* mix — Licht mischen/filtern (2026-10-08) */
.ux-mix-w .ux-mix-task{margin:0 0 10px;font-family:'Fredoka',Inter,sans-serif;font-size:15px;font-weight:500;line-height:1.4;color:var(--ux-dark,#2f2f2f);padding:9px 12px;border-radius:10px;background:#f3eefb;border:1.5px solid #d9cdee}
.ux-mix-w .ux-mix-task b{color:var(--ux-violet,#7c5fb5);font-weight:600}
.ux-mix-w .ux-mix-stage{background:var(--ux-paper,#faf6ee);border:1.5px solid var(--ux-line,#d9cdb8);border-radius:14px;padding:8px;line-height:0}
.ux-mix-w .ux-mix-stage svg{display:block;width:100%;max-width:540px;height:auto;margin:0 auto;overflow:visible}
.ux-mix-w .ux-mix-txt{font-family:'Fredoka',Inter,sans-serif;font-size:12.5px;font-weight:600;fill:#6b5f53}
.ux-mix-w .ux-mix-scr{fill:#e9e1d2;stroke:#9a8d7d;stroke-width:1.5}
.ux-mix-w .ux-mix-lamp{fill:var(--ux-dark,#2f2f2f)}
.ux-mix-w .ux-mix-lens{fill:#fff6c9;stroke:var(--ux-dark,#2f2f2f);stroke-width:1.2}
.ux-mix-w .ux-mix-white{stroke:#cbbfa9;stroke-width:9;stroke-linecap:round;fill:none}
.ux-mix-w .ux-mix-white2{stroke:#fff;stroke-width:6;stroke-linecap:round;fill:none}
.ux-mix-w .ux-mix-glass{fill:rgba(91,139,216,.16);stroke:var(--ux-blue-d,#2c5fb5);stroke-width:2;stroke-linejoin:round}
.ux-mix-w .ux-mix-fan{stroke-width:3.4;stroke-linecap:round;fill:none;opacity:.95}
.ux-mix-w .ux-mix-beam{stroke-width:3.4;stroke-linecap:round;fill:none;opacity:0;transition:opacity .25s}
.ux-mix-w .ux-mix-beam.on{opacity:.95}
.ux-mix-w .ux-mix-out1,.ux-mix-w .ux-mix-out{stroke-width:7;stroke-linecap:round;fill:none;opacity:0;transition:opacity .25s,stroke .25s}
.ux-mix-w .ux-mix-out1.on,.ux-mix-w .ux-mix-out.on{opacity:1}
.ux-mix-w .ux-mix-spot{fill:#d8cfbf;stroke:#9a8d7d;stroke-width:1.5;transition:fill .25s}
.ux-mix-w .ux-mix-spot.on{stroke:var(--ux-dark,#2f2f2f)}
.ux-mix-w .ux-mix-band{opacity:0;transition:opacity .25s}
.ux-mix-w .ux-mix-band.on{opacity:1}
.ux-mix-w .ux-mix-src,.ux-mix-w .ux-mix-flt{cursor:pointer}
.ux-mix-w .ux-mix-hit{fill:transparent;stroke:transparent;stroke-width:1.4}
.ux-mix-w .ux-mix-src:hover .ux-mix-hit,.ux-mix-w .ux-mix-flt:hover .ux-mix-hit{fill:rgba(91,139,216,.12);stroke:var(--ux-blue,#5b8bd8);stroke-dasharray:3 2}
.ux-mix-w .ux-mix-shut{fill:var(--ux-dark,#2f2f2f);transition:opacity .2s}
.ux-mix-w .ux-mix-frame{fill:none;stroke:var(--ux-dark,#2f2f2f);stroke-width:1.4}
.ux-mix-w .ux-mix-src.on .ux-mix-shut{opacity:0}
.ux-mix-w .ux-mix-src.on .ux-mix-frame{stroke:#9a8d7d;stroke-dasharray:2 2}
.ux-mix-w .ux-mix-lbody{fill:var(--ux-dark,#2f2f2f)}
.ux-mix-w .ux-mix-bulb{stroke:var(--ux-dark,#2f2f2f);stroke-width:1.4;opacity:.35;transition:opacity .2s}
.ux-mix-w .ux-mix-src.on .ux-mix-bulb{opacity:1}
.ux-mix-w .ux-mix-fglass{opacity:.18;stroke:var(--ux-dark,#2f2f2f);stroke-width:1;stroke-dasharray:3 2;transition:opacity .2s}
.ux-mix-w .ux-mix-flt.on .ux-mix-fglass{opacity:.85;stroke-dasharray:none}
.ux-mix-w .ux-mix-src.lock,.ux-mix-w .ux-mix-flt.lock{cursor:not-allowed}
.ux-mix-w .ux-mix-src.lock .ux-mix-hit,.ux-mix-w .ux-mix-flt.lock .ux-mix-hit{fill:rgba(226,87,76,.08);stroke:var(--ux-red,#e2574c);stroke-dasharray:3 2}
.ux-mix-w .ux-mix-ctl{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;margin-top:10px}
.ux-mix-w .ux-mix-btns{display:flex;flex-wrap:wrap;gap:7px;min-width:0}
.ux-mix-w .ux-mix-btn{display:inline-flex;align-items:center;gap:6px;font-family:'Fredoka',Inter,sans-serif;font-size:14px;font-weight:600;line-height:1.1;padding:7px 11px 7px 7px;border-radius:10px;border:1.5px solid var(--ux-line,#d9cdb8);background:#fff;color:var(--ux-dark,#2f2f2f);cursor:pointer;transition:background-color .15s,border-color .15s}
.ux-mix-w .ux-mix-btn:hover{border-color:var(--ux-blue,#5b8bd8)}
.ux-mix-w .ux-mix-btn:focus-visible{outline:3px solid var(--ux-yellow,#f4d03f);outline-offset:2px}
.ux-mix-w .ux-mix-btn[aria-pressed="true"]{background:#eef7ea;border-color:var(--ux-green,#67b05f)}
.ux-mix-w .ux-mix-btn.flt{border-style:dashed}
.ux-mix-w .ux-mix-btn.lock{background:#f4ede0;border-style:dashed;color:#7d6f60;cursor:not-allowed}
.ux-mix-w .ux-mix-key{display:inline-grid;place-items:center;min-width:19px;height:19px;border-radius:6px;background:#f4ede0;color:#6b5f53;font-size:11.5px}
.ux-mix-w .ux-mix-dot{width:12px;height:12px;border-radius:50%;border:1.5px solid rgba(47,47,47,.45);flex:none}
.ux-mix-w .ux-mix-bs{font-size:12.5px;font-weight:500;color:#6b5f53}
.ux-mix-w .ux-mix-btn[aria-pressed="true"] .ux-mix-bs{color:var(--ux-green-d,#4a7530)}
.ux-mix-w .ux-mix-res{display:inline-flex;flex-wrap:wrap;align-items:center;gap:6px;font-family:'Fredoka',Inter,sans-serif;font-size:14.5px;font-weight:600;color:var(--ux-dark,#2f2f2f);background:#fff;border:1.5px solid var(--ux-line,#d9cdb8);border-radius:10px;padding:6px 11px;min-height:34px}
.ux-mix-w .ux-mix-rl{font-weight:500;color:#6b5f53}
.ux-mix-w .ux-mix-sw{display:inline-block;width:12px;height:18px;border-radius:3px;border:1px solid rgba(47,47,47,.35)}
.ux-mix-w .ux-mix-sw.big{width:20px;height:20px;border-radius:50%}
.ux-mix-w .ux-mix-live{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}
.ux-mix-w .ux-mix-log{list-style:none;margin:8px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:6px}
.ux-mix-w .ux-mix-log:empty{display:none}
.ux-mix-w .ux-mix-log li{font-family:'Fredoka',Inter,sans-serif;font-size:12.5px;font-weight:500;color:var(--ux-green-d,#4a7530);background:#eef7ea;border:1px solid #cfe5c8;border-radius:8px;padding:3px 8px}
.ux-mix-w.ux-mix-shake .ux-mix-res{animation:ux-mix-wobble .35s ease}
@keyframes ux-mix-wobble{0%,100%{transform:translateX(0)}25%{transform:translateX(-4px)}75%{transform:translateX(4px)}}
.ux-mix-w.done .ux-mix-src,.ux-mix-w.done .ux-mix-flt,.ux-mix-w.done .ux-mix-btn{cursor:default}
.ux-mix-w.done .ux-mix-btn[disabled]{opacity:1}
.ux-mix-w.done .ux-mix-stage{border-color:var(--ux-green,#67b05f)}
.ux-mix-w.ux-mix-wait .ux-mix-btn{cursor:wait}
@media(max-width:560px){
  .ux-mix-w .ux-mix-stage{padding:5px}
  .ux-mix-w .ux-mix-btn{font-size:13px;padding:6px 8px 6px 6px;gap:5px}
  .ux-mix-w .ux-mix-task{font-size:14px}
  .ux-mix-w .ux-mix-txt{font-size:13.5px}
}
@media(prefers-reduced-motion:reduce){
  .ux-mix-w .ux-mix-beam,.ux-mix-w .ux-mix-out1,.ux-mix-w .ux-mix-out,.ux-mix-w .ux-mix-spot,.ux-mix-w .ux-mix-band,.ux-mix-w .ux-mix-shut,.ux-mix-w .ux-mix-bulb,.ux-mix-w .ux-mix-fglass,.ux-mix-w .ux-mix-btn{transition:none}
  .ux-mix-w.ux-mix-shake .ux-mix-res{animation:none}
}

/* --- Widget „odd“ --- */
/* odd — Was passt nicht? (2026-10-08) */
.ux-odd-w .ux-odd{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:12px;margin:4px 0 14px}
.ux-odd-w .ux-odd-grp{min-width:0;display:flex;flex-direction:column;gap:8px;padding:10px 10px 11px;background:var(--ux-paper,#faf6ee);border:2px solid var(--ux-line,#d9cdb8);border-radius:14px;transition:border-color .2s,background-color .2s,box-shadow .2s}
.ux-odd-w .ux-odd-head{display:flex;align-items:center;gap:8px;font-family:'Fredoka',Inter,sans-serif;font-size:14.5px;font-weight:600;line-height:1.3;color:var(--ux-dark,#2f2f2f)}
.ux-odd-w .ux-odd-tag{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;background:var(--ux-violet,#7c5fb5);color:#fff;font-size:13px;font-weight:700}
.ux-odd-w .ux-odd-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(118px,1fr));gap:7px}
.ux-odd-w .ux-odd-cards.pic{grid-template-columns:repeat(auto-fit,minmax(96px,1fr))}
.ux-odd-w .ux-odd-card{position:relative;min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;padding:9px 8px;min-height:48px;background:#fff;border:2px solid var(--ux-line,#d9cdb8);border-radius:11px;cursor:pointer;font-family:'Fredoka',Inter,sans-serif;font-size:14px;font-weight:500;line-height:1.25;color:var(--ux-dark,#2f2f2f);text-align:center;transition:border-color .15s,background-color .15s,opacity .2s,transform .15s}
.ux-odd-w .ux-odd-card svg{display:block;width:100%;max-width:120px;height:auto}
.ux-odd-w .ux-odd-cap{font-size:13px;font-weight:600;line-height:1.2}
.ux-odd-w .ux-odd-card:hover{border-color:var(--ux-blue,#5b8bd8)}
.ux-odd-w .ux-odd-card:focus-visible{outline:3px solid var(--ux-yellow,#f4d03f);outline-offset:2px}
/* gewählt: oranges „Ei“ oben rechts */
.ux-odd-w .ux-odd-card.on{border-color:var(--ux-orange,#e79a3a);background:#fff4e4}
.ux-odd-w .ux-odd-card.on::after{content:"";position:absolute;top:-7px;right:-5px;width:14px;height:18px;border-radius:50% 50% 50% 50%/60% 60% 40% 40%;background:var(--ux-orange,#e79a3a);border:2px solid #fff;box-shadow:0 1px 3px rgba(0,0,0,.18)}
.ux-odd-w .ux-odd-card[disabled]{cursor:default}
.ux-odd-w .ux-odd-why{margin:0;padding:7px 10px;border-radius:9px;background:#eef7ea;border:1px solid #cfe5c7;color:#2f4f22;font-size:13.5px;line-height:1.5}
.ux-odd-w .ux-odd-why::before{content:"Grund: ";font-weight:700}
.ux-odd-w .ux-odd-why[hidden]{display:none}
.ux-odd-w .ux-odd-grp.ok{border-color:var(--ux-green,#67b05f);background:#f3f9f0}
.ux-odd-w .ux-odd-grp.ok .ux-odd-card.hit{border-color:var(--ux-green-d,#4a7530);background:#e3f1dc;opacity:1}
.ux-odd-w .ux-odd-grp.ok .ux-odd-card.hit::after{background:var(--ux-green-d,#4a7530)}
.ux-odd-w .ux-odd-card.dim{opacity:.55}
.ux-odd-w .ux-odd-grp.bad{border-color:var(--ux-red,#e2574c);background:#fdeeed}
.ux-odd-w .ux-odd-grp.bad .ux-odd-card.on{border-color:var(--ux-red,#e2574c);background:#fff}
.ux-odd-w .ux-odd-grp.bad .ux-odd-card.on::after{background:var(--ux-red,#e2574c)}
.ux-odd-w .ux-odd-grp.need{border-color:var(--ux-orange,#e79a3a);box-shadow:0 0 0 3px rgba(231,154,58,.25)}
.ux-odd-w .ux-odd-grp.shake{animation:ux-odd-shake .38s ease}
@keyframes ux-odd-shake{0%,100%{transform:none}25%{transform:translateX(-4px)}75%{transform:translateX(4px)}}
@media(max-width:560px){.ux-odd-w .ux-odd-grp{padding:8px 7px 9px}.ux-odd-w .ux-odd-cards{grid-template-columns:1fr 1fr;gap:6px}.ux-odd-w .ux-odd-card{font-size:13.5px;padding:8px 5px}}
@media(prefers-reduced-motion:reduce){.ux-odd-w .ux-odd-grp,.ux-odd-w .ux-odd-card{transition:none}.ux-odd-w .ux-odd-grp.shake{animation:none}}

/* --- Widget „paint“ --- */
/* paint — Bereiche einfärben (2026-10-08) */
.ux-paint-w .ux-paint-pal{display:flex;flex-wrap:wrap;gap:7px;margin:2px 0 10px}
.ux-paint-w .ux-paint-pen{position:relative;display:inline-flex;align-items:center;gap:7px;min-height:42px;padding:6px 30px 6px 7px;background:#fff;border:2px solid var(--ux-line,#d9cdb8);border-radius:12px;cursor:pointer;font-family:'Fredoka',Inter,sans-serif;font-size:14.5px;font-weight:500;line-height:1.2;color:var(--ux-dark,#2f2f2f);transition:border-color .15s,background-color .15s,box-shadow .15s}
.ux-paint-w .ux-paint-sw{flex:0 0 auto;display:inline-flex;width:24px;height:24px}
.ux-paint-w .ux-paint-sw svg{display:block;width:24px;height:24px}
.ux-paint-w .ux-paint-key{position:absolute;right:6px;top:50%;transform:translateY(-50%);display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:5px;background:#f3ece0;border:1px solid var(--ux-line,#d9cdb8);font-size:11.5px;font-weight:600;color:#6b5f53}
.ux-paint-w .ux-paint-pen:hover{border-color:var(--ux-blue,#5b8bd8)}
.ux-paint-w .ux-paint-pen:focus-visible{outline:3px solid var(--ux-yellow,#f4d03f);outline-offset:2px}
.ux-paint-w .ux-paint-pen[aria-checked="true"]{border-color:var(--ux-violet,#7c5fb5);background:#f1ecf9;box-shadow:0 0 0 2px rgba(124,95,181,.25);font-weight:600}
.ux-paint-w .ux-paint-pen[aria-checked="true"] .ux-paint-key{background:var(--ux-violet,#7c5fb5);border-color:var(--ux-violet,#7c5fb5);color:#fff}
.ux-paint-w .ux-paint-pen[disabled]{cursor:default;opacity:.55}
.ux-paint-w .ux-paint-top{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px;margin:0 0 8px;min-height:30px}
.ux-paint-w .ux-paint-count{display:inline-flex;align-items:center;padding:4px 12px;border-radius:999px;background:#fff;border:2px solid var(--ux-line,#d9cdb8);font-family:'Fredoka',Inter,sans-serif;font-size:14px;font-weight:600;color:var(--ux-dark,#2f2f2f)}
.ux-paint-w .ux-paint-count.full{border-color:var(--ux-blue,#5b8bd8)}
.ux-paint-w.done .ux-paint-count{border-color:var(--ux-green,#67b05f);background:#eef7ea;color:var(--ux-green-d,#4a7530)}
.ux-paint-w .ux-paint-cap{flex:1 1 160px;min-width:0;font-family:'Fredoka',Inter,sans-serif;font-size:14px;font-weight:500;color:var(--ux-violet,#7c5fb5);line-height:1.3}
.ux-paint-w .ux-paint-stage{background:var(--ux-paper,#faf6ee);border:1.5px solid var(--ux-line,#d9cdb8);border-radius:12px;padding:8px;overflow:hidden}
.ux-paint-w .ux-paint-stage svg{display:block;width:100%;height:auto;max-height:440px;touch-action:manipulation;user-select:none;-webkit-user-select:none}
.ux-paint-w .ux-paint-ar{cursor:crosshair;outline:none}
.ux-paint-w svg.rub .ux-paint-ar{cursor:not-allowed}
.ux-paint-w svg.rub .ux-paint-ar.on{cursor:pointer}
.ux-paint-w .ux-paint-ar[data-fix="1"]{cursor:default}
.ux-paint-w .ux-paint-sh{stroke:#7a6a52;stroke-width:1.6;stroke-dasharray:5 4;stroke-linejoin:round;transition:fill-opacity .15s,stroke .15s}
.ux-paint-w .ux-paint-ar.on .ux-paint-sh{stroke:rgba(47,47,47,.55);stroke-width:1.3;stroke-dasharray:none}
.ux-paint-w .ux-paint-ar:hover .ux-paint-sh{stroke:var(--ux-blue-d,#2c5fb5);stroke-width:2.4;stroke-dasharray:none}
.ux-paint-w .ux-paint-ar[data-fix="1"] .ux-paint-sh{stroke:rgba(47,47,47,.35);stroke-dasharray:2 3}
.ux-paint-w .ux-paint-ar.bad .ux-paint-sh{stroke:var(--ux-red,#e2574c);stroke-width:4;stroke-dasharray:7 4}
.ux-paint-w .ux-paint-ar.need .ux-paint-sh{stroke:var(--ux-orange,#e79a3a);stroke-width:4;stroke-dasharray:none;animation:ux-paint-blink .45s ease-in-out 3}
.ux-paint-w .ux-paint-ar.pop .ux-paint-sh{animation:ux-paint-pop .28s ease-out}
.ux-paint-w .ux-paint-over{pointer-events:none}
.ux-paint-w .ux-paint-fl{pointer-events:none}
.ux-paint-w .ux-paint-ring{fill:none;stroke:var(--ux-yellow,#f4d03f);stroke-width:4.5;stroke-linejoin:round;filter:drop-shadow(0 0 1.5px rgba(47,47,47,.6))}
.ux-paint-w.done .ux-paint-ar{cursor:default}
.ux-paint-w.done .ux-paint-stage{border-color:var(--ux-green,#67b05f);box-shadow:0 0 0 3px rgba(103,176,95,.2)}
.ux-paint-w.done .ux-paint-ar .ux-paint-sh{stroke:rgba(47,47,47,.45)}
.ux-paint-w .ux-paint-stage.shake{animation:ux-paint-shake .35s ease-in-out}
@keyframes ux-paint-pop{0%{fill-opacity:.35}100%{fill-opacity:1}}
@keyframes ux-paint-blink{0%,100%{stroke-opacity:1}50%{stroke-opacity:.2}}
@keyframes ux-paint-shake{0%,100%{transform:translateX(0)}25%{transform:translateX(-5px)}75%{transform:translateX(5px)}}
@media(max-width:560px){.ux-paint-w .ux-paint-pal{gap:6px}.ux-paint-w .ux-paint-pen{font-size:13.5px;min-height:40px;padding:5px 28px 5px 6px}.ux-paint-w .ux-paint-stage{padding:4px}}
@media(prefers-reduced-motion:reduce){.ux-paint-w .ux-paint-pen,.ux-paint-w .ux-paint-sh{transition:none}.ux-paint-w .ux-paint-ar.need .ux-paint-sh,.ux-paint-w .ux-paint-ar.pop .ux-paint-sh,.ux-paint-w .ux-paint-stage.shake{animation:none}}

/* --- Widget „pixel“ --- */
/* pixel — Pixelbild übertragen (2026-10-08) */
.ux-pixel-w .ux-pixel-stage{--ux-pixel-cs:30px;display:flex;align-items:flex-end;justify-content:center;gap:10px 14px;margin:6px 0 12px;padding:14px 10px 16px;
  background:#faf6ee;border:1.5px solid var(--ux-line,#d9cdb8);border-radius:14px;max-width:100%;box-sizing:border-box}
.ux-pixel-w .ux-pixel-stage.ux-pixel-col{flex-direction:column;align-items:center}
.ux-pixel-w .ux-pixel-fig{display:flex;flex-direction:column;align-items:center;gap:6px;min-width:0}
.ux-pixel-w .ux-pixel-cap{font-family:'Fredoka',Inter,sans-serif;font-size:15px;font-weight:600;color:#3d2a6b;line-height:1.2}
.ux-pixel-w .ux-pixel-grid{position:relative;display:grid;grid-template-columns:repeat(var(--ux-pixel-n,5),var(--ux-pixel-cs));
  grid-auto-rows:var(--ux-pixel-cs);gap:0;background:#fff;border:2px solid #2f2f2f;border-radius:4px;box-sizing:content-box}
.ux-pixel-w .ux-pixel-dst{background:#fffdf7;border-color:#7c5fb5;touch-action:none;user-select:none;-webkit-user-select:none}
.ux-pixel-w .ux-pixel-cell{display:block;width:100%;height:100%;margin:0;padding:0;box-sizing:border-box;border:1px solid #e3d8c4;border-radius:0;background:transparent;
  font:inherit;line-height:1;appearance:none;-webkit-appearance:none}
.ux-pixel-w .ux-pixel-dst .ux-pixel-cell{cursor:pointer;transition:background-color .12s,box-shadow .12s}
.ux-pixel-w .ux-pixel-cell.full{border-color:rgba(47,47,47,.28)}
.ux-pixel-w .ux-pixel-dst .ux-pixel-cell:hover{box-shadow:inset 0 0 0 2px #5b8bd8}
.ux-pixel-w .ux-pixel-dst .ux-pixel-cell:focus-visible{outline:3px solid #f4d03f;outline-offset:-2px;position:relative;z-index:2}
.ux-pixel-w .ux-pixel-dst .ux-pixel-cell.pop{animation:ux-pixel-pop .18s ease-out}
.ux-pixel-w .ux-pixel-dst .ux-pixel-cell.bad{box-shadow:inset 0 0 0 3px #e2574c}
.ux-pixel-w.done .ux-pixel-dst{border-color:#4a7530}
.ux-pixel-w.done .ux-pixel-dst .ux-pixel-cell{cursor:default}
.ux-pixel-w.done .ux-pixel-dst .ux-pixel-cell:hover{box-shadow:none}
/* optische Achse */
.ux-pixel-w .ux-pixel-ax::after{content:"";position:absolute;left:-8px;right:-8px;top:50%;border-top:1.5px dashed rgba(47,47,47,.55);pointer-events:none;z-index:1}
.ux-pixel-w .ux-pixel-midw{display:flex;align-items:center;justify-content:center;align-self:center;padding-top:20px}
.ux-pixel-w .ux-pixel-col .ux-pixel-midw{padding-top:0}
.ux-pixel-w .ux-pixel-mid{width:64px;height:64px;display:block}
.ux-pixel-w .ux-pixel-col .ux-pixel-mid{width:46px;height:46px}
/* Palette */
.ux-pixel-w .ux-pixel-pal{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin:0 0 12px}
.ux-pixel-w .ux-pixel-sw{display:inline-flex;align-items:center;gap:7px;padding:6px 11px 6px 7px;font-family:'Fredoka',Inter,sans-serif;font-size:15px;font-weight:500;
  color:#2f2f2f;background:#fff;border:2px solid var(--ux-line,#d9cdb8);border-radius:999px;cursor:pointer;transition:border-color .15s,background-color .15s}
.ux-pixel-w .ux-pixel-sw:hover{border-color:#5b8bd8}
.ux-pixel-w .ux-pixel-sw:focus-visible{outline:3px solid #f4d03f;outline-offset:2px}
.ux-pixel-w .ux-pixel-sw.on{border-color:#7c5fb5;background:#f3effa;box-shadow:0 0 0 2px rgba(124,95,181,.25)}
.ux-pixel-w .ux-pixel-sw:disabled{cursor:default;opacity:.6}
.ux-pixel-w .ux-pixel-dot{width:22px;height:22px;border-radius:6px;border:1.5px solid rgba(47,47,47,.35);flex:0 0 auto}
.ux-pixel-w .ux-pixel-dot.erase{background:#fff;background-image:linear-gradient(135deg,transparent 45%,#e2574c 45%,#e2574c 55%,transparent 55%)}
.ux-pixel-w .ux-pixel-key{font-family:Inter,sans-serif;font-size:11px;padding:1px 5px;border:1px solid var(--ux-line,#d9cdb8);border-bottom-width:2px;border-radius:4px;color:#6b6257;background:#faf6ee}
@media (max-width:520px){
  .ux-pixel-w .ux-pixel-stage{padding:12px 4px 14px}
  .ux-pixel-w .ux-pixel-sw{font-size:14px;padding:5px 9px 5px 6px}
  .ux-pixel-w .ux-pixel-key{display:none}
}
@keyframes ux-pixel-pop{0%{transform:scale(.82)}100%{transform:scale(1)}}
@media (prefers-reduced-motion: reduce){
  .ux-pixel-w .ux-pixel-dst .ux-pixel-cell,.ux-pixel-w .ux-pixel-dst .ux-pixel-cell.pop,.ux-pixel-w .ux-pixel-sw{animation:none;transition:none}
}

/* --- Widget „place“ --- */
/* place — Positionieren (2026-10-08) */
.ux-place-w{font-family:'Fredoka',Inter,sans-serif}
.ux-place-w .ux-place-fig{
  margin-top:10px; padding:8px; border-radius:11px;
  background:#faf6ee; border:1.5px solid var(--ux-line,#d9cdb8);
}
.ux-place-w .ux-place-svg{display:block; width:100%; height:auto; max-width:560px; margin:0 auto; user-select:none; -webkit-user-select:none}
.ux-place-w .ux-place-svg text{font-family:'Fredoka',Inter,sans-serif}
/* Vorrat */
.ux-place-w .ux-place-tray{fill:#f4ede0; stroke:#c9b99c; stroke-width:1.6; stroke-dasharray:6 5}
.ux-place-w.ux-place-armed .ux-place-tray{stroke:#7c5fb5}
.ux-place-w .ux-place-traylab{font-size:12px; font-weight:600; fill:#9a8d7d; letter-spacing:.06em; text-transform:uppercase}
/* Plätze */
.ux-place-w .ux-place-slot{cursor:pointer}
.ux-place-w .ux-place-sc{fill:#fff; fill-opacity:.6; stroke:#a89a85; stroke-width:2; stroke-dasharray:5 4}
.ux-place-w .ux-place-sn{font-size:15px; font-weight:700; fill:#9a8d7d; text-anchor:middle}
.ux-place-w.ux-place-armed .ux-place-sc{stroke:#7c5fb5; stroke-width:2.4}
.ux-place-w.ux-place-armed .ux-place-sn{fill:#7c5fb5}
.ux-place-w .ux-place-slot:hover .ux-place-sc,
.ux-place-w .ux-place-slot.over .ux-place-sc{stroke:#2c5fb5; stroke-width:3; stroke-dasharray:none; fill-opacity:.9}
.ux-place-w .ux-place-slot.filled .ux-place-sn{opacity:0}
/* Steine */
.ux-place-w .ux-place-pc{cursor:grab; outline:none; touch-action:none}
.ux-place-w .ux-place-pc.dragging{cursor:grabbing}
.ux-place-w .ux-place-pc.dragging .ux-place-sym{opacity:.85}
.ux-place-w .ux-place-hit{fill:transparent}
.ux-place-w .ux-place-ring{fill:none; stroke:none; stroke-width:3}
.ux-place-w .ux-place-pc:hover .ux-place-ring{stroke:#c9b99c; stroke-dasharray:4 3}
.ux-place-w .ux-place-pc.picked .ux-place-ring{stroke:#7c5fb5; stroke-dasharray:none; fill:#7c5fb5; fill-opacity:.12}
.ux-place-w .ux-place-pc:focus-visible .ux-place-ring{stroke:#f4d03f; stroke-width:4; stroke-dasharray:none}
.ux-place-w .ux-place-pc.bad .ux-place-ring{stroke:#e2574c; stroke-width:3.4; stroke-dasharray:none; fill:#e2574c; fill-opacity:.12}
.ux-place-w .ux-place-pc.ok .ux-place-ring{stroke:#67b05f; stroke-width:3; stroke-dasharray:none}
.ux-place-w .ux-place-nm{font-size:15px; font-weight:600; fill:#2f2f2f; text-anchor:middle; paint-order:stroke; stroke:#faf6ee; stroke-width:3.5px; stroke-linejoin:round; pointer-events:none}
.ux-place-w.ux-place-anim.ux-place-armed .ux-place-pc.picked .ux-place-ring{animation:ux-place-puls 1.1s ease-in-out infinite}
.ux-place-w.ux-place-anim .ux-place-pc:not(.dragging){transition:transform .18s ease}
@keyframes ux-place-puls{0%,100%{stroke-width:3}50%{stroke-width:5.5}}
/* nach dem Lösen */
.ux-place-w .ux-place-after{display:none}
.ux-place-w .ux-place-after.show{display:inline}
.ux-place-w .ux-place-shade{pointer-events:none}
.ux-place-w .ux-place-halb{fill:#2f2f2f; fill-opacity:.16}
.ux-place-w .ux-place-kern{fill:#2f2f2f; fill-opacity:.42}
.ux-place-w .ux-place-ray{stroke:#e79a3a; stroke-width:1.8; stroke-dasharray:6 4}
.ux-place-w.ux-place-anim .ux-place-after.show,
.ux-place-w.ux-place-anim .ux-place-shade.show{animation:ux-place-ein .6s ease-out both}
@keyframes ux-place-ein{from{opacity:0}to{opacity:1}}
.ux-place-w.done .ux-place-pc,.ux-place-w.done .ux-place-slot{cursor:default}
.ux-place-w.done .ux-place-slot:not(.filled){opacity:.35}
@media (max-width:480px){
  .ux-place-w .ux-place-fig{padding:4px}
}
@media (prefers-reduced-motion: reduce){
  .ux-place-w .ux-place-pc{transition:none}
  .ux-place-w .ux-place-pc.picked .ux-place-ring{animation:none}
  .ux-place-w .ux-place-after.show,.ux-place-w .ux-place-shade.show{animation:none}
}

/* --- Widget „polkette“ --- */
/* polkette — Magnet-Domino */
.ux-polkette-w .ux-polkette-row{
  display:flex; align-items:flex-start; justify-content:center; gap:0;
  padding:12px 8px 10px; background:var(--ux-paper,#faf6ee);
  border:1.5px solid var(--ux-line,#d9cdb8); border-radius:12px;
  font-family:Fredoka,Inter,sans-serif; max-width:100%;
}
.ux-polkette-w .ux-polkette-t{
  flex:1 1 0; min-width:0; max-width:112px;
  display:flex; flex-direction:column; align-items:stretch;
}
.ux-polkette-w .ux-polkette-name{
  display:block; height:18px; font-size:12px; font-weight:600; line-height:18px;
  color:#6b5f53; text-align:center; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
}
.ux-polkette-w .ux-polkette-face{
  display:flex; height:42px; width:100%; padding:0; margin:0; cursor:pointer;
  border:2.2px solid var(--ux-dark,#2f2f2f); border-radius:8px; overflow:hidden;
  background:#fff; font:700 17px/1 Fredoka,Inter,sans-serif; color:#fff;
  box-shadow:0 2px 0 rgba(47,47,47,.18);
}
.ux-polkette-w .ux-polkette-face:focus-visible{outline:3px solid var(--ux-yellow,#f4d03f); outline-offset:2px}
.ux-polkette-w .ux-polkette-face:hover{filter:brightness(1.06)}
.ux-polkette-w .ux-polkette-h{flex:1 1 50%; display:flex; align-items:center; justify-content:center; min-width:0}
.ux-polkette-w .ux-polkette-h.l{border-right:1.4px dashed rgba(47,47,47,.55)}
.ux-polkette-w .ux-polkette-t.fix .ux-polkette-face,
.ux-polkette-w .ux-polkette-t.nodreh .ux-polkette-face{cursor:default; box-shadow:none}
.ux-polkette-w .ux-polkette-t.fix .ux-polkette-face{border-style:double; border-width:3.4px}
.ux-polkette-w .ux-polkette-ctl{display:flex; justify-content:center; gap:4px; height:26px; margin-top:5px}
.ux-polkette-w .ux-polkette-mv{
  flex:0 1 26px; min-width:0; height:24px; padding:0; border-radius:6px; cursor:pointer;
  border:1.5px solid var(--ux-line,#d9cdb8); background:#fff; color:var(--ux-dark,#2f2f2f);
  font:600 11px/1 Inter,sans-serif;
}
.ux-polkette-w .ux-polkette-mv:hover{background:var(--ux-blue,#5b8bd8); border-color:var(--ux-blue,#5b8bd8); color:#fff}
.ux-polkette-w .ux-polkette-mv:focus-visible{outline:3px solid var(--ux-yellow,#f4d03f); outline-offset:1px}
.ux-polkette-w .ux-polkette-mv[disabled]{opacity:.3; cursor:default; background:#fff; color:var(--ux-dark,#2f2f2f); border-color:var(--ux-line,#d9cdb8)}
.ux-polkette-w .ux-polkette-lock{font:600 11px/24px Inter,sans-serif; color:#8a7f72; letter-spacing:.04em}
.ux-polkette-w .ux-polkette-j{
  flex:0 0 32px; display:flex; align-items:center; justify-content:center;
  height:42px; margin-top:18px; position:relative;
}
.ux-polkette-w .ux-polkette-jp{
  display:inline-flex; align-items:center; justify-content:center;
  width:30px; height:22px; border-radius:11px; background:#fff;
  border:1.5px solid var(--ux-violet,#7c5fb5); color:var(--ux-violet,#7c5fb5);
}
.ux-polkette-w .ux-polkette-ji{width:22px; height:11px; fill:none; stroke:currentColor; stroke-width:2.2; stroke-linecap:round; stroke-linejoin:round}
.ux-polkette-w .ux-polkette-jt{font:700 11px/1 Inter,sans-serif}
.ux-polkette-w .ux-polkette-j.ok .ux-polkette-jp{background:#e8f4e4; border-color:var(--ux-green,#67b05f); color:var(--ux-green-d,#4a7530)}
.ux-polkette-w .ux-polkette-j.bad .ux-polkette-jp{background:#fbe6e4; border-color:var(--ux-red,#e2574c); color:#96271e; box-shadow:0 0 0 3px rgba(226,87,76,.22)}
.ux-polkette-w .ux-polkette-legend{
  display:flex; flex-wrap:wrap; gap:6px 16px; margin:8px 2px 0;
  font-size:13px; color:#6b5f53;
}
.ux-polkette-w .ux-polkette-lgi{display:inline-flex; align-items:center; gap:4px}
.ux-polkette-w .ux-polkette-sr{position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap}
.ux-polkette-w.done .ux-polkette-face{cursor:default}
.ux-polkette-w .ux-polkette-t.ux-polkette-flip .ux-polkette-face{animation:uxDominoFlip .26s ease}
.ux-polkette-w .ux-polkette-t.ux-polkette-pop .ux-polkette-face{animation:uxDominoPop .24s ease}
@keyframes uxDominoFlip{0%{transform:scaleX(1)}50%{transform:scaleX(.15)}100%{transform:scaleX(1)}}
@keyframes uxDominoPop{0%{transform:translateY(0)}40%{transform:translateY(-5px)}100%{transform:translateY(0)}}
@media (max-width:420px){
  .ux-polkette-w .ux-polkette-row{padding:10px 4px 8px}
  .ux-polkette-w .ux-polkette-j{flex-basis:21px}
  .ux-polkette-w .ux-polkette-jp{width:20px; height:18px}
  .ux-polkette-w .ux-polkette-ji{width:15px; height:8px}
  .ux-polkette-w .ux-polkette-face{font-size:15px; height:38px; border-width:2px}
  .ux-polkette-w .ux-polkette-j{height:38px}
  .ux-polkette-w .ux-polkette-mv{flex-basis:22px}
}
@media (prefers-reduced-motion: reduce){
  .ux-polkette-w .ux-polkette-t.ux-polkette-flip .ux-polkette-face,
  .ux-polkette-w .ux-polkette-t.ux-polkette-pop .ux-polkette-face{animation:none; transition:none}
}

/* --- Widget „predict“ --- */
/* predict — Vorhersage-Versuch (2026-10-08) */
.ux-predict-w .ux-predict{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin:4px 0 14px}
.ux-predict-w .ux-predict-set{display:flex;flex-direction:column;align-items:stretch;gap:7px;padding:10px 9px 9px;background:var(--ux-paper,#faf6ee);border:2px solid var(--ux-line,#d9cdb8);border-radius:14px;min-width:0;transition:border-color .2s,background-color .2s}
.ux-predict-w .ux-predict-set svg{display:block;width:100%;height:auto;max-width:220px;margin:0 auto;overflow:hidden}
.ux-predict-w .ux-predict-cap{font-family:'Fredoka',Inter,sans-serif;font-size:14px;font-weight:600;line-height:1.3;color:var(--ux-dark,#2f2f2f);text-align:center}
.ux-predict-w .ux-predict-opts{display:flex;gap:6px}
.ux-predict-w .ux-predict-opt{flex:1 1 0;min-width:0;font-family:'Fredoka',Inter,sans-serif;font-size:14px;font-weight:600;line-height:1.2;padding:8px 6px;border-radius:9px;border:1.5px solid var(--ux-line,#d9cdb8);background:#fff;color:var(--ux-dark,#2f2f2f);cursor:pointer;transition:background-color .15s,border-color .15s,color .15s}
.ux-predict-w .ux-predict-opt:hover{border-color:var(--ux-blue,#5b8bd8)}
.ux-predict-w .ux-predict-opt:focus-visible{outline:3px solid var(--ux-yellow,#f4d03f);outline-offset:2px}
.ux-predict-w .ux-predict-opt.on{background:var(--ux-violet,#7c5fb5);border-color:var(--ux-violet,#7c5fb5);color:#fff}
.ux-predict-w .ux-predict-opt[disabled]{cursor:default}
.ux-predict-w .ux-predict-res{min-height:1.3em;font-family:'Fredoka',Inter,sans-serif;font-size:13.5px;font-weight:600;text-align:center;color:#6b5f53}
.ux-predict-w .ux-predict-set.ok{border-color:var(--ux-green,#67b05f);background:#eef7ea}
.ux-predict-w .ux-predict-set.ok .ux-predict-opt.on{background:var(--ux-green-d,#4a7530);border-color:var(--ux-green-d,#4a7530)}
.ux-predict-w .ux-predict-set.ok .ux-predict-res{color:var(--ux-green-d,#4a7530)}
.ux-predict-w .ux-predict-set.bad{border-color:var(--ux-red,#e2574c);background:#fdeeed}
.ux-predict-w .ux-predict-set.bad .ux-predict-res{color:#96271e}
.ux-predict-w .ux-predict-set.need{border-color:var(--ux-orange,#e79a3a);box-shadow:0 0 0 3px rgba(231,154,58,.25)}
.ux-predict-w.running .ux-predict-opt{cursor:wait}
@media(max-width:560px){.ux-predict-w .ux-predict{grid-template-columns:1fr 1fr;gap:9px}.ux-predict-w .ux-predict-set{padding:8px 6px 7px}.ux-predict-w .ux-predict-opt{font-size:13px;padding:7px 3px}.ux-predict-w .ux-predict-cap{font-size:13px}}
@media(max-width:560px){.ux-predict-w .ux-predict-opts{flex-wrap:wrap}.ux-predict-w .ux-predict-opt{flex:1 1 auto;min-width:min-content}}
@media(prefers-reduced-motion:reduce){.ux-predict-w .ux-predict-set,.ux-predict-w .ux-predict-opt{transition:none}}

/* --- Widget „probe“ --- */
/* probe — Prüfstab mit begrenzten Proben */
.ux-probe-w .ux-probe-top{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;margin:0 0 10px}
.ux-probe-w .ux-probe-stick{display:inline-flex;align-items:center;gap:8px;cursor:grab;touch-action:none;user-select:none;-webkit-user-select:none;
  font:600 14px/1.1 'Fredoka',Inter,sans-serif;color:var(--ux-dark);background:#fff;border:1.5px solid var(--ux-line);border-radius:999px;padding:5px 14px 5px 6px}
.ux-probe-w .ux-probe-stick:hover{border-color:var(--ux-violet)}
.ux-probe-w .ux-probe-stick:focus-visible{outline:3px solid var(--ux-yellow);outline-offset:2px}
.ux-probe-w .ux-probe-stick[aria-pressed="true"]{background:var(--ux-violet);border-color:var(--ux-violet);color:#fff}
.ux-probe-w .ux-probe-stick[disabled]{opacity:.45;cursor:default}
.ux-probe-w .ux-probe-stickico{display:inline-flex;width:20px;height:40px}
.ux-probe-w .ux-probe-stickico svg,.ux-probe-ghost svg{width:100%;height:100%;display:block}
.ux-probe-w .ux-probe-left{font:500 14px/1.2 'Fredoka',Inter,sans-serif;color:#6b5f53}
.ux-probe-w .ux-probe-left b{font-weight:700;color:var(--ux-violet)}
.ux-probe-w.ux-probe-empty .ux-probe-left b{color:var(--ux-red)}
.ux-probe-w .ux-probe-table{user-select:none;-webkit-user-select:none;display:grid;grid-template-columns:repeat(auto-fill,minmax(128px,1fr));gap:9px;padding:12px;border-radius:12px;
  background:var(--ux-paper);border:1.5px solid var(--ux-line);box-shadow:inset 0 -5px 0 #eadfcb}
.ux-probe-w .ux-probe-item{position:relative;min-width:0}
.ux-probe-w .ux-probe-obj{position:relative;width:100%;height:100%;display:flex;flex-direction:column;align-items:center;gap:3px;cursor:pointer;
  padding:30px 6px 8px;border-radius:10px;background:#fff;border:1.5px solid var(--ux-line);color:var(--ux-dark);text-align:center;
  font:500 13.5px/1.25 'Fredoka',Inter,sans-serif}
.ux-probe-w .ux-probe-obj:hover{border-color:var(--ux-blue)}
.ux-probe-w .ux-probe-obj:focus-visible{outline:3px solid var(--ux-yellow);outline-offset:2px}
.ux-probe-w .ux-probe-obj[disabled]{cursor:default}
.ux-probe-w .ux-probe-pic{display:block;width:72px;max-width:100%;height:44px;transition:transform .35s cubic-bezier(.3,1.6,.5,1)}
.ux-probe-w .ux-probe-pic svg{width:100%;height:100%;display:block;overflow:visible}
.ux-probe-w .ux-probe-name{font-weight:600;font-size:14px;overflow-wrap:anywhere}
.ux-probe-w .ux-probe-mat{font-size:12.5px;color:#6b5f53;overflow-wrap:anywhere}
.ux-probe-w .ux-probe-mat.unk{color:#a5601a;font-weight:600}
.ux-probe-w .ux-probe-res{font-size:12px;font-weight:600;min-height:15px}
.ux-probe-w .ux-probe-mag{position:absolute;left:50%;top:-30px;width:16px;height:32px;margin-left:-8px;opacity:0;pointer-events:none;
  transition:opacity .2s,transform .35s}
.ux-probe-w .ux-probe-mag svg{width:100%;height:100%;display:block}
.ux-probe-w .ux-probe-flag{display:inline-flex;visibility:hidden;align-items:center;margin-top:2px;
  font:600 11px/1 'Fredoka',Inter,sans-serif;color:#fff;background:var(--ux-violet);border-radius:999px;padding:3px 8px}
/* Zielen / Ziehen */
.ux-probe-w.ux-probe-aim .ux-probe-item:not(.probed) .ux-probe-obj,
.ux-probe-w.ux-probe-dragging .ux-probe-item:not(.probed) .ux-probe-obj{border-style:dashed;border-color:var(--ux-violet);cursor:crosshair}
.ux-probe-w .ux-probe-item.over .ux-probe-obj{background:#f1ecfa;border-color:var(--ux-violet)}
.ux-probe-ghost{position:fixed;z-index:9999;width:22px;height:44px;margin:-38px 0 0 -11px;pointer-events:none;filter:drop-shadow(0 3px 4px rgba(0,0,0,.25))}
/* Probe-Ergebnis */
.ux-probe-w .ux-probe-item.probed .ux-probe-mag{opacity:1;top:-2px}
.ux-probe-w .ux-probe-item.stuck .ux-probe-pic{transform:translateY(-12px)}
.ux-probe-w .ux-probe-item.stuck .ux-probe-res{color:var(--ux-green-d)}
.ux-probe-w .ux-probe-item.rest .ux-probe-mag{top:-8px}
.ux-probe-w .ux-probe-item.rest .ux-probe-res{color:#8a7d6e}
.ux-probe-w .ux-probe-item.rest.ux-probe-anim .ux-probe-pic{animation:ux-probe-wobble .5s ease}
@keyframes ux-probe-wobble{0%,100%{transform:rotate(0)}30%{transform:rotate(-5deg)}60%{transform:rotate(4deg)}}
/* Markierung */
.ux-probe-w .ux-probe-item.on .ux-probe-obj{border-color:var(--ux-violet);box-shadow:0 0 0 2px var(--ux-violet) inset;background:#f6f2fd}
.ux-probe-w .ux-probe-item.on .ux-probe-flag{visibility:visible}
.ux-probe-w .ux-probe-item.ok .ux-probe-obj{border-color:var(--ux-green);box-shadow:0 0 0 2px var(--ux-green) inset;background:#eef7ea}
.ux-probe-w .ux-probe-item.ok .ux-probe-flag{background:var(--ux-green-d)}
.ux-probe-w .ux-probe-hint{font:500 12.5px/1.4 'Fredoka',Inter,sans-serif;color:#6b5f53;margin:8px 0 0}
@media (max-width:420px){
  .ux-probe-w .ux-probe-table{grid-template-columns:repeat(2,minmax(0,1fr));padding:9px;gap:7px}
  .ux-probe-w .ux-probe-obj{font-size:13px;padding-top:26px}
  .ux-probe-w .ux-probe-pic{height:38px}
}
@media (prefers-reduced-motion: reduce){
  .ux-probe-w .ux-probe-pic,.ux-probe-w .ux-probe-mag{transition:none}
  .ux-probe-w .ux-probe-item.rest.ux-probe-anim .ux-probe-pic{animation:none}
}

/* --- Widget „ray“ --- */
/* ray — Strahl zeichnen (2026-10-08) */
.ux-ray-w .ux-ray-box{background:var(--ux-paper,#faf6ee);border:1.5px solid var(--ux-line,#d9cdb8);border-radius:12px;padding:10px 10px 12px;margin:4px 0 10px}
.ux-ray-w .ux-ray-svg{display:block;width:100%;height:auto;max-width:520px;margin:0 auto;touch-action:none;cursor:crosshair;font-family:'Fredoka',Inter,sans-serif;border-radius:10px}
.ux-ray-w.done .ux-ray-svg{cursor:default;touch-action:auto}
.ux-ray-w .ux-ray-line{stroke:var(--ux-orange,#e79a3a);stroke-width:3.2;stroke-linecap:round}
.ux-ray-w .ux-ray-head{fill:var(--ux-orange,#e79a3a)}
.ux-ray-w .ux-ray-org{fill:#2f2f2f}
.ux-ray-w .ux-ray-hit{fill:transparent;stroke:none}
.ux-ray-w .ux-ray-knob{fill:#fff;stroke:var(--ux-orange,#e79a3a);stroke-width:3;cursor:grab}
.ux-ray-w .ux-ray-dragging .ux-ray-knob{cursor:grabbing}
.ux-ray-w .ux-ray-num{font-size:15px;font-weight:600;fill:#2f2f2f;pointer-events:none}
.ux-ray-w .ux-ray-handle{outline:none;cursor:grab}
.ux-ray-w .ux-ray-handle:focus-visible .ux-ray-knob{stroke:var(--ux-yellow,#f4d03f);stroke-width:5}
.ux-ray-w .ux-ray-r.act .ux-ray-knob{fill:#fff4dc}
.ux-ray-w .ux-ray-r.bad .ux-ray-line{stroke:var(--ux-red,#e2574c)}
.ux-ray-w .ux-ray-r.bad .ux-ray-head{fill:var(--ux-red,#e2574c)}
.ux-ray-w .ux-ray-r.bad .ux-ray-knob{stroke:var(--ux-red,#e2574c)}
.ux-ray-w .ux-ray-r.ok .ux-ray-line{stroke:var(--ux-green-d,#4a7530)}
.ux-ray-w .ux-ray-r.ok .ux-ray-head{fill:var(--ux-green-d,#4a7530)}
.ux-ray-w .ux-ray-r.ok .ux-ray-knob{stroke:var(--ux-green-d,#4a7530);cursor:default}
.ux-ray-w .ux-ray-r.shake{animation:uxRayShake .32s ease-in-out}
.ux-ray-w .ux-ray-zone{fill:var(--ux-green,#67b05f);fill-opacity:.22;stroke:var(--ux-green-d,#4a7530);stroke-opacity:.5;stroke-width:1.2}
.ux-ray-w .ux-ray-zone-l{stroke:var(--ux-green,#67b05f);stroke-opacity:.55;stroke-width:9;stroke-linecap:round}
@keyframes uxRayShake{0%,100%{transform:translateX(0)}25%{transform:translateX(-3px)}75%{transform:translateX(3px)}}
.ux-ray-w .ux-ray-ctl{display:flex;flex-wrap:wrap;justify-content:center;gap:8px 18px;margin-top:10px}
.ux-ray-w .ux-ray-row{display:flex;align-items:center;gap:6px;font-family:'Fredoka',Inter,sans-serif;font-size:15px;font-weight:500;color:#2f2f2f}
.ux-ray-w .ux-ray-rn{margin-right:2px}
.ux-ray-w .ux-ray-nb{font:600 18px/1 'Fredoka',Inter,sans-serif;min-width:42px;min-height:38px;background:#fff;color:#2f2f2f;border:1.5px solid var(--ux-line,#d9cdb8);border-radius:9px;cursor:pointer}
.ux-ray-w .ux-ray-nb:hover{border-color:var(--ux-blue,#5b8bd8)}
.ux-ray-w .ux-ray-nb:focus-visible{outline:3px solid var(--ux-yellow,#f4d03f);outline-offset:2px}
.ux-ray-w .ux-ray-nb:disabled{opacity:.45;cursor:default}
@media (prefers-reduced-motion: reduce){
  .ux-ray-w .ux-ray-r.shake{animation:none}
}

/* --- Widget „ring“ --- */
/* ring — Kreisreihenfolge (2026-10-08) */
.ux-ring-w{font-family:'Fredoka',Inter,sans-serif}
.ux-ring-w .ux-ring-wrap{display:flex; flex-wrap:wrap; gap:14px; align-items:flex-start; margin-top:4px}
.ux-ring-w .ux-ring-stage{
  position:relative; flex:0 1 340px; width:100%; max-width:340px; aspect-ratio:1/1; margin:0 auto;
  border-radius:14px; background:#faf6ee; border:1.5px solid var(--ux-line,#d9cdb8); box-sizing:border-box;
}
.ux-ring-w .ux-ring-svg{position:absolute; inset:0; width:100%; height:100%; display:block; overflow:visible}
.ux-ring-w .ux-ring-svg text{font-family:'Fredoka',Inter,sans-serif}
.ux-ring-w .ux-ring-track{fill:none; stroke:#d9cdb8; stroke-width:2.2; stroke-dasharray:6 6}
.ux-ring-w .ux-ring-arcs path{fill:none; stroke:transparent; stroke-width:5; stroke-linecap:round}
.ux-ring-w .ux-ring-arcs path.ok{stroke:#67b05f}
.ux-ring-w .ux-ring-arcs path.bad{stroke:#e2574c; stroke-dasharray:3 7}
.ux-ring-w .ux-ring-arrow{fill:#7c5fb5}
/* Plätze */
.ux-ring-w .ux-ring-slot{
  position:absolute; width:var(--ux-ring-d,20%); height:var(--ux-ring-d,20%); transform:translate(-50%,-50%);
  display:flex; align-items:center; justify-content:center; padding:0; margin:0; box-sizing:border-box;
  border-radius:50%; background:#fff; border:2px dashed #b9ab95; color:#2f2f2f; cursor:pointer;
  font:600 12px/1.12 'Fredoka',Inter,sans-serif; text-align:center;
  transition:background-color .15s ease, border-color .15s ease, box-shadow .15s ease;
}
.ux-ring-w .ux-ring-slot:hover,.ux-ring-w .ux-ring-slot.over{border-color:#2c5fb5; background:#eef3fb}
.ux-ring-w .ux-ring-slot:focus-visible{outline:3px solid #f4d03f; outline-offset:2px}
.ux-ring-w.ux-ring-armed .ux-ring-slot:not(.filled){border-color:#7c5fb5; border-style:solid}
.ux-ring-w.ux-ring-anim.ux-ring-armed .ux-ring-slot:not(.filled){animation:ux-ring-puls 1.1s ease-in-out infinite}
.ux-ring-w .ux-ring-slot.filled{border-style:solid; border-color:#7c5fb5; touch-action:none}
.ux-ring-w .ux-ring-slot.picked{border-color:#2c5fb5; box-shadow:0 0 0 4px rgba(91,139,216,.35)}
.ux-ring-w .ux-ring-slot.fixed{border-color:#2f2f2f; background:#f4ede0; cursor:default; touch-action:auto}
.ux-ring-w .ux-ring-slot.ok{border-color:#4a7530; background:#e8f4e4}
.ux-ring-w .ux-ring-slot.bad{border-color:#e2574c}
.ux-ring-w .ux-ring-slot.dragging{opacity:.45}
.ux-ring-w .ux-ring-num{
  position:absolute; top:-5px; left:-5px; min-width:19px; height:19px; padding:0 3px; box-sizing:border-box;
  border-radius:10px; background:#7c5fb5; color:#fff; font:700 11.5px/19px 'Fredoka',Inter,sans-serif; text-align:center;
  pointer-events:none;
}
.ux-ring-w .ux-ring-slot.fixed .ux-ring-num{background:#2f2f2f}
.ux-ring-w .ux-ring-slot.ok .ux-ring-num{background:#4a7530}
.ux-ring-w .ux-ring-sface{display:flex; align-items:center; justify-content:center; width:100%; height:100%; pointer-events:none}
.ux-ring-w .ux-ring-sface .ux-ring-face{display:flex; flex-direction:column; align-items:center; justify-content:center; width:100%; height:100%}
.ux-ring-w .ux-ring-sface .ux-ring-pic{width:74%; height:auto}
.ux-ring-w .ux-ring-sface .ux-ring-cap{display:none}
.ux-ring-w .ux-ring-sface .ux-ring-txt{padding:2px 4px; overflow-wrap:anywhere}
/* Vorrat */
.ux-ring-w .ux-ring-pool{
  flex:1 1 200px; display:flex; flex-wrap:wrap; gap:8px; align-content:flex-start; min-height:58px;
  padding:10px; border-radius:11px; background:var(--ux-paper,#faf6ee); border:1.5px dashed var(--ux-line,#d9cdb8); box-sizing:border-box;
}
.ux-ring-w .ux-ring-pool.over{border-color:#2c5fb5; background:#eef3fb}
.ux-ring-w .ux-ring-pool.empty::before{content:'Alle Karten liegen im Kreis.'; color:#8a7d6b; font-size:13.5px; align-self:center}
.ux-ring-w .ux-ring-card{
  font:600 14px/1.2 'Fredoka',Inter,sans-serif; cursor:grab; touch-action:none; user-select:none; -webkit-user-select:none;
  display:inline-flex; align-items:center; justify-content:center; max-width:100%;
  padding:8px 13px; border-radius:20px; background:#fff; color:#2f2f2f; border:1.5px solid var(--ux-line,#d9cdb8);
  transition:transform .15s ease, background-color .15s ease;
}
.ux-ring-w .ux-ring-card[hidden]{display:none}
.ux-ring-w .ux-ring-card.img{padding:5px; border-radius:12px; flex-direction:column}
.ux-ring-w .ux-ring-card .ux-ring-face{display:inline-flex; flex-direction:column; align-items:center; pointer-events:none}
.ux-ring-w .ux-ring-card .ux-ring-pic{width:48px; height:48px; display:block}
.ux-ring-w .ux-ring-cap{font-size:12px; font-weight:700; color:#5b4590; margin-top:1px}
.ux-ring-w .ux-ring-card:hover{border-color:#7c5fb5}
.ux-ring-w .ux-ring-card:focus-visible{outline:3px solid #f4d03f; outline-offset:2px}
.ux-ring-w .ux-ring-card.picked{background:#7c5fb5; border-color:#7c5fb5; color:#fff; transform:translateY(-2px)}
.ux-ring-w .ux-ring-card.img.picked{background:#efe9f8; color:#2f2f2f; box-shadow:0 0 0 3px #7c5fb5}
.ux-ring-w .ux-ring-card.dragging{opacity:.45}
.ux-ring-w .ux-ring-card.spare{opacity:.45}
.ux-ring-w.done .ux-ring-slot,.ux-ring-w.done .ux-ring-card{cursor:default}
.ux-ring-w.done .ux-ring-slot{animation:none}
@keyframes ux-ring-puls{0%,100%{box-shadow:0 0 0 0 rgba(124,95,181,.0)}50%{box-shadow:0 0 0 5px rgba(124,95,181,.28)}}
/* Zieh-Geist (hängt am body) */
.ux-ring-ghost{
  position:fixed; z-index:9999; pointer-events:none; transform:translate(-50%,-125%);
  font:600 14px/1.2 'Fredoka',Inter,sans-serif; padding:8px 13px; border-radius:20px;
  background:#7c5fb5; color:#fff; box-shadow:0 6px 16px rgba(47,47,47,.25); white-space:nowrap;
}
.ux-ring-ghost.img{padding:5px; border-radius:12px; background:#fff; border:2px solid #7c5fb5}
.ux-ring-ghost .ux-ring-face{display:flex; flex-direction:column; align-items:center}
.ux-ring-ghost .ux-ring-pic{width:48px; height:48px; display:block}
.ux-ring-ghost .ux-ring-cap{display:none}
@media (max-width:480px){
  .ux-ring-w .ux-ring-slot{font-size:11px}
  .ux-ring-w .ux-ring-card{font-size:13.5px; padding:7px 11px}
  .ux-ring-w .ux-ring-card .ux-ring-pic{width:42px; height:42px}
}
@media (prefers-reduced-motion: reduce){
  .ux-ring-w .ux-ring-slot{transition:none; animation:none}
  .ux-ring-w .ux-ring-card{transition:none}
  .ux-ring-w .ux-ring-card.picked{transform:none}
}

/* --- Widget „rotate“ --- */
/* rotate — Drehen bis zum Ziel (2026-10-08) */
.ux-rotate-w .ux-rotate-ask{font-family:'Fredoka',Inter,sans-serif;font-weight:500;font-size:15.5px;line-height:1.45;color:var(--ux-dark,#2f2f2f);margin:0 0 8px;min-height:1.4em}
.ux-rotate-w .ux-rotate-stage{background:var(--ux-paper,#faf6ee);border:1.5px solid var(--ux-line,#d9cdb8);border-radius:12px;padding:10px 10px 12px;margin:4px 0 10px}
.ux-rotate-w .ux-rotate-svg{display:block;width:100%;height:auto;max-width:520px;margin:0 auto;touch-action:none;cursor:grab;border-radius:10px;font-family:'Fredoka',Inter,sans-serif}
.ux-rotate-w .ux-rotate-svg.ux-rotate-dragging{cursor:grabbing}
.ux-rotate-w .ux-rotate-svg:focus{outline:none}
.ux-rotate-w .ux-rotate-svg:focus-visible{outline:3px solid var(--ux-yellow,#f4d03f);outline-offset:3px}
.ux-rotate-w .ux-rotate-svg.ok{box-shadow:0 0 0 3px var(--ux-green,#67b05f)}
.ux-rotate-w .ux-rotate-svg.bad{box-shadow:0 0 0 3px var(--ux-red,#e2574c)}
.ux-rotate-w .ux-rotate-wall{fill:#2f2f2f;fill-opacity:.82}
.ux-rotate-w .ux-rotate-tg-o{fill:#fff;stroke:var(--ux-red,#e2574c);stroke-width:2.6}
.ux-rotate-w .ux-rotate-tg-i{fill:var(--ux-red,#e2574c)}
.ux-rotate-w .ux-rotate-tg.ux-rotate-hot .ux-rotate-tg-o{fill:#fff6d6;stroke:var(--ux-orange,#e79a3a)}
.ux-rotate-w .ux-rotate-tg.ux-rotate-ok .ux-rotate-tg-o{fill:#e8f4e4;stroke:var(--ux-green-d,#4a7530)}
.ux-rotate-w .ux-rotate-tg.ux-rotate-ok .ux-rotate-tg-i{fill:var(--ux-green,#67b05f)}
.ux-rotate-w .ux-rotate-lbl{font-family:'Fredoka',Inter,sans-serif;font-size:14px;font-weight:600;fill:var(--ux-dark,#2f2f2f);paint-order:stroke;stroke:#faf6ee;stroke-width:3px;stroke-linejoin:round}
.ux-rotate-w .ux-rotate-ray{stroke:var(--ux-orange,#e79a3a);stroke-width:3.2;stroke-linecap:round}
.ux-rotate-w .ux-rotate-head{fill:var(--ux-orange,#e79a3a)}
.ux-rotate-w .ux-rotate-spark{fill:var(--ux-yellow,#f4d03f);stroke:var(--ux-orange,#e79a3a);stroke-width:2}
.ux-rotate-w.ux-rotate-revealed .ux-rotate-ray.ux-rotate-out{stroke-dasharray:9 6}
.ux-rotate-w .ux-rotate-lot{stroke:#2f2f2f;stroke-width:1.7;stroke-dasharray:6 5}
.ux-rotate-w .ux-rotate-ra{fill:none;stroke:#7a1f1f;stroke-width:2.4}
.ux-rotate-w .ux-rotate-radot{fill:#7a1f1f}
.ux-rotate-w .ux-rotate-win{fill:var(--ux-blue,#5b8bd8);fill-opacity:.24;stroke:var(--ux-blue-d,#2c5fb5);stroke-width:1.6}
.ux-rotate-w .ux-rotate-wout{fill:var(--ux-green,#67b05f);fill-opacity:.24;stroke:var(--ux-green-d,#4a7530);stroke-width:1.6}
.ux-rotate-w .ux-rotate-val{font-family:'Fredoka',Inter,sans-serif;font-size:14px;font-weight:600;paint-order:stroke;stroke:#faf6ee;stroke-width:3px}
.ux-rotate-w .ux-rotate-val-in{fill:var(--ux-blue-d,#2c5fb5)}
.ux-rotate-w .ux-rotate-val-out{fill:var(--ux-green-d,#4a7530)}
.ux-rotate-w .ux-rotate-glass{stroke:var(--ux-blue-d,#2c5fb5);stroke-width:6;stroke-linecap:round}
.ux-rotate-w .ux-rotate-shine{stroke:#cfe0fb;stroke-width:1.6;stroke-linecap:round}
.ux-rotate-w .ux-rotate-hatch{stroke:#2f2f2f;stroke-width:1.5;stroke-linecap:round;fill:none}
.ux-rotate-w .ux-rotate-knob{fill:var(--ux-violet,#7c5fb5);stroke:#fff;stroke-width:2}
.ux-rotate-w .ux-rotate-lbody{fill:var(--ux-violet,#7c5fb5)}
.ux-rotate-w .ux-rotate-lhead{fill:var(--ux-yellow,#f4d03f);stroke:#2f2f2f;stroke-width:1.5}
.ux-rotate-w .ux-rotate-lknob{fill:#fff}
.ux-rotate-w .ux-rotate-turn .ux-rotate-lbody{stroke:#fff;stroke-width:1.5}
.ux-rotate-w.ux-rotate-anim .ux-rotate-tg-o{transition:fill .25s ease,stroke .25s ease}
.ux-rotate-w.ux-rotate-anim .ux-rotate-svg{transition:box-shadow .25s ease}
.ux-rotate-w .ux-rotate-nudge{display:flex;justify-content:center;gap:10px;margin-top:10px}
.ux-rotate-w .ux-rotate-nb{font:600 16px/1 'Fredoka',Inter,sans-serif;min-width:72px;min-height:40px;padding:0 12px;background:#fff;color:var(--ux-dark,#2f2f2f);border:1.5px solid var(--ux-line,#d9cdb8);border-radius:9px;cursor:pointer}
.ux-rotate-w .ux-rotate-nb:hover{border-color:var(--ux-blue,#5b8bd8)}
.ux-rotate-w .ux-rotate-nb:focus-visible{outline:3px solid var(--ux-yellow,#f4d03f);outline-offset:2px}
.ux-rotate-w.done .ux-rotate-svg{cursor:default}
.ux-rotate-w.done .ux-rotate-nb{opacity:.5;cursor:default}
@media (prefers-reduced-motion: reduce){
  .ux-rotate-w .ux-rotate-tg-o,.ux-rotate-w.ux-rotate-anim .ux-rotate-tg-o,.ux-rotate-w .ux-rotate-svg,.ux-rotate-w.ux-rotate-anim .ux-rotate-svg{transition:none}
}

/* --- Widget „spot“ --- */
/* spot — Suchbild (2026-10-08) */
.ux-spot-w .ux-spot-top{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px;margin:0 0 8px;min-height:30px}
.ux-spot-w .ux-spot-count{display:inline-flex;align-items:center;gap:6px;padding:4px 12px;border-radius:999px;background:#fff;border:2px solid var(--ux-line,#d9cdb8);font-family:'Fredoka',Inter,sans-serif;font-size:14px;font-weight:600;color:var(--ux-dark,#2f2f2f);transition:border-color .2s,background-color .2s}
.ux-spot-w .ux-spot-count::before{content:"";width:10px;height:10px;border-radius:50%;background:var(--ux-red,#e2574c)}
.ux-spot-w .ux-spot-count.full{border-color:var(--ux-blue,#5b8bd8)}
.ux-spot-w .ux-spot-count.over{border-color:var(--ux-orange,#e79a3a);background:#fff4e4}
.ux-spot-w.done .ux-spot-count{border-color:var(--ux-green,#67b05f);background:#eef7ea;color:var(--ux-green-d,#4a7530)}
.ux-spot-w.done .ux-spot-count::before{background:var(--ux-green-d,#4a7530)}
.ux-spot-w .ux-spot-cap{flex:1 1 160px;min-width:0;font-family:'Fredoka',Inter,sans-serif;font-size:14px;font-weight:500;color:var(--ux-violet,#7c5fb5);line-height:1.3}
.ux-spot-w .ux-spot-scene{background:var(--ux-paper,#faf6ee);border:1.5px solid var(--ux-line,#d9cdb8);border-radius:12px;padding:8px;overflow:hidden}
.ux-spot-w .ux-spot-scene svg{display:block;width:100%;height:auto}
.ux-spot-w .ux-spot-pt{cursor:pointer;outline:none}
.ux-spot-w .ux-spot-hz{fill:rgba(255,255,255,.18);stroke:#7a6a52;stroke-width:2;stroke-dasharray:6 5;transition:fill .15s,stroke .15s,stroke-width .15s}
.ux-spot-w .ux-spot-pt:hover .ux-spot-hz{stroke:var(--ux-blue-d,#2c5fb5);stroke-width:3;fill:rgba(91,139,216,.12)}
.ux-spot-w .ux-spot-pt:focus-visible .ux-spot-hz{stroke:var(--ux-yellow,#f4d03f);stroke-width:5;stroke-dasharray:none}
.ux-spot-w .ux-spot-pt.on .ux-spot-hz{stroke:var(--ux-red,#e2574c);stroke-width:4;stroke-dasharray:none;fill:rgba(226,87,76,.16)}
.ux-spot-w .ux-spot-pt.on:focus-visible .ux-spot-hz{stroke:var(--ux-red,#e2574c);stroke-width:5}
.ux-spot-w .ux-spot-pt:focus-visible .ux-spot-ring{display:block}
.ux-spot-w .ux-spot-ring{display:none;fill:none;stroke:var(--ux-yellow,#f4d03f);stroke-width:4}
.ux-spot-w .ux-spot-badge{display:none}
.ux-spot-w .ux-spot-badge circle{fill:var(--ux-red,#e2574c);stroke:#fff;stroke-width:3}
.ux-spot-w .ux-spot-badge text{font:700 19px/1 'Fredoka',Inter,sans-serif;fill:#fff;text-anchor:middle}
.ux-spot-w .ux-spot-pt.on .ux-spot-badge{display:inline}
.ux-spot-w .ux-spot-pt.hit .ux-spot-hz{stroke:var(--ux-green-d,#4a7530);stroke-width:4;stroke-dasharray:none;fill:rgba(103,176,95,.2)}
.ux-spot-w .ux-spot-pt.hit .ux-spot-badge circle{fill:var(--ux-green-d,#4a7530)}
.ux-spot-w .ux-spot-pt.hit .ux-spot-badge{animation:ux-spot-pop .45s ease-out both}
.ux-spot-w .ux-spot-pt.dim .ux-spot-hz{stroke:#b9ad98;stroke-width:1.6;fill:none}
.ux-spot-w.done .ux-spot-pt{cursor:default}
.ux-spot-w .ux-spot-nr{pointer-events:none}
.ux-spot-w .ux-spot-why{margin:12px 0 4px;padding:10px 12px 10px 34px;background:#eef7ea;border:1px solid #cfe5c7;border-radius:10px;font-size:14px;line-height:1.5;color:#2f4f22}
.ux-spot-w .ux-spot-why[hidden]{display:none}
.ux-spot-w .ux-spot-why li{margin:3px 0}
.ux-spot-w .ux-spot-why li::marker{font-family:'Fredoka',Inter,sans-serif;font-weight:700;color:var(--ux-green-d,#4a7530)}
.ux-spot-w .ux-spot-why li.ux-spot-ok{list-style:none;margin-left:-20px;color:#5c5446}
.ux-spot-w .ux-spot-why li.ux-spot-ok::before{content:"○ ";color:#9a8f7c}
.ux-spot-w .ux-spot-scene.ux-spot-shake{animation:ux-spot-shake .35s ease-in-out}
@keyframes ux-spot-pop{0%{transform:scale(.4)}70%{transform:scale(1.15)}100%{transform:scale(1)}}
@keyframes ux-spot-shake{0%,100%{transform:translateX(0)}25%{transform:translateX(-5px)}75%{transform:translateX(5px)}}
.ux-spot-w .ux-spot-badge{transform-box:fill-box;transform-origin:center}
@media (prefers-reduced-motion: reduce){
  .ux-spot-w .ux-spot-pt.hit .ux-spot-badge,.ux-spot-w .ux-spot-scene.ux-spot-shake{animation:none}
  .ux-spot-w .ux-spot-hz,.ux-spot-w .ux-spot-count{transition:none}
}

/* --- Widget „streich“ --- */
/* ===== streich — Streich-Geste (Magnetisieren) ===== */
.ux-streich-box{background:var(--ux-paper,#faf6ee);border:1.5px solid var(--ux-line,#d9cdb8);border-radius:11px;padding:10px 10px 12px}
.ux-streich-svg{width:100%;height:auto;display:block;max-width:520px;margin:0 auto;touch-action:none;cursor:grab;font-family:'Fredoka',Inter,sans-serif;user-select:none;-webkit-user-select:none}
.ux-streich-w.ux-streich-drag .ux-streich-svg{cursor:grabbing}
.ux-streich-w.done .ux-streich-svg{cursor:default}
.ux-streich-svg:focus{outline:none}
.ux-streich-svg:focus-visible{outline:3px solid var(--ux-yellow,#f4d03f);outline-offset:3px;border-radius:8px}
.ux-streich-metal{fill:#c9cdd3;stroke:#8a9099;stroke-width:1.6}
.ux-streich-w.ux-streich-hidden .ux-streich-metal{fill:#aeb4bc}
.ux-streich-eye{fill:#faf6ee;stroke:#8a9099;stroke-width:1.2}
.ux-streich-w.ux-streich-hidden .ux-streich-ems{visibility:hidden}
.ux-streich-w.ux-streich-hidden .ux-streich-meter{display:none}
.ux-streich-em{transform-box:fill-box;transform-origin:center;transition:transform .35s ease}
.ux-streich-n{fill:#e2574c}
.ux-streich-s{fill:#5b8bd8}
.ux-streich-end{font-size:13px;font-weight:600;fill:#6b5f53}
.ux-streich-pol{font-size:20px;font-weight:700}
.ux-streich-pol.pn{fill:#e2574c}
.ux-streich-pol.ps{fill:#2c5fb5}
.ux-streich-cnt{font-size:13px;font-weight:600;fill:#2f2f2f}
.ux-streich-mbg{fill:#fff;stroke:#d9cdb8;stroke-width:1.2}
.ux-streich-mfill{fill:#e79a3a;transition:width .3s ease}
.ux-streich-mfill.full{fill:#67b05f}
.ux-streich-arrow{fill:none;stroke:#7c5fb5;stroke-width:2.4;stroke-dasharray:6 5;stroke-linecap:round;stroke-linejoin:round}
.ux-streich-mag rect{stroke:#2f2f2f;stroke-width:1.4}
.ux-streich-mn{fill:#e2574c}
.ux-streich-ms{fill:#5b8bd8}
.ux-streich-mt{font-size:15px;font-weight:700;fill:#fff;pointer-events:none}
.ux-streich-ctl{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-top:8px}
.ux-streich-ctl .ux-btn{min-width:0}
.ux-streich-go[aria-pressed="true"]{box-shadow:inset 0 0 0 2px #fff,0 0 0 2px var(--ux-violet,#7c5fb5)}
.ux-streich-w.done .ux-streich-ctl .ux-btn{opacity:.45;pointer-events:none}
@media (prefers-reduced-motion: reduce){
  .ux-streich-em{transition:none}
  .ux-streich-mfill{transition:none}
}

/* --- Widget „timeline“ --- */
/* ---------- timeline — Zeitleiste (2026-10-08) ---------- */
.ux-timeline-w{container-type:inline-size}
.ux-timeline-wrap{display:grid; gap:12px; grid-template-columns:minmax(0,1fr)}
@container (min-width: 640px){
  .ux-timeline-wrap{grid-template-columns:minmax(200px,36%) minmax(0,1fr); align-items:start}
}
.ux-timeline-pool{
  display:flex; flex-direction:column; gap:7px; min-height:52px;
  padding:9px; border-radius:11px;
  background:var(--ux-paper); border:1.5px dashed var(--ux-line);
}
.ux-timeline-pool:not(:has(.ux-timeline-card))::after{
  content:'Alle Karten liegen auf dem Zeitstrahl.'; font-size:13px; color:#9a8d7d; padding:6px 4px;
}
.ux-timeline-pool.over{background:#f1f6ff; border-color:var(--ux-blue)}
.ux-timeline-card{
  display:flex; align-items:stretch; gap:8px; width:100%; text-align:left;
  font:500 13.5px/1.35 'Fredoka',Inter,sans-serif; color:var(--ux-dark);
  background:#fff; border:1.5px solid var(--ux-line); border-left:4px solid var(--ux-violet);
  border-radius:9px; padding:7px 9px 7px 4px; cursor:pointer; margin:0;
}
.ux-timeline-card:hover{border-color:#c4b59c; border-left-color:var(--ux-violet)}
.ux-timeline-card:focus-visible{outline:3px solid var(--ux-yellow); outline-offset:2px}
.ux-timeline-card.picked,.ux-timeline-card.moving{
  background:#f1ecfa; border-color:var(--ux-violet); box-shadow:0 0 0 2px rgba(124,95,181,.25);
}
.ux-timeline-card.drag{opacity:.35}
.ux-timeline-card.ok{background:#e8f4e4; border-color:var(--ux-green); border-left-color:var(--ux-green-d)}
.ux-timeline-card.bad{background:#fbe6e4; border-color:var(--ux-red); border-left-color:var(--ux-red)}
.ux-timeline-grip{
  flex:0 0 18px; display:grid; grid-template-columns:repeat(2,4px); gap:3px 4px;
  align-content:center; justify-content:center; cursor:grab; touch-action:none;
  border-radius:6px; padding:4px 0; margin:-3px 0;
}
.ux-timeline-grip:hover{background:#f1ecfa}
.ux-timeline-grip i{width:4px; height:4px; border-radius:50%; background:#a99bc9; display:block}
.ux-timeline-txt{flex:1; min-width:0; overflow-wrap:anywhere}
.ux-timeline-yr{
  flex:0 0 auto; align-self:flex-start; margin-left:4px;
  font:600 11.5px/1 'Fredoka',Inter,sans-serif; color:#fff; background:var(--ux-violet);
  border-radius:20px; padding:4px 8px; white-space:nowrap;
}
.ux-timeline-yr:empty{display:none}
.ux-timeline-card.ok .ux-timeline-yr{background:var(--ux-green-d)}
.ux-timeline-card.bad .ux-timeline-yr{background:var(--ux-red)}

.ux-timeline-stage{
  position:relative; min-height:240px; border-radius:11px; overflow:hidden;
  background:var(--ux-paper); border:1.5px solid var(--ux-line); cursor:copy;
}
.ux-timeline-stage.over{border-color:var(--ux-blue); background:#f4f7fd}
.ux-timeline-svg{position:absolute; left:0; top:0; display:block; pointer-events:none}
.ux-timeline-axis{stroke:var(--ux-dark); stroke-width:3; stroke-linecap:round}
.ux-timeline-arrow{fill:var(--ux-dark)}
.ux-timeline-slot{fill:#fff; stroke:var(--ux-dark); stroke-width:2.4}
.ux-timeline-tick{stroke:var(--ux-dark); stroke-width:2.2; stroke-linecap:round}
.ux-timeline-fine{stroke:#b3a68f; stroke-width:1.2}
.ux-timeline-lead{fill:none; stroke:var(--ux-violet); stroke-width:2; opacity:.85}
.ux-timeline-lead.ok{stroke:var(--ux-green-d)}
.ux-timeline-lead.bad{stroke:var(--ux-red)}
.ux-timeline-dot{fill:var(--ux-violet); stroke:#fff; stroke-width:1.6}
.ux-timeline-dot.ok{fill:var(--ux-green-d)}
.ux-timeline-dot.bad{fill:var(--ux-red)}
.ux-timeline-labels{position:absolute; inset:0; pointer-events:none}
.ux-timeline-lab{
  position:absolute; left:4px; transform:translateY(-50%); text-align:right;
  font:600 12px/1.15 'Fredoka',Inter,sans-serif; color:#5d5246;
}
.ux-timeline-pre{
  position:absolute; left:4px; transform:translateY(-50%); z-index:3; text-align:right;
  pointer-events:none; display:none;
}
.ux-timeline-pre.on{display:block}
.ux-timeline-pre span{
  display:inline-block; background:var(--ux-blue-d); color:#fff; border-radius:20px; padding:5px 8px;
  font:700 12.5px/1 'Fredoka',Inter,sans-serif; white-space:nowrap; box-shadow:0 2px 6px rgba(44,95,181,.3);
}
.ux-timeline-predot{
  position:absolute; width:14px; height:14px; margin:-7px 0 0 -7px; border-radius:50%; z-index:3;
  background:var(--ux-blue-d); border:2px solid #fff; display:none; pointer-events:none;
}
.ux-timeline-predot.on{display:block}
.ux-timeline-empty{
  position:absolute; top:50%; right:10px; transform:translateY(-50%);
  font-size:13px; line-height:1.4; color:#9a8d7d; text-align:center; pointer-events:none;
}
.ux-timeline-stage .ux-timeline-card{
  position:absolute; z-index:2; transition:top .22s ease, box-shadow .15s ease;
  box-shadow:0 2px 6px rgba(47,47,47,.08);
}
.ux-timeline-w.done .ux-timeline-card,.ux-timeline-w.done .ux-timeline-stage{cursor:default}
.ux-timeline-ghost{
  position:fixed; z-index:9999; pointer-events:none; opacity:.92;
  display:flex; gap:8px; text-align:left; padding:7px 10px;
  font:500 13.5px/1.35 'Fredoka',Inter,sans-serif; color:#2f2f2f;
  background:#fff; border:1.5px solid #7c5fb5; border-left:4px solid #7c5fb5; border-radius:9px;
  box-shadow:0 8px 22px rgba(47,47,47,.22); transform:rotate(-1.5deg);
}
.ux-timeline-ghost .ux-timeline-grip,.ux-timeline-ghost .ux-timeline-yr{display:none}
@media (prefers-reduced-motion: reduce){
  .ux-timeline-stage .ux-timeline-card{transition:none}
  .ux-timeline-ghost{transform:none}
}

/* --- Widget „toggle“ --- */
/* toggle — Schalter-Logik im Schaltbild (2026-10-08) */
.ux-toggle-w .ux-toggle-task{margin:0 0 10px;font-family:'Fredoka',Inter,sans-serif;font-size:15px;font-weight:500;line-height:1.4;color:var(--ux-dark,#2f2f2f);padding:9px 12px;border-radius:10px;background:#f3eefb;border:1.5px solid #d9cdee}
.ux-toggle-w .ux-toggle-task b{color:var(--ux-violet,#7c5fb5);font-weight:600}
.ux-toggle-w .ux-toggle-stage{background:var(--ux-paper,#faf6ee);border:1.5px solid var(--ux-line,#d9cdb8);border-radius:14px;padding:8px;line-height:0}
.ux-toggle-w .ux-toggle-stage svg{display:block;width:100%;max-width:440px;height:auto;margin:0 auto;overflow:visible}
.ux-toggle-w .ux-toggle-wire,.ux-toggle-w .ux-toggle-lead,.ux-toggle-w .ux-toggle-bat line{fill:none;stroke:var(--ux-dark,#2f2f2f);stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}
.ux-toggle-w .ux-toggle-bat .ux-toggle-plus{stroke-width:2.5}
.ux-toggle-w .ux-toggle-bat .ux-toggle-minus{stroke-width:6;stroke-linecap:butt}
.ux-toggle-w .ux-toggle-pol{font-family:'Fredoka',Inter,sans-serif;font-size:13px;font-weight:600;fill:#6b5f53}
.ux-toggle-w .ux-toggle-dotk{fill:var(--ux-dark,#2f2f2f)}
.ux-toggle-w .ux-toggle-txt{font-family:'Fredoka',Inter,sans-serif;font-size:14px;font-weight:600;fill:var(--ux-dark,#2f2f2f)}
.ux-toggle-w .ux-toggle-sw{cursor:pointer}
.ux-toggle-w .ux-toggle-hit{fill:transparent;stroke:transparent;stroke-width:1.6}
.ux-toggle-w .ux-toggle-sw:hover .ux-toggle-hit{fill:rgba(91,139,216,.12);stroke:var(--ux-blue,#5b8bd8);stroke-dasharray:3 2}
.ux-toggle-w .ux-toggle-lever{stroke:var(--ux-blue-d,#2c5fb5);stroke-width:3.2;stroke-linecap:round}
.ux-toggle-w .ux-toggle-sw.on .ux-toggle-lever{stroke:var(--ux-green-d,#4a7530)}
.ux-toggle-w .ux-toggle-ct{fill:#fff;stroke:var(--ux-dark,#2f2f2f);stroke-width:1.8}
.ux-toggle-w .ux-toggle-sw.lock{cursor:not-allowed}
.ux-toggle-w .ux-toggle-sw.lock .ux-toggle-lever{stroke:#9a8d7d;stroke-dasharray:4 3}
.ux-toggle-w .ux-toggle-sw.lock .ux-toggle-hit{fill:rgba(226,87,76,.08);stroke:var(--ux-red,#e2574c);stroke-dasharray:3 2}
.ux-toggle-w .ux-toggle-bulb{fill:#fff;stroke:var(--ux-dark,#2f2f2f);stroke-width:2.2;transition:fill .2s}
.ux-toggle-w .ux-toggle-x{fill:none;stroke:var(--ux-dark,#2f2f2f);stroke-width:2}
.ux-toggle-w .ux-toggle-glow{fill:var(--ux-yellow,#f4d03f);opacity:0;transition:opacity .2s}
.ux-toggle-w .ux-toggle-lamp.on .ux-toggle-glow{opacity:.85}
.ux-toggle-w .ux-toggle-lamp.on .ux-toggle-bulb{fill:#fff6c9}
.ux-toggle-w .ux-toggle-ctl{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:10px;margin-top:10px}
.ux-toggle-w .ux-toggle-sws{display:flex;flex-wrap:wrap;gap:7px}
.ux-toggle-w .ux-toggle-btn{display:inline-flex;align-items:center;gap:6px;font-family:'Fredoka',Inter,sans-serif;font-size:14px;font-weight:600;line-height:1.1;padding:7px 11px 7px 7px;border-radius:10px;border:1.5px solid var(--ux-line,#d9cdb8);background:#fff;color:var(--ux-dark,#2f2f2f);cursor:pointer;transition:background-color .15s,border-color .15s}
.ux-toggle-w .ux-toggle-btn:hover{border-color:var(--ux-blue,#5b8bd8)}
.ux-toggle-w .ux-toggle-btn:focus-visible{outline:3px solid var(--ux-yellow,#f4d03f);outline-offset:2px}
.ux-toggle-w .ux-toggle-btn[aria-pressed="true"]{background:#eef7ea;border-color:var(--ux-green,#67b05f)}
.ux-toggle-w .ux-toggle-btn.lock{background:#f4ede0;border-style:dashed;color:#7d6f60;cursor:not-allowed;opacity:1}
.ux-toggle-w .ux-toggle-key{display:inline-grid;place-items:center;min-width:19px;height:19px;border-radius:6px;background:#f4ede0;color:#6b5f53;font-size:11.5px}
.ux-toggle-w .ux-toggle-bs{font-size:12.5px;font-weight:500;color:#6b5f53}
.ux-toggle-w .ux-toggle-btn[aria-pressed="true"] .ux-toggle-bs{color:var(--ux-green-d,#4a7530)}
.ux-toggle-w .ux-toggle-lamps{display:flex;flex-wrap:wrap;gap:6px}
.ux-toggle-w .ux-toggle-chip{display:inline-flex;align-items:center;gap:5px;font-family:'Fredoka',Inter,sans-serif;font-size:13.5px;font-weight:600;padding:5px 9px;border-radius:999px;background:#fff;border:1.5px solid var(--ux-line,#d9cdb8);color:#6b5f53}
.ux-toggle-w .ux-toggle-dot{width:11px;height:11px;border-radius:50%;background:#e6ddcc;border:1.5px solid #9a8d7d}
.ux-toggle-w .ux-toggle-chip.on{color:var(--ux-dark,#2f2f2f);border-color:#e3c13a;background:#fffbe6}
.ux-toggle-w .ux-toggle-chip.on .ux-toggle-dot{background:var(--ux-yellow,#f4d03f);border-color:#c9a21c}
.ux-toggle-w .ux-toggle-chip.bad{border-color:var(--ux-red,#e2574c);box-shadow:0 0 0 2px rgba(226,87,76,.22)}
.ux-toggle-w .ux-toggle-live{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}
.ux-toggle-w .ux-toggle-log{list-style:none;margin:8px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:6px}
.ux-toggle-w .ux-toggle-log:empty{display:none}
.ux-toggle-w .ux-toggle-log li{font-family:'Fredoka',Inter,sans-serif;font-size:12.5px;font-weight:500;color:var(--ux-green-d,#4a7530);background:#eef7ea;border:1px solid #cfe5c8;border-radius:8px;padding:3px 8px}
.ux-toggle-w.done .ux-toggle-sw{cursor:default}
.ux-toggle-w.done .ux-toggle-btn{cursor:default}
.ux-toggle-w.done .ux-toggle-btn[disabled]{opacity:1}
.ux-toggle-w.done .ux-toggle-stage{border-color:var(--ux-green,#67b05f)}
.ux-toggle-w.ux-toggle-wait .ux-toggle-btn{cursor:wait}
@media(max-width:560px){
  .ux-toggle-w .ux-toggle-stage{padding:5px}
  .ux-toggle-w .ux-toggle-btn{font-size:13px;padding:6px 9px 6px 6px}
  .ux-toggle-w .ux-toggle-task{font-size:14px}
}
@media(prefers-reduced-motion:reduce){
  .ux-toggle-w .ux-toggle-glow,.ux-toggle-w .ux-toggle-bulb,.ux-toggle-w .ux-toggle-btn{transition:none}
}

/* --- Widget „trace“ --- */
/* trace — Weg nachfahren (Physik K5 › Reihenschaltung) */
.ux-trace-stage{background:#faf6ee;border:1.5px solid var(--ux-line,#d9cdb8);border-radius:11px;padding:10px;max-width:560px}
.ux-trace-svg{display:block;width:100%;height:auto;font-family:'Fredoka',Inter,sans-serif;touch-action:manipulation}
.ux-trace-line{fill:none;stroke:#2f2f2f;stroke-width:2.5;stroke-linejoin:round;stroke-linecap:round}
.ux-trace-gap{fill:#faf6ee;stroke:none}
.ux-trace-sf{fill:#fff;stroke:#2f2f2f;stroke-width:2.2}
.ux-trace-sl{fill:none;stroke:#2f2f2f;stroke-width:2.2;stroke-linecap:round}
.ux-trace-sl.ux-trace-minus{stroke-width:5;stroke-linecap:butt}
.ux-trace-sk{fill:#fff;stroke:#2f2f2f;stroke-width:1.8}
.ux-trace-st{font-size:14px;font-weight:600;fill:#2f2f2f;text-anchor:middle}
.ux-trace-nm{font-size:15px;font-weight:600;fill:#2c5fb5;text-anchor:middle}
.ux-trace-c.on .ux-trace-sf,.ux-trace-c.on .ux-trace-sl,.ux-trace-c.on .ux-trace-sk{stroke:#e79a3a}
.ux-trace-c.on .ux-trace-sf{fill:#fdf1dc}
.ux-trace-c.fd .ux-trace-sf,.ux-trace-c.fd .ux-trace-sl,.ux-trace-c.fd .ux-trace-sk{stroke:#4a7530}
.ux-trace-c.fd .ux-trace-sf{fill:#eaf4e6}
.ux-trace-run{fill:none;stroke:#e79a3a;stroke-width:9;stroke-linecap:round;stroke-linejoin:round;opacity:.55}
.ux-trace-run.fd{stroke:#67b05f}
.ux-trace-arr{fill:#c4751c;stroke:#faf6ee;stroke-width:1.4}
.ux-trace-arr.fd{fill:#4a7530}
.ux-trace-draw{transition:stroke-dashoffset .4s ease-out}
.ux-trace-n{cursor:pointer;outline:none}
.ux-trace-hit{fill:transparent}
.ux-trace-ring{fill:none;stroke:transparent;stroke-width:2.4}
.ux-trace-dot{fill:#fff;stroke:#2c5fb5;stroke-width:2.6}
.ux-trace-lb{font-size:18px;font-weight:600;fill:#2f2f2f;text-anchor:middle;paint-order:stroke;stroke:#faf6ee;stroke-width:4px;stroke-linejoin:round}
.ux-trace-n:hover .ux-trace-ring{stroke:#5b8bd8}
.ux-trace-n:focus-visible .ux-trace-ring{stroke:#f4d03f;stroke-width:4}
.ux-trace-n.vis .ux-trace-dot{fill:#e79a3a;stroke:#b8701c}
.ux-trace-n.cur .ux-trace-ring{stroke:#e79a3a;stroke-width:3}
.ux-trace-n.cur .ux-trace-dot{fill:#e79a3a;stroke:#2f2f2f}
.ux-trace-n.bad .ux-trace-dot{fill:#e2574c;stroke:#e2574c}
.ux-trace-n.bad .ux-trace-ring{stroke:#e2574c;animation:ux-trace-wack .5s ease-out}
.ux-trace-w.done .ux-trace-n{cursor:default}
.ux-trace-w.done .ux-trace-run{stroke:#67b05f}
.ux-trace-w.done .ux-trace-arr{fill:#4a7530}
.ux-trace-w.done .ux-trace-c.on .ux-trace-sf,.ux-trace-w.done .ux-trace-c.on .ux-trace-sl,.ux-trace-w.done .ux-trace-c.on .ux-trace-sk{stroke:#4a7530}
.ux-trace-w.done .ux-trace-c.on .ux-trace-sf{fill:#eaf4e6}
.ux-trace-w.done .ux-trace-n.vis .ux-trace-dot{fill:#67b05f;stroke:#4a7530}
.ux-trace-path{margin:8px 0 0;font-size:14px;line-height:1.5;color:#4b4037;min-height:21px}
@keyframes ux-trace-wack{0%{transform:scale(1)}40%{transform:scale(1.35)}100%{transform:scale(1)}}
@media (prefers-reduced-motion: reduce){
  .ux-trace-draw{transition:none}
  .ux-trace-n.bad .ux-trace-ring{animation:none}
}
@media (max-width:480px){.ux-trace-stage{padding:6px}.ux-trace-path{font-size:13.5px}}

/* --- Widget „twin“ --- */
/* twin — Entsprechungen in zwei Bildern (2026-10-08) */
.ux-twin-w{font-family:'Fredoka',Inter,sans-serif}
.ux-twin-w .ux-twin{display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin-top:4px}
@media (max-width:620px){ .ux-twin-w .ux-twin{grid-template-columns:minmax(0,1fr)} }
.ux-twin-w .ux-twin-fig{
  margin:0; min-width:0; padding:8px 8px 10px; border-radius:11px;
  background:#faf6ee; border:1.5px solid var(--ux-line,#d9cdb8);
  transition:border-color .2s ease, box-shadow .2s ease;
}
.ux-twin-w .ux-twin-fig.target{border-color:#e79a3a; box-shadow:0 0 0 3px rgba(231,154,58,.18)}
.ux-twin-w .ux-twin-cap{
  font:600 15px/1.2 'Fredoka',Inter,sans-serif; color:#3d2a6b; text-align:center; margin:2px 0 6px;
}
.ux-twin-w .ux-twin-svg{display:block; width:100%; height:auto; max-width:420px; margin:0 auto; overflow:visible}
.ux-twin-w .ux-twin-svg text{font-family:'Fredoka',Inter,sans-serif}
/* Teile */
.ux-twin-w .ux-twin-part{cursor:pointer; outline:none; --twin-c:#7c5fb5}
.ux-twin-w .ux-twin-hit{fill:#fff; fill-opacity:.01; stroke:#7c5fb5; stroke-width:2; stroke-dasharray:5 4; transition:fill-opacity .15s ease, stroke-width .15s ease}
.ux-twin-w .ux-twin-lead{stroke:#a89a85; stroke-width:1.6; stroke-dasharray:4 4}
.ux-twin-w .ux-twin-tag rect{fill:#fff; stroke:#b9ab95; stroke-width:1.6}
.ux-twin-w .ux-twin-tag text{fill:#2f2f2f; font-weight:600}
.ux-twin-w .ux-twin-badge{display:none}
.ux-twin-w .ux-twin-badge circle{fill:var(--twin-c); stroke:#fff; stroke-width:2}
.ux-twin-w .ux-twin-badge text{fill:#fff; font-weight:700}
.ux-twin-w .ux-twin-part:hover .ux-twin-hit{fill-opacity:.18; fill:#7c5fb5}
.ux-twin-w .ux-twin-part:hover .ux-twin-tag rect{stroke:#7c5fb5}
.ux-twin-w .ux-twin-part:focus-visible .ux-twin-tag rect{stroke:#f4d03f; stroke-width:4}
.ux-twin-w .ux-twin-part:focus-visible .ux-twin-hit{stroke:#c9a227; stroke-width:3}
/* gewählt */
.ux-twin-w .ux-twin-part.sel .ux-twin-hit{fill:#e79a3a; fill-opacity:.3; stroke:#e79a3a; stroke-width:3; stroke-dasharray:none}
.ux-twin-w .ux-twin-part.sel .ux-twin-tag rect{fill:#fff3df; stroke:#e79a3a; stroke-width:2.6}
.ux-twin-w .ux-twin-part.sel .ux-twin-lead{stroke:#e79a3a; stroke-dasharray:none}
/* gepaart */
.ux-twin-w .ux-twin-part.paired .ux-twin-hit{fill:var(--twin-c); fill-opacity:.28; stroke:var(--twin-c); stroke-width:2.6; stroke-dasharray:none}
.ux-twin-w .ux-twin-part.paired .ux-twin-tag rect{stroke:var(--twin-c); stroke-width:2.6}
.ux-twin-w .ux-twin-part.paired .ux-twin-lead{stroke:var(--twin-c); stroke-dasharray:none; stroke-width:2}
.ux-twin-w .ux-twin-part.paired .ux-twin-badge{display:inline}
.ux-twin-w .ux-twin-part.pop .ux-twin-tag{animation:ux-twin-pop .4s ease}
@keyframes ux-twin-pop{0%{transform:scale(1)}40%{transform:scale(1.06)}100%{transform:scale(1)}}
.ux-twin-w .ux-twin-part .ux-twin-tag{transform-box:fill-box; transform-origin:center}
/* falsch */
.ux-twin-w .ux-twin-part.bad .ux-twin-tag rect{fill:#fbe6e4; stroke:#e2574c; stroke-width:2.6}
.ux-twin-w .ux-twin-part.bad .ux-twin-tag text{fill:#96271e}
.ux-twin-w .ux-twin-part.bad .ux-twin-hit{stroke:#e2574c; stroke-dasharray:3 3}
/* gelöst: Teile ohne Gegenstück */
.ux-twin-w .ux-twin-part.solo .ux-twin-hit{fill:#b9ab95; fill-opacity:.15; stroke:#a89a85; stroke-dasharray:3 4}
.ux-twin-w .ux-twin-part.solo .ux-twin-tag rect{fill:#efe9df; stroke:#a89a85; stroke-dasharray:4 3}
.ux-twin-w .ux-twin-part.solo .ux-twin-tag text{fill:#7a6f60}
.ux-twin-w .ux-twin-part.solo .ux-twin-badge{display:inline}
.ux-twin-w .ux-twin-part.solo .ux-twin-badge circle{fill:#a89a85}
.ux-twin-w .ux-twin-part.solo .ux-twin-badge text{fill:#fff}
.ux-twin-w.done .ux-twin-part{cursor:default}
.ux-twin-w.done .ux-twin-part:hover .ux-twin-hit{fill-opacity:.28}
.ux-twin-w.done .ux-twin-part.solo:hover .ux-twin-hit{fill:#b9ab95; fill-opacity:.15}
/* Paarliste */
.ux-twin-w .ux-twin-pairs{list-style:none; margin:10px 0 0; padding:0; display:flex; flex-wrap:wrap; gap:6px 8px; min-height:8px}
.ux-twin-w .ux-twin-pairs li{
  --twin-c:#7c5fb5; display:inline-flex; align-items:center; gap:7px; max-width:100%;
  padding:4px 6px 4px 4px; border-radius:20px; background:#fff; border:1.5px solid var(--twin-c);
  font:600 13.5px/1.25 'Fredoka',Inter,sans-serif; color:#2f2f2f;
}
.ux-twin-w .ux-twin-pairs li.bad{border-color:#e2574c; background:#fbe6e4; color:#96271e}
.ux-twin-w .ux-twin-num{
  flex:none; width:22px; height:22px; border-radius:50%; background:var(--twin-c); color:#fff;
  display:inline-flex; align-items:center; justify-content:center; font-size:12.5px; font-weight:700;
}
.ux-twin-w .ux-twin-ptxt{min-width:0; overflow-wrap:anywhere}
.ux-twin-w .ux-twin-x{
  flex:none; border:0; background:transparent; color:#7a6f60; font:700 16px/1 'Fredoka',Inter,sans-serif;
  width:24px; height:24px; border-radius:50%; cursor:pointer; padding:0;
}
.ux-twin-w .ux-twin-x:hover{background:#f1ecf8; color:#2f2f2f}
.ux-twin-w .ux-twin-x:focus-visible{outline:3px solid #f4d03f; outline-offset:1px}
@media (prefers-reduced-motion: reduce){
  .ux-twin-w .ux-twin-part .ux-twin-tag, .ux-twin-w .ux-twin-part.pop .ux-twin-tag{animation:none}
  .ux-twin-w .ux-twin-fig, .ux-twin-w .ux-twin-hit{transition:none}
}

/* --- Widget „wire“ --- */
/* wire — Verdrahten (2026-10-08) */
.ux-wire-stage{background:var(--ux-paper,#faf6ee);border:1.5px solid var(--ux-line,#d9cdb8);border-radius:12px;padding:6px;max-width:600px}
.ux-wire-svg{display:block;width:100%;height:auto;touch-action:manipulation;font-family:'Fredoka',Inter,sans-serif}
.ux-wire-w .ux-wire-txt{font:500 14px/1 'Fredoka',Inter,sans-serif;fill:#2f2f2f;stroke:#faf6ee;stroke-width:4px;stroke-linejoin:round;paint-order:stroke}
.ux-wire-w .ux-wire-labs{pointer-events:none}
.ux-wire-w .ux-wire-pol{font:700 14px/1 'Fredoka',Inter,sans-serif;pointer-events:none}
.ux-wire-w .ux-wire-pol.plus{fill:#2f2f2f}
.ux-wire-w .ux-wire-pol.minus{fill:#fff}
.ux-wire-w .ux-wire-board{fill:#f4ede0;stroke:#d9cdb8;stroke-width:1.6}
.ux-wire-w .ux-wire-pt.bad .ux-wire-board{stroke:#e2574c;stroke-width:2.6;stroke-dasharray:5 3}
.ux-wire-w .ux-wire-lead{fill:none;stroke:#7a6a58;stroke-width:1.8;stroke-linejoin:round}
.ux-wire-w .ux-wire-bulb{fill:#f3efe4;stroke:#9a8d7d;stroke-width:1.6}
.ux-wire-w .ux-wire-fil{fill:none;stroke:#7a6a58;stroke-width:1.3}
.ux-wire-w .ux-wire-glow{fill:#f4d03f;opacity:0}
.ux-wire-w .ux-wire-pt.on .ux-wire-bulb{fill:#f4d03f;stroke:#e79a3a}
.ux-wire-w .ux-wire-pt.on .ux-wire-fil{stroke:#e2574c}
.ux-wire-w .ux-wire-pt.on .ux-wire-glow{opacity:.38;animation:ux-wire-pulse 1.6s ease-in-out infinite alternate}
.ux-wire-w .ux-wire-prop{transform-box:fill-box;transform-origin:center}
.ux-wire-w .ux-wire-pt.on .ux-wire-prop{animation:ux-wire-spin .32s linear infinite}
.ux-wire-w .ux-wire-wave path{fill:none;stroke:#7c5fb5;stroke-width:2.2;stroke-linecap:round;opacity:0}
.ux-wire-w .ux-wire-pt.on .ux-wire-wave path{opacity:1;animation:ux-wire-pulse .5s ease-in-out infinite alternate}
.ux-wire-w .ux-wire-halo{fill:none;stroke:#fff;stroke-width:8;stroke-linecap:round;opacity:.9}
.ux-wire-w .ux-wire-line{fill:none;stroke-width:4.4;stroke-linecap:round}
.ux-wire-w .ux-wire-hitp{fill:none;stroke:transparent;stroke-width:16;stroke-linecap:round;pointer-events:stroke}
.ux-wire-w .ux-wire-cable{cursor:pointer;outline:none}
.ux-wire-w .ux-wire-cable.fix{cursor:default}
.ux-wire-w .ux-wire-cable:not(.fix):hover .ux-wire-line,.ux-wire-w .ux-wire-cable:focus-visible .ux-wire-line{stroke-dasharray:7 5}
.ux-wire-w .ux-wire-cable:focus-visible .ux-wire-halo{stroke:#f4d03f;stroke-width:11;opacity:1}
.ux-wire-w .ux-wire-t{cursor:pointer;outline:none}
.ux-wire-w .ux-wire-hit{fill:transparent}
.ux-wire-w .ux-wire-ring{fill:none;stroke:transparent;stroke-width:3}
.ux-wire-w .ux-wire-screw{fill:#f4d03f;stroke:#8a6d00;stroke-width:1.6}
.ux-wire-w .ux-wire-slot{stroke:#8a6d00;stroke-width:1.6;stroke-linecap:round}
.ux-wire-w .ux-wire-t:hover .ux-wire-ring{stroke:#5b8bd8}
.ux-wire-w .ux-wire-t:focus-visible .ux-wire-ring{stroke:#2f2f2f;stroke-dasharray:3 2}
.ux-wire-w .ux-wire-t.sel .ux-wire-ring{stroke:#2c5fb5;stroke-width:3.4;stroke-dasharray:none;fill:rgba(91,139,216,.18)}
.ux-wire-w.done .ux-wire-t,.ux-wire-w.done .ux-wire-cable{cursor:default}
.ux-wire-w.done .ux-wire-stage{border-color:#67b05f}
@keyframes ux-wire-spin{from{transform:scaleY(1)}50%{transform:scaleY(.15)}to{transform:scaleY(1)}}
@keyframes ux-wire-pulse{from{opacity:.25}to{opacity:.6}}
@media (prefers-reduced-motion: reduce){
  .ux-wire-w .ux-wire-pt.on .ux-wire-glow,.ux-wire-w .ux-wire-pt.on .ux-wire-prop,.ux-wire-w .ux-wire-pt.on .ux-wire-wave path{animation:none;transition:none}
}
/* ==== NEUE WIDGETS — ENDE ==== */

/* ==== UEB30-WIDGETS Physik K9 (automatisch aus _vorlagen/_werkzeug/ueb30/widgets/<typ>/widget.css – hier nicht bearbeiten) ==== */
/* Gemeinsame Ergänzungen (ueb30 Physik K9): schmale Bildschirme – Tabellen seitlich scrollbar, Memory-Karten umbrechen */
.ux-mem{grid-template-columns:repeat(4,minmax(0,1fr))}
.ux-card .ux-face{overflow-wrap:anywhere;hyphens:auto}
@media(max-width:640px){.ux table.ux-seltab,.ux table.ux-tab,.ux table.ux-matrix,.ux table.ux-mat{display:block;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}}
@media(max-width:560px){.ux-mem{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:400px){.ux-mem{grid-template-columns:repeat(2,minmax(0,1fr))}}
/* ---- Widget: argument ---- */
.ux[data-ux="argument"]{font-family:'Fredoka',sans-serif}
.ux[data-ux="argument"] .ux-arg-pool{display:flex;flex-wrap:wrap;gap:8px;min-height:52px;padding:10px;margin-bottom:12px;background:var(--ux-paper);border:1.5px dashed var(--ux-line);border-radius:11px}
.ux[data-ux="argument"] .ux-arg-card{font:400 15px/1.35 'Fredoka',sans-serif;color:var(--ux-dark);text-align:left;background:#fff;border:1.5px solid var(--ux-line);border-radius:9px;padding:7px 11px;cursor:pointer;max-width:100%;overflow-wrap:anywhere;box-shadow:0 1px 0 rgba(0,0,0,.05);transition:transform .12s,box-shadow .12s}
.ux[data-ux="argument"] .ux-arg-card:hover{transform:translateY(-1px);box-shadow:0 3px 8px rgba(0,0,0,.08)}
.ux[data-ux="argument"] .ux-arg-card.gewaehlt{border-color:var(--ux-violet);background:#f1ecfa;box-shadow:0 0 0 3px rgba(124,95,181,.25)}
.ux[data-ux="argument"] .ux-arg-card:focus-visible,.ux[data-ux="argument"] .ux-arg-slot:focus-visible{outline:3px solid var(--ux-yellow);outline-offset:2px}
.ux[data-ux="argument"] .ux-arg-chains{display:grid;gap:12px}
.ux[data-ux="argument"] .ux-arg-chain{background:var(--ux-paper);border:1.5px solid var(--ux-line);border-radius:11px;padding:8px 10px 10px}
.ux[data-ux="argument"] .ux-arg-kt{font-weight:600;font-size:14.5px;color:#3d2a6b;margin:0 0 6px 2px}
.ux[data-ux="argument"] .ux-arg-row{display:grid;grid-template-columns:var(--ux-arg-cols,minmax(0,1fr) 20px minmax(0,1fr) 20px minmax(0,1fr));align-items:stretch;gap:6px}
.ux[data-ux="argument"] .ux-arg-pfeil{align-self:center;text-align:center;font-size:20px;color:var(--ux-violet);font-weight:600}
.ux[data-ux="argument"] .ux-arg-slot,.ux[data-ux="argument"] .ux-arg-fix{display:flex;flex-direction:column;gap:5px;min-height:84px;padding:6px 8px 8px;border-radius:10px;background:#fff}
.ux[data-ux="argument"] .ux-arg-slot{border:2px dashed #b9ab92;cursor:pointer;transition:border-color .12s,background .12s}
.ux[data-ux="argument"] .ux-arg-slot.wartet{border-color:var(--ux-violet);background:#f7f3fc}
.ux[data-ux="argument"] .ux-arg-slot.voll{border-style:solid;border-color:var(--ux-blue)}
.ux[data-ux="argument"] .ux-arg-fix{border:2px solid #ece3d2;background:#f4ede0}
.ux[data-ux="argument"] .ux-arg-rn{font-size:12.5px;font-weight:600;letter-spacing:.02em;text-transform:uppercase;color:#7a6c58}
.ux[data-ux="argument"] .ux-arg-ft{font-size:15px;line-height:1.35;color:var(--ux-dark)}
.ux[data-ux="argument"] .ux-arg-in .ux-arg-card{width:100%;box-shadow:none;border-color:transparent;background:#eef3fb;padding:6px 8px}
.ux[data-ux="argument"] .ux-arg-why{font-size:13px;color:var(--ux-red);font-weight:500}
.ux[data-ux="argument"] .ux-arg-slot.ok{border-color:var(--ux-green-d);background:#f1f8ec}
.ux[data-ux="argument"] .ux-arg-slot.ok .ux-arg-card{background:#e3f1dc}
.ux[data-ux="argument"] .ux-arg-slot.bad{border-color:var(--ux-red);background:#fdf0ee}
@media(max-width:640px){
  .ux[data-ux="argument"] .ux-arg-row{grid-template-columns:minmax(0,1fr)}
  .ux[data-ux="argument"] .ux-arg-pfeil{transform:rotate(90deg);line-height:1;font-size:18px}
  .ux[data-ux="argument"] .ux-arg-slot,.ux[data-ux="argument"] .ux-arg-fix{min-height:58px}
  .ux[data-ux="argument"] .ux-arg-card{font-size:14.5px}
}
@media(prefers-reduced-motion:reduce){.ux[data-ux="argument"] .ux-arg-card{transition:none}.ux[data-ux="argument"] .ux-arg-slot{transition:none}}

/* ---- Widget: baender ---- */
.ux-bd{background:var(--ux-paper);border:1.5px solid var(--ux-line);border-radius:12px;padding:10px 12px;font-family:'Fredoka',sans-serif}
.ux-baender-w .ux-ask{font:600 15.5px/1.4 'Fredoka',sans-serif;color:var(--ux-dark);margin:0 0 8px}
.ux-bd-svg{display:block;width:100%;max-width:560px;height:auto;margin:0 auto;touch-action:none}
.ux-bd-axis{stroke:#2f2f2f;stroke-width:2.4}
.ux-bd-arrow{fill:#2f2f2f}
.ux-bd-atxt{font:500 14px 'Fredoka',sans-serif;fill:#6b5f53}
.ux-bd-vb{fill:#cfdcf1;stroke:#2c5fb5;stroke-width:2.4}
.ux-bd-cbr{fill:#fbe3c4;stroke:#e79a3a;stroke-width:2.4;transition:y .12s}
.ux-bd-cb.ueber .ux-bd-cbr{fill:rgba(251,227,196,.7)}
.ux-bd-cb{cursor:ns-resize;touch-action:none;outline:none}
.ux-bd-cb:focus-visible .ux-bd-cbr{stroke:#f4d03f;stroke-width:4}
.ux-bd-cb.zieht .ux-bd-cbr{stroke-width:3.4}
.ux-bd-grip{fill:#e79a3a}
.ux-bd-btxt{font:500 13px 'Fredoka',sans-serif;fill:#6b5f53;pointer-events:none}
.ux-bd-gline{stroke:#7c5fb5;stroke-width:2.4;stroke-dasharray:4 3}
.ux-bd-gtxt{font:600 15px 'Fredoka',sans-serif;fill:#7c5fb5}
.ux-bd-e{cursor:pointer}
.ux-bd-e.voll circle:first-child{fill:#f4d03f;stroke:#2f2f2f;stroke-width:1.8}
.ux-bd-e.leer.v circle:first-child{fill:#fff;stroke:#2c5fb5;stroke-width:1.6;stroke-dasharray:3 2}
.ux-bd-e.leer.c circle:first-child{fill:none;stroke:rgba(231,154,58,.45);stroke-width:1.2}
.ux-bd-e.leer{cursor:default}
.ux-bd-hit{fill:transparent;stroke:none}
.ux-bd-e.voll:hover circle:first-child{stroke:#7c5fb5;stroke-width:2.6}
.ux-bd-ctrl{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:8px}
.ux-bd-up,.ux-bd-down{font:600 13.5px/1 'Fredoka',sans-serif;cursor:pointer;padding:8px 12px;border-radius:9px;border:1.5px solid var(--ux-line);background:#fff;color:var(--ux-dark)}
.ux-bd-up:focus-visible,.ux-bd-down:focus-visible{outline:3px solid var(--ux-yellow);outline-offset:2px}
.ux-bd-up[disabled],.ux-bd-down[disabled]{opacity:.45;cursor:default}
.ux-bd-count{font-size:14px;color:#6b5f53;flex:1 1 220px}
@media(max-width:560px){.ux-bd{padding:6px}.ux-bd-count{font-size:13px}.ux-bd-btxt{font-size:21px}.ux-bd-gtxt{font-size:24px}.ux-bd-atxt{font-size:21px}}
@media(prefers-reduced-motion:reduce){.ux-bd-cbr{transition:none}}

/* ---- Widget: bahn ---- */
.ux-bahn-task,.ux-bahn-mark{display:none}
.ux-bahn-stage{background:var(--ux-paper);border:1.5px solid var(--ux-line);border-radius:11px;padding:8px;max-width:680px}
.ux-bahn-svg{display:block;width:100%;height:auto;touch-action:none;cursor:grab;border-radius:8px;font-family:'Fredoka',sans-serif}
.ux-bahn-svg:active{cursor:grabbing}
.ux-bahn-svg:focus-visible{outline:3px solid var(--ux-yellow);outline-offset:2px}
.ux-bahn-grid line{stroke:#e6e0d4;stroke-width:1}
.ux-bahn-tick{font:500 11px/1 'Fredoka',sans-serif;fill:#6b5f53}
.ux-bahn-fill{fill:#f4ede0}
.ux-bahn-pil line{stroke:#c9bba3;stroke-width:2}
.ux-bahn-ground{stroke:var(--ux-dark);stroke-width:2}
.ux-bahn-track{fill:none;stroke:var(--ux-dark);stroke-width:4;stroke-linecap:round;stroke-linejoin:round}
.ux-bahn-linie{stroke:var(--ux-orange);stroke-width:2.4;stroke-dasharray:8 6}
.ux-bahn-mk{fill:#fff;stroke:var(--ux-dark);stroke-width:2}
.ux-bahn-ml{font:600 13px/1 'Fredoka',sans-serif;fill:var(--ux-dark)}
.ux-bahn-guide{stroke:var(--ux-violet);stroke-width:1.4;stroke-dasharray:4 4;opacity:.75}
.ux-bahn-body{fill:var(--ux-blue-d);stroke:#1f4386;stroke-width:1.5}
.ux-bahn-seat{fill:var(--ux-yellow);stroke:#b89a1c;stroke-width:1.2}
.ux-bahn-wheel{fill:var(--ux-dark);stroke:#fff;stroke-width:1.5}
.ux-bahn-car{transition:transform .08s linear}
.ux-bahn-box{fill:#fff;stroke:var(--ux-line);stroke-width:1.5}
.ux-bahn-read{font:600 15px/1 'Fredoka',sans-serif;fill:var(--ux-dark)}
.ux-bahn-ok{fill:var(--ux-green);stroke:#fff;stroke-width:2;opacity:.9}
.ux-bahn-okl{font:700 13px/1 'Fredoka',sans-serif;fill:var(--ux-green-d)}
.ux-bahn-nudge{display:flex;gap:8px;margin-top:8px}
.ux-bahn-nudge .ux-btn{min-width:52px;font-size:16px;padding:8px 14px}
.ux-bahn-w.done .ux-bahn-svg{cursor:default}
/* schmale Ansicht: eigenes Seitenverhältnis, größere Schrift */
.ux-bahn-svg.kompakt .ux-bahn-tick{font-size:16px}
.ux-bahn-svg.kompakt .ux-bahn-read{font-size:20px}
.ux-bahn-svg.kompakt .ux-bahn-ml,.ux-bahn-svg.kompakt .ux-bahn-okl{font-size:17px}
.ux-bahn-svg.kompakt .ux-bahn-track{stroke-width:3.4}
@media(prefers-reduced-motion:reduce){.ux-bahn-car{transition:none}}

/* ---- Widget: beschriften ---- */
.ux-beschriften-w{font-family:'Fredoka',sans-serif}
.ux-bs-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(0,1fr);gap:14px;align-items:start}
.ux-bs-fig{background:var(--ux-paper);border:1.5px solid var(--ux-line);border-radius:11px;padding:6px}
.ux-bs-svg{display:block;width:100%;height:auto;max-width:620px;margin:0 auto;font-family:'Fredoka',sans-serif}
.ux-bs-spot{cursor:pointer;outline:none}
.ux-bs-spot .ux-bs-halo{fill:rgba(124,95,181,.16);stroke:none;opacity:0}
.ux-bs-spot .ux-bs-dot{fill:#fff;stroke:var(--ux-violet);stroke-width:3}
.ux-bs-spot .ux-bs-num{font:700 17px/1 'Fredoka',sans-serif;fill:var(--ux-violet);pointer-events:none}
.ux-bs-spot:hover .ux-bs-halo,.ux-bs-spot.hover .ux-bs-halo,.ux-bs-spot.armed .ux-bs-halo{opacity:1}
.ux-bs-spot:focus-visible .ux-bs-halo{opacity:1;fill:none;stroke:var(--ux-yellow);stroke-width:4}
.ux-bs-spot.armed .ux-bs-dot{stroke-dasharray:5 3}
.ux-bs-spot.filled .ux-bs-dot{fill:var(--ux-violet)}
.ux-bs-spot.filled .ux-bs-num{fill:#fff}
.ux-bs-spot.ok .ux-bs-dot{fill:var(--ux-green-d);stroke:var(--ux-green-d)}
.ux-bs-spot.bad .ux-bs-dot{fill:var(--ux-red);stroke:var(--ux-red)}
.ux-bs-spot.pop .ux-bs-dot{animation:uxBsPop .35s ease-out}
@keyframes uxBsPop{0%{transform:scale(1)}45%{transform:scale(1.25)}100%{transform:scale(1)}}
.ux-bs-list{list-style:none;margin:0;padding:0;display:grid;gap:7px}
.ux-bs-row{display:grid;grid-template-columns:30px minmax(0,1fr) 18px;grid-template-areas:"nr ort fb" "nr slot fb";column-gap:8px;align-items:center;background:#fff;border:1.5px solid var(--ux-line);border-radius:10px;padding:6px 8px}
.ux-bs-nr{grid-area:nr;width:28px;height:28px;border-radius:50%;background:var(--ux-violet);color:#fff;font:700 15px/28px 'Fredoka',sans-serif;text-align:center}
.ux-bs-ort{grid-area:ort;font-size:12.5px;color:#6b5f53;line-height:1.3}
.ux-bs-slot{grid-area:slot;display:block;min-height:34px;padding:6px 9px;border-radius:8px;border:1.5px dashed #b9ab92;background:var(--ux-paper);color:#9a8b72;font:500 14px/1.3 'Fredoka',sans-serif;cursor:pointer;overflow-wrap:anywhere}
.ux-bs-slot.filled{border-style:solid;border-color:var(--ux-violet);background:#f3effa;color:var(--ux-dark)}
.ux-bs-slot:focus-visible{outline:3px solid var(--ux-yellow);outline-offset:2px}
.ux-bs-fb{grid-area:fb;font-weight:700;text-align:center}
.ux-bs-row.ok{border-color:var(--ux-green);background:#f1f8ec}
.ux-bs-row.ok .ux-bs-slot{border-color:var(--ux-green-d);background:#fff}
.ux-bs-row.ok .ux-bs-fb{color:var(--ux-green-d)}
.ux-bs-row.bad{border-color:var(--ux-red);background:#fdf0ee}
.ux-bs-row.bad .ux-bs-fb{color:var(--ux-red)}
.ux-bs-pool{margin-top:12px}
.ux-bs-card{font-family:'Fredoka',sans-serif;font-weight:500;touch-action:none;transition:transform .15s}
.ux-bs-card[hidden]{display:none}
.ux-bs-ghost{position:fixed;z-index:9999;pointer-events:none;opacity:.92;box-shadow:0 6px 16px rgba(0,0,0,.18);max-width:260px;font-family:'Fredoka',sans-serif}
.ux-beschriften-w.done .ux-bs-spot,.ux-beschriften-w.done .ux-bs-slot{cursor:default}
@media(max-width:760px){.ux-bs-grid{grid-template-columns:minmax(0,1fr)}}
@media(prefers-reduced-motion:reduce){.ux-bs-spot.pop .ux-bs-dot{animation:none}.ux-bs-card{transition:none}}

/* ---- Widget: beweis ---- */
.ux-bw-ziel{font-family:'Fredoka',sans-serif;font-size:15px;margin:0 0 8px;color:var(--ux-dark)}
.ux-bw-ziel span{font-weight:600;color:#3d2a6b;margin-right:4px}
.ux-bw{background:var(--ux-paper);border:1.5px solid var(--ux-line);border-radius:12px;padding:8px 10px;font-family:'Fredoka',sans-serif}
.ux-bw-kopf{display:grid;grid-template-columns:34px minmax(0,1.1fr) minmax(0,1fr) 20px;gap:10px;font-size:12.5px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:#8a7d6a;padding:2px 4px 6px;border-bottom:1.5px solid var(--ux-line)}
.ux-bw-kopf span:first-child{grid-column:2}
.ux-bw-zeilen{list-style:none;margin:0;padding:0}
.ux-bw-zeile{display:grid;grid-template-columns:34px minmax(0,1.1fr) minmax(0,1fr) 20px;gap:10px;align-items:center;padding:7px 4px;border-bottom:1px dashed #e3d8c4}
.ux-bw-zeile:last-child{border-bottom:none}
.ux-bw-nr{font-size:13px;color:#8a7d6a;font-weight:600}
.ux-bw-term{font-size:17px;color:var(--ux-dark);overflow-wrap:anywhere}
.ux-bw-slot,.ux-bw-fest{min-height:40px;border-radius:9px;font:500 14px/1.3 'Fredoka',sans-serif;padding:7px 10px;text-align:left}
.ux-bw-slot{border:2px dashed #b9ab92;background:#fff;color:#9a8b72;cursor:pointer;transition:border-color .12s,background-color .12s}
.ux-bw-slot.voll{border-style:solid;border-color:var(--ux-violet);color:#3d2a6b;background:#f5f0fb}
.ux-bw-slot.gewaehlt,.ux-bw-slot.ziel{border-color:var(--ux-orange);background:#fff6e8}
.ux-bw-slot:focus-visible{outline:3px solid var(--ux-yellow);outline-offset:2px}
.ux-bw-fest{background:#efe9dd;color:#6b5f53;border:1.5px solid var(--ux-line)}
.ux-bw-zeile.ok .ux-bw-slot{border-color:var(--ux-green-d);background:#f1f8ec;color:var(--ux-green-d)}
.ux-bw-zeile.bad .ux-bw-slot{border-color:var(--ux-red);background:#fdf0ee;color:#a8352c}
.ux-bw-fb{font-weight:700;text-align:center}
.ux-bw-zeile.ok .ux-bw-fb{color:var(--ux-green-d)}.ux-bw-zeile.bad .ux-bw-fb{color:var(--ux-red)}
.ux-bw-vorrat{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px;padding:10px;border-radius:11px;background:#fff;border:1.5px dashed var(--ux-line);min-height:50px}
.ux-bw-chip{font:500 14px/1.3 'Fredoka',sans-serif;padding:8px 12px;border-radius:9px;border:1.5px solid #c9bda8;background:#faf6ee;color:var(--ux-dark);cursor:grab;touch-action:none;text-align:left;transition:transform .12s,border-color .12s}
.ux-bw-chip[hidden]{display:none}
.ux-bw-chip:hover{border-color:var(--ux-violet)}
.ux-bw-chip.gewaehlt{border-color:var(--ux-orange);background:#fff6e8;transform:translateY(-2px)}
.ux-bw-chip.zieht{opacity:.4}
.ux-bw-chip:focus-visible{outline:3px solid var(--ux-yellow);outline-offset:2px}
.ux-bw-geist{position:fixed;z-index:1000;pointer-events:none;box-shadow:0 6px 16px rgba(0,0,0,.18);border-color:var(--ux-violet);background:#f5f0fb;margin:0}
@media(max-width:620px){.ux-bw-kopf{display:none}.ux-bw-zeile{grid-template-columns:28px minmax(0,1fr) 16px;gap:6px 8px}.ux-bw-term{grid-column:2;font-size:16px}.ux-bw-slot,.ux-bw-fest{grid-column:2;grid-row:2}.ux-bw-fb{grid-column:3;grid-row:1/3}.ux-bw-nr{grid-row:1/3;align-self:start;padding-top:2px}}
@media(prefers-reduced-motion:reduce){.ux-bw-slot{transition:none}.ux-bw-chip{transition:none}.ux-bw-chip.gewaehlt{transform:none}}

/* ---- Widget: bewertung ---- */
.ux[data-ux="bewertung"]{font-family:'Fredoka',sans-serif}
.ux[data-ux="bewertung"] .ux-bew-scroll{overflow-x:auto;background:var(--ux-paper);border:1.5px solid var(--ux-line);border-radius:11px;padding:6px}
.ux[data-ux="bewertung"] .ux-bew{width:100%;border-collapse:separate;border-spacing:4px;font-family:'Fredoka',sans-serif;color:var(--ux-dark)}
.ux[data-ux="bewertung"] .ux-bew th,.ux[data-ux="bewertung"] .ux-bew td{padding:4px 6px;vertical-align:middle}
.ux[data-ux="bewertung"] .ux-bew thead th{font-weight:600;font-size:15px;text-align:center;color:#3d2a6b}
.ux[data-ux="bewertung"] .ux-bew thead th.ux-bew-k{text-align:left;color:#6b5f53;font-weight:500;font-size:14px}
.ux[data-ux="bewertung"] tbody .ux-bew-k{text-align:left;font-weight:400;font-size:15px;background:#fff;border-radius:8px;padding:6px 8px}
.ux[data-ux="bewertung"] .ux-bew-kn{display:block;line-height:1.3}
.ux[data-ux="bewertung"] .ux-bew-gw,.ux[data-ux="bewertung"] .ux-bew-g{display:inline-block;margin-top:4px;padding:1px 9px;border-radius:999px;background:#efe7f8;color:var(--ux-violet);font:600 13.5px/1.5 'Fredoka',sans-serif}
.ux[data-ux="bewertung"] .ux-bew-g{border:2px dashed #b9a6dc;cursor:pointer;min-width:42px;background:#fff}
.ux[data-ux="bewertung"] .ux-bew-g.gesetzt{border-style:solid;border-color:var(--ux-violet);background:#efe7f8}
.ux[data-ux="bewertung"] .ux-bew-cell{text-align:center;width:64px}
.ux[data-ux="bewertung"] .ux-bew-c,.ux[data-ux="bewertung"] .ux-bew-fix{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:10px;font:600 20px/1 'Fredoka',sans-serif}
.ux[data-ux="bewertung"] .ux-bew-c{border:2px dashed #b9ab92;background:#fff;color:#9a8b72;cursor:pointer;transition:transform .12s}
.ux[data-ux="bewertung"] .ux-bew-c:hover{transform:scale(1.06)}
.ux[data-ux="bewertung"] .ux-bew-c.gesetzt{border-style:solid;border-color:var(--ux-blue-d);color:var(--ux-blue-d);background:#eef3fb}
.ux[data-ux="bewertung"] .ux-bew-fix{background:#ece3d2;color:#5c5144;border:2px solid transparent}
.ux[data-ux="bewertung"] .ux-bew-c:focus-visible,.ux[data-ux="bewertung"] .ux-bew-g:focus-visible,.ux[data-ux="bewertung"] .ux-bew-pick:focus-visible{outline:3px solid var(--ux-yellow);outline-offset:2px}
.ux[data-ux="bewertung"] .ux-bew-c.ok,.ux[data-ux="bewertung"] .ux-bew-g.ok{border-color:var(--ux-green-d);color:var(--ux-green-d);background:#f1f8ec}
.ux[data-ux="bewertung"] .ux-bew-c.bad,.ux[data-ux="bewertung"] .ux-bew-g.bad{border-color:var(--ux-red);color:var(--ux-red);background:#fdf0ee}
.ux[data-ux="bewertung"] tfoot th{text-align:left;font-size:15px;font-weight:600;padding:6px 8px}
.ux[data-ux="bewertung"] .ux-bew-sum{text-align:center;font-size:19px;font-weight:600;color:#fff;background:#3d2a6b;border-radius:10px;padding:6px 4px}
.ux[data-ux="bewertung"] .ux-bew-sum.offen{background:#cfc4b2;color:#fff}
.ux[data-ux="bewertung"] .ux-bew-pick{font:600 15px/1.25 'Fredoka',sans-serif;color:#3d2a6b;background:#fff;border:2px solid var(--ux-line);border-radius:10px;padding:6px 8px;cursor:pointer;width:100%;transition:background .12s}
.ux[data-ux="bewertung"] .ux-bew-pick.gewaehlt{background:#3d2a6b;color:#fff;border-color:#3d2a6b}
.ux[data-ux="bewertung"] .ux-bew-pick.ok{background:var(--ux-green-d);border-color:var(--ux-green-d);color:#fff}
.ux[data-ux="bewertung"] .ux-bew-pick.bad{background:var(--ux-red);border-color:var(--ux-red);color:#fff}
@media(max-width:560px){
  .ux[data-ux="bewertung"] .ux-bew-scroll{padding:3px}
  .ux[data-ux="bewertung"] .ux-bew{border-spacing:3px}
  .ux[data-ux="bewertung"] .ux-bew th,.ux[data-ux="bewertung"] .ux-bew td{padding:3px}
  .ux[data-ux="bewertung"] tbody .ux-bew-k{font-size:13.5px;padding:5px 6px}
  .ux[data-ux="bewertung"] .ux-bew thead th{font-size:12.5px}
  .ux[data-ux="bewertung"] .ux-bew thead th.ux-bew-opt{font-size:11.5px;padding:3px 1px}
  .ux[data-ux="bewertung"] .ux-bew-cell{width:46px}
  .ux[data-ux="bewertung"] .ux-bew-c,.ux[data-ux="bewertung"] .ux-bew-fix{width:40px;height:40px;font-size:18px}
  .ux[data-ux="bewertung"] .ux-bew-pick{font-size:11.5px;padding:5px 2px}
}
@media(prefers-reduced-motion:reduce){.ux[data-ux="bewertung"] .ux-bew-c{transition:none}.ux[data-ux="bewertung"] .ux-bew-pick{transition:none}}

/* ---- Widget: bruchbau ---- */
.ux-bb-row{background:var(--ux-paper);border:1.5px solid var(--ux-line);border-radius:12px;padding:12px;margin-bottom:10px;font-family:'Fredoka',sans-serif}
.ux-bb-row.ok{border-color:var(--ux-green);background:#f1f8ec}
.ux-bb-row.bad{border-color:var(--ux-red);background:#fdf0ee}
.ux-bb-eq{display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap;padding:6px 0 12px}
.ux-bb-lhs{font-size:22px;font-weight:600;color:var(--ux-dark);white-space:nowrap}
.ux-bb-frac{display:flex;flex-direction:column;align-items:stretch;flex:0 1 320px;min-width:0}
.ux-bb-zone{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:6px;min-height:52px;padding:6px 8px;border:2px dashed #c9bba3;border-radius:10px;background:#fff;cursor:pointer;transition:background-color .15s,border-color .15s}
.ux-bb-zone:empty::before{content:attr(data-ph);color:#a3947c;font-size:14px}
.ux-bb-zone.hover{border-color:var(--ux-violet);background:#f3effa}
.ux-bb-zone:focus-visible{outline:3px solid var(--ux-yellow);outline-offset:2px}
.ux-bb-zone .ux-bb-card+.ux-bb-card::before{content:'·';position:absolute;left:-7px;top:50%;transform:translate(-50%,-50%);font-size:20px;color:var(--ux-dark);pointer-events:none}
.ux-bb-strich{height:3px;background:var(--ux-dark);border-radius:2px;margin:6px 0}
.ux-bb-pool{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;min-height:52px;padding:10px;border-radius:10px;border:1.5px dashed var(--ux-line);background:#fffdf8}
.ux-bb-pool:empty::after{content:'Alle Kärtchen verbaut.';font-size:13px;color:#9a8d7d}
.ux-bb-pool.hover{border-color:var(--ux-violet)}
.ux-bb-card{position:relative;font:600 18px/1.1 'Fredoka',sans-serif;min-width:44px;min-height:40px;padding:8px 12px;border-radius:9px;border:2px solid var(--ux-blue-d);background:#fff;color:var(--ux-blue-d);cursor:grab;touch-action:none;transition:transform .12s,box-shadow .12s}
.ux-bb-card sub{font-size:.65em}
.ux-bb-zone .ux-bb-card{margin-left:8px}
.ux-bb-zone .ux-bb-card:first-child{margin-left:0}
.ux-bb-card:hover{box-shadow:0 2px 0 #c9bba3}
.ux-bb-card:focus-visible{outline:3px solid var(--ux-yellow);outline-offset:2px}
.ux-bb-card.gewaehlt{background:var(--ux-blue-d);color:#fff}
.ux-bb-card.zieht{z-index:5;cursor:grabbing;box-shadow:0 6px 14px rgba(0,0,0,.18);transition:none}
.ux-bb-card[disabled]{cursor:default;opacity:1}
.ux-bb-row.ok .ux-bb-zone .ux-bb-card{border-color:var(--ux-green-d);color:var(--ux-green-d)}
@media(max-width:560px){.ux-bb-frac{flex-basis:100%}.ux-bb-row{padding:9px}.ux-bb-lhs{font-size:19px}.ux-bb-card{font-size:16px;padding:7px 10px;min-width:40px}}
@media(prefers-reduced-motion:reduce){.ux-bb-zone{transition:none}.ux-bb-card{transition:none}}

/* ---- Widget: drehknopf ---- */
.ux-dk-kopf{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin:2px 0 6px;font-family:'Fredoka',sans-serif}
.ux-dk-nr{font-size:14px;color:#6b5f53;font-weight:500}
.ux-dk-ziel{margin-left:auto;background:#fff;border:1.5px solid var(--ux-line);border-radius:9px;padding:5px 12px;font-size:16px;color:var(--ux-dark)}
.ux-dk-ziel b{color:var(--ux-violet);font-weight:600}
.ux-dk-q{margin:0 0 8px;font-family:'Fredoka',sans-serif;font-size:15.5px;color:var(--ux-dark)}
.ux-dk-q:empty{display:none}
.ux-dk-pult{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:6px 14px;background:var(--ux-paper);border:1.5px solid var(--ux-line);border-radius:12px;padding:10px 8px 12px}
.ux-dk-knopf{flex:1 1 200px;max-width:280px;min-width:0;display:flex;flex-direction:column;align-items:center;font-family:'Fredoka',sans-serif}
.ux-dk-titel{font-size:15px;font-weight:600;color:var(--ux-dark)}
.ux-dk-svg{display:block;width:100%;max-width:260px;height:auto;touch-action:none;cursor:grab}
.ux-dk-svg:active{cursor:grabbing}
.ux-dk-svg:focus{outline:none}
.ux-dk-svg:focus-visible{outline:3px solid var(--ux-yellow);outline-offset:-6px}
.ux-dk-skala{fill:none;stroke:var(--ux-line);stroke-width:2}
.ux-dk-tick{stroke:#8a7d69;stroke-width:2.4;stroke-linecap:round}
.ux-dk-lab{font:500 16px 'Fredoka',sans-serif;fill:#6b5f53;cursor:pointer}
.ux-dk-lab.an{fill:var(--ux-violet);font-weight:700}
.ux-dk-koerper{fill:#2f2f2f;stroke:#f4ede0;stroke-width:4}
.ux-dk-kappe{fill:#4a4a4a}
.ux-dk-zeiger{fill:var(--ux-yellow)}
.ux-dk-dreh{transform-box:view-box;transform-origin:120px 120px;transition:transform .18s ease-out}
.ux-dk-fest{display:none;font:600 15px 'Fredoka',sans-serif;fill:#f4ede0}
.ux-dk-knopf.fest .ux-dk-fest{display:block}
.ux-dk-knopf.fest .ux-dk-svg{cursor:not-allowed}
.ux-dk-knopf.fest .ux-dk-koerper{fill:#6b5f53}
.ux-dk-knopf.fest .ux-dk-zeiger{fill:#d9cdb8}
.ux-dk-wert{margin-top:-4px;background:#fff;border:1.5px solid var(--ux-line);border-radius:8px;padding:3px 12px;font-size:16px;font-weight:600;color:var(--ux-dark);min-width:110px;text-align:center}
.ux-dk-knopf.fest .ux-dk-wert{color:#6b5f53}
.ux-dk-op{font:600 30px 'Fredoka',sans-serif;color:#6b5f53}
.ux-drehknopf-w.done .ux-dk-pult{border-color:var(--ux-green);background:#f1f8ec}
@media(max-width:560px){.ux-dk-knopf{flex-basis:100%;max-width:250px}.ux-dk-op{font-size:24px}.ux-dk-wert{font-size:15px;min-width:90px}.ux-dk-ziel{font-size:15px}}
@media(prefers-reduced-motion:reduce){.ux-dk-dreh{transition:none}}

/* ---- Widget: dreieck ---- */
.ux[data-ux="dreieck"] .ux-dreieck-ask{font-family:'Fredoka',sans-serif;font-size:16px;color:var(--ux-dark);margin:0 0 10px;padding:9px 12px;background:#fff;border:1.5px solid var(--ux-line);border-radius:10px;line-height:1.45}
.ux[data-ux="dreieck"] .ux-dreieck-nr{display:inline-block;font-size:12.5px;font-weight:600;color:#fff;background:var(--ux-violet);border-radius:999px;padding:2px 9px;margin-right:6px;vertical-align:1px}
.ux[data-ux="dreieck"] .ux-dreieck-grid{display:grid;grid-template-columns:minmax(0,280px) minmax(0,1fr);gap:16px;align-items:start;background:var(--ux-paper);border:1.5px solid var(--ux-line);border-radius:12px;padding:12px}
.ux[data-ux="dreieck"] .ux-dreieck-svg{display:block;width:100%;height:auto;font-family:'Fredoka',sans-serif}
.ux[data-ux="dreieck"] .ux-dreieck-rand{fill:#fff;stroke:#2f2f2f;stroke-width:2.6;stroke-linejoin:round}
.ux[data-ux="dreieck"] .ux-dreieck-linie{stroke:#2f2f2f;stroke-width:2.4}
.ux[data-ux="dreieck"] .ux-dreieck-mal{fill:#2f2f2f}
.ux[data-ux="dreieck"] .ux-dreieck-feld{cursor:pointer;outline:none}
.ux[data-ux="dreieck"] .ux-dreieck-fl{fill:transparent;transition:fill .2s}
.ux[data-ux="dreieck"] .ux-dreieck-feld:hover .ux-dreieck-fl{fill:#eef3fb}
.ux[data-ux="dreieck"] .ux-dreieck-feld:focus-visible .ux-dreieck-fl{fill:#fdf6d3;stroke:#f4d03f;stroke-width:4}
.ux[data-ux="dreieck"] .ux-dreieck-z{font:600 34px 'Fredoka',sans-serif;fill:#2c5fb5}
.ux[data-ux="dreieck"] .ux-dreieck-z sub,.ux[data-ux="dreieck"] .ux-dreieck-fm sub{font-size:.7em}
.ux[data-ux="dreieck"] .ux-dreieck-zu{font:600 34px 'Fredoka',sans-serif;fill:#fff;opacity:0}
.ux[data-ux="dreieck"] .ux-dreieck-feld.zu .ux-dreieck-fl{fill:#7c5fb5}
.ux[data-ux="dreieck"] .ux-dreieck-feld.zu .ux-dreieck-z{opacity:0}
.ux[data-ux="dreieck"] .ux-dreieck-feld.zu .ux-dreieck-zu{opacity:1}
.ux[data-ux="dreieck"] .ux-dreieck-feld.bad .ux-dreieck-fl{fill:#fdf0ee}
.ux[data-ux="dreieck"] .ux-dreieck-schritte{font-family:'Fredoka',sans-serif;display:flex;flex-direction:column;gap:12px;min-width:0}
.ux[data-ux="dreieck"] .ux-dreieck-weg{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px;counter-reset:dr}
.ux[data-ux="dreieck"] .ux-dreieck-weg li{counter-increment:dr;font-size:13.5px;color:#8a7c66;background:#fff;border:1.5px solid var(--ux-line);border-radius:999px;padding:3px 11px 3px 4px}
.ux[data-ux="dreieck"] .ux-dreieck-weg li::before{content:counter(dr);display:inline-block;width:20px;height:20px;line-height:20px;text-align:center;border-radius:50%;background:#e8e0d0;color:#2f2f2f;font-weight:600;margin-right:6px}
.ux[data-ux="dreieck"] .ux-dreieck-weg li.jetzt{border-color:var(--ux-violet);color:var(--ux-dark)}
.ux[data-ux="dreieck"] .ux-dreieck-weg li.jetzt::before{background:var(--ux-violet);color:#fff}
.ux[data-ux="dreieck"] .ux-dreieck-weg li.fertig{border-color:var(--ux-green);color:var(--ux-green-d)}
.ux[data-ux="dreieck"] .ux-dreieck-weg li.fertig::before{content:'✓';background:var(--ux-green);color:#fff}
.ux[data-ux="dreieck"] .ux-dreieck-formeln{display:flex;flex-wrap:wrap;gap:8px}
.ux[data-ux="dreieck"] .ux-dreieck-formeln[hidden],.ux[data-ux="dreieck"] .ux-dreieck-rechnen[hidden]{display:none}
.ux[data-ux="dreieck"] .ux-dreieck-fm{font:500 19px 'Fredoka',sans-serif;color:var(--ux-dark);background:#fff;border:1.5px solid var(--ux-line);border-radius:10px;padding:8px 14px;cursor:pointer;transition:border-color .15s,background .15s}
.ux[data-ux="dreieck"] .ux-dreieck-fm:hover:not(:disabled){border-color:var(--ux-blue)}
.ux[data-ux="dreieck"] .ux-dreieck-fm:focus-visible{outline:3px solid var(--ux-yellow);outline-offset:2px}
.ux[data-ux="dreieck"] .ux-dreieck-fm.ok{border-color:var(--ux-green);background:#f1f8ec;color:var(--ux-green-d)}
.ux[data-ux="dreieck"] .ux-dreieck-fm.bad{border-color:var(--ux-red);background:#fdf0ee;color:#a33a31;text-decoration:line-through}
.ux[data-ux="dreieck"] .ux-dreieck-fm.weg{opacity:.45}
.ux[data-ux="dreieck"] .ux-dreieck-fm:disabled{cursor:default}
.ux[data-ux="dreieck"] .ux-dreieck-rechnen{display:flex;flex-wrap:wrap;align-items:center;gap:10px}
.ux[data-ux="dreieck"] .ux-dreieck-lab{display:flex;align-items:center;gap:8px;font-size:19px;color:var(--ux-dark)}
.ux[data-ux="dreieck"] .ux-dreieck-in{width:120px;max-width:40vw;font:500 18px 'Fredoka',sans-serif;padding:7px 10px;border:1.5px solid var(--ux-line);border-radius:8px;background:#fff}
.ux[data-ux="dreieck"] .ux-dreieck-in:focus-visible{outline:3px solid var(--ux-yellow);outline-offset:1px}
.ux[data-ux="dreieck"] .ux-dreieck-unit{font-size:17px;color:#6b5f53}
.ux.done[data-ux="dreieck"] .ux-dreieck-feld{cursor:default}
@media(max-width:600px){.ux[data-ux="dreieck"] .ux-dreieck-grid{grid-template-columns:minmax(0,1fr);padding:8px}.ux[data-ux="dreieck"] .ux-dreieck-svg{max-width:240px;margin:0 auto}}
@media(prefers-reduced-motion:reduce){.ux[data-ux="dreieck"] .ux-dreieck-fl{transition:none}.ux[data-ux="dreieck"] .ux-dreieck-fm{transition:none}}

/* ---- Widget: dreiregler ---- */
.ux-dreiregler-w .ux-dr-q{margin:0 0 8px;font-family:'Fredoka',sans-serif;font-size:16px;color:var(--ux-dark);min-height:24px;line-height:1.5}
.ux-dreiregler-w .ux-dr-nr{display:inline-block;background:#7c5fb5;color:#fff;border-radius:999px;padding:1px 10px;font-size:13px;font-weight:600;margin-right:4px}
.ux-dreiregler-w .ux-dr-stage{background:#faf6ee;border:1.5px solid var(--ux-line);border-radius:12px;padding:4px}
.ux-dreiregler-w .ux-dr-svg{display:block;width:100%;max-width:600px;height:auto;margin:0 auto;touch-action:none;font-family:'Fredoka',sans-serif}
.ux-dreiregler-w .ux-dr-col{cursor:ns-resize;outline:none}
.ux-dreiregler-w .ux-dr-col:focus-visible .ux-dr-grip{stroke:#f4d03f;stroke-width:5}
.ux-dreiregler-w .ux-dr-bar{transition:y .12s,height .12s}
.ux-dreiregler-w .ux-dr-val{fill:#2f2f2f;font:600 14px 'Fredoka',sans-serif}
.ux-dreiregler-w .ux-dr-lab{fill:#2f2f2f;font:500 14px 'Fredoka',sans-serif}
.ux-dreiregler-w .ux-dr-ges{fill:#7c5fb5;font:600 13px 'Fredoka',sans-serif;paint-order:stroke;stroke:#faf6ee;stroke-width:4px;stroke-linejoin:round}
.ux-dreiregler-w .ux-dr-sum{fill:#2f2f2f;font:600 16px 'Fredoka',sans-serif}
.ux-dreiregler-w .ux-dr-svg.ux-dr-blink{animation:uxDrBlink .55s ease-out}
@keyframes uxDrBlink{0%{filter:brightness(1.12)}100%{filter:none}}
.ux-dreiregler-w.done .ux-dr-col{cursor:default}
@media(max-width:560px){.ux-dreiregler-w .ux-dr-val{font-size:23px}.ux-dreiregler-w .ux-dr-lab{font-size:17px}.ux-dreiregler-w .ux-dr-sum{font-size:21px}.ux-dreiregler-w .ux-dr-ges{font-size:18px}}
@media(prefers-reduced-motion:reduce){.ux-dreiregler-w .ux-dr-bar{transition:none}.ux-dreiregler-w .ux-dr-svg.ux-dr-blink{animation:none}}

/* ---- Widget: dropdiag ---- */
.ux-dd{display:grid;gap:0;max-width:640px;margin:0 auto;font-family:'Fredoka',sans-serif;--dd:#cbbfa8}
.ux-dd-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.9fr);gap:12px;align-items:center}
.ux-dd-box{display:grid;gap:6px;background:#fff;border:2px solid var(--ux-dark);border-left:9px solid var(--dd);border-radius:10px;padding:9px 12px}
.ux-dd-obj{font-weight:600;font-size:15.5px;color:var(--ux-dark)}
.ux-dd-slot{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.ux-dd-sel{font:500 14.5px/1.2 'Fredoka',sans-serif;padding:6px 8px;border:1.5px dashed #b9ab92;border-radius:8px;background:var(--ux-paper);color:var(--ux-dark);max-width:100%;cursor:pointer}
.ux-dd-sel:focus-visible{outline:3px solid var(--ux-yellow);outline-offset:2px}
.ux-dd-fix{font-size:14.5px;font-weight:500;color:#5d5246;padding:6px 2px}
.ux-dd-fb{font-weight:700;min-width:1em}
.ux-dd-arrow{position:relative;display:flex;align-items:center;gap:12px;min-height:62px;padding:4px 0 4px 34px}
.ux-dd-shaft{position:absolute;left:14px;top:2px;bottom:2px;width:4px;background:var(--dd);border-radius:2px}
.ux-dd-shaft::after{content:"";position:absolute;left:-6px;bottom:-2px;border:8px solid transparent;border-top:10px solid var(--dd);border-bottom:0}
.ux-dd-arrow .ux-dd-slot{background:#fff;border:1.5px solid var(--ux-line);border-radius:999px;padding:3px 10px 3px 6px}
.ux-dd-out{display:flex;align-items:center;gap:8px;flex-wrap:wrap;color:#6b5f53;font-size:13.5px}
.ux-dd-oarr{width:34px;height:4px;background:var(--dd);border-radius:2px;position:relative;flex:none}
.ux-dd-oarr::after{content:"";position:absolute;right:-8px;top:-6px;border:8px solid transparent;border-left:10px solid var(--dd);border-right:0}
.ux-dd-env{font-style:italic}
.ux-dd [data-f="or"]{--dd:var(--ux-orange)}.ux-dd [data-f="rt"]{--dd:var(--ux-red)}.ux-dd [data-f="ge"]{--dd:var(--ux-yellow)}
.ux-dd [data-f="vi"]{--dd:var(--ux-violet)}.ux-dd [data-f="vi2"]{--dd:#a58fd6}.ux-dd [data-f="bl"]{--dd:var(--ux-blue)}.ux-dd [data-f="gr"]{--dd:var(--ux-green)}
.ux-dd .ok .ux-dd-sel{border-style:solid;border-color:var(--ux-green-d);background:#f1f8ec}
.ux-dd .bad .ux-dd-sel{border-style:solid;border-color:var(--ux-red);background:#fdf0ee}
.ux-dd .ok .ux-dd-fb{color:var(--ux-green-d)}.ux-dd .bad .ux-dd-fb{color:var(--ux-red)}
.ux-dd-box,.ux-dd-shaft,.ux-dd-oarr{transition:border-color .25s,background-color .25s}
@media(max-width:620px){.ux-dd-row{grid-template-columns:minmax(0,1fr);gap:6px}.ux-dd-out{padding-left:10px}.ux-dd-sel{font-size:14px}}
@media(prefers-reduced-motion:reduce){.ux-dd-box,.ux-dd-shaft,.ux-dd-oarr{transition:none}}

/* ---- Widget: energiebudget ---- */
.ux-bgt{background:var(--ux-paper);border:1.5px solid var(--ux-line);border-radius:12px;padding:10px 12px 12px;font-family:'Fredoka',sans-serif}
.ux-bgt-top{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px}
.ux-bgt-ziel{font-weight:600;color:var(--ux-blue-d);font-size:15px}
.ux-bgt-sum{background:#fff;border:1.5px solid var(--ux-line);border-radius:8px;padding:4px 10px;font-size:14.5px;color:var(--ux-dark)}
.ux-bgt-sum.ueber{border-color:var(--ux-red);color:#b23a30}
.ux-bgt-meter{position:relative;height:12px;border-radius:6px;background:#ece4d6;margin:10px 0 10px;overflow:hidden}
.ux-bgt-fill{position:absolute;left:0;top:0;bottom:0;width:0;background:var(--ux-green);border-radius:6px;transition:width .2s}
.ux-bgt-fill.ueber{background:var(--ux-red)}
.ux-bgt-mark{position:absolute;top:0;bottom:0;width:3px;margin-left:-1.5px;background:var(--ux-dark);display:none}
.ux-bgt-list{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.ux-bgt-row{display:grid;grid-template-columns:52px minmax(0,1fr) 64px auto 78px;align-items:center;gap:8px;background:#fff;border:1.5px solid var(--ux-line);border-radius:10px;padding:6px 10px}
.ux-bgt-row.an{border-color:#b9d3a9}
.ux-bgt-row.ok{border-color:var(--ux-green);background:#f1f8ec}
.ux-bgt-row.bad{border-color:var(--ux-red);background:#fdf0ee}
.ux-bgt-sw{position:relative;width:48px;height:28px;border-radius:14px;border:1.5px solid #b9ab92;background:#e6ded0;cursor:pointer;padding:0}
.ux-bgt-knob{position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.25);transition:left .15s}
.ux-bgt-sw[aria-checked="true"]{background:var(--ux-green);border-color:var(--ux-green-d)}
.ux-bgt-sw[aria-checked="true"] .ux-bgt-knob{left:23px}
.ux-bgt-sw:focus-visible,.ux-bgt-minus:focus-visible,.ux-bgt-plus:focus-visible,.ux-bgt-h:focus-visible{outline:3px solid var(--ux-yellow);outline-offset:2px}
.ux-bgt-sw:disabled{cursor:default;opacity:.75}
.ux-bgt-name{font-size:15.5px;color:var(--ux-dark);overflow-wrap:anywhere;line-height:1.25}
.ux-bgt-pf{display:inline-block;margin-left:6px;font-size:12px;color:#fff;background:var(--ux-violet);border-radius:6px;padding:1px 7px;vertical-align:middle;max-width:100%;white-space:normal;margin-top:2px}
.ux-bgt-row.fix .ux-bgt-pf{background:#8a7d68}
.ux-bgt-p{font-size:14.5px;color:#6b5f53;text-align:right;white-space:nowrap}
.ux-bgt-step{display:flex;align-items:center;gap:3px}
.ux-bgt-minus,.ux-bgt-plus{width:30px;height:30px;border-radius:50%;border:1.5px solid var(--ux-line);background:#faf6ee;font:600 17px/1 'Fredoka',sans-serif;color:var(--ux-dark);cursor:pointer;padding:0}
.ux-bgt-minus:disabled,.ux-bgt-plus:disabled{opacity:.35;cursor:default}
.ux-bgt-h{min-width:56px;text-align:center;font-weight:600;font-size:15px;color:var(--ux-dark);border-radius:6px;padding:3px 2px;cursor:ns-resize}
.ux-bgt-row:not(.an) .ux-bgt-h{color:#a99c86}
.ux-bgt-e{text-align:right;font-weight:600;font-size:14.5px;color:var(--ux-blue-d);white-space:nowrap}
@media(max-width:560px){
  .ux-bgt{padding:8px}
  .ux-bgt-row{grid-template-columns:50px minmax(0,1fr) auto;grid-template-areas:"sw name p" "step step e";row-gap:4px;padding:6px 8px}
  .ux-bgt-pf{display:table;margin-left:0}
  .ux-bgt-sw{grid-area:sw}.ux-bgt-name{grid-area:name;font-size:14.5px}.ux-bgt-p{grid-area:p}.ux-bgt-step{grid-area:step}.ux-bgt-e{grid-area:e}
}
@media(prefers-reduced-motion:reduce){.ux-bgt-fill,.ux-bgt-knob{transition:none}}
.ux-bgt-pf.ux-bgt-gr{background:var(--ux-blue-d)}

/* ---- Widget: experiment ---- */
.ux-ex-lab{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,300px);gap:14px;align-items:start;background:var(--ux-paper);border:1.5px solid var(--ux-line);border-radius:12px;padding:12px;font-family:'Fredoka',sans-serif;color:var(--ux-dark)}
.ux-ex-ctrl{display:grid;gap:10px}
.ux-ex-lbl{display:grid;grid-template-columns:70px minmax(0,1fr);align-items:center;gap:8px;font-weight:600;font-size:15px}
.ux-ex-lbl select,.ux-ex-sel{font:500 15px 'Fredoka',sans-serif;padding:7px 8px;border:2px solid var(--ux-line);border-radius:9px;background:#fff;color:var(--ux-dark);min-width:0;max-width:100%}
.ux-ex-lbl select:focus-visible,.ux-ex-sel:focus-visible,.ux-ex-in:focus-visible{outline:3px solid var(--ux-yellow);outline-offset:1px}
.ux-ex-btns{display:flex;flex-wrap:wrap;gap:8px}
.ux-ex-btns .ux-btn{max-width:none;flex:1 1 140px}
.ux-ex-read{display:flex;flex-wrap:wrap;gap:6px 18px;background:#fff;border:1.5px solid var(--ux-line);border-radius:10px;padding:8px 12px;font-size:15px}
.ux-ex-read b{font-size:17px;color:#3d2a6b}
.ux-ex-hint{margin:0;min-height:1.2em;font-size:14px;color:#a3352c}
.ux-ex-stage{text-align:center}
.ux-ex-svg{display:block;width:100%;max-width:300px;height:auto;margin:0 auto}
.ux-ex-svg text{font-family:'Fredoka',sans-serif}
.ux-ex-cap{display:block;font-size:13px;color:#6b5f53;margin-top:2px}
.ux-ex-fill{transition:y .3s ease,height .3s ease}
.ux-ex-glow{opacity:0}
.ux-ex-glow.an{animation:uxExGlow .6s ease-out}
@keyframes uxExGlow{0%{opacity:.85}100%{opacity:0}}
.ux-ex-tw{margin-top:10px;overflow-x:auto}
.ux-ex-tab{width:100%;border-collapse:collapse;font:500 15px 'Fredoka',sans-serif;background:#fff;border:1.5px solid var(--ux-line)}
.ux-ex-tab caption{text-align:left;font-weight:600;padding:2px 0 6px;color:#3d2a6b}
.ux-ex-tab th{background:#3d2a6b;color:#fff;font-weight:600;padding:6px 8px;text-align:left}
.ux-ex-tab td{padding:6px 8px;border-top:1px solid var(--ux-line);white-space:nowrap}
.ux-ex-tab tbody tr:nth-child(even) td{background:#faf6ee}
.ux-ex-leer{margin:6px 0 0;font-size:14px;color:#6b5f53}
.ux-ex-ans{display:grid;gap:8px;margin-top:12px;font-family:'Fredoka',sans-serif}
.ux-ex-lock{margin:0;font-size:14px;color:#6b5f53}
.ux-ex-f{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;font-size:15.5px}
.ux-ex-fl{flex:1 1 240px}
.ux-ex-iw{display:inline-flex;align-items:center;gap:6px}
.ux-ex-in{width:110px;padding:7px 9px;border:2px solid var(--ux-line);border-radius:9px;font:600 15px 'Fredoka',sans-serif;text-align:right;background:#fff}
.ux-ex-in[disabled],.ux-ex-sel[disabled]{background:#f0ebe2;cursor:not-allowed}
.ux-ex-u{font-weight:600;white-space:nowrap}
.ux-ex-in.ok,.ux-ex-sel.ok{border-color:var(--ux-green-d);background:#f1f8ec}
.ux-ex-in.bad,.ux-ex-sel.bad{border-color:var(--ux-red);background:#fdf0ee}
@media(max-width:620px){.ux-ex-lab{grid-template-columns:minmax(0,1fr)}.ux-ex-svg{max-width:240px}.ux-ex-tab{font-size:14px}.ux-ex-tab td,.ux-ex-tab th{padding:5px 6px}}
@media(prefers-reduced-motion:reduce){.ux-ex-fill{transition:none}.ux-ex-glow.an{animation:none}}
@media(max-width:620px){.ux-ex-tab th:first-child,.ux-ex-tab td:first-child{display:none}.ux-ex-read b{white-space:nowrap}}

/* ---- Widget: fadenkreuz ---- */
.ux[data-ux="fadenkreuz"] .ux-ask{font-family:'Fredoka',sans-serif;font-size:16px;color:var(--ux-dark);margin:0 0 10px;padding:9px 12px;background:#fff;border:1.5px solid var(--ux-line);border-radius:10px;line-height:1.45}
.ux[data-ux="fadenkreuz"] .ux-fadenkreuz-stage{background:var(--ux-paper);border:1.5px solid var(--ux-line);border-radius:12px;padding:8px}
.ux[data-ux="fadenkreuz"] .ux-fadenkreuz-svg{display:block;width:100%;max-width:640px;height:auto;margin:0 auto;touch-action:none;cursor:ew-resize;font-family:'Fredoka',sans-serif;border-radius:8px}
.ux[data-ux="fadenkreuz"] .ux-fadenkreuz-svg:focus{outline:none}
.ux[data-ux="fadenkreuz"] .ux-fadenkreuz-svg:focus-visible{outline:3px solid var(--ux-yellow);outline-offset:2px}
.ux[data-ux="fadenkreuz"] .ux-fadenkreuz-raster line.neben{stroke:#ece4d6;stroke-width:1}
.ux[data-ux="fadenkreuz"] .ux-fadenkreuz-raster line.haupt{stroke:#d9cdb8;stroke-width:1.2}
.ux[data-ux="fadenkreuz"] .ux-fadenkreuz-tick{font-size:12.5px;fill:#6b5f53}
.ux[data-ux="fadenkreuz"] .ux-fadenkreuz-svg.kompakt .ux-fadenkreuz-tick{font-size:13px}
.ux[data-ux="fadenkreuz"] .ux-fadenkreuz-achse{stroke:#2f2f2f;stroke-width:1.8}
.ux[data-ux="fadenkreuz"] .ux-fadenkreuz-alab{font-size:13.5px;font-weight:600;fill:#2f2f2f}
.ux[data-ux="fadenkreuz"] .ux-fadenkreuz-kurve{fill:none;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;opacity:.45;transition:opacity .2s}
.ux[data-ux="fadenkreuz"] .ux-fadenkreuz-kurve.aktiv{stroke-width:3;opacity:1}
.ux[data-ux="fadenkreuz"] .ux-fadenkreuz-kname{font-size:13px;font-weight:600}
.ux[data-ux="fadenkreuz"] .ux-fadenkreuz-hl{stroke:var(--ux-violet);stroke-width:1.6;stroke-dasharray:5 4}
.ux[data-ux="fadenkreuz"] .ux-fadenkreuz-am{fill:var(--ux-violet)}
.ux[data-ux="fadenkreuz"] .ux-fadenkreuz-ring{fill:rgba(124,95,181,.12);stroke:var(--ux-violet);stroke-width:2.4}
.ux[data-ux="fadenkreuz"] .ux-fadenkreuz-dot{fill:var(--ux-violet)}
.ux[data-ux="fadenkreuz"] .ux-fadenkreuz-kreuz.fertig{opacity:.35}
.ux[data-ux="fadenkreuz"] .ux-fadenkreuz-marke circle{fill:var(--ux-green);stroke:#fff;stroke-width:1.6}
.ux[data-ux="fadenkreuz"] .ux-fadenkreuz-marke text{font-size:10.5px;font-weight:700;fill:#fff}
.ux[data-ux="fadenkreuz"] .ux-fadenkreuz-lesen{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:10px;font-family:'Fredoka',sans-serif;font-size:15.5px}
.ux[data-ux="fadenkreuz"] .ux-fadenkreuz-lesen[hidden]{display:none}
.ux[data-ux="fadenkreuz"] .ux-fadenkreuz-in{width:110px;max-width:100%;padding:7px 10px;border:1.5px solid var(--ux-line);border-radius:8px;font:500 16px 'Fredoka',sans-serif;background:#fff}
.ux[data-ux="fadenkreuz"] .ux-fadenkreuz-in:focus-visible{outline:3px solid var(--ux-yellow);outline-offset:1px}
.ux.done[data-ux="fadenkreuz"] .ux-fadenkreuz-svg{cursor:default}
@media(max-width:560px){.ux[data-ux="fadenkreuz"] .ux-fadenkreuz-stage{padding:4px}}
@media(prefers-reduced-motion:reduce){.ux[data-ux="fadenkreuz"] .ux-fadenkreuz-kurve{transition:none}}

/* ---- Widget: faktor ---- */
.ux-fk-liste{display:grid;gap:10px}
.ux-fk-zeile{display:grid;grid-template-columns:minmax(0,1fr) 46px minmax(0,260px) 24px;align-items:center;gap:10px;padding:8px 12px;border-radius:12px;background:var(--ux-paper);border:1.5px solid var(--ux-line);font-family:'Fredoka',sans-serif}
.ux-fk-ursache{font-size:16px;line-height:1.4;color:var(--ux-dark);overflow-wrap:anywhere}
.ux-fk-pfeil{display:block;height:14px;position:relative}
.ux-fk-pfeil::before{content:'';position:absolute;left:0;right:10px;top:5px;height:4px;border-radius:2px;background:var(--ux-violet)}
.ux-fk-pfeil::after{content:'';position:absolute;right:0;top:0;border:7px solid transparent;border-left:12px solid var(--ux-violet);border-right:0}
.ux-fk-verst{display:block;border-radius:12px;outline:none;touch-action:none;cursor:pointer}
.ux-fk-verst:focus-visible{box-shadow:0 0 0 3px var(--ux-yellow)}
.ux-fk-svg{display:block;width:100%;max-width:260px;height:auto}
.ux-fk-scheibe{fill:#3d2a6b}
.ux-fk-bogen{fill:none;stroke:#7c5fb5;stroke-width:3}
.ux-fk-strich{stroke:#f4ede0;stroke-width:2.4;stroke-linecap:round}
.ux-fk-mlab{font:600 13px 'Fredoka',sans-serif;fill:#d9cdb8}
.ux-fk-mlab.an{fill:#f4d03f;font-size:15px}
.ux-fk-zeiger path{fill:#e79a3a;stroke:#2f2f2f;stroke-width:1.2}
.ux-fk-zeiger{transition:transform .25s ease}
.ux-fk-zeiger.offen path{fill:#9a8b72}
.ux-fk-achse{fill:#f4ede0;stroke:#2f2f2f;stroke-width:1.5}
.ux-fk-anz{font:600 17px 'Fredoka',sans-serif;fill:#3d2a6b}
.ux-fk-fb{font-weight:700;text-align:center;font-size:18px}
.ux-fk-zeile.ok{border-color:var(--ux-green);background:#f1f8ec}
.ux-fk-zeile.ok .ux-fk-fb{color:var(--ux-green-d)}
.ux-fk-zeile.ok .ux-fk-pfeil::before{background:var(--ux-green-d)}.ux-fk-zeile.ok .ux-fk-pfeil::after{border-left-color:var(--ux-green-d)}
.ux-fk-zeile.bad{border-color:var(--ux-red);background:#fdf0ee}
.ux-fk-zeile.bad .ux-fk-fb{color:var(--ux-red)}
.ux[data-ux="faktor"].done .ux-fk-verst{cursor:default}
@media(max-width:620px){
  .ux-fk-zeile{grid-template-columns:minmax(0,1fr) 24px;grid-template-areas:"u fb" "p p" "v v";gap:6px;padding:10px}
  .ux-fk-ursache{grid-area:u;font-size:15px}
  .ux-fk-fb{grid-area:fb}
  .ux-fk-pfeil{grid-area:p;width:14px;height:24px;justify-self:center}
  .ux-fk-pfeil::before{left:5px;right:auto;top:0;bottom:8px;width:4px;height:auto}
  .ux-fk-pfeil::after{left:0;right:auto;top:auto;bottom:0;border:7px solid transparent;border-top:10px solid var(--ux-violet);border-bottom:0}
  .ux-fk-zeile.ok .ux-fk-pfeil::after{border-top-color:var(--ux-green-d);border-left-color:transparent}
  .ux-fk-verst{grid-area:v;justify-self:center;width:100%;max-width:260px}
}
@media(prefers-reduced-motion:reduce){
  .ux-fk-zeiger{transition:none}
}

/* ---- Widget: farbskala ---- */
.ux-farbskala-w{font-family:'Fredoka',sans-serif}
.ux-fs-ask{margin:0 0 10px;padding:9px 12px;border-radius:10px;background:#f3effa;border:1.5px solid #d8cdee;color:var(--ux-dark);font:500 15px/1.45 'Fredoka',sans-serif;min-height:24px}
.ux-fs-box{background:var(--ux-paper);border:1.5px solid var(--ux-line);border-radius:11px;padding:8px}
.ux-fs-bild{display:block;width:100%;height:auto;max-width:600px;margin:0 auto;border-radius:8px}
.ux-fs-bg{fill:#2f2f2f}
.ux-fs-reg{cursor:pointer;outline:none;transition:opacity .15s}
.ux-fs-reg.ux-fs-fix{cursor:default}
.ux-fs-reg:hover{opacity:.86}
.ux-fs-reg:focus-visible > *{stroke:var(--ux-yellow);stroke-width:4}
.ux-fs-reg.ok > *{stroke:var(--ux-green);stroke-width:5}
.ux-fs-reg.bad > *{stroke:#fff;stroke-width:5;stroke-dasharray:7 5}
.ux-fs-deko{pointer-events:none}
.ux-fs-kreuz{pointer-events:none}
.ux-fs-kreuz circle{fill:none;stroke:#fff;stroke-width:3}
.ux-fs-kreuz line{stroke:#fff;stroke-width:3;stroke-linecap:round}
.ux-fs-skala{max-width:520px;margin:8px auto 0}
.ux-fs-leg{display:block;width:100%;height:auto;cursor:pointer;touch-action:none;outline:none;border-radius:6px}
.ux-fs-leg:focus-visible{outline:3px solid var(--ux-yellow);outline-offset:2px}
.ux-fs-bar{stroke:#2f2f2f;stroke-width:1}
.ux-fs-tick{stroke:#2f2f2f;stroke-width:1.4}
.ux-fs-tlab{font:500 13px/1 'Fredoka',sans-serif;fill:#2f2f2f}
.ux-fs-unit{font:400 11px/1 'Fredoka',sans-serif;fill:#6b5f53}
.ux-fs-cur line{stroke:#2f2f2f;stroke-width:3}
.ux-fs-cur path{fill:#2f2f2f}
.ux-fs-wert{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:2px;font:600 15px/1.2 'Fredoka',sans-serif;color:var(--ux-dark)}
.ux-fs-swatch{width:22px;height:22px;border-radius:6px;border:1.5px solid #2f2f2f;background:transparent}
.ux-farbskala-w.done .ux-fs-reg{cursor:default}
@media(max-width:560px){.ux-fs-box{padding:4px}.ux-fs-tlab{font-size:21px}.ux-fs-unit{font-size:15px}.ux-fs-ask{font-size:14.5px}}
@media(prefers-reduced-motion:reduce){.ux-fs-reg{transition:none}}

/* ---- Widget: feder ---- */
.ux-feder-tk{display:none}
.ux-feder-stage{background:var(--ux-paper);border:1.5px solid var(--ux-line);border-radius:11px;padding:8px;max-width:620px}
.ux-feder-svg{display:block;width:100%;height:auto;touch-action:none;cursor:ns-resize;border-radius:8px;font-family:'Fredoka',sans-serif}
.ux-feder-svg:focus-visible{outline:3px solid var(--ux-yellow);outline-offset:2px}
.ux-feder-floor{fill:#8c7d66}
.ux-feder-rul line{stroke:var(--ux-dark);stroke-width:1.4}
.ux-feder-tick{font:500 11.5px/1 'Fredoka',sans-serif;fill:#6b5f53}
.ux-feder-rest{stroke:#b9ab92;stroke-width:1.4;stroke-dasharray:5 4}
.ux-feder-coil{fill:none;stroke:var(--ux-blue-d);stroke-width:3.4;stroke-linejoin:round;stroke-linecap:round}
.ux-feder-plate rect{fill:#6b5f53}
.ux-feder-plate .ux-feder-grip{fill:var(--ux-yellow);stroke:#b89a1c;stroke-width:1}
.ux-feder-ball{fill:var(--ux-red);stroke:#a63a31;stroke-width:1.6}
.ux-feder-arrow{fill:none;stroke:var(--ux-violet);stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
.ux-feder-lane line{stroke:#d9cdb8;stroke-width:2;stroke-dasharray:6 6}
.ux-feder-flag line{stroke:var(--ux-green-d);stroke-width:2.4;stroke-dasharray:7 5}
.ux-feder-flag path{fill:var(--ux-green)}
.ux-feder-box{fill:#fff;stroke:var(--ux-line);stroke-width:1.5}
.ux-feder-read{font:600 15px/1 'Fredoka',sans-serif;fill:var(--ux-dark)}
.ux-feder-tools{display:flex;gap:8px;margin-top:8px}
.ux-feder-tools .ux-btn{min-width:52px;font-size:16px;padding:8px 14px}
.ux-feder-w.done .ux-feder-svg{cursor:default}
/* schmale Ansicht */
.ux-feder-svg.kompakt .ux-feder-read{font-size:19px}
.ux-feder-svg.kompakt .ux-feder-tick{font-size:14px}
@media(prefers-reduced-motion:reduce){.ux-feder-ball,.ux-feder-plate{transition:none}}

/* ---- Widget: flaeche ---- */
.ux-fl-stage{background:var(--ux-paper);border:1.5px solid var(--ux-line);border-radius:12px;padding:6px;font-family:'Fredoka',sans-serif}
.ux-fl-svg{display:block;width:100%;max-width:620px;height:auto;margin:0 auto;touch-action:none;cursor:crosshair;font-family:'Fredoka',sans-serif;border-radius:10px}
.ux-fl-svg:focus{outline:none}
.ux-fl-svg:focus-visible{outline:3px solid var(--ux-yellow);outline-offset:2px}
.ux-fl-bg{fill:#faf6ee}
.ux-fl-grid line{stroke:#e6ded0;stroke-width:1}
.ux-fl-lab text{font-size:15px;fill:#6b5f53}
.ux-fl-lab text.ux-fl-axt{font-size:16px;font-weight:600;fill:#2f2f2f}
.ux-fl-axis line{stroke:#2f2f2f;stroke-width:2}
.ux-fl-axis path{fill:#2f2f2f}
.ux-fl-guide{stroke:#7c5fb5;stroke-width:2;stroke-dasharray:7 6;opacity:.7}
.ux-fl-tri{fill:#e79a3a;fill-opacity:.42;stroke:#e79a3a;stroke-width:1.5;transition:d .12s}
.ux-fl-line{stroke:#2c5fb5;stroke-width:3;stroke-linecap:round}
.ux-fl-help{stroke:#2c5fb5;stroke-width:1.4;stroke-dasharray:4 4;opacity:.75}
.ux-fl-knob{fill:#fff;stroke:#2c5fb5;stroke-width:3.2;cursor:grab;transition:r .12s}
.ux-fl-svg:focus-visible .ux-fl-knob{stroke:#e2574c}
.ux-fl-res rect{fill:#fff;stroke:#d9cdb8;stroke-width:1.5}
.ux-fl-res text{font-size:16.5px;font-weight:600;fill:#2f2f2f}
.ux-fl-svg.ok .ux-fl-tri{fill:#67b05f;stroke:#4a7530}
.ux-fl-svg.ok .ux-fl-line,.ux-fl-svg.ok .ux-fl-knob{stroke:#4a7530}
.ux-fl-svg.bad .ux-fl-res rect{stroke:#e2574c}
@media(prefers-reduced-motion:reduce){.ux-fl-tri{transition:none}.ux-fl-knob{transition:none}}

/* ---- Widget: flussbild ---- */
.ux-sk{background:var(--ux-paper);border:1.5px solid var(--ux-line);border-radius:12px;padding:10px 12px 12px;font-family:'Fredoka',sans-serif}
.ux-fbd-top{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-bottom:4px}
.ux-fbd-in{font-weight:600;color:var(--ux-blue-d);font-size:15px}
.ux-fbd-sum{background:#fff;border:1.5px solid var(--ux-line);border-radius:8px;padding:4px 10px;font-size:14.5px;color:var(--ux-dark)}
.ux-fbd-sum.voll{border-color:var(--ux-green);color:var(--ux-green-d)}
.ux-fbd-svg{display:block;width:100%;max-width:640px;height:auto;margin:0 auto;touch-action:pan-y}
.ux-fbd-inp{fill:var(--ux-blue)}
.ux-fbd-rest{fill:#ece4d6;stroke:#9a8b72;stroke-width:1.6;stroke-dasharray:5 4}
.ux-fbd-p{stroke:#fff;stroke-width:1.2}
.ux-fbd-z{fill:none;stroke-width:2.4;stroke-dasharray:6 5}
.ux-fbd-p.k-nutz{fill:var(--ux-green)}.ux-fbd-z.k-nutz{stroke:var(--ux-green-d)}
.ux-fbd-p.k-v0{fill:var(--ux-orange)}.ux-fbd-z.k-v0{stroke:var(--ux-orange)}
.ux-fbd-p.k-v1{fill:var(--ux-red)}.ux-fbd-z.k-v1{stroke:var(--ux-red)}
.ux-fbd-p.k-v2{fill:var(--ux-violet)}.ux-fbd-z.k-v2{stroke:var(--ux-violet)}
.ux-fbd-b circle{fill:#fff;stroke-width:2.4}
.ux-fbd-b text{font:600 15px 'Fredoka',sans-serif;fill:var(--ux-dark)}
.ux-fbd-b.k-nutz circle{stroke:var(--ux-green-d)}.ux-fbd-b.k-v0 circle{stroke:var(--ux-orange)}.ux-fbd-b.k-v1 circle{stroke:var(--ux-red)}.ux-fbd-b.k-v2 circle{stroke:var(--ux-violet)}
.ux-fbd-h{cursor:ns-resize;touch-action:none;outline:none}
.ux-fbd-hit{fill:transparent}
.ux-fbd-knob{fill:#fff;stroke:var(--ux-dark);stroke-width:2.6;transition:r .12s}
.ux-fbd-h:hover .ux-fbd-knob,.ux-fbd-h.drag .ux-fbd-knob{r:12}
.ux-fbd-h:focus-visible .ux-fbd-knob{stroke:var(--ux-violet);stroke-width:3.4}
.ux-fbd-h:focus-visible .ux-fbd-hit{fill:rgba(244,208,63,.45)}
.ux-fbd-rows{display:grid;gap:6px;margin-top:8px}
.ux-fbd-row{display:grid;grid-template-columns:30px minmax(0,1fr) auto auto 18px;align-items:center;gap:8px;background:#fff;border:1.5px solid var(--ux-line);border-left-width:6px;border-radius:9px;padding:5px 8px}
.ux-fbd-row.k-nutz{border-left-color:var(--ux-green)}.ux-fbd-row.k-v0{border-left-color:var(--ux-orange)}.ux-fbd-row.k-v1{border-left-color:var(--ux-red)}.ux-fbd-row.k-v2{border-left-color:var(--ux-violet)}
.ux-fbd-nr{width:26px;height:26px;border-radius:50%;border:2px solid var(--ux-line);display:grid;place-items:center;font-weight:600;font-size:14px}
.ux-fbd-l{font-size:15.5px;color:var(--ux-dark);overflow-wrap:anywhere}
.ux-fbd-tag{font-size:12.5px;color:#6b5f53;background:#f4ede0;border-radius:6px;padding:2px 7px;white-space:nowrap}
.ux-fbd-ctl{display:flex;align-items:center;gap:4px}
.ux-fbd-m,.ux-fbd-pl{width:32px;height:32px;border-radius:50%;border:1.5px solid var(--ux-line);background:#faf6ee;font:600 18px/1 'Fredoka',sans-serif;color:var(--ux-dark);cursor:pointer}
.ux-fbd-m:focus-visible,.ux-fbd-pl:focus-visible{outline:3px solid var(--ux-yellow);outline-offset:2px}
.ux-fbd-m:disabled,.ux-fbd-pl:disabled{opacity:.35;cursor:default}
.ux-fbd-v{min-width:72px;text-align:center;font-weight:600;font-size:15px;color:var(--ux-dark)}
.ux-fbd-fb{font-weight:700;text-align:center}
.ux-fbd-row.ok{border-color:var(--ux-green);background:#f1f8ec}.ux-fbd-row.ok .ux-fbd-fb{color:var(--ux-green-d)}
.ux-fbd-row.bad{border-color:var(--ux-red);background:#fdf0ee}.ux-fbd-row.bad .ux-fbd-fb{color:var(--ux-red)}
.ux.done .ux-fbd-h{cursor:default}
@media(max-width:560px){.ux-sk{padding:8px}.ux-fbd-row{grid-template-columns:26px minmax(0,1fr) 16px;grid-template-areas:"nr l fb" "ctl ctl ctl";row-gap:4px;gap:6px}
.ux-fbd-nr{grid-area:nr}.ux-fbd-l{grid-area:l;font-size:14.5px}.ux-fbd-fb{grid-area:fb}.ux-fbd-tag{display:none}.ux-fbd-ctl{grid-area:ctl;justify-content:flex-end}.ux-fbd-v{min-width:64px;font-size:14px}
.ux-fbd-knob,.ux-fbd-h:hover .ux-fbd-knob,.ux-fbd-h.drag .ux-fbd-knob{r:17}.ux-fbd-hit{r:36}}
@media(prefers-reduced-motion:reduce){.ux-fbd-knob{transition:none}}

/* ---- Widget: gerade ---- */
.ux-gerade-w{font-family:'Fredoka',sans-serif}
.ux-ge-box{background:var(--ux-paper);border:1.5px solid var(--ux-line);border-radius:11px;padding:8px}
.ux-ge-svg{display:block;width:100%;max-width:680px;height:auto;margin:0 auto;touch-action:none;font-family:'Fredoka',sans-serif}
.ux-ge-gl{stroke:#e6ded0;stroke-width:1}
.ux-ge-ax{stroke:var(--ux-dark);stroke-width:1.8}
.ux-ge-tk{font-size:13px;fill:#6b5f53}
.ux-ge-eng .ux-ge-tk{font-size:15px}
.ux-ge-eng .ux-ge-al{font-size:16px}
.ux-ge-al{font-size:15px;fill:var(--ux-dark);font-weight:500}
.ux-ge-pt{stroke:var(--ux-dark);stroke-width:2.6;stroke-linecap:round;fill:none}
.ux-ge-line{stroke:var(--ux-blue-d);stroke-width:3;stroke-linecap:round}
.ux-gerade-w.ux-ge-ok .ux-ge-line{stroke:var(--ux-green-d)}
.ux-ge-sp{fill:var(--ux-orange);stroke:#fff;stroke-width:2.4;pointer-events:none}
.ux-ge-h{cursor:grab;outline:none;touch-action:none}
.ux-ge-h.zieht{cursor:grabbing}
.ux-ge-hit{fill:transparent}
.ux-ge-dot{fill:#fff;stroke:var(--ux-blue-d);stroke-width:3.4;transition:fill .12s}
.ux-ge-h:hover .ux-ge-dot,.ux-ge-h.zieht .ux-ge-dot{fill:#eef3fb}
.ux-ge-h:focus-visible .ux-ge-hit{fill:rgba(244,208,63,.45);stroke:var(--ux-yellow);stroke-width:3}
.ux-ge-read{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:10px;padding:10px 12px;border-radius:10px;background:#fff;border:1.5px solid var(--ux-line);font-size:15px}
.ux-ge-read[hidden]{display:none}
.ux-ge-lab{display:flex;flex-wrap:wrap;align-items:center;gap:6px}
.ux-ge-inw{white-space:nowrap}
.ux-ge-in{font:500 16px/1 'Fredoka',sans-serif;width:110px;padding:8px 10px;border:1.5px solid var(--ux-line);border-radius:8px}
.ux-ge-in:focus-visible{outline:3px solid var(--ux-yellow);outline-offset:1px}
.ux-ge-in.ok{border-color:var(--ux-green);background:#f1f8ec}
.ux-ge-in.bad{border-color:var(--ux-red);background:#fdf0ee}
@media(max-width:560px){.ux-ge-box{padding:4px}.ux-ge-read{font-size:14px}}
@media(prefers-reduced-motion:reduce){.ux-ge-dot{transition:none}}

/* ---- Widget: gitter ---- */
.ux-git-ask{font-family:'Fredoka',sans-serif;font-size:16px;line-height:1.5;color:var(--ux-dark);margin:6px 0 10px}
.ux-git-rd{display:inline-block;background:var(--ux-violet);color:#fff;border-radius:999px;padding:1px 10px;font-size:13px;font-weight:600;margin-right:6px}
.ux-git-pal{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 10px}
.ux-git-pb{display:inline-flex;align-items:center;gap:6px;font-family:'Fredoka',sans-serif;font-size:15px;color:var(--ux-dark);background:#fff;border:2px solid var(--ux-line);border-radius:10px;padding:6px 12px;cursor:pointer;transition:border-color .15s,background-color .15s}
.ux-git-pb b{font-weight:600;font-size:17px}
.ux-git-pn{font-size:13.5px;color:#6b5f53}
.ux-git-pk{display:inline-grid;place-items:center;width:20px;height:20px;border-radius:50%;background:#f4ede0;font-size:12px;color:#6b5f53}
.ux-git-pb[aria-pressed="true"]{border-color:var(--ux-violet);background:#f1ecfa}
.ux-git-pb[aria-pressed="true"] .ux-git-pk{background:var(--ux-violet);color:#fff}
.ux-git-pb:focus-visible{outline:3px solid var(--ux-yellow);outline-offset:2px}
.ux-git-stage{background:var(--ux-paper);border-radius:12px}
.ux-git-svg{display:block;width:100%;height:auto;margin:0 auto;touch-action:manipulation;font-family:'Fredoka',sans-serif}
.ux-git-bg{fill:#faf6ee}
.ux-git-zone.z0{fill:#ece6f6}.ux-git-zone.z1{fill:#e4f0dc}.ux-git-zone.z2{fill:#e3ecfa}
.ux-git-bond{stroke:#b9ab92;stroke-width:3;stroke-linecap:round}
.ux-git-e{fill:var(--ux-blue-d)}
.ux-git-e.frei{fill:var(--ux-blue)}
.ux-git-halo{fill:none;stroke:var(--ux-blue);stroke-width:1.6;stroke-dasharray:3 3}
.ux-git-h{fill:#fff;stroke:var(--ux-red);stroke-width:2.2}
.ux-git-elek{pointer-events:none}
.ux-git-atom{cursor:pointer;outline:none}
.ux-git-hit{fill:transparent}
.ux-git-kern{fill:#f4ede0;stroke:#2f2f2f;stroke-width:2;transition:fill .15s}
.ux-git-sym{font-size:17px;font-weight:600;fill:#2f2f2f;pointer-events:none}
.ux-git-atom.fremd .ux-git-kern{fill:var(--ux-violet);stroke:#4b3680}
.ux-git-atom.fremd .ux-git-sym{fill:#fff}
.ux-git-ring{fill:none;stroke:#2f2f2f;stroke-width:1.6;stroke-dasharray:4 3}
.ux-git-atom.fest{cursor:not-allowed}
.ux-git-atom:hover .ux-git-kern{stroke-width:3}
.ux-git-atom:focus-visible .ux-git-hit{fill:none;stroke:var(--ux-yellow);stroke-width:4}
.ux.done .ux-git-atom{cursor:default}
.ux-git-legend{display:flex;flex-wrap:wrap;gap:12px;font-family:'Fredoka',sans-serif;font-size:14px;color:#6b5f53;margin-top:8px}
.ux-git-legend:empty{display:none}
.ux-git-lz{display:inline-flex;align-items:center;gap:6px}
.ux-git-lz i{display:inline-block;width:16px;height:16px;border-radius:4px;border:1px solid var(--ux-line)}
.ux-git-lz.z0 i{background:#ece6f6}.ux-git-lz.z1 i{background:#e4f0dc}.ux-git-lz.z2 i{background:#e3ecfa}
@media(max-width:560px){.ux-git-pb{padding:5px 9px;font-size:14px}.ux-git-pn{display:none}.ux-git-ask{font-size:15px}}
@media(prefers-reduced-motion:reduce){.ux-git-pb{transition:none}.ux-git-kern{transition:none}}

/* ---- Widget: grips ---- */
.ux-gr{list-style:none;margin:0;padding:0;display:grid;gap:8px;font-family:'Fredoka',sans-serif}
.ux-gr-row{display:grid;grid-template-columns:104px minmax(0,1fr) auto;gap:10px;align-items:start;background:var(--ux-paper);border:1.5px solid var(--ux-line);border-left:5px solid var(--ux-violet);border-radius:10px;padding:10px 12px;transition:opacity .2s}
.ux-gr-row.zu{opacity:.45;border-left-color:var(--ux-line)}
.ux-gr-row.ok{border-color:var(--ux-green);border-left-color:var(--ux-green-d);background:#f1f8ec}
.ux-gr-row.bad{border-color:var(--ux-red);border-left-color:var(--ux-red)}
.ux-gr-lab{font-weight:600;font-size:15px;color:#3d2a6b;padding-top:6px}
.ux-gr-q{font-size:14.5px;color:var(--ux-dark);margin-bottom:7px;line-height:1.45}
.ux-gr-opts{display:flex;flex-wrap:wrap;gap:6px}
.ux-gr-opt{font:500 14px/1.25 'Fredoka',sans-serif;padding:7px 11px;border-radius:9px;border:1.5px solid var(--ux-line);background:#fff;color:var(--ux-dark);cursor:pointer;text-align:left;transition:background .15s}
.ux-gr-opt.on{border-color:var(--ux-violet);background:#efe7f8;color:#3d2a6b;box-shadow:inset 0 0 0 1px var(--ux-violet)}
.ux-gr-opt:disabled,.ux-gr-inp:disabled,.ux-gr-go:disabled{cursor:default}
.ux-gr-row.ok .ux-gr-opt:not(.on){opacity:.45}
.ux-gr-in{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.ux-gr-inp{font:500 16px/1 'Fredoka',sans-serif;width:150px;max-width:100%;padding:8px 10px;border-radius:9px;border:1.5px solid var(--ux-line);background:#fff}
.ux-gr-u{font-size:15px;color:#4a4036}
.ux-gr-end{display:flex;align-items:center;gap:6px;padding-top:2px}
.ux-gr-go{font:600 13.5px/1 'Fredoka',sans-serif;padding:8px 12px;border-radius:9px;border:1.5px solid var(--ux-blue-d);background:var(--ux-blue-d);color:#fff;cursor:pointer}
.ux-gr-go:disabled{opacity:.4}
.ux-gr-opt:focus-visible,.ux-gr-inp:focus-visible,.ux-gr-go:focus-visible{outline:3px solid var(--ux-yellow);outline-offset:2px}
.ux-gr-fb{font-weight:700;width:16px;text-align:center}
.ux-gr-row.ok .ux-gr-fb{color:var(--ux-green-d)}.ux-gr-row.bad .ux-gr-fb{color:var(--ux-red)}
@media(max-width:560px){.ux-gr-row{grid-template-columns:minmax(0,1fr);gap:6px;padding:9px 10px}.ux-gr-lab{padding-top:0}.ux-gr-end{justify-content:flex-end}.ux-gr-opt{font-size:13.5px}}
@media(prefers-reduced-motion:reduce){.ux-gr-row,.ux-gr-opt{transition:none}}

/* ---- Widget: halbwellen ---- */
.ux[data-ux="halbwellen"] .ux-hw-kopf{display:flex;justify-content:flex-end;font-family:'Fredoka',sans-serif;margin:0 0 4px}
.ux[data-ux="halbwellen"] .ux-hw-nr{font-size:14px;color:#6b5f53;font-weight:500}
.ux[data-ux="halbwellen"] .ux-hw-nr:empty{display:none}
.ux[data-ux="halbwellen"] .ux-hw-q{margin:0 0 8px;font-family:'Fredoka',sans-serif;font-size:15.5px;line-height:1.45;color:var(--ux-dark)}
.ux[data-ux="halbwellen"] .ux-hw-q:empty{display:none}
.ux[data-ux="halbwellen"] .ux-hw-box{background:#faf6ee;border:1.5px solid var(--ux-line);border-radius:12px;padding:6px}
.ux[data-ux="halbwellen"] .ux-hw-svg{display:block;width:100%;max-width:720px;height:auto;margin:0 auto;font-family:'Fredoka',sans-serif}
.ux[data-ux="halbwellen"] .ux-hw-achse{stroke:#2f2f2f;stroke-width:1.6}
.ux[data-ux="halbwellen"] .ux-hw-trenn{stroke:#d9cdb8;stroke-width:1.2;stroke-dasharray:3 5}
.ux[data-ux="halbwellen"] .ux-hw-name{font-size:15px;font-weight:600;fill:#2f2f2f}
.ux[data-ux="halbwellen"] .ux-hw-t{font-size:13px;fill:#6b5f53;font-style:italic}
.ux[data-ux="halbwellen"] .ux-hw-ein{fill:none;stroke:#5b8bd8;stroke-width:3;stroke-linejoin:round}
.ux[data-ux="halbwellen"] .ux-hw-seg{cursor:pointer;outline:none}
.ux[data-ux="halbwellen"] .ux-hw-hit{fill:transparent;stroke:transparent;stroke-width:2.5;transition:fill .15s}
.ux[data-ux="halbwellen"] .ux-hw-seg:hover .ux-hw-hit{fill:rgba(124,95,181,.07)}
.ux[data-ux="halbwellen"] .ux-hw-seg:focus-visible .ux-hw-hit{stroke:#f4d03f;fill:rgba(244,208,63,.12)}
.ux[data-ux="halbwellen"] .ux-hw-geist{fill:none;stroke:#d9cdb8;stroke-width:2;stroke-dasharray:4 4}
.ux[data-ux="halbwellen"] .ux-hw-spur{fill:none;stroke-width:3.4;stroke-linejoin:round;stroke-linecap:round}
.ux[data-ux="halbwellen"] .z-d .ux-hw-spur{stroke:#2c5fb5}
.ux[data-ux="halbwellen"] .z-s .ux-hw-spur{stroke:#2f2f2f}
.ux[data-ux="halbwellen"] .z-u .ux-hw-spur{stroke:#e79a3a}
.ux[data-ux="halbwellen"] .ux-hw-leg{display:flex;flex-wrap:wrap;gap:6px 14px;justify-content:center;margin-top:8px;font:500 13.5px 'Fredoka',sans-serif;color:var(--ux-dark)}
.ux[data-ux="halbwellen"] .ux-hw-l::before{content:'';display:inline-block;width:18px;height:4px;border-radius:2px;margin-right:6px;vertical-align:middle;background:#2c5fb5}
.ux[data-ux="halbwellen"] .ux-hw-l.z-s::before{background:#2f2f2f}
.ux[data-ux="halbwellen"] .ux-hw-l.z-u::before{background:#e79a3a}
.ux-halbwellen-w.done .ux-hw-box{border-color:var(--ux-green);background:#f1f8ec}
.ux-halbwellen-w.done .ux-hw-seg{cursor:default}
@media(prefers-reduced-motion:reduce){.ux[data-ux="halbwellen"] .ux-hw-hit{transition:none}}

/* ---- Widget: jedesto ---- */
.ux[data-ux="jedesto"] .ux-jds{display:grid;gap:10px;font-family:'Fredoka',sans-serif}
.ux[data-ux="jedesto"] .ux-jds-row{display:grid;grid-template-columns:30px minmax(0,1fr) 22px;align-items:center;gap:10px;background:var(--ux-paper);border:1.5px solid var(--ux-line);border-radius:12px;padding:10px 12px}
.ux[data-ux="jedesto"] .ux-jds-nr{width:28px;height:28px;border-radius:50%;background:#efe6d6;color:#6b5f53;font:600 14px/28px 'Fredoka',sans-serif;text-align:center}
.ux[data-ux="jedesto"] .ux-jds-satz{margin:0;font-size:16.5px;line-height:2.05;color:var(--ux-dark);overflow-wrap:anywhere}
.ux[data-ux="jedesto"] .ux-jds-t{display:inline-block;margin:0 2px;padding:1px 12px 1px 10px;border:2px solid var(--ux-violet);border-radius:999px;background:#fff;color:#4b3a7a;font:600 16px/1.5 'Fredoka',sans-serif;cursor:pointer;white-space:nowrap;vertical-align:baseline;transition:background .15s,transform .15s}
.ux[data-ux="jedesto"] .ux-jds-t::after{content:'⇅';margin-left:6px;font-size:12px;color:#9a8bc0}
.ux[data-ux="jedesto"] .ux-jds-t:hover{background:#f1ecfa}
.ux[data-ux="jedesto"] .ux-jds-t:focus-visible{outline:3px solid var(--ux-yellow);outline-offset:2px}
.ux[data-ux="jedesto"] .ux-jds-t.flip{animation:ux-jds-flip .22s ease-out}
@keyframes ux-jds-flip{0%{transform:translateY(-3px);opacity:.55}100%{transform:none;opacity:1}}
.ux[data-ux="jedesto"] .ux-jds-row.ok{border-color:var(--ux-green);background:#f1f8ec}
.ux[data-ux="jedesto"] .ux-jds-row.ok .ux-jds-t{border-color:var(--ux-green-d);color:var(--ux-green-d)}
.ux[data-ux="jedesto"] .ux-jds-row.bad{border-color:var(--ux-red);background:#fdf0ee}
.ux[data-ux="jedesto"] .ux-jds-fb{font-weight:700;text-align:center}
.ux[data-ux="jedesto"] .ux-jds-row.ok .ux-jds-fb{color:var(--ux-green-d)}
.ux[data-ux="jedesto"] .ux-jds-row.bad .ux-jds-fb{color:var(--ux-red)}
.ux[data-ux="jedesto"].done .ux-jds-t{cursor:default}
@media(max-width:560px){.ux[data-ux="jedesto"] .ux-jds-row{grid-template-columns:minmax(0,1fr) 16px;gap:6px;padding:8px 10px}.ux[data-ux="jedesto"] .ux-jds-nr{display:none}.ux[data-ux="jedesto"] .ux-jds-satz{font-size:15px}.ux[data-ux="jedesto"] .ux-jds-t{font-size:15px;padding:1px 9px 1px 8px}}
@media(prefers-reduced-motion:reduce){.ux[data-ux="jedesto"] .ux-jds-t{transition:none}.ux[data-ux="jedesto"] .ux-jds-t.flip{animation:none}}

/* ---- Widget: kommaschub ---- */
.ux-km{display:grid;gap:10px}
.ux-km-row{background:var(--ux-paper);border:1.5px solid var(--ux-line);border-radius:12px;padding:10px 12px;font-family:'Fredoka',sans-serif}
.ux-km-row.ok{border-color:var(--ux-green);background:#f1f8ec}
.ux-km-row.bad{border-color:var(--ux-red);background:#fdf0ee}
.ux-km-q{font-size:15px;color:var(--ux-dark);margin-bottom:8px;line-height:1.4}
.ux-km-ctl{display:grid;grid-template-columns:auto minmax(0,1fr) auto 22px;align-items:center;gap:8px}
.ux-km-mv{font:600 13px/1 'Fredoka',sans-serif;padding:9px 10px;border-radius:9px;border:1.5px solid var(--ux-violet);background:#fff;color:var(--ux-violet);cursor:pointer;white-space:nowrap}
.ux-km-mv:hover{background:#f1ecf9}
.ux-km-mv:focus-visible,.ux-km-u:focus-visible,.ux-km-zahl:focus-visible{outline:3px solid var(--ux-yellow);outline-offset:2px}
.ux-km-zahl{display:block;text-align:center;background:#fff;border:2px solid #cdbde8;border-radius:10px;padding:7px 8px;font-size:22px;font-weight:600;color:#3d2a6b;letter-spacing:.02em;font-variant-numeric:tabular-nums;overflow-wrap:anywhere;cursor:ew-resize}
.ux-km-ein{color:var(--ux-violet)}
.ux-km-units{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.ux-km-u{font:600 13.5px/1 'Fredoka',sans-serif;min-width:44px;padding:7px 10px;border-radius:99px;border:1.5px solid var(--ux-line);background:#fff;color:var(--ux-dark);cursor:pointer;transition:background .15s}
.ux-km-u.on{background:var(--ux-violet);border-color:var(--ux-violet);color:#fff}
.ux-km-tag{font-size:12.5px;color:#6b5f53}
.ux-km-fb{font-weight:700;text-align:center}
.ux-km-row.ok .ux-km-fb{color:var(--ux-green-d)}.ux-km-row.bad .ux-km-fb{color:var(--ux-red)}
.ux-kommaschub-w.done .ux-km-mv,.ux-kommaschub-w.done .ux-km-u{cursor:default;opacity:.7}
@media(max-width:560px){.ux-km-ctl{grid-template-columns:minmax(0,1fr) minmax(0,1fr) 18px;grid-template-areas:"z z f" "l r r"}.ux-km-zahl{grid-area:z;font-size:19px}.ux-km-fb{grid-area:f}.ux-km-mv[data-d="-1"]{grid-area:l}.ux-km-mv[data-d="1"]{grid-area:r}.ux-km-q{font-size:14px}}
@media(prefers-reduced-motion:reduce){.ux-km-u{transition:none}}

/* ---- Widget: kompass ---- */
.ux[data-ux="kompass"] .ux-kompass-stage{background:var(--ux-paper);border:1.5px solid var(--ux-line);border-radius:12px;padding:8px}
.ux[data-ux="kompass"] .ux-kompass-svg{display:block;width:100%;max-width:560px;height:auto;margin:0 auto;font-family:'Fredoka',sans-serif;touch-action:manipulation}
.ux[data-ux="kompass"] .ux-kompass-mn{fill:#e2574c}
.ux[data-ux="kompass"] .ux-kompass-ms{fill:#67b05f}
.ux[data-ux="kompass"] .ux-kompass-mr{fill:none;stroke:#2f2f2f;stroke-width:2.2}
.ux[data-ux="kompass"] .ux-kompass-pol{font:600 22px 'Fredoka',sans-serif;fill:#fff}
.ux[data-ux="kompass"] .ux-kompass-pol2{font:600 20px 'Fredoka',sans-serif;fill:#2f2f2f}
.ux[data-ux="kompass"] .ux-kompass-kern{fill:#c9c2b4;stroke:#8a7c66;stroke-width:1.6}
.ux[data-ux="kompass"] .ux-kompass-wh{fill:none;stroke:#b46a2a;stroke-width:2.4;stroke-dasharray:4 4;opacity:.55}
.ux[data-ux="kompass"] .ux-kompass-wv{fill:none;stroke:#b46a2a;stroke-width:3.4;stroke-linecap:round}
.ux[data-ux="kompass"] .ux-kompass-ip{fill:#2c5fb5}
.ux[data-ux="kompass"] .ux-kompass-feld{opacity:0;transition:opacity .6s}
.ux[data-ux="kompass"] .ux-kompass-feld.zeigen{opacity:1}
.ux[data-ux="kompass"] .ux-kompass-fl{fill:none;stroke:#7c5fb5;stroke-width:1.6;opacity:.7}
.ux[data-ux="kompass"] .ux-kompass-fp{fill:#7c5fb5}
.ux[data-ux="kompass"] .ux-kompass-k{cursor:grab;touch-action:none;outline:none}
.ux[data-ux="kompass"] .ux-kompass-ring{fill:transparent;stroke:transparent;stroke-width:3}
.ux[data-ux="kompass"] .ux-kompass-dose{fill:#fff;stroke:#2f2f2f;stroke-width:2.2}
.ux[data-ux="kompass"] .ux-kompass-nadel{transition:transform .18s}
.ux[data-ux="kompass"] .ux-kompass-nn{fill:#b9ab92}
.ux[data-ux="kompass"] .ux-kompass-ns{fill:#d9cdb8}
.ux[data-ux="kompass"] .ux-kompass-k.gesetzt .ux-kompass-nn{fill:#e2574c}
.ux[data-ux="kompass"] .ux-kompass-k.gesetzt .ux-kompass-ns{fill:#2f2f2f}
.ux[data-ux="kompass"] .ux-kompass-achse{fill:#fff;stroke:#2f2f2f;stroke-width:1.4}
.ux[data-ux="kompass"] .ux-kompass-nr{font:600 13px 'Fredoka',sans-serif;fill:#6b5f53;paint-order:stroke;stroke:#faf6ee;stroke-width:4px;stroke-linejoin:round}
.ux[data-ux="kompass"] .ux-kompass-k:hover .ux-kompass-dose{stroke:#2c5fb5}
.ux[data-ux="kompass"] .ux-kompass-k:focus-visible .ux-kompass-ring{stroke:#f4d03f;stroke-width:4}
.ux[data-ux="kompass"] .ux-kompass-k.ok .ux-kompass-dose{stroke:#4a7530;stroke-width:3;fill:#f1f8ec}
.ux[data-ux="kompass"] .ux-kompass-k.bad .ux-kompass-dose{stroke:#e2574c;stroke-width:3;fill:#fdf0ee}
.ux.done[data-ux="kompass"] .ux-kompass-k{cursor:default}
@media(max-width:560px){.ux[data-ux="kompass"] .ux-kompass-stage{padding:3px}.ux[data-ux="kompass"] .ux-kompass-nr{font-size:16px}}
@media(prefers-reduced-motion:reduce){.ux[data-ux="kompass"] .ux-kompass-nadel{transition:none}.ux[data-ux="kompass"] .ux-kompass-feld{transition:none}}

/* ---- Widget: konto ---- */
.ux-kto{font-family:'Fredoka',sans-serif;color:var(--ux-dark)}
.ux-kto-head{display:flex;flex-wrap:wrap;justify-content:space-between;gap:6px 14px;align-items:baseline;background:#3d2a6b;color:#fff;border-radius:12px 12px 0 0;padding:10px 14px;font-weight:600}
.ux-kto-head .ux-kto-name{font-size:16px}
.ux-kto-head .ux-kto-st{font-size:15px;font-weight:500}
.ux-kto-head .ux-kto-st b{font-weight:700}
.ux-kto-list{list-style:none;margin:0;padding:0;border:1.5px solid var(--ux-line);border-top:0;background:var(--ux-paper)}
.ux-kto-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto minmax(92px,auto);gap:8px 12px;align-items:center;padding:9px 12px;border-top:1px dashed var(--ux-line)}
.ux-kto-row:first-child{border-top:0}
.ux-kto-txt{font-size:15.5px;line-height:1.35}
.ux-kto-amt{font-weight:700;white-space:nowrap;font-size:15.5px;text-align:right}
.ux-kto-inw{display:inline-flex;align-items:center;gap:4px;white-space:nowrap}
.ux-kto-in{width:76px;padding:6px 8px;border:2px solid var(--ux-line);border-radius:8px;font:600 15px 'Fredoka',sans-serif;text-align:right;background:#fff}
.ux-kto-in:focus-visible{outline:3px solid var(--ux-yellow);outline-offset:1px}
.ux-kto-btns{display:inline-flex;gap:4px}
.ux-kto-b{min-width:44px;min-height:40px;padding:4px 9px;border-radius:9px;border:2px solid var(--ux-line);background:#fff;font:600 14px 'Fredoka',sans-serif;color:var(--ux-dark);cursor:pointer;transition:background-color .15s,border-color .15s}
.ux-kto-b:hover{background:#f3ece0}
.ux-kto-b:focus-visible{outline:3px solid var(--ux-yellow);outline-offset:2px}
.ux-kto-b[data-v="+"][aria-pressed="true"]{background:var(--ux-green-d);border-color:var(--ux-green-d);color:#fff}
.ux-kto-b[data-v="-"][aria-pressed="true"]{background:var(--ux-red);border-color:var(--ux-red);color:#fff}
.ux-kto-b[data-v="0"][aria-pressed="true"]{background:#6b5f53;border-color:#6b5f53;color:#fff}
.ux-kto-saldo{font-weight:600;text-align:right;white-space:nowrap;color:#3d2a6b;font-size:15px}
.ux-kto-row.ok{background:#f1f8ec}
.ux-kto-row.bad{background:#fdf0ee}
.ux-kto-row.ok .ux-kto-saldo{color:var(--ux-green-d)}
.ux-kto-row.bad .ux-kto-txt{color:#a3352c}
.ux-kto-foot{border:1.5px solid var(--ux-line);border-top:2px solid #3d2a6b;border-radius:0 0 12px 12px;background:#fff;padding:10px 14px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 14px;align-items:center}
.ux-kto-track{height:16px;border-radius:8px;background:#f4ede0;overflow:hidden;border:1px solid var(--ux-line)}
.ux-kto-fill{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--ux-violet),#3d2a6b);border-radius:8px;transition:width .35s ease}
.ux-kto-endl{font-size:15px;white-space:nowrap}
.ux-kto-endl b{font-size:16px}
.ux-kto-ende{grid-column:1/-1;font-size:14px;color:#6b5f53}
.ux-kto-foot.neg .ux-kto-endl b{color:var(--ux-red)}
.ux-kto-foot.neg .ux-kto-ende::after{content:' — Achtung: Ein Bestand kann nicht unter null sinken.';color:var(--ux-red)}
.ux-kto-rlab{display:none}
.ux-kto-kz{display:none}
@media(max-width:620px){
  .ux-kto-row{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"t t" "a s" "b b";padding:9px 10px}
  .ux-kto-txt{grid-area:t}
  .ux-kto-amt{grid-area:a;text-align:left}
  .ux-kto-saldo{grid-area:s}
  .ux-kto-btns{grid-area:b}
  .ux-kto-b{flex:1}
  .ux-kto-btns{display:flex}
  .ux-kto-rlab{display:inline;font-weight:500;color:#6b5f53}
  .ux-kto-b{min-width:0;padding:4px 6px;font-size:15px}
  .ux-kto-lg{display:none}
  .ux-kto-kz{display:inline}
  .ux-kto-foot{grid-template-columns:minmax(0,1fr);padding:10px}
  .ux-kto-endl{white-space:normal}
}
@media(prefers-reduced-motion:reduce){.ux-kto-fill{transition:none}.ux-kto-b{transition:none}}

/* ---- Widget: kran ---- */
.ux-kr-ask{font-family:'Fredoka',sans-serif;font-size:16px;line-height:1.45;color:var(--ux-dark);background:#fff;border:1.5px solid var(--ux-line);border-radius:10px;padding:10px 14px;margin:0 0 10px}
.ux-kr-meta{display:flex;justify-content:space-between;align-items:center;gap:10px;font-family:'Fredoka',sans-serif;font-size:13px;color:#6b5f53;margin:0 2px 8px}
.ux-kr-pips{display:flex;gap:5px}
.ux-kr-pip{width:12px;height:12px;border-radius:50%;border:2px solid var(--ux-line);background:#fff}
.ux-kr-pip.jetzt{border-color:var(--ux-violet)}
.ux-kr-pip.voll{background:var(--ux-green);border-color:var(--ux-green-d)}
.ux-kr-buehne{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:14px;align-items:start}
.ux-kr-svg{display:block;width:100%;max-width:440px;height:auto;touch-action:none;cursor:ns-resize;border-radius:12px}
.ux-kr-bg{fill:#faf6ee}
.ux-kr-boden{fill:#e6ded0}
.ux-kr-skala line{stroke:#6b5f53;stroke-width:1.6}
.ux-kr-skala text{font:600 14px 'Fredoka',sans-serif;fill:#6b5f53}
.ux-kr-skala .ux-kr-einheit{font-size:13px;fill:#3d2a6b}
.ux-kr-skala line.fein{stroke-width:1;stroke:#9a8b72}
.ux-kr-kran rect{fill:#e79a3a;stroke:#2f2f2f;stroke-width:1.4}
.ux-kr-kran .ux-kr-gegen{fill:#6b5f53}
.ux-kr-kran .ux-kr-katze{fill:#3d2a6b}
.ux-kr-gitter,.ux-kr-seile{fill:none;stroke:#2f2f2f;stroke-width:1.2}
.ux-kr-seil{stroke:#2f2f2f;stroke-width:1.8}
.ux-kr-haken{outline:none;cursor:grab}
.ux-kr-haken:focus-visible .ux-kr-hit{stroke:#f4d03f;stroke-width:3;fill:rgba(244,208,63,.12)}
.ux-kr-haken.fest{cursor:default}
.ux-kr-hit{fill:transparent;rx:8}
.ux-kr-hk{fill:none;stroke:#2f2f2f;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.ux-kr-last{fill:#5b8bd8;stroke:#2c5fb5;stroke-width:1.4}
.ux-kr-last.fest{fill:#7c5fb5;stroke:#3d2a6b}
.ux-kr-leer{fill:none;stroke:#b9ab92;stroke-width:1.4;stroke-dasharray:4 3}
.ux-kr-ltxt{font:600 9px 'Fredoka',sans-serif;fill:#fff}
.ux-kr-mess{stroke:#7c5fb5;stroke-width:1.4;stroke-dasharray:5 4}
.ux-kr-seite{display:flex;flex-direction:column;gap:10px;min-width:0}
.ux-kr-bloecke{display:flex;flex-wrap:wrap;gap:8px;padding:10px;border-radius:11px;background:var(--ux-paper);border:1.5px dashed var(--ux-line)}
.ux-kr-bloecke.gesperrt::before{content:'Die Last ist in dieser Runde vorgegeben.';font:13px 'Fredoka',sans-serif;color:#6b5f53;width:100%}
.ux-kr-block{display:inline-flex;align-items:center;gap:6px;font:600 14.5px/1 'Fredoka',sans-serif;padding:9px 12px;border-radius:9px;border:1.5px solid var(--ux-line);background:#fff;color:var(--ux-dark);cursor:pointer}
.ux-kr-bsym{width:14px;height:11px;border-radius:2px;background:#5b8bd8;border:1.4px solid #2c5fb5}
.ux-kr-block.an{background:#e8eefa;border-color:#2c5fb5;color:#2c5fb5}
.ux-kr-block:focus-visible{outline:3px solid var(--ux-yellow);outline-offset:2px}
.ux-kr-block[disabled]{opacity:.45;cursor:default}
.ux-kr-read{margin:0;font:15px/1.5 'Fredoka',sans-serif;color:var(--ux-dark);background:#fff;border:1.5px solid var(--ux-line);border-radius:10px;padding:8px 12px}
@media(max-width:640px){
  .ux-kr-buehne{grid-template-columns:minmax(0,1fr)}
  .ux-kr-svg{max-width:100%}
}
@media(prefers-reduced-motion:reduce){
  .ux-kr-block,.ux-kr-haken{transition:none}
}

/* ---- Widget: kreislauf ---- */
.ux-kl-ring{position:relative;width:100%;max-width:640px;margin:0 auto;background:var(--ux-paper);border:1.5px solid var(--ux-line);border-radius:14px;font-family:'Fredoka',sans-serif}
.ux-kl-svg{position:absolute;inset:0;width:100%;height:100%;display:block}
.ux-kl-lab,.ux-kl-fix,.ux-kl-mitte{position:absolute;transform:translate(-50%,-50%);text-align:center;line-height:1.2;hyphens:auto;-webkit-hyphens:auto;overflow-wrap:break-word}
.ux-kl-lab.st,.ux-kl-fix.st{width:29%;padding:9px 6px;border-radius:12px;font-size:15px;font-weight:600}
.ux-kl-lab.pf,.ux-kl-fix.pf{width:23%;padding:5px 6px;border-radius:99px;font-size:13px;font-weight:500}
.ux-kl-ring.n5 .ux-kl-lab.st,.ux-kl-ring.n5 .ux-kl-fix.st,.ux-kl-ring.n6 .ux-kl-lab.st,.ux-kl-ring.n6 .ux-kl-fix.st{width:26%;font-size:14px}
.ux-kl-ring.n5 .ux-kl-lab.pf,.ux-kl-ring.n5 .ux-kl-fix.pf,.ux-kl-ring.n6 .ux-kl-lab.pf,.ux-kl-ring.n6 .ux-kl-fix.pf{width:21%;font-size:12.5px}
.ux-kl-lab{cursor:pointer;background:#fff;border:2px dashed #b9ab92;color:#8a7b62;transition:transform .15s}
.ux-kl-lab.gesetzt{border-style:solid;border-color:var(--ux-violet);color:var(--ux-dark)}
.ux-kl-lab.pf.gesetzt{background:#f1ecf9}
.ux-kl-lab:hover{transform:translate(-50%,-50%) scale(1.04)}
.ux-kl-lab:focus-visible{outline:3px solid var(--ux-yellow);outline-offset:2px}
.ux-kl-lab.ok{border-color:var(--ux-green-d);background:#f1f8ec;color:var(--ux-green-d)}
.ux-kl-lab.bad{border-color:var(--ux-red);background:#fdf0ee;color:#a3362d}
.ux-kl-lab[disabled]{cursor:default}
.ux-kl-fix.st{background:#efe7f8;border:2px solid #cdbde8;color:#3d2a6b}
.ux-kl-fix.pf{background:#fff;border:1.5px solid var(--ux-line);color:#4a4036}
.ux-kl-mitte{width:17%;font-size:12.5px;color:#6b5f53;font-weight:600}
/* schmal: Kreis wird zur senkrechten Kette mit Rückpfeil */
@media(max-width:600px){
  .ux-kl-ring{display:flex;flex-direction:column;align-items:center;gap:5px;padding:12px 10px 34px;aspect-ratio:auto!important}
  .ux-kl-svg{display:none}
  .ux-kl-lab,.ux-kl-fix,.ux-kl-mitte{position:static;transform:none!important}
  .ux-kl-lab.st,.ux-kl-fix.st,.ux-kl-ring.n5 .ux-kl-lab.st,.ux-kl-ring.n5 .ux-kl-fix.st,.ux-kl-ring.n6 .ux-kl-lab.st,.ux-kl-ring.n6 .ux-kl-fix.st{width:100%;font-size:15px;padding:9px 8px}
  .ux-kl-lab.pf,.ux-kl-fix.pf,.ux-kl-ring.n5 .ux-kl-lab.pf,.ux-kl-ring.n5 .ux-kl-fix.pf,.ux-kl-ring.n6 .ux-kl-lab.pf,.ux-kl-ring.n6 .ux-kl-fix.pf{width:82%;font-size:13.5px;position:relative;left:auto!important;top:auto!important;margin-top:16px}
  .ux-kl-lab.pf::before,.ux-kl-fix.pf::before{content:'↓';position:absolute;left:50%;top:-19px;transform:translateX(-50%);color:var(--ux-violet);font-size:15px;font-weight:700}
  .ux-kl-ring::after{content:'↻ danach geht es wieder bei der ersten Station weiter';position:absolute;bottom:9px;left:0;right:0;text-align:center;font-size:12.5px;color:var(--ux-violet);font-weight:600}
  .ux-kl-mitte{order:-1;width:auto;font-size:13px;margin-bottom:4px}
}
@media(prefers-reduced-motion:reduce){.ux-kl-lab{transition:none}}

/* ---- Widget: kuerzen ---- */
.ux-kz-bruch{background:var(--ux-paper);border:1.5px solid var(--ux-line);border-radius:12px;padding:12px 14px;margin:0 0 12px;font-family:'Fredoka',sans-serif}
.ux-kz-bruch.ok{border-color:var(--ux-green);background:#f1f8ec}
.ux-kz-bruch.bad{border-color:var(--ux-red);background:#fdf0ee}
.ux-kz-cap{font:500 14.5px/1.4 'Fredoka',sans-serif;color:var(--ux-dark);margin-bottom:10px}
.ux-kz-wrap{display:flex;align-items:center;justify-content:center;gap:14px;flex-wrap:wrap}
.ux-kz-feld{display:inline-flex;flex-direction:column;align-items:stretch;min-width:120px;max-width:100%}
.ux-kz-zeile{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:center;gap:6px 4px;padding:4px 2px;min-height:46px}
.ux-kz-zeile.oben{align-items:flex-end}
.ux-kz-strich{height:0;border-top:3px solid var(--ux-dark);border-radius:2px;margin:3px 0}
.ux-kz-feld.ohne-nenner .ux-kz-strich,.ux-kz-feld.ohne-nenner .ux-kz-zeile.unten{display:none}
.ux-kz-teil{display:inline-flex;flex-direction:column;align-items:center;gap:3px}
.ux-kz-zeile.oben .ux-kz-teil{flex-direction:column-reverse}
.ux-kz-u{min-width:44px;height:42px;padding:0 11px;border-radius:9px;border:2px solid var(--ux-line);background:#fff;color:var(--ux-dark);font:600 18px/1 'Fredoka',sans-serif;cursor:pointer;transition:transform .15s,border-color .15s,background-color .15s}
.ux-kz-u:not(:disabled):hover{border-color:var(--ux-violet);transform:translateY(-1px)}
.ux-kz-u:focus-visible,.ux-kz-zer:focus-visible{outline:3px solid var(--ux-yellow);outline-offset:2px}
.ux-kz-u.wahl{border-color:var(--ux-violet);background:#f1ecfa;box-shadow:inset 0 0 0 1px var(--ux-violet)}
.ux-kz-u.weg{position:relative;color:#b3a58e;border-style:dashed;background:transparent;cursor:default}
.ux-kz-u.weg::after{content:'';position:absolute;left:6px;right:6px;top:50%;border-top:2.4px solid var(--ux-red);transform:rotate(-24deg)}
.ux-kz-zer{border:1px solid #cdbfe7;background:#f6f2fc;color:var(--ux-violet);border-radius:999px;padding:2px 8px;font:600 11.5px/1.2 'Fredoka',sans-serif;cursor:pointer}
.ux-kz-zer:hover{background:#ebe3f8}
.ux-kz-mal{font:600 18px/42px 'Fredoka',sans-serif;color:#9a8b72;align-self:center}
.ux-kz-zeile.oben .ux-kz-mal{align-self:flex-end}
.ux-kz-zeile.unten .ux-kz-mal{align-self:flex-start}
.ux-kz-eins{font:600 18px/42px 'Fredoka',sans-serif;color:#9a8b72}
.ux-kz-erg{font:600 20px/1 'Fredoka',sans-serif;color:var(--ux-green-d)}
.ux-kz-erg:empty{display:none}
@media(max-width:560px){.ux-kz-bruch{padding:10px}.ux-kz-u{min-width:40px;height:40px;font-size:16.5px;padding:0 8px}.ux-kz-mal,.ux-kz-eins{line-height:40px}}
@media(prefers-reduced-motion:reduce){.ux-kz-u{transition:none}.ux-kz-u:not(:disabled):hover{transform:none}}

/* ---- Widget: kurbel ---- */
.ux[data-ux="kurbel"] .ux-ku-kopf{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 12px;margin:4px 0 8px;font-family:'Fredoka',sans-serif}
.ux[data-ux="kurbel"] .ux-ku-nr{font-size:13px;font-weight:600;color:#fff;background:var(--ux-violet);border-radius:999px;padding:2px 10px;white-space:nowrap}
.ux[data-ux="kurbel"] .ux-ku-q{margin:0;flex:1 1 260px;font-size:16px;font-weight:500;color:var(--ux-dark)}
.ux[data-ux="kurbel"] .ux-ku-buehne{background:var(--ux-paper);border:1.5px solid var(--ux-line);border-radius:12px;padding:8px;min-width:0}
.ux[data-ux="kurbel"] .ux-ku-svg{display:block;width:100%;max-width:580px;height:auto;margin:0 auto;touch-action:none;border-radius:8px}
.ux[data-ux="kurbel"] .ux-ku-svg:focus-visible{outline:3px solid var(--ux-yellow);outline-offset:2px}
.ux[data-ux="kurbel"] .ux-ku-nord{fill:var(--ux-red)}
.ux[data-ux="kurbel"] .ux-ku-sued{fill:var(--ux-green-d)}
.ux[data-ux="kurbel"] .ux-ku-pollab{font:600 24px 'Fredoka',sans-serif;fill:#fff}
.ux[data-ux="kurbel"] .ux-ku-feld line{stroke:#c9bca6;stroke-width:1.6}
.ux[data-ux="kurbel"] .ux-ku-feld path{fill:#c9bca6}
.ux[data-ux="kurbel"] .ux-ku-bahn{fill:none;stroke:#b9ab92;stroke-width:1.6;stroke-dasharray:6 6}
.ux[data-ux="kurbel"] .ux-ku-spule{stroke:var(--ux-blue-d);stroke-width:7;stroke-linecap:round}
.ux[data-ux="kurbel"] .ux-ku-leiter{fill:#dce7f8;stroke:var(--ux-blue-d);stroke-width:3}
.ux[data-ux="kurbel"] .ux-ku-arm{stroke:#6b5f53;stroke-width:6;stroke-linecap:round}
.ux[data-ux="kurbel"] .ux-ku-achse{fill:#fff;stroke:var(--ux-dark);stroke-width:3}
.ux[data-ux="kurbel"] .ux-ku-griff{fill:var(--ux-orange);stroke:#a8641b;stroke-width:3;cursor:grab}
.ux[data-ux="kurbel"] .ux-ku-hit{fill:transparent;cursor:grab}
.ux[data-ux="kurbel"] .ux-ku-lab{font:600 13.5px 'Fredoka',sans-serif;fill:#3d2a6b}
.ux[data-ux="kurbel"] .ux-ku-gehaeuse{fill:#fff;stroke:var(--ux-line);stroke-width:2}
.ux[data-ux="kurbel"] .ux-ku-skala{fill:none;stroke:var(--ux-dark);stroke-width:2}
.ux[data-ux="kurbel"] .ux-ku-band{fill:none;stroke:var(--ux-green);stroke-width:9;opacity:.7}
.ux[data-ux="kurbel"] .ux-ku-strich{stroke:var(--ux-dark);stroke-width:1.6}
.ux[data-ux="kurbel"] .ux-ku-skl{font:500 13px 'Fredoka',sans-serif;fill:#6b5f53}
.ux[data-ux="kurbel"] .ux-ku-zeiger{stroke:var(--ux-red);stroke-width:3.2;stroke-linecap:round}
.ux[data-ux="kurbel"] .ux-ku-nabe{fill:var(--ux-dark)}
.ux[data-ux="kurbel"] .ux-ku-deckel rect{fill:#e6ded0;stroke:#b9ab92;stroke-width:2;stroke-dasharray:8 6}
.ux[data-ux="kurbel"] .ux-ku-deckel text{font:600 20px 'Fredoka',sans-serif;fill:#6b5f53}
.ux[data-ux="kurbel"] .ux-ku-oszbox{fill:#fff;stroke:var(--ux-line);stroke-width:1.6}
.ux[data-ux="kurbel"] .ux-ku-osznull{stroke:#e6ded0;stroke-width:1.4}
.ux[data-ux="kurbel"] .ux-ku-spur{fill:none;stroke:var(--ux-violet);stroke-width:2.4;stroke-linejoin:round}
.ux[data-ux="kurbel"] .ux-ku-oszdeck{fill:#e6ded0;stroke:#b9ab92;stroke-width:2;stroke-dasharray:8 6}
.ux[data-ux="kurbel"] .ux-ku-steuer{display:flex;flex-wrap:wrap;align-items:center;gap:8px 10px;margin-top:8px;font-family:'Fredoka',sans-serif}
.ux[data-ux="kurbel"] .ux-ku-steuer .ux-btn{font-family:'Fredoka',sans-serif}
.ux[data-ux="kurbel"] .ux-ku-steuer .ux-btn:focus-visible{outline:3px solid var(--ux-yellow);outline-offset:2px}
.ux[data-ux="kurbel"] .ux-ku-f,.ux[data-ux="kurbel"] .ux-ku-u{font-size:16px;font-weight:600;color:var(--ux-dark);background:#fff;border:1.5px solid var(--ux-line);border-radius:8px;padding:4px 10px;font-variant-numeric:tabular-nums;white-space:nowrap}
.ux[data-ux="kurbel"] .ux-ku-u{color:#3d2a6b}
@media(max-width:560px){.ux[data-ux="kurbel"] .ux-ku-buehne{padding:4px}.ux[data-ux="kurbel"] .ux-ku-q{font-size:15px}.ux[data-ux="kurbel"] .ux-ku-f,.ux[data-ux="kurbel"] .ux-ku-u{font-size:14.5px}}

/* ---- Widget: kurve ---- */
.ux-kbox{background:var(--ux-paper);border:1.5px solid var(--ux-line);border-radius:11px;padding:10px 8px 6px;max-width:600px}
.ux-ksvg{display:block;width:100%;height:auto;max-width:580px;margin:0 auto;font-family:'Fredoka',sans-serif;user-select:none;-webkit-user-select:none}
.ux-ksvg .ux-k-bg{fill:#fff}
.ux-ksvg .ux-k-grid line.fein{stroke:#efe7d8;stroke-width:1}
.ux-ksvg .ux-k-grid line.gross{stroke:#ddd1bc;stroke-width:1.2}
.ux-ksvg .ux-k-axes line{stroke:var(--ux-dark);stroke-width:1.8}
.ux-ksvg .ux-k-axes path{fill:var(--ux-dark)}
.ux-ksvg .ux-k-tick{fill:#6b5f53}
.ux-ksvg .ux-k-axl{font-weight:600;fill:var(--ux-dark)}
.ux-ksvg .ux-k-ref{fill:none;stroke:#9a8b72;stroke-width:2.2;stroke-dasharray:7 6}
.ux-ksvg .ux-k-reflab{fill:#7a6c58}
.ux-ksvg .ux-k-line{fill:none;stroke:var(--ux-blue-d);stroke-width:3;stroke-linejoin:round;stroke-linecap:round}
.ux-ksvg .ux-k-pt{cursor:grab;touch-action:none;outline:none}
.ux-ksvg .ux-k-pt.aktiv{cursor:grabbing}
.ux-ksvg .ux-k-pt.fix{cursor:default}
.ux-ksvg .ux-k-hit{fill:transparent;stroke:none}
.ux-ksvg .ux-k-dot{fill:var(--ux-orange);stroke:#fff;stroke-width:2.5;transition:transform .15s}
.ux-ksvg .ux-k-pt.fix .ux-k-dot{fill:var(--ux-dark);stroke:none}
.ux-ksvg .ux-k-x{stroke:var(--ux-violet);stroke-linecap:round;fill:none}
.ux-ksvg .ux-k-ring{fill:none;stroke:transparent;stroke-width:2.5}
.ux-ksvg .ux-k-lab{font-weight:600;fill:var(--ux-dark);paint-order:stroke;stroke:#fff;stroke-width:4px;stroke-linejoin:round}
.ux-ksvg .ux-k-pt:hover .ux-k-dot,.ux-ksvg .ux-k-pt.aktiv .ux-k-dot{transform:scale(1.25)}
.ux-ksvg .ux-k-pt:focus-visible .ux-k-hit{stroke:var(--ux-yellow);stroke-width:4;fill:rgba(244,208,63,.18)}
.ux-ksvg .ux-k-pt.ok .ux-k-dot{fill:var(--ux-green)}
.ux-ksvg .ux-k-pt.ok .ux-k-x{stroke:var(--ux-green-d)}
.ux-ksvg .ux-k-pt.ok .ux-k-ring{stroke:var(--ux-green)}
.ux-ksvg .ux-k-pt.bad .ux-k-dot{fill:var(--ux-red)}
.ux-ksvg .ux-k-pt.bad .ux-k-x{stroke:var(--ux-red)}
.ux-ksvg .ux-k-pt.bad .ux-k-ring{stroke:var(--ux-red)}
.ux-kread{margin:6px 4px 0;font:600 14px/1.4 'Fredoka',sans-serif;color:#5d5246;min-height:20px;text-align:center}
@media(max-width:560px){.ux-kbox{padding:6px 2px 4px}.ux-kread{font-size:13px}}
@media(prefers-reduced-motion:reduce){.ux-ksvg .ux-k-dot{transition:none}}

/* ---- Widget: lampen ---- */
.ux[data-ux="lampen"] .ux-lampen-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,400px),1fr));gap:12px}
.ux[data-ux="lampen"] .ux-lampen-kreis{margin:0;background:var(--ux-paper);border:1.5px solid var(--ux-line);border-radius:12px;padding:8px 8px 4px;min-width:0}
.ux[data-ux="lampen"] .ux-lampen-kreis figcaption{font:600 14px 'Fredoka',sans-serif;color:#fff;background:var(--ux-violet);display:inline-block;border-radius:999px;padding:2px 10px;margin:0 0 4px}
.ux[data-ux="lampen"] .ux-lampen-kreis svg{display:block;width:100%;height:auto;margin:0 auto;overflow:visible}
.ux[data-ux="lampen"] .ux-lampen-draht{stroke:#2f2f2f;stroke-width:2.4;fill:none;stroke-linecap:round}
.ux[data-ux="lampen"] .ux-lampen-knoten{fill:#2f2f2f}
.ux[data-ux="lampen"] .ux-lampen-luecke{fill:var(--ux-paper)}
.ux[data-ux="lampen"] .ux-lampen-plus{stroke:#2f2f2f;stroke-width:2.4}
.ux[data-ux="lampen"] .ux-lampen-minus{stroke:#2f2f2f;stroke-width:6}
.ux[data-ux="lampen"] .ux-lampen-pol{font:700 15px 'Fredoka',sans-serif;fill:#2f2f2f}
.ux[data-ux="lampen"] .ux-lampen-u{font:600 15px 'Fredoka',sans-serif;fill:var(--ux-blue-d)}
.ux[data-ux="lampen"] .ux-lampen-klein{font:500 12.5px 'Fredoka',sans-serif;fill:#6b5f53}
.ux[data-ux="lampen"] .ux-lampen-ac{fill:var(--ux-paper);stroke:#2f2f2f;stroke-width:2.4}
.ux[data-ux="lampen"] .ux-lampen-sinus{fill:none;stroke:#2f2f2f;stroke-width:2}
.ux[data-ux="lampen"] .ux-lampen-diode polygon{fill:var(--ux-paper);stroke:#2f2f2f;stroke-width:2.2;stroke-linejoin:round}
.ux[data-ux="lampen"] .ux-lampen-diode line{stroke:#2f2f2f;stroke-width:2.8}
.ux[data-ux="lampen"] .ux-lampen-pfeil{fill:none;stroke:var(--ux-orange);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.ux[data-ux="lampen"] .ux-lampen-r{fill:var(--ux-paper);stroke:#2f2f2f;stroke-width:2.2}
.ux[data-ux="lampen"] .ux-lampen-lampe{cursor:pointer;outline:none}
.ux[data-ux="lampen"] .ux-lampen-hit{fill:transparent}
.ux[data-ux="lampen"] .ux-lampen-glas{fill:#fff;stroke:#2f2f2f;stroke-width:2.2;transition:fill .2s}
.ux[data-ux="lampen"] .ux-lampen-x{stroke:#2f2f2f;stroke-width:1.8;fill:none}
.ux[data-ux="lampen"] .ux-lampen-halo{fill:var(--ux-yellow);opacity:0;transition:opacity .2s}
.ux[data-ux="lampen"] .ux-lampen-strahl{stroke:var(--ux-orange);stroke-width:2.2;stroke-linecap:round;opacity:0;transition:opacity .2s}
.ux[data-ux="lampen"] .ux-lampen-lab{font:600 14px 'Fredoka',sans-serif;fill:#6b5f53}
.ux[data-ux="lampen"] .ux-lampen-lampe:hover .ux-lampen-glas{stroke:var(--ux-blue-d)}
.ux[data-ux="lampen"] .ux-lampen-lampe:focus-visible .ux-lampen-hit{stroke:var(--ux-yellow);stroke-width:3.5;stroke-dasharray:5 3}
.ux[data-ux="lampen"] .ux-lampen-lampe.an .ux-lampen-glas{fill:var(--ux-yellow)}
.ux[data-ux="lampen"] .ux-lampen-lampe.an .ux-lampen-halo{opacity:.35}
.ux[data-ux="lampen"] .ux-lampen-lampe.an .ux-lampen-strahl{opacity:1}
.ux[data-ux="lampen"] .ux-lampen-lampe.an .ux-lampen-lab{fill:#8a5a00}
.ux[data-ux="lampen"] .ux-lampen-lampe.ok .ux-lampen-lab{fill:var(--ux-green-d)}
.ux.done[data-ux="lampen"] .ux-lampen-lampe{cursor:default}
.ux.done[data-ux="lampen"] .ux-lampen-kreis{border-color:var(--ux-green)}
@media(max-width:560px){.ux[data-ux="lampen"] .ux-lampen-grid{grid-template-columns:1fr}.ux[data-ux="lampen"] .ux-lampen-kreis{padding:6px 4px 2px}}
@media(prefers-reduced-motion:reduce){.ux[data-ux="lampen"] .ux-lampen-glas,.ux[data-ux="lampen"] .ux-lampen-halo,.ux[data-ux="lampen"] .ux-lampen-strahl{transition:none}}

/* ---- Widget: logskala ---- */
.ux-ls{font-family:'Fredoka',sans-serif;margin:4px 0 12px}
.ux-ls-buehne{position:relative;height:158px;background:var(--ux-paper);border:1.5px solid var(--ux-line);border-radius:12px;touch-action:none;cursor:crosshair;user-select:none;-webkit-user-select:none;overflow:hidden}
.ux-ls-spur{position:absolute;left:0;right:0;bottom:48px;height:0;border-top:3px solid var(--ux-dark)}
.ux-ls-tick{position:absolute;top:-9px;width:0;height:15px;border-left:2px solid var(--ux-dark);transform:translateX(-1px)}
.ux-ls-mini{position:absolute;top:-5px;width:0;height:7px;border-left:1.2px solid #a89a83}
.ux-ls-mini.halb{top:-6px;height:9px;border-left-color:#8c7f6a}
.ux-ls-tl{position:absolute;bottom:6px;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;line-height:1.05;color:var(--ux-dark);pointer-events:none;white-space:nowrap}
.ux-ls-tl b{font:600 13px/1.1 'Fredoka',sans-serif}
.ux-ls-tl i{font:500 11.5px/1.1 'Fredoka',sans-serif;font-style:normal;color:#6b5f53}
.ux-ls-pin{position:absolute;bottom:48px;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;padding:0;border:0;background:none;cursor:grab;touch-action:none;z-index:1}
.ux-ls-pin[hidden]{display:none}
.ux-ls-pin.zieht{cursor:grabbing;z-index:3}
.ux-ls-pin.wahl{z-index:2}
.ux-ls-kopf{width:30px;height:30px;border-radius:50%;background:var(--ux-blue-d);color:#fff;font:600 15px/30px 'Fredoka',sans-serif;text-align:center;box-shadow:0 2px 5px rgba(20,34,60,.22);transition:background-color .15s,transform .15s}
.ux-ls-stiel{width:0;height:var(--ls-h,38px);border-left:2.4px solid var(--ux-blue-d)}
.ux-ls-pin.wahl .ux-ls-kopf{background:var(--ux-violet);transform:scale(1.1)}
.ux-ls-pin.wahl .ux-ls-stiel{border-left-color:var(--ux-violet)}
.ux-ls-pin:focus-visible{outline:none}
.ux-ls-pin:focus-visible .ux-ls-kopf{outline:3px solid var(--ux-yellow);outline-offset:2px}
.ux-ls-pin.ok .ux-ls-kopf{background:var(--ux-green-d)}.ux-ls-pin.ok .ux-ls-stiel{border-left-color:var(--ux-green-d)}
.ux-ls-pin.bad .ux-ls-kopf{background:var(--ux-red)}.ux-ls-pin.bad .ux-ls-stiel{border-left-color:var(--ux-red)}
.ux-ls-karten{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:8px;margin-top:10px}
.ux-ls-karte{display:grid;grid-template-columns:30px 1fr;grid-template-rows:auto auto;column-gap:9px;align-items:center;text-align:left;background:#fff;border:1.5px solid var(--ux-line);border-radius:10px;padding:7px 10px;font:500 14px/1.3 'Fredoka',sans-serif;color:var(--ux-dark);cursor:pointer;transition:border-color .15s}
.ux-ls-karte:hover{border-color:var(--ux-violet)}
.ux-ls-karte:focus-visible{outline:3px solid var(--ux-yellow);outline-offset:2px}
.ux-ls-badge{grid-row:1 / span 2;width:28px;height:28px;border-radius:50%;background:#e9eef8;color:var(--ux-blue-d);font:600 14px/28px 'Fredoka',sans-serif;text-align:center}
.ux-ls-karte.gesetzt .ux-ls-badge{background:var(--ux-blue-d);color:#fff}
.ux-ls-karte.wahl{border-color:var(--ux-violet);box-shadow:inset 0 0 0 1px var(--ux-violet)}
.ux-ls-karte.wahl .ux-ls-badge{background:var(--ux-violet);color:#fff}
.ux-ls-stand{font-size:12px;color:#6b5f53}
.ux-ls-karte.ok{border-color:var(--ux-green);background:#f1f8ec}.ux-ls-karte.ok .ux-ls-badge{background:var(--ux-green-d);color:#fff}
.ux-ls-karte.bad{border-color:var(--ux-red);background:#fdf0ee}.ux-ls-karte.bad .ux-ls-badge{background:var(--ux-red);color:#fff}
.ux.done .ux-ls-buehne,.ux.done .ux-ls-pin,.ux.done .ux-ls-karte{cursor:default}
@media(max-width:560px){.ux-ls-tl.neben{display:none}.ux-ls-tl b{font-size:11.5px}.ux-ls-tl i{font-size:10px}.ux-ls-kopf{width:26px;height:26px;line-height:26px;font-size:13.5px}}
@media(prefers-reduced-motion:reduce){.ux-ls-kopf,.ux-ls-karte{transition:none}.ux-ls-pin.wahl .ux-ls-kopf{transform:none}}

/* ---- Widget: maschine ---- */
.ux-ma-pool{display:flex;flex-wrap:wrap;gap:8px;min-height:50px;padding:10px;border-radius:11px;background:var(--ux-paper);border:1.5px dashed var(--ux-line);margin-bottom:12px}
.ux-ma-pool:empty::after{content:'Alle Kärtchen liegen in der Maschine.';font:13px 'Fredoka',sans-serif;color:#9a8d7d}
.ux-ma-karte{font:600 14.5px/1.2 'Fredoka',sans-serif;cursor:grab;padding:8px 13px;border-radius:9px;background:#fff;border:1.5px solid var(--ux-line);color:var(--ux-dark);box-shadow:0 2px 0 #e6ded0;touch-action:none;transition:transform .12s}
.ux-ma-karte:focus-visible{outline:3px solid var(--ux-yellow);outline-offset:2px}
.ux-ma-karte.picked{background:var(--ux-violet);border-color:var(--ux-violet);color:#fff}
.ux-ma-karte.zieht{position:relative;z-index:20;cursor:grabbing;box-shadow:0 8px 18px rgba(0,0,0,.18);transition:none}
.ux-ma-karte.drin{box-shadow:none}
.ux-ma-gehaeuse{position:relative;border-radius:18px;background:#3d2a6b;padding:14px 14px 16px;box-shadow:inset 0 -6px 0 rgba(0,0,0,.2)}
.ux-ma-name{font:600 14px/1.2 'Fredoka',sans-serif;color:#f4d03f;text-align:center;letter-spacing:.03em;margin-bottom:12px}
.ux-ma-schaechte{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}
.ux-ma-schacht{position:relative;display:flex;flex-direction:column;align-items:center;gap:6px;padding:8px 8px 10px;border-radius:12px;background:#f4ede0;border:2px solid #2a1c4d;cursor:pointer;transition:background .15s;margin-bottom:10px}
.ux-ma-schacht::after{content:'';position:absolute;left:50%;bottom:-12px;margin-left:-12px;border:12px solid transparent;border-bottom:0;border-top-color:#2a1c4d}
.ux-ma-schacht:focus-visible{outline:none;box-shadow:0 0 0 3px var(--ux-yellow)}
.ux[data-ux="maschine"].waehlt .ux-ma-schacht{background:#fdf5d3}
.ux-ma-nr{position:absolute;left:8px;top:6px;width:22px;height:22px;border-radius:50%;background:#3d2a6b;color:#fff;font:600 12px/22px 'Fredoka',sans-serif;text-align:center}
.ux-ma-lab{font:600 15px/1.2 'Fredoka',sans-serif;color:#3d2a6b;padding:0 20px}
.ux-ma-slot{display:flex;align-items:center;justify-content:center;min-height:42px;width:100%;border-radius:9px;border:2px dashed #b9ab92;background:#faf6ee}
.ux-ma-slot:empty::after{content:'leer';font:12.5px 'Fredoka',sans-serif;color:#9a8b72}
.ux-ma-schacht.ok{background:#e8f4e4}
.ux-ma-schacht.ok .ux-ma-slot{border-style:solid;border-color:var(--ux-green-d)}
.ux-ma-werk{display:flex;justify-content:center;align-items:center;gap:10px;margin:10px 0 8px}
.ux-ma-werk svg{width:46px;height:46px}
.ux-ma-zahnrad{fill:#7c5fb5;stroke:#2a1c4d;stroke-width:2;transform-origin:50% 50%;transform-box:fill-box}
.ux-ma-zahnrad.klein{fill:#e79a3a}
.ux-ma-gehaeuse.laeuft .ux-ma-zahnrad{animation:uxMaDreh 1.2s linear 2}
.ux-ma-gehaeuse.laeuft .ux-ma-zahnrad.klein{animation-direction:reverse}
@keyframes uxMaDreh{to{transform:rotate(360deg)}}
.ux-ma-gehaeuse.streik{animation:uxMaStreik .4s ease}
@keyframes uxMaStreik{0%,100%{transform:none}20%{transform:translateX(-6px)}60%{transform:translateX(6px)}}
.ux-ma-anzeige{margin:0 auto;max-width:420px;min-height:46px;border-radius:10px;background:#1f2a1c;border:3px solid #2a1c4d;color:#9fd88f;font:600 19px/40px 'Fredoka',sans-serif;text-align:center;letter-spacing:.04em;padding:0 12px}
.ux-ma-anzeige.an{color:#d9f5cf;background:#2b3d26;box-shadow:0 0 0 3px rgba(103,176,95,.35)}
.ux-ma-frage{margin-top:12px;display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:8px;font:600 15px/1.3 'Fredoka',sans-serif;color:#f4ede0}
.ux-ma-frage[hidden]{display:none}
.ux-ma-in{width:150px;max-width:100%;padding:8px 10px;border-radius:8px;border:2px solid var(--ux-line);font:600 16px 'Fredoka',sans-serif;background:#fff;color:var(--ux-dark)}
.ux-ma-in:focus-visible{outline:3px solid var(--ux-yellow);outline-offset:1px}
.ux-ma-in.ok{border-color:var(--ux-green)}.ux-ma-in.bad{border-color:var(--ux-red)}
.ux[data-ux="maschine"].belegt .ux-ma-karte{cursor:default}
@media(max-width:560px){
  .ux-ma-gehaeuse{padding:12px 10px 14px}
  .ux-ma-schaechte{grid-template-columns:minmax(0,1fr)}
  .ux-ma-anzeige{font-size:16px}
}
@media(prefers-reduced-motion:reduce){
  .ux-ma-karte{transition:none}
  .ux-ma-schacht{transition:none}
  .ux-ma-gehaeuse.laeuft .ux-ma-zahnrad,.ux-ma-gehaeuse.laeuft .ux-ma-zahnrad.klein{animation:none}
  .ux-ma-gehaeuse.streik{animation:none}
}

/* ---- Widget: mpp ---- */
.ux[data-ux="mpp"]{font-family:'Fredoka',sans-serif}
.ux[data-ux="mpp"] .ux-mpp-box{position:relative;background:var(--ux-paper);border:1.5px solid var(--ux-line);border-radius:11px;padding:8px}
.ux[data-ux="mpp"] .ux-mpp-read{display:table;margin:0 0 6px auto;padding:6px 12px;background:#fff;border:1.5px solid var(--ux-line);border-radius:9px;font:500 15.5px/1.3 'Fredoka',sans-serif;color:var(--ux-dark);text-align:right}
.ux[data-ux="mpp"] .ux-mpp-svg{display:block;width:100%;max-width:640px;height:auto;margin:0 auto;touch-action:none;cursor:crosshair;font-family:'Fredoka',sans-serif}
.ux[data-ux="mpp"] .ux-mpp-gl{stroke:#e6ded0;stroke-width:1}
.ux[data-ux="mpp"] .ux-mpp-ax{stroke:var(--ux-dark);stroke-width:1.8}
.ux[data-ux="mpp"] .ux-mpp-arr{fill:var(--ux-dark)}
.ux[data-ux="mpp"] .ux-mpp-tk{font-size:13px;fill:#6b5f53}
.ux[data-ux="mpp"] .ux-mpp-al{font-size:14.5px;fill:var(--ux-dark);font-weight:500}
.ux[data-ux="mpp"].ux-mpp-eng .ux-mpp-tk{font-size:15px}
.ux[data-ux="mpp"].ux-mpp-eng .ux-mpp-al{font-size:16px}
.ux[data-ux="mpp"] .ux-mpp-rect{fill:rgba(231,154,58,.32);stroke:var(--ux-orange);stroke-width:2;transition:fill .15s}
.ux[data-ux="mpp"].ux-mpp-ok .ux-mpp-rect{fill:rgba(103,176,95,.32);stroke:var(--ux-green-d)}
.ux[data-ux="mpp"].ux-mpp-bad .ux-mpp-rect{fill:rgba(226,87,76,.22);stroke:var(--ux-red)}
.ux[data-ux="mpp"] .ux-mpp-drop{stroke:var(--ux-orange);stroke-width:1.6;stroke-dasharray:5 4}
.ux[data-ux="mpp"] .ux-mpp-curve{fill:none;stroke:var(--ux-blue-d);stroke-width:3.2;stroke-linejoin:round;stroke-linecap:round}
.ux[data-ux="mpp"] .ux-mpp-h{cursor:grab;outline:none;touch-action:none}
.ux[data-ux="mpp"] .ux-mpp-h.zieht{cursor:grabbing}
.ux[data-ux="mpp"] .ux-mpp-hit{fill:transparent}
.ux[data-ux="mpp"] .ux-mpp-dot{fill:#fff;stroke:var(--ux-violet);stroke-width:3.6;transition:fill .12s}
.ux[data-ux="mpp"] .ux-mpp-h:hover .ux-mpp-dot,.ux[data-ux="mpp"] .ux-mpp-h.zieht .ux-mpp-dot{fill:#f1ecfa}
.ux[data-ux="mpp"] .ux-mpp-h:focus-visible .ux-mpp-hit{fill:rgba(244,208,63,.45);stroke:var(--ux-yellow);stroke-width:3}
.ux[data-ux="mpp"].ux-mpp-ok .ux-mpp-dot{stroke:var(--ux-green-d)}
@media(max-width:560px){.ux[data-ux="mpp"] .ux-mpp-box{padding:4px}.ux[data-ux="mpp"] .ux-mpp-read{font-size:14px;margin-bottom:4px}}
@media(prefers-reduced-motion:reduce){.ux[data-ux="mpp"] .ux-mpp-rect{transition:none}.ux[data-ux="mpp"] .ux-mpp-dot{transition:none}}

/* ---- Widget: multimeter ---- */
.ux-mm-ask{font-family:'Fredoka',sans-serif;font-size:16px;color:var(--ux-dark);margin:0 0 10px;padding:9px 12px;background:#fff;border:1.5px solid var(--ux-line);border-radius:10px;line-height:1.45}
.ux-mm-nr{display:inline-block;font-size:12.5px;font-weight:600;color:#fff;background:var(--ux-violet);border-radius:999px;padding:2px 9px;margin-right:6px;vertical-align:1px}
.ux-mm{display:grid;grid-template-columns:minmax(0,300px) minmax(0,1fr);gap:18px;align-items:center;background:var(--ux-paper);border:1.5px solid var(--ux-line);border-radius:12px;padding:12px;font-family:'Fredoka',sans-serif}
.ux-mm-svg{width:100%;max-width:300px;height:auto;display:block;margin:0 auto;touch-action:manipulation}
.ux-mm-huelle{fill:#f4d03f;stroke:#c9a92a;stroke-width:2}
.ux-mm-front{fill:#2f2f2f}
.ux-mm-lcd{fill:#dfe6cf;stroke:#9aa58a;stroke-width:2}
.ux-mm-lcdv{font:600 40px 'Fredoka',sans-serif;fill:#2f2f2f;letter-spacing:1px}
.ux-mm-lcdu{font:600 17px 'Fredoka',sans-serif;fill:#4b5340}
.ux-mm-bogen{fill:none;stroke-width:5;stroke-linecap:round;opacity:.9}
.ux-mm-gl{font:600 16px 'Fredoka',sans-serif}
.ux-mm-pos{cursor:pointer}
.ux-mm-poshit{fill:transparent}
.ux-mm-pos:hover .ux-mm-poshit{fill:rgba(255,255,255,.14)}
.ux-mm-posl{font:600 12px 'Fredoka',sans-serif;fill:#f4ede0;pointer-events:none}
.ux-mm-pos.an .ux-mm-poshit{fill:#f4d03f}
.ux-mm-pos.an .ux-mm-posl{fill:#2f2f2f}
.ux-mm-knopf{cursor:grab;touch-action:none}
.ux-mm-knopf:focus{outline:none}
.ux-mm-knopf:focus-visible .ux-mm-knopfr{stroke:#f4d03f;stroke-width:4}
.ux-mm-knopfr{fill:#5a5a5a;stroke:#1d1d1d;stroke-width:2}
.ux-mm-knopfi{fill:#474747}
.ux-mm-zeiger{stroke:#f4d03f;stroke-width:6;stroke-linecap:round;transition:x2 .15s,y2 .15s}
.ux-mm-buchse{cursor:pointer}
.ux-mm-buchse:focus{outline:none}
.ux-mm-buchse:focus-visible .ux-mm-bhit{stroke:#f4d03f;stroke-width:3}
.ux-mm-bhit{fill:transparent}
.ux-mm-bring{fill:#1d1d1d;stroke:#8a8a8a;stroke-width:3}
.ux-mm-bring.com{stroke:#bdbdbd}
.ux-mm-bring.amp{stroke:#e79a3a}
.ux-mm-bloch{fill:#000}
.ux-mm-bl{font:600 14px 'Fredoka',sans-serif;fill:#f4ede0;pointer-events:none}
.ux-mm-leitung{fill:none;stroke-width:7;stroke-linecap:round;pointer-events:none}
.ux-mm-leitung.rot{stroke:#e2574c}.ux-mm-leitung.schwarz{stroke:#111}
.ux-mm-stecker{pointer-events:none;stroke:#fff;stroke-width:2}
.ux-mm-stecker.rot{fill:#e2574c}.ux-mm-stecker.schwarz{fill:#111}
.ux-mm-side{display:grid;gap:10px;align-content:center}
.ux-mm-hinw{font-size:14.5px;line-height:1.5;color:#6b5f53;margin:0}
.ux-mm-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.ux-mm-lab{font-size:15.5px;color:var(--ux-dark)}
.ux-mm-in{width:120px;font:600 18px 'Fredoka',sans-serif;padding:8px 10px;border:1.5px solid var(--ux-line);border-radius:9px;background:#fff;color:var(--ux-dark)}
.ux-mm-in:focus-visible{outline:3px solid var(--ux-yellow);outline-offset:2px}
.ux-mm-in.ok{border-color:var(--ux-green);background:#f1f8ec}
.ux-mm-in.bad{border-color:var(--ux-red);background:#fdf0ee}
.ux-mm-eh{font-size:17px;font-weight:600;color:var(--ux-dark)}
@media(max-width:560px){.ux-mm{grid-template-columns:minmax(0,1fr);padding:4px;gap:10px}.ux-mm-svg{max-width:280px}}
@media(prefers-reduced-motion:reduce){.ux-mm-zeiger{transition:none}}

/* ---- Widget: netzplan ---- */
.ux[data-ux="netzplan"] .ux-np-buehne{background:var(--ux-paper);border:1.5px solid var(--ux-line);border-radius:12px;padding:8px;font-family:'Fredoka',sans-serif}
.ux[data-ux="netzplan"] .ux-np-svg{display:block;width:100%;max-width:680px;height:auto;margin:0 auto;font-family:'Fredoka',sans-serif;touch-action:manipulation}
.ux[data-ux="netzplan"] .ux-np-node{cursor:pointer;outline:none}
.ux[data-ux="netzplan"] .ux-np-bg{fill:#fff;stroke:var(--ux-line);stroke-width:2}
.ux[data-ux="netzplan"] .ux-np-sel{fill:none;stroke:transparent;stroke-width:4}
.ux[data-ux="netzplan"] .ux-np-node:hover .ux-np-bg{stroke:#b9ab92}
.ux[data-ux="netzplan"] .ux-np-node:focus-visible .ux-np-sel{stroke:var(--ux-yellow)}
.ux[data-ux="netzplan"] .ux-np-node.gewaehlt .ux-np-sel{stroke:var(--ux-violet)}
.ux[data-ux="netzplan"] .ux-np-node.gewaehlt .ux-np-bg{stroke:var(--ux-violet);fill:#f1ecfa}
.ux[data-ux="netzplan"] .ux-np-lab{font-size:12.5px;font-weight:500;fill:var(--ux-dark);paint-order:stroke;stroke:#faf6ee;stroke-width:4px;stroke-linejoin:round}
.ux[data-ux="netzplan"] .ux-np-i1{fill:#8a8178;stroke:var(--ux-dark);stroke-width:1.6;stroke-linejoin:round}
.ux[data-ux="netzplan"] .ux-np-i2{fill:var(--ux-blue);stroke:var(--ux-blue-d);stroke-width:1.6;stroke-linejoin:round}
.ux[data-ux="netzplan"] .ux-np-i3{fill:#efe9f8;stroke:var(--ux-violet);stroke-width:1.8}
.ux[data-ux="netzplan"] .ux-np-i4{fill:#eaf4e6;stroke:var(--ux-green-d);stroke-width:1.8}
.ux[data-ux="netzplan"] .ux-np-i5{fill:var(--ux-orange);stroke:#b46f1c;stroke-width:1.6;stroke-linejoin:round}
.ux[data-ux="netzplan"] .ux-np-ring{fill:none;stroke:var(--ux-dark);stroke-width:1.8}
.ux[data-ux="netzplan"] .ux-np-st{fill:none;stroke:var(--ux-dark);stroke-width:2.2;stroke-linecap:round}
.ux[data-ux="netzplan"] .ux-np-fl{fill:none;stroke:#faf6ee;stroke-width:1.6}
.ux[data-ux="netzplan"] .ux-np-rauch{fill:none;stroke:#b9ab92;stroke-width:2.4;stroke-linecap:round}
.ux[data-ux="netzplan"] .ux-np-welle{fill:none;stroke:var(--ux-blue-d);stroke-width:2;stroke-linecap:round}
.ux[data-ux="netzplan"] .ux-np-kante{cursor:pointer;outline:none}
.ux[data-ux="netzplan"] .ux-np-kante.fix{cursor:default}
.ux[data-ux="netzplan"] .ux-np-hit{fill:none;stroke:transparent;stroke-width:18}
.ux[data-ux="netzplan"] .ux-np-line{fill:none;stroke:#6b5f53;stroke-width:3.4;stroke-linecap:round;transition:stroke .15s}
.ux[data-ux="netzplan"] .ux-np-kante.fix .ux-np-line{stroke-dasharray:8 5}
.ux[data-ux="netzplan"] .ux-np-kante:focus-visible .ux-np-hit{stroke:rgba(244,208,63,.55)}
.ux[data-ux="netzplan"] .ux-np-kante:hover .ux-np-hit{stroke:rgba(124,95,181,.12)}
.ux[data-ux="netzplan"] .ux-np-schild rect{fill:#fff;stroke:var(--np-f,#9a8b72);stroke-width:2}
.ux[data-ux="netzplan"] .ux-np-schild text{font-size:12.5px;font-weight:600;fill:var(--np-f,#9a8b72)}
.ux[data-ux="netzplan"] .ux-np-kante.ok .ux-np-line{stroke:var(--ux-green)}
.ux[data-ux="netzplan"] .ux-np-kante.bad .ux-np-line{stroke:var(--ux-red);stroke-dasharray:6 4}
.ux[data-ux="netzplan"] .ux-np-kante.bad .ux-np-schild rect{stroke:var(--ux-red);fill:#fdf0ee}
.ux[data-ux="netzplan"] .ux-np-svg.hoch{max-width:420px}
.ux[data-ux="netzplan"] .ux-np-svg.hoch .ux-np-lab{font-size:14px}
.ux[data-ux="netzplan"] .ux-np-stand{margin:6px 2px 0;font-family:'Fredoka',sans-serif;font-size:13.5px;color:#6b5f53}
.ux[data-ux="netzplan"].done .ux-np-buehne{border-color:var(--ux-green);background:#f1f8ec}
@media(max-width:560px){.ux[data-ux="netzplan"] .ux-np-buehne{padding:4px}}
@media(prefers-reduced-motion:reduce){.ux[data-ux="netzplan"] .ux-np-line{transition:none}}

/* ---- Widget: niveau ---- */
.ux-niv-ask{font-family:'Fredoka',sans-serif;font-size:16px;line-height:1.5;color:var(--ux-dark);margin:6px 0 10px}
.ux-niv-rd{display:inline-block;background:var(--ux-violet);color:#fff;border-radius:999px;padding:1px 10px;font-size:13px;font-weight:600;margin-right:6px}
.ux-niv-stage{background:var(--ux-paper);border-radius:12px}
.ux-niv-svg{display:block;width:100%;max-width:620px;height:auto;margin:0 auto;font-family:'Fredoka',sans-serif;touch-action:none}
.ux-niv-bg{fill:#faf6ee}
.ux-niv-grid{stroke:#e6ded0;stroke-width:1}
.ux-niv-axis{stroke:#2f2f2f;stroke-width:1.8}
.ux-niv-arrow{fill:#2f2f2f}
.ux-niv-tick{font-size:12px;fill:#6b5f53}
.ux-niv-albl{font-size:13px;fill:#6b5f53}
.ux-niv-col{font-size:14px;font-weight:600;fill:#4f453b}
.ux-niv-vb{fill:#c9d8f2;opacity:.85}
.ux-niv-lb{fill:#f7dcb4;opacity:.85}
.ux-niv-vb.fix,.ux-niv-lb.fix{opacity:.55}
.ux-niv-bieg{fill:none;stroke:#2f2f2f;stroke-width:2.4;stroke-dasharray:6 4}
.ux-niv-line{stroke:#2f2f2f;stroke-width:3;stroke-linecap:round}
.ux-niv-line.fix{stroke:#6b5f53;stroke-width:2.6}
.ux-niv-lbl{font-size:12.5px;fill:#4f453b}
.ux-niv-wert{font-size:12.5px;font-weight:600;fill:var(--ux-violet)}
.ux-niv-zug{cursor:ns-resize;outline:none}
.ux-niv-hit{fill:transparent}
.ux-niv-griff{fill:var(--ux-violet);stroke:#fff;stroke-width:2;transition:transform .15s}
.ux-niv-pfeil{fill:none;stroke:#fff;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}
.ux-niv-zug:hover .ux-niv-line,.ux-niv-zug.aktiv .ux-niv-line{stroke:var(--ux-violet)}
.ux-niv-zug:focus-visible .ux-niv-hit{fill:rgba(244,208,63,.22);stroke:var(--ux-yellow);stroke-width:3}
.ux-niv-zug.ok .ux-niv-line{stroke:var(--ux-green-d)}.ux-niv-zug.ok .ux-niv-griff{fill:var(--ux-green-d)}
.ux-niv-zug.bad .ux-niv-line{stroke:var(--ux-red)}.ux-niv-zug.bad .ux-niv-griff{fill:var(--ux-red)}
.ux.done .ux-niv-zug{cursor:default}
@media(max-width:560px){.ux-niv-ask{font-size:15px}}
.ux-niv-svg.eng .ux-niv-tick{font-size:15px}.ux-niv-svg.eng .ux-niv-lbl,.ux-niv-svg.eng .ux-niv-wert,.ux-niv-svg.eng .ux-niv-albl{font-size:15.5px}.ux-niv-svg.eng .ux-niv-col{font-size:17px}
@media(prefers-reduced-motion:reduce){.ux-niv-griff{transition:none}}

/* ---- Widget: opkette ---- */
.ux-opkette-w{font-family:'Fredoka',sans-serif}
.ux-ok-pool{display:flex;flex-wrap:wrap;gap:8px;padding:10px;border-radius:11px;background:var(--ux-paper);border:1.5px dashed var(--ux-line)}
.ux-ok-blk{font:600 16px/1 'Fredoka',sans-serif;min-width:74px;padding:10px 12px;border-radius:9px;border:2px solid var(--ux-line);background:#fff;color:var(--ux-dark);cursor:pointer;transition:transform .15s}
.ux-ok-blk.add,.ux-ok-pool .ux-ok-blk[data-op=add]{border-color:var(--ux-green)}
.ux-ok-blk.sub,.ux-ok-pool .ux-ok-blk[data-op=sub]{border-color:var(--ux-red)}
.ux-ok-blk.mul,.ux-ok-pool .ux-ok-blk[data-op=mul]{border-color:var(--ux-blue)}
.ux-ok-blk.div,.ux-ok-pool .ux-ok-blk[data-op=div]{border-color:var(--ux-violet)}
.ux-ok-blk:hover:not([disabled]){transform:translateY(-2px)}
.ux-ok-blk:focus-visible,.ux-ok-tw:focus-visible{outline:3px solid var(--ux-yellow);outline-offset:2px}
.ux-ok-blk[disabled]{opacity:.45;cursor:default}
.ux-ok-masch{display:flex;align-items:stretch;gap:8px;margin-top:12px;padding:12px;border-radius:12px;background:#f4ede0;border:2px solid #b9ab92}
.ux-ok-ein,.ux-ok-aus{flex:0 0 auto;display:flex;align-items:center;justify-content:center;min-width:86px;padding:8px 10px;border-radius:10px;background:var(--ux-dark);color:#fff;font:600 16px/1.2 'Fredoka',sans-serif;text-align:center}
.ux-ok-aus{background:var(--ux-blue-d)}
.ux-ok-kette{flex:1 1 auto;display:flex;flex-wrap:wrap;align-items:flex-start;gap:6px;min-height:64px;padding:4px;border-radius:9px;background:var(--ux-paper);border:1.5px dashed #b9ab92}
.ux-ok-leer{align-self:center;font-size:13.5px;color:#9a8d7d;padding:4px 8px}
.ux-ok-glied{display:flex;flex-direction:column;align-items:center;gap:4px;position:relative;padding-right:14px}
.ux-ok-glied::after{content:'›';position:absolute;right:0;top:9px;font:600 20px/1 'Fredoka',sans-serif;color:#9a8b72}
.ux-ok-glied.neu .ux-ok-in{animation:ux-ok-ein .25s ease-out}
.ux-ok-in{background:#fff}
.ux-ok-zw{font:500 13px/1 'Fredoka',sans-serif;color:#6b5f53;background:#fff;border:1px solid var(--ux-line);border-radius:6px;padding:3px 6px}
@keyframes ux-ok-ein{from{transform:scale(.6);opacity:.3}to{transform:none;opacity:1}}
.ux-ok-probe{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-top:10px;font-size:13.5px;color:#6b5f53}
.ux-ok-probe::before{content:'Probelauf mit:';margin-right:4px}
.ux-ok-tw{font:500 13.5px/1 'Fredoka',sans-serif;padding:6px 10px;border-radius:999px;border:1.5px solid var(--ux-line);background:#fff;color:var(--ux-dark);cursor:pointer}
.ux-ok-tw[aria-pressed=true]{background:var(--ux-dark);border-color:var(--ux-dark);color:#fff}
.ux-ok-tab{margin-top:10px}
.ux-ok-tab table{border-collapse:collapse;font:500 14px/1.3 'Fredoka',sans-serif;min-width:260px}
.ux-ok-tab th,.ux-ok-tab td{border:1px solid var(--ux-line);padding:5px 10px;text-align:center}
.ux-ok-tab th{background:#f4ede0}
.ux-ok-tab tr.ok td{background:#f1f8ec;color:var(--ux-green-d)}
.ux-ok-tab tr.bad td{background:#fdf0ee;color:#a33a31}
.ux-opkette-w.done .ux-ok-masch{border-color:var(--ux-green)}
@media(max-width:560px){.ux-ok-masch{flex-direction:column}.ux-ok-ein,.ux-ok-aus{min-height:38px}.ux-ok-blk{min-width:64px;font-size:15px;padding:9px 10px}.ux-ok-tab table{min-width:0;width:100%}}
@media(prefers-reduced-motion:reduce){.ux-ok-blk{transition:none}.ux-ok-glied.neu .ux-ok-in{animation:none}}

/* ---- Widget: oszi ---- */
.ux[data-ux="oszi"] .ux-os-kopf{display:flex;justify-content:flex-end;font-family:'Fredoka',sans-serif;margin:0 0 4px}
.ux[data-ux="oszi"] .ux-os-kopf:empty,.ux[data-ux="oszi"] .ux-os-nr:empty{display:none}
.ux[data-ux="oszi"] .ux-os-nr{font-size:14px;color:#6b5f53;font-weight:500}
.ux[data-ux="oszi"] .ux-os-q{margin:0 0 8px;font-family:'Fredoka',sans-serif;font-size:15.5px;line-height:1.45;color:var(--ux-dark)}
.ux[data-ux="oszi"] .ux-os-q:empty{display:none}
.ux[data-ux="oszi"] .ux-os-geraet{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:center;background:#f4ede0;border:1.5px solid var(--ux-line);border-radius:14px;padding:12px;font-family:'Fredoka',sans-serif}
.ux[data-ux="oszi"] .ux-os-schirm{display:block;flex:1 1 360px;width:100%;max-width:520px;height:auto;min-width:0}
.ux[data-ux="oszi"] .ux-os-rahmen{fill:#4a4a4a}
.ux[data-ux="oszi"] .ux-os-glas{fill:#2f2f2f}
.ux[data-ux="oszi"] .ux-os-raster{stroke:#5e6b5a;stroke-width:1;stroke-dasharray:2 4}
.ux[data-ux="oszi"] .ux-os-achse{stroke:#7d8c78;stroke-width:1.2}
.ux[data-ux="oszi"] .ux-os-tick{stroke:#7d8c78;stroke-width:1.2}
.ux[data-ux="oszi"] .ux-os-kante{fill:none;stroke:#7d8c78;stroke-width:1.5}
.ux[data-ux="oszi"] .ux-os-spur{fill:none;stroke:#67b05f;stroke-width:2.6;stroke-linejoin:round;stroke-linecap:round}
.ux[data-ux="oszi"] .ux-os-pult{display:flex;flex-direction:column;gap:10px;flex:0 1 190px;min-width:0}
.ux[data-ux="oszi"] .ux-os-knopf{display:flex;flex-direction:column;align-items:center;background:#faf6ee;border:1.5px solid var(--ux-line);border-radius:12px;padding:6px 6px 8px}
.ux[data-ux="oszi"] .ux-os-kt2{font-size:14.5px;font-weight:600;color:var(--ux-dark)}
.ux[data-ux="oszi"] .ux-os-krow{display:flex;align-items:center;gap:4px}
.ux[data-ux="oszi"] .ux-os-ksvg{display:block;width:96px;height:96px;touch-action:none;cursor:grab}
.ux[data-ux="oszi"] .ux-os-ksvg:active{cursor:grabbing}
.ux[data-ux="oszi"] .ux-os-ksvg:focus{outline:none}
.ux[data-ux="oszi"] .ux-os-ksvg:focus-visible{outline:3px solid var(--ux-yellow);outline-offset:-2px;border-radius:50%}
.ux[data-ux="oszi"] .ux-os-pf{width:34px;height:34px;border-radius:50%;border:1.5px solid var(--ux-line);background:#fff;color:var(--ux-dark);font:600 13px/1 'Fredoka',sans-serif;cursor:pointer}
.ux[data-ux="oszi"] .ux-os-pf:hover{background:#f3ece0}
.ux[data-ux="oszi"] .ux-os-pf:focus-visible{outline:3px solid var(--ux-yellow);outline-offset:2px}
.ux[data-ux="oszi"] .ux-os-pf[disabled]{opacity:.4;cursor:default}
.ux[data-ux="oszi"] .ux-os-kt{stroke:#8a7d69;stroke-width:2.4;stroke-linecap:round}
.ux[data-ux="oszi"] .ux-os-kk{fill:#2f2f2f;stroke:#d9cdb8;stroke-width:3}
.ux[data-ux="oszi"] .ux-os-kc{fill:#4a4a4a}
.ux[data-ux="oszi"] .ux-os-kz{fill:#f4d03f}
.ux[data-ux="oszi"] .ux-os-dreh{transform-box:view-box;transform-origin:60px 60px;transition:transform .16s ease-out}
.ux[data-ux="oszi"] .ux-os-kwert{margin-top:2px;background:#fff;border:1.5px solid var(--ux-line);border-radius:8px;padding:2px 12px;font-size:16px;font-weight:600;color:var(--ux-violet);min-width:90px;text-align:center}
.ux[data-ux="oszi"] .ux-os-ke{font-size:12.5px;color:#6b5f53}
.ux[data-ux="oszi"] .ux-os-knopf.fest .ux-os-kk{fill:#6b5f53}
.ux[data-ux="oszi"] .ux-os-knopf.fest .ux-os-kz{fill:#d9cdb8}
.ux[data-ux="oszi"] .ux-os-knopf.fest .ux-os-ksvg{cursor:default}
.ux[data-ux="oszi"] .ux-os-knopf.fest .ux-os-kwert{color:var(--ux-dark)}
.ux[data-ux="oszi"] .ux-os-lesen{display:flex;flex-wrap:wrap;gap:10px;margin-top:10px;font-family:'Fredoka',sans-serif}
.ux[data-ux="oszi"] .ux-os-lesen[hidden]{display:none}
.ux[data-ux="oszi"] .ux-os-feld{display:flex;align-items:center;gap:6px;background:#faf6ee;border:1.5px solid var(--ux-line);border-radius:10px;padding:6px 10px;font-size:16px;color:var(--ux-dark)}
.ux[data-ux="oszi"] .ux-os-in{width:92px;font:500 16px 'Fredoka',sans-serif;padding:6px 8px;border:1.5px solid var(--ux-line);border-radius:8px;background:#fff;color:var(--ux-dark)}
.ux[data-ux="oszi"] .ux-os-in:focus-visible{outline:3px solid var(--ux-yellow);outline-offset:1px}
.ux[data-ux="oszi"] .ux-os-in.ok{border-color:var(--ux-green);background:#f1f8ec}
.ux[data-ux="oszi"] .ux-os-in.bad{border-color:var(--ux-red);background:#fdf0ee}
.ux-oszi-w.done .ux-os-geraet{border-color:var(--ux-green)}
@media(max-width:560px){.ux[data-ux="oszi"] .ux-os-geraet{padding:8px}.ux[data-ux="oszi"] .ux-os-pult{flex:1 1 100%;flex-direction:row;justify-content:center}.ux[data-ux="oszi"] .ux-os-knopf{flex:1 1 0;min-width:0}.ux[data-ux="oszi"] .ux-os-ksvg{width:66px;height:66px}.ux[data-ux="oszi"] .ux-os-krow{position:relative;width:96px;justify-content:center;gap:0}.ux[data-ux="oszi"] .ux-os-pf{position:absolute;bottom:0;width:24px;height:24px;font-size:10px}.ux[data-ux="oszi"] .ux-os-pf[data-d="-"]{left:0}.ux[data-ux="oszi"] .ux-os-pf[data-d="+"]{right:0}.ux[data-ux="oszi"] .ux-os-knopf{padding:6px 3px 8px}.ux[data-ux="oszi"] .ux-os-kt2{font-size:13px;text-align:center}.ux[data-ux="oszi"] .ux-os-kwert{min-width:0;font-size:15px}}
@media(prefers-reduced-motion:reduce){.ux[data-ux="oszi"] .ux-os-dreh{transition:none}}

/* ---- Widget: pegel ---- */
.ux-pegel-tk{display:none}
.ux-pegel-stage{background:var(--ux-paper);border:1.5px solid var(--ux-line);border-radius:11px;padding:8px;max-width:680px}
.ux-pegel-svg{display:block;width:100%;height:auto;touch-action:none;cursor:ns-resize;border-radius:8px;font-family:'Fredoka',sans-serif}
.ux-pegel-svg:focus-visible{outline:3px solid var(--ux-yellow);outline-offset:2px}
.ux-pegel-berg{fill:#e8dcc4;stroke:#c9bba3;stroke-width:1.5}
.ux-pegel-becken{fill:#fff;stroke:#8c7d66;stroke-width:3}
.ux-pegel-water{fill:#5b8bd8;opacity:.85}
.ux-pegel-wave{fill:none;stroke:#2c5fb5;stroke-width:2.2;animation:ux-pegel-wiege 3s ease-in-out infinite}
@keyframes ux-pegel-wiege{0%,100%{transform:translateX(0)}50%{transform:translateX(-3px)}}
.ux-pegel-rohr{fill:none;stroke:#6b5f53;stroke-width:7;stroke-linecap:round;stroke-linejoin:round}
.ux-pegel-haus{fill:#cfc3ad;stroke:#6b5f53;stroke-width:2}
.ux-pegel-turb{fill:var(--ux-yellow);stroke:#6b5f53;stroke-width:2}
.ux-pegel-unten{fill:#5b8bd8;opacity:.85}
.ux-pegel-fall line{stroke:var(--ux-violet);stroke-width:1.8;stroke-dasharray:5 4}
.ux-pegel-fall line:nth-child(2){stroke-dasharray:none;stroke-width:2.2}
.ux-pegel-fall path{fill:var(--ux-violet)}
.ux-pegel-latte line{stroke:var(--ux-dark);stroke-width:1.4}
.ux-pegel-tick{font:500 11.5px/1 'Fredoka',sans-serif;fill:#6b5f53}
.ux-pegel-hd rect{fill:#fff;stroke:var(--ux-dark);stroke-width:2}
.ux-pegel-box{fill:#fff;stroke:var(--ux-line);stroke-width:1.5}
.ux-pegel-read{font:600 15px/1 'Fredoka',sans-serif;fill:var(--ux-dark)}
.ux-pegel-tools{display:flex;gap:8px;margin-top:8px}
.ux-pegel-tools .ux-btn{min-width:52px;font-size:16px;padding:8px 14px}
.ux-pegel-w.done .ux-pegel-svg{cursor:default}
/* schmale Ansicht */
.ux-pegel-svg.kompakt .ux-pegel-read{font-size:18px}
.ux-pegel-svg.kompakt .ux-pegel-tick{font-size:14px}
@media(prefers-reduced-motion:reduce){.ux-pegel-wave{animation:none}}

/* ---- Widget: pendel ---- */
.ux-pendel-tk{display:none}
.ux-pendel-stage{background:var(--ux-paper);border:1.5px solid var(--ux-line);border-radius:11px;padding:8px;max-width:620px}
.ux-pendel-svg{display:block;width:100%;height:auto;touch-action:none;cursor:grab;border-radius:8px;font-family:'Fredoka',sans-serif}
.ux-pendel-svg:focus-visible{outline:3px solid var(--ux-yellow);outline-offset:2px}
.ux-pendel-deck{fill:#8c7d66}
.ux-pendel-hatch line{stroke:#8c7d66;stroke-width:2}
.ux-pendel-rest{fill:none;stroke:#c9bba3;stroke-width:1.6;stroke-dasharray:4 4}
.ux-pendel-low{stroke:#c9bba3;stroke-width:1.4;stroke-dasharray:6 5}
.ux-pendel-arc{fill:none;stroke:#e6dccb;stroke-width:1.6}
.ux-pendel-ghost line{stroke:#b9ab92;stroke-width:1.6;stroke-dasharray:5 4}
.ux-pendel-ghost circle{fill:#d8cdb9;stroke:#b9ab92;stroke-width:1.6;opacity:.8}
.ux-pendel-hl{stroke:var(--ux-violet);stroke-width:1.4;stroke-dasharray:4 4}
.ux-pendel-br line{stroke:var(--ux-violet);stroke-width:2}
.ux-pendel-br path{fill:var(--ux-violet)}
.ux-pendel-str{stroke:var(--ux-dark);stroke-width:2}
.ux-pendel-bob{fill:var(--ux-orange);stroke:#a8661d;stroke-width:2}
.ux-pendel-piv{fill:var(--ux-dark)}
.ux-pendel-ok{fill:none;stroke:var(--ux-green);stroke-width:3}
.ux-pendel-box{fill:#fff;stroke:var(--ux-line);stroke-width:1.5}
.ux-pendel-read{font:600 15px/1 'Fredoka',sans-serif;fill:var(--ux-dark)}
.ux-pendel-tools{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}
.ux-pendel-tools .ux-pendel-l,.ux-pendel-tools .ux-pendel-r{min-width:52px;font-size:16px;padding:8px 14px}
.ux-pendel-w.done .ux-pendel-svg{cursor:default}
/* schmale Ansicht */
.ux-pendel-svg.kompakt .ux-pendel-read{font-size:19px}
@media(prefers-reduced-motion:reduce){.ux-pendel-bob,.ux-pendel-str{transition:none}}

/* ---- Widget: polung ---- */
.ux[data-ux="polung"] .ux-polung-ask{font-family:'Fredoka',sans-serif;font-size:16px;color:var(--ux-dark);margin:0 0 10px;padding:9px 12px;background:#fff;border:1.5px solid var(--ux-line);border-radius:10px;line-height:1.45}
.ux[data-ux="polung"] .ux-polung-nr{display:inline-block;font-size:12.5px;font-weight:600;color:#fff;background:var(--ux-violet);border-radius:999px;padding:2px 9px;margin-right:6px;vertical-align:1px}
.ux[data-ux="polung"] .ux-polung-stage{background:var(--ux-paper);border:1.5px solid var(--ux-line);border-radius:12px;padding:8px}
.ux[data-ux="polung"] .ux-polung-svg{display:block;width:100%;height:auto;margin:0 auto;font-family:'Fredoka',sans-serif}
.ux[data-ux="polung"] .ux-polung-draht{stroke:#2f2f2f;stroke-width:2.6;fill:none;stroke-linecap:round;stroke-linejoin:round}
.ux[data-ux="polung"] .ux-polung-dot{fill:#2f2f2f}
.ux[data-ux="polung"] .ux-polung-frei{fill:#faf6ee}
.ux[data-ux="polung"] .ux-polung-plus{stroke:#2f2f2f;stroke-width:2.6}
.ux[data-ux="polung"] .ux-polung-minus{stroke:#2f2f2f;stroke-width:7}
.ux[data-ux="polung"] .ux-polung-vz{font:600 20px 'Fredoka',sans-serif;fill:#2f2f2f}
.ux[data-ux="polung"] .ux-polung-d{cursor:pointer;outline:none}
.ux[data-ux="polung"] .ux-polung-hit{fill:transparent;stroke:transparent;stroke-width:3;rx:8}
.ux[data-ux="polung"] .ux-polung-sym{transition:transform .2s}
.ux[data-ux="polung"] .ux-polung-dr{fill:#5b8bd8;stroke:#2c5fb5;stroke-width:2;stroke-linejoin:round}
.ux[data-ux="polung"] .ux-polung-db{stroke:#2c5fb5;stroke-width:3.2;stroke-linecap:round}
.ux[data-ux="polung"] .ux-polung-d:hover .ux-polung-hit{fill:#eef3fb}
.ux[data-ux="polung"] .ux-polung-d:focus-visible .ux-polung-hit{stroke:#f4d03f;stroke-width:4;fill:#fdf6d3}
.ux[data-ux="polung"] .ux-polung-d.fest{cursor:default}
.ux[data-ux="polung"] .ux-polung-d.fest .ux-polung-dr{fill:#c9c2b4;stroke:#6b5f53}
.ux[data-ux="polung"] .ux-polung-d.fest .ux-polung-db{stroke:#6b5f53}
.ux[data-ux="polung"] .ux-polung-lab{font:600 14px 'Fredoka',sans-serif;fill:#6b5f53}
.ux[data-ux="polung"] .ux-polung-glas{fill:#fff;stroke:#2f2f2f;stroke-width:2.4;transition:fill .2s}
.ux[data-ux="polung"] .ux-polung-x{stroke:#2f2f2f;stroke-width:2}
.ux[data-ux="polung"] .ux-polung-halo{fill:#f4d03f;opacity:0;transition:opacity .2s}
.ux[data-ux="polung"] .ux-polung-lampe.an .ux-polung-glas{fill:#f4d03f}
.ux[data-ux="polung"] .ux-polung-lampe.an .ux-polung-halo{opacity:.4}
.ux[data-ux="polung"].ux-polung-kurz .ux-polung-stage{border-color:var(--ux-red);background:#fdf0ee}
.ux.done[data-ux="polung"] .ux-polung-d{cursor:default}
@media(max-width:560px){.ux[data-ux="polung"] .ux-polung-stage{padding:3px}.ux[data-ux="polung"] .ux-polung-lab{font-size:17px}}
@media(prefers-reduced-motion:reduce){.ux[data-ux="polung"] .ux-polung-sym{transition:none}.ux[data-ux="polung"] .ux-polung-glas{transition:none}.ux[data-ux="polung"] .ux-polung-halo{transition:none}}

/* ---- Widget: portfolio ---- */
.ux[data-ux="portfolio"]{font-family:'Fredoka',sans-serif}
.ux[data-ux="portfolio"] .ux-pf-pool{display:flex;flex-wrap:wrap;gap:8px;min-height:50px;padding:10px;margin:6px 0 10px;background:var(--ux-paper);border:1.5px dashed var(--ux-line);border-radius:12px}
.ux[data-ux="portfolio"] .ux-pf-pool.hover{border-color:var(--ux-violet);background:#f3effa}
.ux[data-ux="portfolio"] .ux-pf-card{position:relative;font:500 14.5px/1.25 'Fredoka',sans-serif;color:var(--ux-dark);background:#fff;border:2px solid #b9ab92;border-radius:9px;padding:6px 10px;cursor:grab;touch-action:none;user-select:none;-webkit-user-select:none;max-width:100%;overflow-wrap:anywhere;text-align:left;transition:transform .12s,box-shadow .12s}
.ux[data-ux="portfolio"] .ux-pf-card:hover{border-color:var(--ux-violet)}
.ux[data-ux="portfolio"] .ux-pf-card:focus-visible{outline:3px solid var(--ux-yellow);outline-offset:2px}
.ux[data-ux="portfolio"] .ux-pf-card.sel{border-color:var(--ux-violet);background:#f3effa;box-shadow:0 0 0 3px rgba(124,95,181,.25)}
.ux[data-ux="portfolio"] .ux-pf-card.zieht{z-index:20;cursor:grabbing;box-shadow:0 6px 16px rgba(47,47,47,.25);transition:none}
.ux[data-ux="portfolio"] .ux-pf-card.ok{border-color:var(--ux-green);background:#f1f8ec}
.ux[data-ux="portfolio"] .ux-pf-card.bad{border-color:var(--ux-red);background:#fdf0ee}
.ux[data-ux="portfolio"] .ux-pf-fb{margin-left:6px;font-weight:700}
.ux[data-ux="portfolio"] .ux-pf-card.ok .ux-pf-fb{color:var(--ux-green-d)}
.ux[data-ux="portfolio"] .ux-pf-card.bad .ux-pf-fb{color:var(--ux-red)}
.ux[data-ux="portfolio"] .ux-pf-feld{display:grid;grid-template-columns:26px minmax(0,1fr);grid-template-rows:auto auto;gap:4px;background:var(--ux-paper);border:1.5px solid var(--ux-line);border-radius:12px;padding:10px 10px 8px 4px}
.ux[data-ux="portfolio"] .ux-pf-yax{grid-row:1;grid-column:1;display:flex;align-items:center;justify-content:center;position:relative}
.ux[data-ux="portfolio"] .ux-pf-yax span{writing-mode:vertical-rl;transform:rotate(180deg);font-size:14px;font-weight:600;color:var(--ux-dark);white-space:nowrap}
.ux[data-ux="portfolio"] .ux-pf-yax::after{content:'';position:absolute;top:0;left:50%;margin-left:-6px;border:6px solid transparent;border-bottom:10px solid var(--ux-dark);border-top:0}
.ux[data-ux="portfolio"] .ux-pf-xax{grid-row:2;grid-column:2;position:relative;text-align:center;font-size:14px;font-weight:600;color:var(--ux-dark);padding:2px 16px 0}
.ux[data-ux="portfolio"] .ux-pf-xax::after{content:'';position:absolute;right:0;top:50%;margin-top:-6px;border:6px solid transparent;border-left:10px solid var(--ux-dark);border-right:0}
.ux[data-ux="portfolio"] .ux-pf-grid{grid-row:1;grid-column:2;display:grid;grid-template-columns:auto repeat(var(--pf-nx,2),minmax(0,1fr));gap:0;border-left:2px solid var(--ux-dark);border-bottom:0}
.ux[data-ux="portfolio"] .ux-pf-rh{display:flex;align-items:center;justify-content:flex-end;font-size:13px;color:#6b5f53;padding:0 6px;max-width:92px;text-align:right;line-height:1.2}
.ux[data-ux="portfolio"] .ux-pf-ecke{min-height:0}
.ux[data-ux="portfolio"] .ux-pf-ch{font-size:13px;color:#6b5f53;text-align:center;padding:4px 4px 0;border-top:2px solid var(--ux-dark);line-height:1.2}
.ux[data-ux="portfolio"] .ux-pf-cell{min-height:96px;min-width:0;display:flex;flex-wrap:wrap;align-content:flex-start;gap:6px;padding:8px;background:#fff;border:1px dashed #d9cdb8;transition:background .12s}
.ux[data-ux="portfolio"] .ux-pf-cell.alt{background:#fdfaf3}
.ux[data-ux="portfolio"] .ux-pf-cell:focus-visible{outline:3px solid var(--ux-yellow);outline-offset:-3px}
.ux[data-ux="portfolio"].ux-pf-wahl .ux-pf-cell{cursor:pointer}
.ux[data-ux="portfolio"].ux-pf-wahl .ux-pf-cell:hover,.ux[data-ux="portfolio"] .ux-pf-cell.hover{background:#f3effa;border-color:var(--ux-violet)}
.ux[data-ux="portfolio"].done .ux-pf-card{cursor:default}
.ux[data-ux="portfolio"] .ux-pf-kurz{display:none}
@media(max-width:560px){.ux[data-ux="portfolio"] .ux-pf-feld{grid-template-columns:20px minmax(0,1fr);padding:8px 6px 6px 2px}.ux[data-ux="portfolio"] .ux-pf-rh{font-size:12px;padding:4px 2px;max-width:none;writing-mode:vertical-rl;transform:rotate(180deg);justify-content:center;text-align:center}.ux[data-ux="portfolio"] .ux-pf-ecke{writing-mode:horizontal-tb;transform:none}.ux[data-ux="portfolio"] .ux-pf-ch{font-size:12px}.ux[data-ux="portfolio"] .ux-pf-cell{padding:5px;gap:4px;min-height:84px}.ux[data-ux="portfolio"] .ux-pf-card{font-size:13px;padding:4px 7px}.ux[data-ux="portfolio"] .ux-pf-cell .ux-pf-card{font-size:12.5px;padding:4px 6px;overflow-wrap:break-word;hyphens:auto;-webkit-hyphens:auto}}
@media(max-width:560px){.ux[data-ux="portfolio"] .ux-pf-cell .ux-pf-card[data-kurz] .ux-pf-lang{display:none}.ux[data-ux="portfolio"] .ux-pf-cell .ux-pf-card[data-kurz] .ux-pf-kurz{display:inline}.ux[data-ux="portfolio"] .ux-pf-feld{grid-template-columns:minmax(0,1fr);padding:8px 6px 6px}.ux[data-ux="portfolio"] .ux-pf-yax{grid-row:1;grid-column:1;justify-content:flex-start;padding-left:2px}.ux[data-ux="portfolio"] .ux-pf-yax span{writing-mode:horizontal-tb;transform:none;font-size:13px}.ux[data-ux="portfolio"] .ux-pf-yax span::before{content:"↑ "}.ux[data-ux="portfolio"] .ux-pf-yax::after{display:none}.ux[data-ux="portfolio"] .ux-pf-grid{grid-row:2;grid-column:1}.ux[data-ux="portfolio"] .ux-pf-xax{grid-row:3;grid-column:1;font-size:13px}.ux[data-ux="portfolio"] .ux-pf-cell{padding:4px;gap:4px}.ux[data-ux="portfolio"] .ux-pf-cell .ux-pf-card{font-size:12px;padding:3px 5px}}
@media(prefers-reduced-motion:reduce){.ux[data-ux="portfolio"] .ux-pf-card{transition:none}.ux[data-ux="portfolio"] .ux-pf-cell{transition:none}}

/* ---- Widget: portionen ---- */
.ux-por-kopf{display:flex;flex-wrap:wrap;justify-content:space-between;gap:6px 14px;align-items:baseline;font-family:'Fredoka',sans-serif;margin:4px 0 6px}
.ux-por-wert{font-weight:600;color:var(--ux-dark);background:#fff;border:1.5px solid var(--ux-line);border-radius:8px;padding:3px 10px;font-size:15px}
.ux-por-rest{font-size:14.5px;color:#7a6c58}
.ux-por-rest.leer{color:var(--ux-green-d);font-weight:600}
.ux-por-vorrat{display:flex;flex-wrap:wrap;gap:4px;min-height:22px;padding:6px 8px;border:1.5px dashed #c9bba3;border-radius:10px;background:#fff;margin-bottom:10px}
.ux-por-list{display:grid;gap:8px}
.ux-por-row{display:grid;grid-template-columns:minmax(0,12em) minmax(0,1fr);align-items:center;gap:10px;background:var(--ux-paper);border:1.5px solid var(--ux-line);border-radius:10px;padding:8px 12px;font-family:'Fredoka',sans-serif}
.ux-por-lab{font-size:15.5px;color:var(--ux-dark);overflow-wrap:anywhere}
.ux-por-ctrl{display:grid;grid-template-columns:38px minmax(0,1fr) 38px 2em 18px;align-items:center;gap:8px}
.ux-por-btn{width:38px;height:38px;border-radius:50%;border:2px solid var(--ux-violet);background:#fff;color:var(--ux-violet);font:600 22px/1 'Fredoka',sans-serif;cursor:pointer;padding:0;transition:transform .12s}
.ux-por-btn:hover:not([disabled]){transform:scale(1.07)}
.ux-por-btn[disabled]{opacity:.35;cursor:default}
.ux-por-btn:focus-visible,.ux-por-pk:focus-visible{outline:3px solid var(--ux-yellow);outline-offset:2px}
.ux-por-pk{display:flex;flex-wrap:wrap;gap:4px;min-height:30px;align-items:center;padding:4px 6px;border-radius:8px;background:#fff;border:1.5px solid #e6ded0;cursor:default}
.ux-por-n{font-weight:600;font-size:17px;text-align:right;color:var(--ux-dark)}
.ux-por-fb{font-weight:700;text-align:center}
.ux-por-tok{display:inline-block;width:14px;height:14px;border-radius:4px;background:var(--ux-orange);box-shadow:inset 0 -2px 0 rgba(0,0,0,.15)}
.ux-por-tok.frei{background:#d8ccb6}
.ux-por-tok.neu{animation:uxPorPop .22s ease-out}
.ux-por-row.c0 .ux-por-tok{background:var(--ux-blue)}
.ux-por-row.c1 .ux-por-tok{background:var(--ux-orange)}
.ux-por-row.c2 .ux-por-tok{background:var(--ux-green)}
.ux-por-row.c3 .ux-por-tok{background:var(--ux-red)}
.ux-por-row.c4 .ux-por-tok{background:var(--ux-violet)}
.ux-por-row.c5 .ux-por-tok{background:var(--ux-yellow)}
.ux-por-row.ok{border-color:var(--ux-green);background:#f1f8ec}
.ux-por-row.bad{border-color:var(--ux-red);background:#fdf0ee}
.ux-por-row.ok .ux-por-fb{color:var(--ux-green-d)}.ux-por-row.bad .ux-por-fb{color:var(--ux-red)}
@keyframes uxPorPop{from{transform:scale(.3);opacity:.2}to{transform:scale(1);opacity:1}}
@media(max-width:560px){.ux-por-row{grid-template-columns:1fr;gap:6px;padding:8px}.ux-por-ctrl{grid-template-columns:36px minmax(0,1fr) 36px 1.8em 16px;gap:6px}.ux-por-btn{width:36px;height:36px}.ux-por-tok{width:12px;height:12px}}
@media(prefers-reduced-motion:reduce){.ux-por-btn{transition:none}.ux-por-tok.neu{animation:none}}

/* ---- Widget: portionswaage ---- */
.ux-portionswaage-w .ux-pwg-grid{display:grid;grid-template-columns:minmax(0,0.9fr) minmax(0,1.1fr);gap:14px;align-items:start;font-family:'Fredoka',sans-serif}
.ux-portionswaage-w .ux-pwg-grid>*{min-width:0}
.ux-portionswaage-w .ux-pwg-tab{width:100%;border-collapse:separate;border-spacing:0;background:#fff;border:1.5px solid var(--ux-line);border-radius:10px;overflow:hidden;font-family:'Fredoka',sans-serif;font-size:15px}
.ux-portionswaage-w .ux-pwg-tab caption{caption-side:top;text-align:left;font-weight:600;color:var(--ux-dark);padding:0 0 6px}
.ux-portionswaage-w .ux-pwg-tab th,.ux-portionswaage-w .ux-pwg-tab td{padding:7px 10px;border-bottom:1px solid #eee5d6;text-align:left;color:var(--ux-dark)}
.ux-portionswaage-w .ux-pwg-tab thead th{background:#f4ede0;font-weight:600;font-size:13.5px}
.ux-portionswaage-w .ux-pwg-tab td{text-align:right;white-space:nowrap}
.ux-portionswaage-w .ux-pwg-tab tbody th{font-weight:500}
.ux-portionswaage-w .ux-pwg-tab tbody tr:last-child th,.ux-portionswaage-w .ux-pwg-tab tbody tr:last-child td{border-bottom:0}
.ux-portionswaage-w .ux-pwg-tab tr.aktiv th,.ux-portionswaage-w .ux-pwg-tab tr.aktiv td{background:#efe9f8;color:#3d2a6b;font-weight:600}
.ux-portionswaage-w .ux-pwg-tab tr.fertig th::after{content:' ✓';color:var(--ux-green-d)}
.ux-portionswaage-w .ux-pwg-q{margin:0 0 8px;font-family:'Fredoka',sans-serif;font-size:16px;color:var(--ux-dark);min-height:24px}
.ux-portionswaage-w .ux-pwg-nr{display:inline-block;background:#7c5fb5;color:#fff;border-radius:999px;padding:1px 10px;font-size:13px;font-weight:600;margin-right:4px}
.ux-portionswaage-w .ux-pwg-stage{background:#faf6ee;border:1.5px solid var(--ux-line);border-radius:12px;padding:4px}
.ux-portionswaage-w .ux-pwg-svg{display:block;width:100%;max-width:480px;height:auto;margin:0 auto;touch-action:none;font-family:'Fredoka',sans-serif}
.ux-portionswaage-w .ux-pwg-disp{fill:#f4d03f;font:600 19px 'Fredoka',sans-serif}
.ux-portionswaage-w .ux-pwg-tick{fill:#6b5f53;font:500 13px 'Fredoka',sans-serif}
.ux-portionswaage-w .ux-pwg-knob{cursor:grab;outline:none}
.ux-portionswaage-w .ux-pwg-knob:focus-visible .ux-pwg-kc{stroke:#f4d03f;stroke-width:5}
.ux-portionswaage-w .ux-pwg-food{transition:d .15s}
.ux-portionswaage-w .ux-pwg-btns{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-top:8px}
.ux-portionswaage-w .ux-pwg-step{min-width:64px;font:600 15px 'Fredoka',sans-serif;padding:7px 12px;border-radius:9px;border:1.5px solid var(--ux-line);background:#fff;color:var(--ux-dark);cursor:pointer}
.ux-portionswaage-w .ux-pwg-step:focus-visible{outline:3px solid var(--ux-yellow);outline-offset:2px}
.ux-portionswaage-w .ux-pwg-svg.ux-pwg-blink{animation:uxPwgBlink .5s ease-out}
@keyframes uxPwgBlink{0%{filter:brightness(1.15)}100%{filter:none}}
.ux-portionswaage-w.done .ux-pwg-knob{cursor:default}
@media(max-width:560px){.ux-portionswaage-w .ux-pwg-tick{font-size:19px}.ux-portionswaage-w .ux-pwg-disp{font-size:24px}}
@media(max-width:640px){.ux-portionswaage-w .ux-pwg-grid{grid-template-columns:minmax(0,1fr)}.ux-portionswaage-w .ux-pwg-tab{font-size:14px}.ux-portionswaage-w .ux-pwg-tab th,.ux-portionswaage-w .ux-pwg-tab td{padding:6px 7px}.ux-portionswaage-w .ux-pwg-tab thead th{font-size:12.5px}.ux-portionswaage-w .ux-pwg-step{min-width:0;padding:7px 9px}}
@media(prefers-reduced-motion:reduce){.ux-portionswaage-w .ux-pwg-food{transition:none}.ux-portionswaage-w .ux-pwg-svg.ux-pwg-blink{animation:none}}

/* ---- Widget: pruefer ---- */
.ux-pr{display:grid;grid-template-columns:minmax(0,1fr);gap:8px;background:var(--ux-paper);border:1.5px solid var(--ux-line);border-radius:12px;padding:10px 12px;font-family:'Fredoka',sans-serif}
.ux-pr-svg{display:block;width:100%;max-width:520px;height:auto;margin:0 auto}
.ux-pr-wire{stroke:#2f2f2f;stroke-width:3;stroke-linecap:round}
.ux-pr-plate{stroke:#2f2f2f;stroke-width:3;stroke-linecap:round}
.ux-pr-plate.thick{stroke-width:7}
.ux-pr-bulb{fill:#fff;stroke:#2f2f2f;stroke-width:3;transition:fill .3s}
.ux-pr-bulb.an{fill:#fff6c9}
.ux-pr-fil{stroke:#2f2f2f;stroke-width:2.4;stroke-linecap:round}
.ux-pr-glow{fill:#f4d03f;transition:opacity .35s}
.ux-pr-meter{fill:#fff;stroke:#2c5fb5;stroke-width:3}
.ux-pr-mtxt{font:600 19px 'Fredoka',sans-serif;fill:#2c5fb5}
.ux-pr-clamp{fill:#7a6a55;stroke:#2f2f2f;stroke-width:2}
.ux-pr-probe-g{fill:#b9ab92;stroke:#2f2f2f;stroke-width:2}
.ux-pr-ptxt{font:600 15px 'Fredoka',sans-serif;fill:#2f2f2f}
.ux-pr-leer{font:500 13px 'Fredoka',sans-serif;fill:#9a8b72}
.ux-pr-fl1{fill:#e79a3a}
.ux-pr-fl2{fill:#f4d03f}
.ux-pr-flame{transform-origin:240px 232px;animation:ux-pr-flacker .5s ease-in-out infinite alternate}
@keyframes ux-pr-flacker{from{transform:scaleY(.92)}to{transform:scaleY(1.06)}}
.ux-pr-ctrl{display:flex;flex-wrap:wrap;align-items:center;gap:10px}
.ux-pr-heat{font:600 14px/1 'Fredoka',sans-serif;cursor:pointer;padding:9px 14px;border-radius:9px;border:1.5px solid var(--ux-orange);background:#fff;color:#a8601a}
.ux-pr-heat[aria-pressed="true"]{background:var(--ux-orange);color:#fff}
.ux-pr-heat[disabled]{opacity:.45;cursor:default}
.ux-pr-heat:focus-visible{outline:3px solid var(--ux-yellow);outline-offset:2px}
.ux-pr-disp{font-size:14px;color:#6b5f53;flex:1 1 220px;min-width:0}
.ux-pr-list{display:grid;gap:8px;margin-top:10px}
.ux-pr-row{display:grid;grid-template-columns:minmax(130px,auto) minmax(0,1fr) auto 18px;align-items:center;gap:8px 10px;background:#fff;border:1.5px solid var(--ux-line);border-radius:10px;padding:8px 10px;font-family:'Fredoka',sans-serif}
.ux-pr-row.drin{border-color:var(--ux-violet);box-shadow:0 0 0 2px rgba(124,95,181,.18)}
.ux-pr-row.ok{border-color:var(--ux-green);background:#f1f8ec}
.ux-pr-row.bad{border-color:var(--ux-red);background:#fdf0ee}
.ux-pr-probe{font:600 14.5px/1.2 'Fredoka',sans-serif;cursor:pointer;text-align:left;padding:8px 11px;border-radius:9px;border:1.5px solid #b9ab92;background:var(--ux-paper);color:var(--ux-dark)}
.ux-pr-probe[aria-pressed="true"]{border-color:var(--ux-violet);background:var(--ux-violet);color:#fff}
.ux-pr-probe:focus-visible,.ux-pr-opt:focus-visible{outline:3px solid var(--ux-yellow);outline-offset:2px}
.ux-pr-probe[disabled]{cursor:default}
.ux-pr-log{font-size:13.5px;color:#6b5f53;overflow-wrap:anywhere}
.ux-pr-cls{display:flex;flex-wrap:wrap;gap:5px}
.ux-pr-opt{font:600 13px/1 'Fredoka',sans-serif;cursor:pointer;padding:7px 10px;border-radius:999px;border:1.5px solid var(--ux-line);background:#fff;color:var(--ux-dark)}
.ux-pr-opt.gesetzt{border-color:var(--ux-blue-d);background:var(--ux-blue-d);color:#fff}
.ux-pr-opt[disabled]{opacity:.4;cursor:default}
.ux-pr-fb{font-weight:700;text-align:center}
.ux-pr-row.ok .ux-pr-fb{color:var(--ux-green-d)}.ux-pr-row.bad .ux-pr-fb{color:var(--ux-red)}
@media(max-width:640px){.ux-pr-row{grid-template-columns:minmax(0,1fr) 18px;padding:7px 8px;gap:6px}.ux-pr-opt{font-size:12px;padding:6px 8px}.ux-pr-cls{gap:4px}.ux-pr-mtxt{font-size:21px}.ux-pr-ptxt{font-size:21px}.ux-pr-leer{font-size:19px}.ux-pr-log{grid-column:1 / -1}.ux-pr-cls{grid-column:1 / -1}.ux-pr-fb{grid-row:1;grid-column:2}.ux-pr{padding:8px}}
@media(prefers-reduced-motion:reduce){.ux-pr-flame{animation:none}.ux-pr-glow{transition:none}.ux-pr-bulb{transition:none}}

/* ---- Widget: relation ---- */
.ux-rel{display:grid;gap:8px}
.ux-rel-row{display:grid;grid-template-columns:minmax(0,1fr) 52px minmax(0,1fr) 22px;align-items:center;gap:10px;background:var(--ux-paper);border:1.5px solid var(--ux-line);border-radius:10px;padding:8px 12px;font-family:'Fredoka',sans-serif}
.ux-rel-l,.ux-rel-r{font-size:16px;color:var(--ux-dark);overflow-wrap:anywhere}
.ux-rel-l{text-align:right}
.ux-rel-op{width:46px;height:46px;border-radius:50%;border:2px dashed #b9ab92;background:#fff;color:#9a8b72;font:600 24px/1 'Fredoka',sans-serif;cursor:pointer;justify-self:center;transition:transform .15s}
.ux-rel-op.gesetzt{border-style:solid;border-color:var(--ux-violet);color:var(--ux-violet)}
.ux-rel-op:hover{transform:scale(1.06)}
.ux-rel-op:focus-visible{outline:3px solid var(--ux-yellow);outline-offset:2px}
.ux-rel-row.ok{border-color:var(--ux-green);background:#f1f8ec}
.ux-rel-row.ok .ux-rel-op{border-color:var(--ux-green-d);color:var(--ux-green-d)}
.ux-rel-row.bad{border-color:var(--ux-red);background:#fdf0ee}
.ux-rel-fb{font-weight:700;text-align:center}
.ux-rel-row.ok .ux-rel-fb{color:var(--ux-green-d)}.ux-rel-row.bad .ux-rel-fb{color:var(--ux-red)}
@media(max-width:560px){.ux-rel-row{grid-template-columns:minmax(0,1fr) 46px minmax(0,1fr) 16px;gap:6px;padding:8px}.ux-rel-l,.ux-rel-r{font-size:14.5px}.ux-rel-op{width:42px;height:42px}}
@media(prefers-reduced-motion:reduce){.ux-rel-op{transition:none}}

/* ---- Widget: rotor ---- */
.ux[data-ux="rotor"] .ux-ro-kopf{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 12px;margin:4px 0 8px;font-family:'Fredoka',sans-serif}
.ux[data-ux="rotor"] .ux-ro-nr{font-size:13px;font-weight:600;color:#fff;background:var(--ux-violet);border-radius:999px;padding:2px 10px;white-space:nowrap}
.ux[data-ux="rotor"] .ux-ro-q{margin:0;flex:1 1 260px;font-size:16px;font-weight:500;color:var(--ux-dark)}
.ux[data-ux="rotor"] .ux-ro-buehne{background:var(--ux-paper);border:1.5px solid var(--ux-line);border-radius:12px;padding:8px;min-width:0}
.ux[data-ux="rotor"] .ux-ro-svg{display:block;width:100%;max-width:520px;height:auto;margin:0 auto;touch-action:none;cursor:grab;border-radius:8px}
.ux[data-ux="rotor"] .ux-ro-svg:focus-visible{outline:3px solid var(--ux-yellow);outline-offset:2px}
.ux[data-ux="rotor"] .ux-ro-nord{fill:var(--ux-red)}
.ux[data-ux="rotor"] .ux-ro-sued{fill:var(--ux-green-d)}
.ux[data-ux="rotor"] .ux-ro-pollab{font:600 40px 'Fredoka',sans-serif;fill:#fff}
.ux[data-ux="rotor"] .ux-ro-feld line{stroke:#c9bca6;stroke-width:1.6}
.ux[data-ux="rotor"] .ux-ro-feld path{fill:#c9bca6}
.ux[data-ux="rotor"] .ux-ro-bahn{fill:none;stroke:#b9ab92;stroke-width:1.6;stroke-dasharray:6 6}
.ux[data-ux="rotor"] .ux-ro-bogen{fill:none;stroke:var(--ux-violet);stroke-width:3;stroke-linecap:round}
.ux[data-ux="rotor"] .ux-ro-bogenspitze{fill:var(--ux-violet)}
.ux[data-ux="rotor"] .ux-ro-geist line{stroke:#9a8b72;stroke-width:3;stroke-dasharray:7 6}
.ux[data-ux="rotor"] .ux-ro-geist circle{fill:none;stroke:#9a8b72;stroke-width:2.2;stroke-dasharray:6 5}
.ux[data-ux="rotor"] .ux-ro-stab{stroke:var(--ux-dark);stroke-width:5;stroke-linecap:round}
.ux[data-ux="rotor"] .ux-ro-achse{fill:#fff;stroke:var(--ux-dark);stroke-width:3}
.ux[data-ux="rotor"] .ux-ro-seite.a .ux-ro-leiter{fill:#dce7f8;stroke:var(--ux-blue-d);stroke-width:3.2}
.ux[data-ux="rotor"] .ux-ro-seite.b .ux-ro-leiter{fill:#fbe9d2;stroke:var(--ux-orange);stroke-width:3.2}
.ux[data-ux="rotor"] .ux-ro-punkt{fill:var(--ux-dark)}
.ux[data-ux="rotor"] .ux-ro-kreuz{stroke:var(--ux-dark);stroke-width:3;stroke-linecap:round}
.ux[data-ux="rotor"] .ux-ro-fpf{stroke-width:5;stroke-linecap:round}
.ux[data-ux="rotor"] .ux-ro-fpf.ok{stroke:var(--ux-green-d)}.ux[data-ux="rotor"] .ux-ro-fsp.ok{fill:var(--ux-green-d)}
.ux[data-ux="rotor"] .ux-ro-fpf.bad{stroke:var(--ux-red)}.ux[data-ux="rotor"] .ux-ro-fsp.bad{fill:var(--ux-red)}
.ux[data-ux="rotor"] .ux-ro-ref rect{fill:#fff;stroke:var(--ux-line);stroke-width:1.5}
.ux[data-ux="rotor"] .ux-ro-reftxt{font:500 15px 'Fredoka',sans-serif;fill:var(--ux-dark)}
.ux[data-ux="rotor"] .ux-ro-ref.schmal .ux-ro-reftxt{font-size:23px}
.ux[data-ux="rotor"] .ux-ro-mini{fill:#fff;stroke:var(--ux-dark);stroke-width:2.2}
.ux[data-ux="rotor"] .ux-ro-ref .ux-ro-kreuz{stroke-width:2.4}
.ux[data-ux="rotor"] .ux-ro-refpf{stroke:var(--ux-violet);stroke-width:3;stroke-linecap:round}
.ux[data-ux="rotor"] .ux-ro-refsp{fill:var(--ux-violet)}
.ux[data-ux="rotor"] .ux-ro-hit{fill:transparent}
.ux[data-ux="rotor"] .ux-ro-steuer{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:8px}
.ux[data-ux="rotor"] .ux-ro-steuer .ux-btn{font-family:'Fredoka',sans-serif}
.ux[data-ux="rotor"] .ux-ro-pol[aria-pressed="true"]{background:#efe8f8;border-color:var(--ux-violet);color:#3d2a6b}
.ux[data-ux="rotor"] .ux-ro-steuer .ux-btn:focus-visible{outline:3px solid var(--ux-yellow);outline-offset:2px}
@media(max-width:560px){.ux[data-ux="rotor"] .ux-ro-buehne{padding:4px}.ux[data-ux="rotor"] .ux-ro-q{font-size:15px}}

/* ---- Widget: saeulen ---- */
.ux-saeulen-layer,.ux-saeulen-frame{display:none}
.ux-saeulen-stage{background:var(--ux-paper);border:1.5px solid var(--ux-line);border-radius:11px;padding:8px;max-width:680px}
.ux-saeulen-svg{display:block;width:100%;height:auto;border-radius:8px;font-family:'Fredoka',sans-serif}
.ux-saeulen-grid line{stroke:#e6e0d4;stroke-width:1}
.ux-saeulen-tick{font:500 11px/1 'Fredoka',sans-serif;fill:#6b5f53}
.ux-saeulen-base{stroke:var(--ux-dark);stroke-width:2}
.ux-saeulen-lab{font:600 14px/1 'Fredoka',sans-serif;fill:var(--ux-dark)}
.ux-saeulen-sub{font:500 11px/1 'Fredoka',sans-serif;fill:#8c7d66}
.ux-saeulen-val{font:600 12.5px/1 'Fredoka',sans-serif}
.ux-saeulen-arr{fill:none;stroke:#b9ab92;stroke-width:2;stroke-linecap:round}
.ux-saeulen-frm{fill:none;stroke:transparent;stroke-width:2.6}
.ux-saeulen-col.fest .ux-saeulen-frm{stroke:#b9ab92;stroke-dasharray:5 4;stroke-width:1.6}
.ux-saeulen-frm.ok{stroke:var(--ux-green);stroke-dasharray:none}
.ux-saeulen-frm.bad{stroke:var(--ux-red);stroke-dasharray:none}
.ux-saeulen-h{cursor:ns-resize;touch-action:none;outline:none}
.ux-saeulen-hit{fill:transparent}
.ux-saeulen-pill{fill:#fff;stroke:var(--ux-dark);stroke-width:2;transition:fill .12s}
.ux-saeulen-h:hover .ux-saeulen-pill{fill:var(--ux-yellow)}
.ux-saeulen-h:focus-visible .ux-saeulen-pill{fill:var(--ux-yellow);stroke-width:3}
.ux-saeulen-w.done .ux-saeulen-h{cursor:default}
.ux-saeulen-legend{display:flex;flex-wrap:wrap;gap:6px 16px;margin-top:8px;font:500 14px/1.3 'Fredoka',sans-serif;color:var(--ux-dark)}
.ux-saeulen-legend span{display:inline-flex;align-items:center;gap:6px}
.ux-saeulen-sw{display:inline-block;width:14px;height:14px;border-radius:3px}
.ux-saeulen-sw.c-blau{background:#5b8bd8}.ux-saeulen-sw.c-rot{background:#e2574c}.ux-saeulen-sw.c-orange{background:#e79a3a}
.ux-saeulen-sw.c-gruen{background:#67b05f}.ux-saeulen-sw.c-violett{background:#7c5fb5}.ux-saeulen-sw.c-gelb{background:#f4d03f}
/* schmale Ansicht: Werte in den Säulen, größere Schrift */
.ux-saeulen-svg.kompakt .ux-saeulen-val.in{font-size:15px;fill:#fff}
.ux-saeulen-svg.kompakt .ux-saeulen-tick{font-size:14px}
.ux-saeulen-svg.kompakt .ux-saeulen-lab{font-size:15px}
.ux-saeulen-svg.kompakt .ux-saeulen-sub{font-size:13px}
@media(prefers-reduced-motion:reduce){.ux-saeulen-pill{transition:none}}

/* ---- Widget: schalen ---- */
.ux-sch-ask{font-family:'Fredoka',sans-serif;font-size:16px;color:var(--ux-dark);margin:0 0 10px;padding:9px 12px;background:#fff;border:1.5px solid var(--ux-line);border-radius:10px;line-height:1.45}
.ux-sch-nr{display:inline-block;font-size:12.5px;font-weight:600;color:#fff;background:var(--ux-violet);border-radius:999px;padding:2px 9px;margin-right:6px;vertical-align:1px}
.ux-sch{display:grid;grid-template-columns:minmax(0,320px) minmax(0,1fr);gap:16px;align-items:center;background:var(--ux-paper);border:1.5px solid var(--ux-line);border-radius:12px;padding:12px;font-family:'Fredoka',sans-serif}
.ux-sch-svg{width:100%;max-width:320px;height:auto;display:block;margin:0 auto;touch-action:manipulation}
.ux-sch-orbit{fill:none;stroke:#cbbfa9;stroke-width:2;stroke-dasharray:5 5}
.ux-sch-hit{fill:none;stroke:transparent;stroke-width:22;cursor:pointer}
.ux-sch-ring:hover .ux-sch-orbit{stroke:var(--ux-blue)}
.ux-sch-rl{font:600 15px 'Fredoka',sans-serif;fill:#8a7c66}
.ux-sch-slot{fill:#fff;stroke:#d9cdb8;stroke-width:1.6}
.ux-sch-e{fill:var(--ux-blue-d);stroke:#fff;stroke-width:1.6;transition:r .15s}
.ux-sch-em{stroke:#fff;stroke-width:2;stroke-linecap:round;pointer-events:none}
.ux-sch-kern{fill:#e79a3a;stroke:#c4782a;stroke-width:2}
.ux-sch-kt{font:600 15px 'Fredoka',sans-serif;fill:#fff;text-anchor:middle;pointer-events:none}
.ux-sch-kt.n{font-size:14px;fill:#fff7e8}
.ux-sch-ctrl{display:grid;gap:8px}
.ux-sch-row{display:grid;grid-template-columns:minmax(0,1fr) 40px 52px 40px;align-items:center;gap:6px;background:#fff;border:1.5px solid var(--ux-line);border-radius:10px;padding:6px 8px}
.ux-sch-lab{font-size:15px;color:var(--ux-dark);overflow-wrap:anywhere}
.ux-sch-lab small{font-size:12.5px;color:#8a7c66}
.ux-sch-pm{width:40px;height:40px;border-radius:50%;border:1.5px solid var(--ux-line);background:var(--ux-paper);font:600 22px/1 'Fredoka',sans-serif;color:var(--ux-dark);cursor:pointer;transition:background .15s}
.ux-sch-pm:hover:not([disabled]){background:#efe6d6}
.ux-sch-pm[disabled]{opacity:.35;cursor:default}
.ux-sch-pm:focus-visible,.ux-sch-val:focus-visible{outline:3px solid var(--ux-yellow);outline-offset:2px}
.ux-sch-val{display:block;text-align:center;font:600 20px/40px 'Fredoka',sans-serif;color:var(--ux-blue-d);border-radius:8px;background:#f3eee4;cursor:ns-resize}
.ux-sch-row.ok{border-color:var(--ux-green);background:#f1f8ec}
.ux-sch-row.bad{border-color:var(--ux-red);background:#fdf0ee}
.ux-sch-weiter .ux-sch{opacity:.75;transition:opacity .3s}
@media(max-width:560px){.ux-sch{grid-template-columns:minmax(0,1fr);padding:10px;gap:10px}.ux-sch-svg{max-width:260px}.ux-sch-row{grid-template-columns:38px 50px 38px;justify-content:center;gap:6px 8px;padding:6px}.ux-sch-lab{grid-column:1/-1;text-align:center}.ux-sch-pm{width:38px;height:38px}.ux-sch-lab{font-size:14px}}
@media(prefers-reduced-motion:reduce){.ux-sch-e{transition:none}.ux-sch-pm{transition:none}.ux-sch-weiter .ux-sch{transition:none}}

/* ---- Widget: schalter ---- */
.ux-swt-ask{font-family:'Fredoka',sans-serif;font-size:16px;color:var(--ux-dark);margin:0 0 10px;padding:9px 12px;background:#fff;border:1.5px solid var(--ux-line);border-radius:10px;line-height:1.45}
.ux-swt-nr{display:inline-block;font-size:12.5px;font-weight:600;color:#fff;background:var(--ux-violet);border-radius:999px;padding:2px 9px;margin-right:6px;vertical-align:1px}
.ux-swt-stage{background:var(--ux-paper);border:1.5px solid var(--ux-line);border-radius:12px;padding:10px}
.ux-swt-stage svg{display:block;width:100%;max-width:520px;height:auto;margin:0 auto}
.ux-swt-draht{stroke:#2f2f2f;stroke-width:2.6;fill:none;stroke-linecap:round;stroke-linejoin:round}
.ux-swt-dot{fill:#2f2f2f}
.ux-swt-kont{fill:#fff;stroke:#2f2f2f;stroke-width:2.2}
.ux-swt-hebel{stroke:#2f2f2f;stroke-width:3.2;stroke-linecap:round;transition:transform .2s}
.ux-swt-sw{cursor:pointer}
.ux-swt-sw .ux-swt-hit{fill:transparent}
.ux-swt-sw:hover .ux-swt-hebel{stroke:var(--ux-blue-d)}
.ux-swt-sw.zu .ux-swt-hebel{stroke:var(--ux-green-d)}
.ux-swt-lab{font:600 14px 'Fredoka',sans-serif;fill:#6b5f53}
.ux-swt-glas{fill:#fff;stroke:#2f2f2f;stroke-width:2.4;transition:fill .2s}
.ux-swt-x{stroke:#2f2f2f;stroke-width:2}
.ux-swt-halo{fill:#f4d03f;opacity:0;transition:opacity .2s}
.ux-swt-lamp.an .ux-swt-glas{fill:#f4d03f}
.ux-swt-lamp.an .ux-swt-halo{opacity:.35}
.ux-swt-plus{stroke:#2f2f2f;stroke-width:2.6}
.ux-swt-minus{stroke:#2f2f2f;stroke-width:6}
.ux-swt-kurz .ux-swt-stage{border-color:var(--ux-red);background:#fdf0ee}
.ux-swt-knoepfe{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-top:10px}
.ux-swt-btn{display:flex;flex-direction:column;align-items:center;gap:2px;min-width:86px;padding:7px 12px;border-radius:10px;border:1.5px solid var(--ux-line);background:#fff;cursor:pointer;font-family:'Fredoka',sans-serif;transition:background .15s,border-color .15s}
.ux-swt-bn{font-size:17px;font-weight:600;color:var(--ux-dark)}
.ux-swt-zst{font-size:12.5px;color:#8a7c66}
.ux-swt-btn[aria-pressed="true"]{border-color:var(--ux-green);background:#f1f8ec}
.ux-swt-btn[aria-pressed="true"] .ux-swt-zst{color:var(--ux-green-d);font-weight:600}
.ux-swt-btn:focus-visible{outline:3px solid var(--ux-yellow);outline-offset:2px}
.ux.done .ux-swt-btn,.ux.done .ux-swt-sw{cursor:default}
@media(max-width:560px){.ux-swt-stage{padding:4px}.ux-swt-btn{min-width:64px;padding:6px 8px}.ux-swt-lab{font-size:21px}.ux-swt-draht{stroke-width:3.4}.ux-swt-hebel{stroke-width:4}}
@media(prefers-reduced-motion:reduce){.ux-swt-hebel{transition:none}.ux-swt-glas{transition:none}.ux-swt-halo{transition:none}.ux-swt-btn{transition:none}}

/* ---- Widget: schaltung ---- */
.ux[data-ux="schaltung"]{font-family:'Fredoka',sans-serif}
.ux-stb-kit{display:flex;flex-wrap:wrap;gap:8px;padding:10px;border-radius:11px;background:var(--ux-paper);border:1.5px dashed var(--ux-line)}
.ux-stb-part{position:relative;display:inline-flex;flex-direction:column;align-items:center;gap:2px;padding:6px 10px 6px;min-width:84px;border-radius:10px;border:1.5px solid var(--ux-line);background:#fff;color:var(--ux-dark);font:500 12.5px/1.15 'Fredoka',sans-serif;cursor:grab;touch-action:none;transition:transform .12s}
.ux-stb-part svg{width:52px;height:34px;display:block}
.ux-stb-part .ux-stb-key{position:absolute;top:3px;left:5px;font-size:10.5px;font-weight:600;color:#9a8d7d}
.ux-stb-part:hover{transform:translateY(-1px)}
.ux-stb-part:focus-visible{outline:3px solid var(--ux-yellow);outline-offset:2px}
.ux-stb-part.picked{border-color:var(--ux-violet);background:#f6f2fc;box-shadow:0 0 0 2px #d8cdef}
.ux-stb-part[disabled]{cursor:default;opacity:.55}
.ux-stb-ghost{position:fixed;z-index:9999;pointer-events:none;opacity:.9;box-shadow:0 6px 16px rgba(0,0,0,.18)}
.ux-stb-plan{margin-top:12px}
.ux-stb-svg{display:block;width:100%;max-width:520px;height:auto;margin:0 auto;font-family:'Fredoka',sans-serif}
.ux-stb-slot{cursor:pointer;outline:none}
.ux-stb-box{fill:#fff;stroke:var(--ux-violet);stroke-width:2;stroke-dasharray:5 4;transition:stroke-width .12s}
.ux-stb-slot.voll .ux-stb-box{fill:#faf6ee;stroke:#c9bba3;stroke-dasharray:3 4}
.ux-stb-slot:hover .ux-stb-box,.ux-stb-slot.hover .ux-stb-box{stroke-width:3.2}
.ux-stb-slot:focus-visible .ux-stb-box{stroke:#e0b400;stroke-width:3.6;stroke-dasharray:none}
.ux-stb-slot.ok .ux-stb-box{stroke:var(--ux-green);stroke-width:3;stroke-dasharray:none;fill:#f1f8ec}
.ux-stb-slot.bad .ux-stb-box{stroke:var(--ux-red);stroke-width:3;stroke-dasharray:none;fill:#fdf0ee}
.ux-stb-q{font-size:20px;font-weight:600;fill:var(--ux-violet)}
.ux-stb-name{font-size:13px;font-weight:600;fill:#6b5f53}
.ux-stb-slot.pop .ux-stb-in{animation:ux-stb-pop .22s ease}
@keyframes ux-stb-pop{0%{opacity:.2}100%{opacity:1}}
.ux-schaltung-w.done .ux-stb-slot{cursor:default}
@media(max-width:560px){.ux-stb-part{min-width:70px;padding:5px 6px;font-size:11.5px}.ux-stb-part svg{width:44px;height:29px}.ux-stb-kit{gap:6px;padding:8px}}
@media(prefers-reduced-motion:reduce){.ux-stb-part{transition:none}.ux-stb-box{transition:none}.ux-stb-slot.pop .ux-stb-in{animation:none}}

/* ---- Widget: schieben ---- */
.ux-sb-kopf{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin:2px 0 6px;font-family:'Fredoka',sans-serif}
.ux-sb-nr{font-size:14px;color:#6b5f53;font-weight:500}
.ux-sb-werte{margin-left:auto;background:#fff;border:1.5px solid var(--ux-line);border-radius:9px;padding:5px 12px;font-size:16px;color:var(--ux-dark)}
.ux-sb-werte b{font-weight:600;color:var(--ux-violet)}
.ux-sb-q{margin:0 0 8px;font-family:'Fredoka',sans-serif;font-size:15.5px;color:var(--ux-dark)}
.ux-sb-q:empty{display:none}
.ux-sb-buehne{background:#faf6ee;border:1.5px solid var(--ux-line);border-radius:12px;padding:6px;overflow:hidden}
.ux-sb-svg{display:block;width:100%;max-width:680px;height:auto;margin:0 auto;touch-action:none;font-family:'Fredoka',sans-serif}
.ux-sb-gitter line{stroke:#e6ded0;stroke-width:1}
.ux-sb-boden{fill:#efe6d6}
.ux-sb-bodenlinie{stroke:#2f2f2f;stroke-width:2.4}
.ux-sb-start{fill:none;stroke:#8a7d69;stroke-width:1.6;stroke-dasharray:5 4}
.ux-sb-kiste rect{fill:#e79a3a;stroke:#9a5d16;stroke-width:2}
.ux-sb-kiste line{stroke:#9a5d16;stroke-width:2;stroke-linecap:round}
.ux-sb-kiste{cursor:grab;touch-action:none}
.ux-sb-kiste:focus{outline:none}
.ux-sb-kiste:focus-visible rect{stroke:var(--ux-yellow);stroke-width:4}
.ux-sb-pfeil line{stroke:#2c5fb5;stroke-width:5;stroke-linecap:round}
.ux-sb-pfeil path{fill:#2c5fb5}
.ux-sb-pfeil.null{opacity:0}
.ux-sb-griff{cursor:ew-resize;touch-action:none}
.ux-sb-griff circle{fill:#e79a3a;stroke:#fff;stroke-width:3}
.ux-sb-griff .ux-sb-hit{fill:transparent;stroke:none}
.ux-sb-griff:focus{outline:none}
.ux-sb-griff:focus-visible circle:not(.ux-sb-hit){stroke:var(--ux-yellow);stroke-width:4}
.ux-sb-griff.fest,.ux-sb-kiste.fest{cursor:not-allowed}
.ux-sb-griff.fest circle:not(.ux-sb-hit){fill:#b9ab92}
.ux-sb-kiste.fest rect{fill:#d9b98a}
.ux-sb-mass line{stroke:#7c5fb5;stroke-width:2.2}
.ux-sb-mass.null{opacity:0}
.ux-schieben-w.done .ux-sb-buehne{border-color:var(--ux-green)}
@media(max-width:560px){.ux-sb-werte{font-size:15px}}
.ux-sb-knoepfe{display:flex;flex-wrap:wrap;justify-content:center;gap:8px 18px;margin-top:8px;font-family:'Fredoka',sans-serif}
.ux-sb-gr{display:inline-flex;align-items:center;gap:6px;font-size:15px;color:var(--ux-dark)}
.ux-sb-gr span{min-width:44px}
.ux-sb-kn{width:38px;height:34px;border-radius:8px;border:1.5px solid var(--ux-line);background:#fff;color:var(--ux-dark);font:600 19px/1 'Fredoka',sans-serif;cursor:pointer}
.ux-sb-kn:hover{border-color:var(--ux-blue)}
.ux-sb-kn:focus-visible{outline:3px solid var(--ux-yellow);outline-offset:2px}
.ux-sb-kn:disabled{opacity:.45;cursor:not-allowed}
@media(max-width:560px){.ux-sb-buehne{padding:2px}}

/* ---- Widget: skalen ---- */
.ux-skalen-w .ux-skalen-row{display:flex;justify-content:center;gap:14px;flex-wrap:nowrap}
.ux-skalen-w .ux-skalen-col{flex:1 1 0;min-width:0;max-width:170px;display:flex;flex-direction:column;align-items:center;gap:6px;font-family:'Fredoka',sans-serif;border:2px solid transparent;border-radius:12px;padding:6px 4px;transition:border-color .18s,background-color .18s}
.ux-skalen-w .ux-skalen-head{text-align:center;line-height:1.2;color:var(--ux-dark)}
.ux-skalen-w .ux-skalen-head b{display:block;font-weight:600;font-size:15px}
.ux-skalen-w .ux-skalen-head small{font-size:12.5px;color:#6b5f53}
.ux-skalen-w .ux-skalen-col.fest .ux-skalen-head small{color:var(--ux-green-d);font-weight:600}
.ux-skalen-w .ux-skalen-svg{display:block;width:100%;max-width:150px;height:auto;touch-action:none;cursor:ns-resize;border-radius:10px}
.ux-skalen-w .ux-skalen-col.fest .ux-skalen-svg{cursor:default;touch-action:auto}
.ux-skalen-w .ux-skalen-svg:focus{outline:none}
.ux-skalen-w .ux-skalen-svg:focus-visible{outline:3px solid var(--ux-yellow);outline-offset:2px}
.ux-skalen-w .ux-skalen-num{font:500 14px 'Fredoka',sans-serif;fill:#2f2f2f}
.ux-skalen-w .ux-skalen-mk{transition:transform .1s}
.ux-skalen-w .ux-skalen-fb{min-height:20px;font:600 13.5px 'Fredoka',sans-serif}
.ux-skalen-w .ux-skalen-col.ok{border-color:var(--ux-green);background:#f1f8ec}
.ux-skalen-w .ux-skalen-col.ok .ux-skalen-fb{color:var(--ux-green-d)}
.ux-skalen-w .ux-skalen-col.bad{border-color:var(--ux-red);background:#fdf0ee}
.ux-skalen-w .ux-skalen-col.bad .ux-skalen-fb{color:var(--ux-red)}
@media(max-width:560px){.ux-skalen-w .ux-skalen-row{gap:6px}.ux-skalen-w .ux-skalen-col{padding:4px 2px}.ux-skalen-w .ux-skalen-head b{font-size:13.5px}}
@media(prefers-reduced-motion:reduce){.ux-skalen-w .ux-skalen-mk{transition:none}.ux-skalen-w .ux-skalen-col{transition:none}}

/* ---- Widget: spalt ---- */
.ux-spalt-w{font-family:'Fredoka',sans-serif}
.ux-spalt-w .ux-ask{font-weight:600;color:var(--ux-dark);margin:6px 0 8px;font-size:15px}
.ux-sp-box{background:var(--ux-paper);border:1.5px solid var(--ux-line);border-radius:11px;padding:6px}
.ux-sp-svg{display:block;width:100%;max-width:680px;height:auto;margin:0 auto;font-family:'Fredoka',sans-serif;outline:none;border-radius:8px}
.ux-sp-svg:focus-visible{outline:3px solid var(--ux-yellow);outline-offset:2px}
.ux-sp-bg{fill:var(--ux-paper)}
.ux-sp-grund{stroke:#b9ab92;stroke-width:3}
.ux-sp-schwelle{fill:#b9ab92;stroke:#8c7d65;stroke-width:1.2}
.ux-sp-fuss,.ux-sp-steg{fill:#8a8f99;stroke:var(--ux-dark);stroke-width:1.4}
.ux-sp-kopf{fill:#a9aeb8;stroke:var(--ux-dark);stroke-width:1.6}
.ux-sp-platte{fill:#d9cdb8;stroke:var(--ux-dark);stroke-width:1.8}
.ux-sp-rolle{fill:#fff;stroke:var(--ux-dark);stroke-width:1.8}
.ux-sp-lager{fill:#b9ab92;stroke:var(--ux-dark);stroke-width:1.6}
.ux-sp-zieh{cursor:ew-resize;touch-action:none}
.ux-sp-griff circle{fill:#fff;stroke:var(--ux-blue-d);stroke-width:3}
.ux-sp-zieh:hover .ux-sp-griff circle,.ux-sp-zieh.aktiv .ux-sp-griff circle{fill:#eef3fb}
.ux-sp-pfeil{fill:var(--ux-blue-d)}
.ux-sp-stiel{stroke:var(--ux-blue-d);stroke-width:2.4}
.ux-sp-lupe{pointer-events:none}
.ux-sp-glas{fill:#fff}
.ux-sp-ring{fill:none;stroke:var(--ux-dark);stroke-width:6}
.ux-sp-lstiel{stroke:var(--ux-dark);stroke-width:2;stroke-dasharray:5 4}
.ux-sp-kante{stroke:var(--ux-red);stroke-width:2.4}
.ux-sp-lineal{fill:#fbf3d0;stroke:#c9b46a;stroke-width:1}
.ux-sp-t{stroke:var(--ux-dark);stroke-width:1.2}
.ux-sp-t5{stroke:var(--ux-dark);stroke-width:2}
.ux-sp-tz{font-size:15px;font-weight:600;fill:var(--ux-dark)}
.ux-sp-mm{font-size:12px;fill:#6b5f53}
.ux-spalt-w.ux-sp-fertig .ux-sp-ring{stroke:var(--ux-green-d)}
@media(max-width:560px){.ux-sp-box{padding:3px}.ux-spalt-w .ux-ask{font-size:14px}}
@media(prefers-reduced-motion:reduce){.ux-sp-griff circle{transition:none}}

/* ---- Widget: spektrum ---- */
.ux[data-ux="spektrum"] .ux-ask{font-family:'Fredoka',sans-serif;font-size:16px;color:var(--ux-dark);margin:0 0 10px;padding:9px 12px;background:#fff;border:1.5px solid var(--ux-line);border-radius:10px;line-height:1.45}
.ux[data-ux="spektrum"] .ux-spektrum-stage{background:var(--ux-paper);border:1.5px solid var(--ux-line);border-radius:12px;padding:8px 8px 10px}
.ux[data-ux="spektrum"] .ux-spektrum-svg{display:block;width:100%;max-width:660px;height:auto;margin:0 auto;touch-action:none;cursor:ew-resize;font-family:'Fredoka',sans-serif;border-radius:8px}
.ux[data-ux="spektrum"] .ux-spektrum-svg:focus{outline:none}
.ux[data-ux="spektrum"] .ux-spektrum-svg:focus-visible{outline:3px solid var(--ux-yellow);outline-offset:2px}
.ux[data-ux="spektrum"] .ux-spektrum-band{stroke:#2f2f2f;stroke-width:1.4}
.ux[data-ux="spektrum"] .ux-spektrum-ende{font-size:13.5px;fill:#6b5f53}
.ux[data-ux="spektrum"] .ux-spektrum-ml{stroke:#2f2f2f;stroke-width:3}
.ux[data-ux="spektrum"] .ux-spektrum-mt{fill:#2f2f2f}
.ux[data-ux="spektrum"] .ux-spektrum-mc{stroke:#2f2f2f;stroke-width:2.6}
.ux[data-ux="spektrum"] .ux-spektrum-marker.fertig{opacity:.3}
.ux[data-ux="spektrum"] .ux-spektrum-marke line{stroke:#fff;stroke-width:2;stroke-dasharray:4 3}
.ux[data-ux="spektrum"] .ux-spektrum-marke circle{fill:var(--ux-green-d);stroke:#fff;stroke-width:1.5}
.ux[data-ux="spektrum"] .ux-spektrum-marke text{font-size:10.5px;font-weight:700;fill:#fff}
.ux[data-ux="spektrum"] .ux-spektrum-read{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:6px;font:500 15.5px 'Fredoka',sans-serif;color:var(--ux-dark)}
.ux[data-ux="spektrum"] .ux-spektrum-swatch{display:inline-block;width:22px;height:22px;border-radius:50%;border:2px solid #2f2f2f;transition:background .15s}
.ux.done[data-ux="spektrum"] .ux-spektrum-svg{cursor:default}
@media(max-width:560px){.ux[data-ux="spektrum"] .ux-spektrum-stage{padding:4px 4px 8px}}
@media(prefers-reduced-motion:reduce){.ux[data-ux="spektrum"] .ux-spektrum-swatch{transition:none}}

/* ---- Widget: stapelbalken ---- */
.ux-st-box{background:var(--ux-paper);border:1.5px solid var(--ux-line);border-radius:12px;padding:6px;margin:6px 0 4px}
.ux-st-svg{display:block;width:100%;max-width:560px;height:auto;margin:0 auto;font-family:'Fredoka',sans-serif;touch-action:none;user-select:none;-webkit-user-select:none}
.ux-st-tick{font-size:13.5px;fill:#6b5f53}
.ux-st-axis{font-size:13px;fill:#6b5f53}
.ux-st-ziel{font-size:13px;font-weight:600;fill:#2f2f2f}
.ux-st-ltxt{font-size:15px;fill:#2f2f2f}
.ux-st-lval{font-size:16px;font-weight:600;fill:#2c5fb5}
.ux-st-lfb{font-size:16px;font-weight:700}
.ux-st-leg.ok .ux-st-lval,.ux-st-leg.ok .ux-st-lfb{fill:#4a7530}
.ux-st-leg.bad .ux-st-lval,.ux-st-leg.bad .ux-st-lfb{fill:#e2574c}
.ux-st-sum{font-size:15px;font-weight:600;fill:#2f2f2f}
.ux-st-rect{cursor:ns-resize;transition:fill-opacity .15s}
.ux-st-rect.fix{cursor:default}
.ux-st-handle{cursor:ns-resize;outline:none}
.ux-st-handle .ux-st-tab{transition:stroke-width .12s}
.ux-st-handle:hover .ux-st-tab{stroke-width:3.4}
.ux-st-handle:focus-visible .ux-st-tab{stroke:#2f2f2f;stroke-width:3.4;fill:#f4d03f}
.ux-stapelbalken-w.done .ux-st-handle,.ux-stapelbalken-w.done .ux-st-rect{cursor:default}
@media(prefers-reduced-motion:reduce){.ux-st-rect{transition:none}.ux-st-handle .ux-st-tab{transition:none}}

/* ---- Widget: stopp ---- */
.ux-stp-stage{background:var(--ux-paper);border:1.5px solid var(--ux-line);border-radius:12px;padding:6px;font-family:'Fredoka',sans-serif}
.ux-stp-svg{display:block;width:100%;max-width:560px;height:auto;margin:0 auto;font-family:'Fredoka',sans-serif;border-radius:10px}
.ux-stp-bg{fill:#faf6ee}
.ux-stp-herd{fill:#2f2f2f}
.ux-stp-plate{fill:#6b5f53;transition:fill .4s}
.ux-stp-plate.an{fill:#e2574c}
.ux-stp-pot{fill:#d9cdb8;stroke:#2f2f2f;stroke-width:2.4}
.ux-stp-potrim{fill:#b9ab92;stroke:#2f2f2f;stroke-width:2}
.ux-stp-fluid{fill:#5b8bd8}
.ux-stp-steam path{fill:none;stroke:#9a8b72;stroke-width:3;stroke-linecap:round}
.ux-stp-tube{fill:#fff;stroke:#2f2f2f;stroke-width:2}
.ux-stp-bulb{fill:#e2574c;stroke:#2f2f2f;stroke-width:2}
.ux-stp-col{fill:#e2574c}
.ux-stp-tick{stroke:#2f2f2f;stroke-width:1.6}
.ux-stp-scale{font-size:15px;fill:#6b5f53}
.ux-stp-band{fill:#67b05f;fill-opacity:.45;stroke:#4a7530;stroke-width:1.5;display:none}
.ux-stp-band.show{display:inline}
.ux-stp-res rect{fill:#fff;stroke:#d9cdb8;stroke-width:1.5}
.ux-stp-res text{font-size:16.5px;font-weight:600;fill:#2f2f2f}
.ux-stp-meter{fill:#2f2f2f}
.ux-stp-mlab{font-size:16px;font-weight:600;fill:#f4ede0}
.ux-stp-res.lcd rect{fill:#eef3e2;stroke:#67b05f;stroke-width:2}
.ux-stp-res.lcd text{font-size:28px;font-weight:600;fill:#2f2f2f}
.ux-stp-svg.ok .ux-stp-res rect{stroke:#4a7530}
.ux-stp-svg.bad .ux-stp-res rect{stroke:#e2574c}
.ux-stp-ctrl{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:10px;margin:10px 0 2px}
.ux-stp-go{width:48px;height:48px;border-radius:50%;border:none;background:#7c5fb5;color:#fff;font:600 18px/1 'Fredoka',sans-serif;cursor:pointer;transition:transform .12s}
.ux-stp-go:hover{transform:scale(1.06)}
.ux-stp-go:focus-visible,.ux-stp-stop:focus-visible{outline:3px solid var(--ux-yellow);outline-offset:2px}
.ux-stp-go[disabled]{opacity:.45;cursor:default;transform:none}
.ux-stp-stop{background:#e2574c;border-color:#e2574c;min-width:110px;font-size:15px}
@media(prefers-reduced-motion:reduce){.ux-stp-plate{transition:none}.ux-stp-go{transition:none}}

/* ---- Widget: stoppuhr ---- */
.ux-sw{display:grid;grid-template-columns:minmax(0,1fr) 190px;gap:14px;align-items:start;font-family:'Fredoka',sans-serif}
.ux-sw-buehne{background:#faf6ee;border:1.5px solid var(--ux-line);border-radius:12px;padding:8px 10px 10px;min-width:0}
.ux-sw-kopf{display:flex;justify-content:space-between;align-items:baseline;gap:8px;flex-wrap:wrap;margin-bottom:4px}
.ux-sw-titel{font-weight:600;font-size:14.5px;color:#3d2a6b}
.ux-sw-bild{font-size:13px;color:#6b5f53;background:#fff;border:1px solid var(--ux-line);border-radius:7px;padding:2px 8px}
.ux-sw-bild:empty{display:none}
.ux-sw-svg{display:block;width:100%;max-width:520px;height:auto;margin:0 auto;border-radius:8px}
.ux-sw-svg:focus-visible{outline:3px solid var(--ux-yellow);outline-offset:2px}
.ux-sw-lab{font:600 17px 'Fredoka',sans-serif;fill:#7c5fb5}
.ux-sw-steuer{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}
.ux-sw-steuer .ux-btn{font-family:'Fredoka',sans-serif}
.ux-sw-steuer [hidden]{display:none}
.ux-sw-modus.an{background:#efe8f8;border-color:var(--ux-violet);color:#3d2a6b}
.ux-sw-uhrbox{display:flex;flex-direction:column;align-items:center;gap:8px;background:#fff;border:1.5px solid var(--ux-line);border-radius:12px;padding:10px}
.ux-sw-uhr{width:120px;height:auto}
.ux-sw-krone{fill:#6b5f53}
.ux-sw-gehaeuse{fill:#3d2a6b}
.ux-sw-blatt{fill:#faf6ee}
.ux-sw-strich{stroke:#b9ab92;stroke-width:1.2}
.ux-sw-strich.gross{stroke:#2f2f2f;stroke-width:2}
.ux-sw-zeiger{stroke:#e2574c;stroke-width:2.6;stroke-linecap:round}
.ux-sw-nabe{fill:#e2574c}
.ux-sw-zeit{font:600 24px/1 'Fredoka',sans-serif;color:var(--ux-dark);font-variant-numeric:tabular-nums;background:#faf6ee;border:1.5px solid var(--ux-line);border-radius:8px;padding:6px 12px;min-width:120px;text-align:center}
.ux-sw-knopf{width:92px;height:92px;border-radius:50%;border:3px solid var(--ux-green-d);background:var(--ux-green);color:#fff;font:600 19px/1 'Fredoka',sans-serif;cursor:pointer;touch-action:manipulation;transition:transform .12s,background-color .12s}
.ux-sw-knopf.laeuft{background:var(--ux-red);border-color:#a8352c}
.ux-sw-knopf:active{transform:scale(.95)}
.ux-sw-knopf:focus-visible{outline:3px solid var(--ux-yellow);outline-offset:3px}
.ux-sw-knopf[disabled]{opacity:.5;cursor:default}
.ux-sw-proto{list-style:none;margin:0;padding:0;width:100%;font-size:13px;display:grid;gap:3px}
.ux-sw-proto li{padding:3px 8px;border-radius:6px;background:#faf6ee;color:#6b5f53}
.ux-sw-proto li.ok{background:#f1f8ec;color:var(--ux-green-d);font-weight:600}
.ux-sw-proto li.bad{background:#fdf0ee;color:#a8352c}
.ux-sw-fragen{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px}
.ux-sw-feld{display:flex;align-items:center;gap:7px;background:var(--ux-paper);border:1.5px solid var(--ux-line);border-radius:10px;padding:7px 10px;font-family:'Fredoka',sans-serif;font-size:15px;flex:1 1 230px;min-width:0}
.ux-sw-flab{flex:0 1 auto}
.ux-sw-in{width:96px;min-width:0;flex:0 1 96px;font:500 15px 'Fredoka',sans-serif;padding:6px 8px;border:1.5px solid var(--ux-line);border-radius:7px;background:#fff}
.ux-sw-in:focus-visible{outline:3px solid var(--ux-yellow);outline-offset:1px}
.ux-sw-in[disabled]{background:#f1ece2;cursor:not-allowed}
.ux-sw-ein{color:#6b5f53}
.ux-sw-fb{font-weight:700;margin-left:auto}
.ux-sw-feld.ok{border-color:var(--ux-green);background:#f1f8ec}.ux-sw-feld.ok .ux-sw-fb{color:var(--ux-green-d)}
.ux-sw-feld.bad{border-color:var(--ux-red);background:#fdf0ee}.ux-sw-feld.bad .ux-sw-fb{color:var(--ux-red)}
@media(max-width:620px){.ux-sw{grid-template-columns:minmax(0,1fr)}.ux-sw-uhrbox{display:grid;grid-template-columns:auto 1fr;grid-template-areas:"uhr zeit" "uhr knopf" "proto proto";justify-items:center;align-items:center}.ux-sw-uhr{grid-area:uhr;width:96px}.ux-sw-zeit{grid-area:zeit}.ux-sw-knopf{grid-area:knopf;width:78px;height:78px;font-size:17px}.ux-sw-proto{grid-area:proto}}
@media(prefers-reduced-motion:reduce){.ux-sw-knopf{transition:none}.ux-sw-knopf:active{transform:none}}

/* ---- Widget: strobo ---- */
.ux-strobo-w .ux-strb-stage{background:#2f2f2f;border:1.5px solid var(--ux-line);border-radius:12px;padding:4px}
.ux-strobo-w .ux-strb-svg{display:block;width:100%;max-width:520px;height:auto;margin:0 auto;touch-action:none;font-family:'Fredoka',sans-serif}
.ux-strobo-w .ux-strb-tick{fill:#faf6ee;font:500 13px 'Fredoka',sans-serif}
.ux-strobo-w .ux-strb-ax{fill:#f4d03f;font:600 13.5px 'Fredoka',sans-serif}
.ux-strobo-w .ux-strb-col{fill:#d9cdb8;font:600 13px 'Fredoka',sans-serif}
.ux-strobo-w .ux-strb-val{fill:#faf6ee;font:600 12.5px 'Fredoka',sans-serif;pointer-events:none}
.ux-strobo-w .ux-strb-pt{cursor:ns-resize;outline:none}
.ux-strobo-w .ux-strb-pt:focus-visible .ux-strb-core{stroke:#5b8bd8;stroke-width:4}
.ux-strobo-w .ux-strb-pt.ok .ux-strb-core{stroke:#67b05f;stroke-width:4}
.ux-strobo-w .ux-strb-pt.bad .ux-strb-core{stroke:#e2574c;stroke-width:4}
.ux-strobo-w .ux-strb-glow{transition:opacity .2s}
.ux-strobo-w .ux-strb-pt:hover .ux-strb-glow{opacity:.45}
.ux-strobo-w .ux-strb-svg.ux-strb-blink{animation:uxStrbBlink .6s ease-out}
@keyframes uxStrbBlink{0%{filter:brightness(1.35)}100%{filter:none}}
.ux-strobo-w.done .ux-strb-pt{cursor:default}
@media(max-width:560px){.ux-strobo-w .ux-strb-tick{font-size:18px}.ux-strobo-w .ux-strb-val{font-size:16px}.ux-strobo-w .ux-strb-col{font-size:17px}.ux-strobo-w .ux-strb-ax{font-size:18px}}
@media(prefers-reduced-motion:reduce){.ux-strobo-w .ux-strb-glow{transition:none}.ux-strobo-w .ux-strb-svg.ux-strb-blink{animation:none}}

/* ---- Widget: strompfad ---- */
.ux[data-ux="strompfad"] .ux-spf-kopf{display:flex;justify-content:flex-end;font-family:'Fredoka',sans-serif;margin:0 0 4px}
.ux[data-ux="strompfad"] .ux-spf-nr{font-size:14px;color:#6b5f53;font-weight:500}
.ux[data-ux="strompfad"] .ux-spf-nr:empty{display:none}
.ux[data-ux="strompfad"] .ux-spf-q{margin:0 0 8px;font-family:'Fredoka',sans-serif;font-size:15.5px;line-height:1.45;color:var(--ux-dark)}
.ux[data-ux="strompfad"] .ux-spf-q:empty{display:none}
.ux[data-ux="strompfad"] .ux-spf-box{background:#faf6ee;border:1.5px solid var(--ux-line);border-radius:12px;padding:6px}
.ux[data-ux="strompfad"] .ux-spf-svg{display:block;width:100%;max-width:560px;height:auto;margin:0 auto;font-family:'Fredoka',sans-serif}
.ux[data-ux="strompfad"] .ux-spf-t{cursor:pointer;outline:none}
.ux[data-ux="strompfad"] .ux-spf-hit{stroke:transparent;stroke-width:26;stroke-linecap:round}
.ux[data-ux="strompfad"] .ux-spf-t:hover .ux-spf-hit{stroke:rgba(124,95,181,.10)}
.ux[data-ux="strompfad"] .ux-spf-t:focus-visible .ux-spf-hit{stroke:rgba(244,208,63,.55)}
.ux[data-ux="strompfad"] .ux-spf-l{stroke:#2f2f2f;stroke-width:3;stroke-linecap:round;transition:stroke .15s}
.ux[data-ux="strompfad"] .ux-spf-sym{stroke:#2f2f2f;stroke-width:3;fill:none;stroke-linejoin:round;transition:stroke .15s}
.ux[data-ux="strompfad"] .ux-spf-fl{fill:#fff}
.ux[data-ux="strompfad"] .ux-spf-dreieck{fill:#2f2f2f}
.ux[data-ux="strompfad"] .ux-spf-platte{stroke-width:4.2}
.ux[data-ux="strompfad"] .ux-spf-sinus{stroke-width:2.4}
.ux[data-ux="strompfad"] .ux-spf-lab{font-size:16px;font-weight:600;fill:#2f2f2f;pointer-events:none}
.ux[data-ux="strompfad"] .ux-spf-kreuz{display:none;font-size:20px;font-weight:700;fill:#e2574c;pointer-events:none}
.ux[data-ux="strompfad"] .ux-spf-pkt{fill:#2f2f2f}
.ux[data-ux="strompfad"] .ux-spf-t.an .ux-spf-l,.ux[data-ux="strompfad"] .ux-spf-t.an .ux-spf-sym{stroke:#7c5fb5;stroke-width:5.2}
.ux[data-ux="strompfad"] .ux-spf-t.an .ux-spf-dreieck{fill:#7c5fb5}
.ux[data-ux="strompfad"] .ux-spf-t.an .ux-spf-hit{stroke:rgba(124,95,181,.18)}
.ux[data-ux="strompfad"] .ux-spf-t.ok .ux-spf-l,.ux[data-ux="strompfad"] .ux-spf-t.ok .ux-spf-sym{stroke:#4a7530}
.ux[data-ux="strompfad"] .ux-spf-t.ok .ux-spf-dreieck{fill:#4a7530}
.ux[data-ux="strompfad"] .ux-spf-t.ok .ux-spf-hit{stroke:rgba(103,176,95,.22)}
.ux[data-ux="strompfad"] .ux-spf-t.aus{cursor:not-allowed}
.ux[data-ux="strompfad"] .ux-spf-t.aus .ux-spf-l,.ux[data-ux="strompfad"] .ux-spf-t.aus .ux-spf-sym{stroke:#b9ab92;stroke-dasharray:5 5}
.ux[data-ux="strompfad"] .ux-spf-t.aus .ux-spf-dreieck{fill:#d9cdb8}
.ux[data-ux="strompfad"] .ux-spf-t.aus .ux-spf-kreuz{display:block}
.ux[data-ux="strompfad"] .ux-spf-pol{stroke-width:2}
.ux[data-ux="strompfad"] .ux-spf-pol.plus{fill:#fdf0ee;stroke:#e2574c}
.ux[data-ux="strompfad"] .ux-spf-pol.minus{fill:#eef3fb;stroke:#2c5fb5}
.ux[data-ux="strompfad"] .ux-spf-poltxt{font-size:19px;font-weight:700;fill:#2f2f2f;pointer-events:none}
.ux-strompfad-w.done .ux-spf-box{border-color:var(--ux-green);background:#f1f8ec}
.ux-strompfad-w.done .ux-spf-t{cursor:default}
@media(prefers-reduced-motion:reduce){.ux[data-ux="strompfad"] .ux-spf-l,.ux[data-ux="strompfad"] .ux-spf-sym{transition:none}}

/* ---- Widget: suchbild ---- */
.ux-sb-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 14px;margin:0 0 8px;font-family:'Fredoka',sans-serif}
.ux-sb-count{font-size:12.5px;font-weight:600;color:#fff;background:var(--ux-violet);border-radius:99px;padding:3px 10px}
.ux-sb-ask{margin:0;font-size:17px;font-weight:600;color:var(--ux-dark)}
.ux-sb-bild{background:var(--ux-paper);border:1.5px solid var(--ux-line);border-radius:12px;overflow:hidden}
.ux-sb-bild svg{display:block;width:100%;max-width:100%;height:auto;font-family:'Fredoka',sans-serif}
.ux-sb-obj{cursor:pointer;outline:none}
.ux-sb-ring{fill:transparent;stroke:none}
.ux-sb-mark{fill:none;stroke:transparent;stroke-width:4;pointer-events:none;transition:stroke .15s}
.ux-sb-obj:hover .ux-sb-mark{stroke:rgba(124,95,181,.35);stroke-dasharray:6 5}
.ux-sb-obj:focus-visible .ux-sb-mark{stroke:var(--ux-yellow);stroke-width:5}
.ux-sb-obj.sel .ux-sb-mark{stroke:var(--ux-violet);stroke-width:4.5;stroke-dasharray:none}
.ux-sb-obj.sel:focus-visible .ux-sb-mark{stroke:var(--ux-violet);stroke-width:6}
.ux-sb-obj.hit .ux-sb-mark{stroke:var(--ux-green-d);stroke-width:5}
.ux-sb-log{margin:10px 0 0;padding-left:22px;font-size:13.5px;line-height:1.55;color:#4a4036}
.ux-sb-log:empty{display:none}
.ux-sb-log li{margin:3px 0}
.ux-suchbild-w.done .ux-sb-obj{cursor:default}
@media(max-width:560px){.ux-sb-ask{font-size:15.5px}}
@media(prefers-reduced-motion:reduce){.ux-sb-mark{transition:none}}

/* ---- Widget: teilchen ---- */
.ux-tk{background:var(--ux-paper);border:1.5px solid var(--ux-line);border-radius:12px;padding:12px 14px;font-family:'Fredoka',sans-serif}
.ux-tk-head{display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:13.5px;color:#6b5f53;font-weight:600}
.ux-tk-pips{display:flex;gap:5px}
.ux-tk-pip{width:11px;height:11px;border-radius:50%;background:#e6ded0;border:1.5px solid #cbbfa8}
.ux-tk-pip.on{background:var(--ux-green);border-color:var(--ux-green-d)}
.ux-tk-q{font-size:16.5px;font-weight:500;color:var(--ux-dark);margin:8px 0 10px;min-height:2.6em;line-height:1.4}
.ux-tk-main{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:16px;align-items:center}
.ux-tk-svg{width:100%;max-width:420px;height:auto;display:block;justify-self:center}
.ux-tk-ctrls{display:grid;gap:14px}
.ux-tk-ctrl{display:grid;gap:4px;background:#fff;border:1.5px solid var(--ux-line);border-radius:10px;padding:9px 12px}
.ux-tk-cl{font-weight:600;font-size:14px;color:var(--ux-violet)}
.ux-tk-r{width:100%;accent-color:var(--ux-violet);cursor:pointer;height:26px;touch-action:pan-y}
.ux-tk-r:focus-visible{outline:3px solid var(--ux-yellow);outline-offset:2px;border-radius:6px}
.ux-tk-val{font-size:15px;font-weight:600;color:var(--ux-dark);min-height:1.3em}
.ux-tk-ends{display:flex;justify-content:space-between;gap:8px;font-size:12px;color:#8a7d6b}
.ux-teilchen-w.done .ux-tk{border-color:var(--ux-green);background:#f1f8ec}
.ux-tk circle{transition:fill .3s}
@media(max-width:620px){.ux-tk-main{grid-template-columns:minmax(0,1fr)}.ux-tk{padding:10px}.ux-tk-q{font-size:15.5px}}
@media(prefers-reduced-motion:reduce){.ux-tk circle{transition:none}}

/* ---- Widget: teilchenfilm ---- */
.ux[data-ux="teilchenfilm"] .ux-tfilm-ask{font:600 15px/1.45 'Fredoka',sans-serif;color:var(--ux-dark);margin:4px 0 10px;min-height:22px}
.ux[data-ux="teilchenfilm"] .ux-tfilm-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px}
.ux[data-ux="teilchenfilm"] .ux-tfilm{position:relative;display:flex;flex-direction:column;align-items:stretch;gap:6px;padding:8px 8px 7px;background:#fff;border:2px solid var(--ux-line);border-radius:14px;cursor:pointer;font-family:'Fredoka',sans-serif;color:var(--ux-dark);transition:border-color .18s,box-shadow .18s,transform .18s}
.ux[data-ux="teilchenfilm"] .ux-tfilm svg{display:block;width:100%;height:auto}
.ux[data-ux="teilchenfilm"] .ux-tfilm:hover{border-color:var(--ux-blue);transform:translateY(-2px)}
.ux[data-ux="teilchenfilm"] .ux-tfilm:focus-visible{outline:3px solid var(--ux-yellow);outline-offset:2px}
.ux[data-ux="teilchenfilm"] .ux-tfilm.on{border-color:var(--ux-violet);box-shadow:0 0 0 3px rgba(124,95,181,.25)}
.ux[data-ux="teilchenfilm"] .ux-tfilm.ok{border-color:var(--ux-green);background:#f1f8ec;box-shadow:none}
.ux[data-ux="teilchenfilm"] .ux-tfilm.bad{border-color:var(--ux-red);background:#fdf0ee;box-shadow:none}
.ux[data-ux="teilchenfilm"] .ux-tfilm-cap{font-size:14px;font-weight:600;text-align:center;line-height:1.3}
.ux[data-ux="teilchenfilm"] .ux-tfilm-cap small{display:block;font-weight:400;font-size:12.5px;color:#6b5f53}
.ux[data-ux="teilchenfilm"] .ux-tfilm-badge{position:absolute;top:-10px;right:-10px;width:30px;height:30px;border-radius:50%;background:var(--ux-violet);color:#fff;font:600 16px/30px 'Fredoka',sans-serif;text-align:center;box-shadow:0 2px 6px rgba(0,0,0,.18)}
.ux[data-ux="teilchenfilm"] .ux-tfilm.ok .ux-tfilm-badge{background:var(--ux-green-d)}
.ux[data-ux="teilchenfilm"] .ux-tfilm.bad .ux-tfilm-badge{background:var(--ux-red)}
@media(max-width:560px){.ux[data-ux="teilchenfilm"] .ux-tfilm-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.ux[data-ux="teilchenfilm"] .ux-tfilm-badge{top:-8px;right:-6px}}
@media(prefers-reduced-motion:reduce){.ux[data-ux="teilchenfilm"] .ux-tfilm{transition:none}.ux[data-ux="teilchenfilm"] .ux-tfilm:hover{transform:none}}

/* ---- Widget: therm ---- */
.ux-therm-w .ux-therm-ask{font:600 15px/1.45 'Fredoka',sans-serif;color:var(--ux-dark);margin:4px 0 8px;min-height:22px}
.ux-therm-w .ux-therm-box{display:flex;justify-content:center;background:var(--ux-paper);border:1.5px solid var(--ux-line);border-radius:12px;padding:10px 8px}
.ux-therm-w .ux-therm-svg{display:block;width:100%;max-width:240px;height:auto;touch-action:none;cursor:ns-resize;font-family:'Fredoka',sans-serif;border-radius:10px}
.ux-therm-w .ux-therm-svg:focus{outline:none}
.ux-therm-w .ux-therm-svg:focus-visible{outline:3px solid var(--ux-yellow);outline-offset:3px}
.ux-therm-w .ux-therm-num{font:500 14px 'Fredoka',sans-serif;fill:#2f2f2f}
.ux-therm-w .ux-therm-unit{font:600 15px 'Fredoka',sans-serif;fill:#6b5f53}
.ux-therm-w .ux-therm-mark{font:500 11.5px 'Fredoka',sans-serif}
.ux-therm-w .ux-therm-col{transition:y .12s,height .12s}
.ux-therm-w .ux-therm-knob{transition:transform .12s}
.ux-therm-w.ux-therm-ok .ux-therm-box{border-color:var(--ux-green);background:#f1f8ec}
.ux-therm-w.ux-therm-bad .ux-therm-box{border-color:var(--ux-red)}
@media(prefers-reduced-motion:reduce){.ux-therm-w .ux-therm-col{transition:none}.ux-therm-w .ux-therm-knob{transition:none}}

/* ---- Widget: torte ---- */
.ux[data-ux="torte"] .ux-to{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:12px 22px;background:var(--ux-paper);border:1.5px solid var(--ux-line);border-radius:12px;padding:10px 12px;margin:6px 0 4px;font-family:'Fredoka',sans-serif}
.ux[data-ux="torte"] .ux-to-fig{flex:0 1 300px;min-width:0;max-width:300px;width:100%}
.ux[data-ux="torte"] .ux-to-svg{display:block;width:100%;height:auto;touch-action:none;user-select:none;-webkit-user-select:none}
.ux[data-ux="torte"] .ux-to-sek{transition:fill-opacity .15s}
.ux[data-ux="torte"] .ux-to-pct{font:600 14px 'Fredoka',sans-serif;fill:#2f2f2f;stroke:#fff;stroke-width:3.2px;paint-order:stroke;stroke-linejoin:round}
.ux[data-ux="torte"] .ux-to-grip{cursor:grab;outline:none}
.ux[data-ux="torte"] .ux-to-gline{stroke:#2f2f2f;stroke-width:2;stroke-dasharray:5 4;pointer-events:none}
.ux[data-ux="torte"] .ux-to-gknob{fill:#fff;stroke:#2f2f2f;stroke-width:2.6;transition:r .12s,fill .12s}
.ux[data-ux="torte"] .ux-to-grip:hover .ux-to-gknob{fill:#f4ede0}
.ux[data-ux="torte"] .ux-to-grip:focus-visible .ux-to-gknob{fill:#f4d03f;stroke-width:3.4}
.ux[data-ux="torte"] .ux-to-leg{list-style:none;margin:0;padding:0;flex:1 1 220px;min-width:0;max-width:340px;display:grid;gap:6px}
.ux[data-ux="torte"] .ux-to-row{display:grid;grid-template-columns:16px minmax(0,1fr) auto 18px;align-items:center;gap:8px;background:#fff;border:1.5px solid var(--ux-line);border-radius:9px;padding:6px 10px;font-size:15px;color:var(--ux-dark)}
.ux[data-ux="torte"] .ux-to-sw{width:16px;height:16px;border-radius:4px}
.ux[data-ux="torte"] .ux-to-name{overflow-wrap:anywhere;line-height:1.25}
.ux[data-ux="torte"] .ux-to-val{font-weight:600;color:var(--ux-blue-d);white-space:nowrap;text-align:right}
.ux[data-ux="torte"] .ux-to-fb{font-weight:700;text-align:center}
.ux[data-ux="torte"] .ux-to-row.ok{border-color:var(--ux-green);background:#f1f8ec}
.ux[data-ux="torte"] .ux-to-row.ok .ux-to-val,.ux[data-ux="torte"] .ux-to-row.ok .ux-to-fb{color:var(--ux-green-d)}
.ux[data-ux="torte"] .ux-to-row.bad{border-color:var(--ux-red);background:#fdf0ee}
.ux[data-ux="torte"] .ux-to-row.bad .ux-to-val,.ux[data-ux="torte"] .ux-to-row.bad .ux-to-fb{color:var(--ux-red)}
.ux[data-ux="torte"].done .ux-to-grip{cursor:default}
@media(max-width:560px){.ux[data-ux="torte"] .ux-to{padding:8px}.ux[data-ux="torte"] .ux-to-row{font-size:14px;padding:5px 8px;gap:2px 6px;grid-template-columns:14px minmax(0,1fr) 16px;grid-template-areas:"sw name fb" ". val fb"}.ux[data-ux="torte"] .ux-to-sw{grid-area:sw;width:14px;height:14px}.ux[data-ux="torte"] .ux-to-name{grid-area:name}.ux[data-ux="torte"] .ux-to-val{grid-area:val;text-align:left;white-space:normal}.ux[data-ux="torte"] .ux-to-fb{grid-area:fb}.ux[data-ux="torte"] .ux-to-fig{max-width:270px}}
@media(prefers-reduced-motion:reduce){.ux[data-ux="torte"] .ux-to-sek{transition:none}.ux[data-ux="torte"] .ux-to-gknob{transition:none}}

/* ---- Widget: trend ---- */
.ux-tr-wrap{background:var(--ux-paper);border:1.5px solid var(--ux-line);border-radius:12px;padding:8px;max-width:100%;overflow-x:auto}
.ux-tr{width:100%;border-collapse:separate;border-spacing:0 6px;font-family:'Fredoka',sans-serif}
.ux-tr thead th{font:600 13.5px/1.3 'Fredoka',sans-serif;color:#6b5f53;text-align:center;padding:4px 6px;vertical-align:bottom}
.ux-tr thead th:first-child{text-align:left}
.ux-tr tbody th{font:500 15px/1.35 'Fredoka',sans-serif;color:var(--ux-dark);text-align:left;padding:6px 10px;background:#fff;border:1.5px solid var(--ux-line);border-right:0;border-radius:10px 0 0 10px}
.ux-tr td{text-align:center;padding:4px 6px;background:#fff;border-top:1.5px solid var(--ux-line);border-bottom:1.5px solid var(--ux-line)}
.ux-tr td:last-child{border-right:1.5px solid var(--ux-line);border-radius:0 10px 10px 0}
.ux-tr td.ok{background:#f1f8ec}.ux-tr td.bad{background:#fdf0ee}
.ux-tr-a{position:relative;width:48px;height:48px;border-radius:50%;border:2px dashed #b9ab92;background:#fff;cursor:pointer;padding:0;display:inline-flex;align-items:center;justify-content:center}
.ux-tr-a:focus-visible{outline:3px solid var(--ux-yellow);outline-offset:2px}
.ux-tr-a[disabled]{cursor:default}
.ux-tr-q{font:600 22px/1 'Fredoka',sans-serif;color:#9a8b72}
.ux-tr-pf{position:absolute;inset:6px;width:36px;height:36px;display:none;transition:transform .25s ease}
.ux-tr-pf path{fill:none;stroke-width:4.4;stroke-linecap:round;stroke-linejoin:round}
.ux-tr-a.hoch,.ux-tr-a.runter,.ux-tr-a.gleich{border-style:solid}
.ux-tr-a.hoch .ux-tr-q,.ux-tr-a.runter .ux-tr-q,.ux-tr-a.gleich .ux-tr-q{display:none}
.ux-tr-a.hoch .ux-tr-pf,.ux-tr-a.runter .ux-tr-pf,.ux-tr-a.gleich .ux-tr-pf{display:block}
.ux-tr-a.hoch{border-color:#e79a3a}.ux-tr-a.hoch .ux-tr-pf{transform:rotate(-90deg)}.ux-tr-a.hoch path{stroke:#c47718}
.ux-tr-a.runter{border-color:#2c5fb5}.ux-tr-a.runter .ux-tr-pf{transform:rotate(90deg)}.ux-tr-a.runter path{stroke:#2c5fb5}
.ux-tr-a.gleich{border-color:#7c5fb5}.ux-tr-a.gleich path{stroke:#7c5fb5}
.ux-tr td.ok .ux-tr-a{border-color:var(--ux-green-d)}.ux-tr td.bad .ux-tr-a{border-color:var(--ux-red)}
.ux-tr-satz{min-height:22px;margin:8px 2px 0;font:500 15px/1.45 'Fredoka',sans-serif;color:#4a3f6b}
@media(max-width:560px){.ux-tr tbody th{font-size:13.5px;padding:6px 7px}.ux-tr thead th{font-size:12px;padding:4px 3px}.ux-tr td{padding:4px 2px}.ux-tr-a{width:42px;height:42px}.ux-tr-pf{inset:4px;width:30px;height:30px}}
@media(prefers-reduced-motion:reduce){.ux-tr-pf{transition:none}}

/* ---- Widget: treppe ---- */
.ux-tp{background:var(--ux-paper);border:1.5px solid var(--ux-line);border-radius:12px;padding:12px 14px;font-family:'Fredoka',sans-serif}
.ux-tp-head{display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:13.5px;color:#6b5f53;font-weight:600}
.ux-tp-pips{display:flex;gap:5px}
.ux-tp-pip{width:11px;height:11px;border-radius:50%;background:#e6ded0;border:1.5px solid #cbbfa8}
.ux-tp-pip.on{background:var(--ux-green);border-color:var(--ux-green-d)}
.ux-tp-q{font-size:16.5px;font-weight:500;color:var(--ux-dark);margin:8px 0 10px;line-height:1.4}
.ux-tp-main{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;align-items:start}
.ux-tp-svg{width:100%;max-width:440px;height:auto;display:block}
.ux-tp-pad{fill:#fff;stroke:#cbbfa8;stroke-width:1.6;transition:fill .25s,stroke .25s}
.ux-tp-unit{font:600 23px 'Fredoka',sans-serif;fill:var(--ux-dark)}
.ux-tp-step.ziel .ux-tp-pad{stroke:var(--ux-orange);stroke-width:3;stroke-dasharray:6 4}
.ux-tp-step.cur .ux-tp-pad{fill:var(--ux-violet);stroke:#5a4390;stroke-dasharray:none}
.ux-tp-step.cur .ux-tp-unit{fill:#fff}
.ux-tp-val{font-size:26px;font-weight:600;color:var(--ux-violet);background:#fff;border:1.5px solid var(--ux-line);border-radius:10px;padding:8px 12px;text-align:center;overflow-wrap:anywhere}
.ux-tp-val.puls{animation:ux-tp-puls .35s ease-out}
@keyframes ux-tp-puls{0%{transform:scale(1.07)}100%{transform:scale(1)}}
.ux-tp-ops{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin-top:10px}
.ux-tp-op{font:600 16px/1 'Fredoka',sans-serif;padding:10px 6px;border-radius:9px;border:1.5px solid var(--ux-blue-d);background:#fff;color:var(--ux-blue-d);cursor:pointer;transition:background-color .15s}
.ux-tp-op[data-d="up"]{border-color:var(--ux-green-d);color:var(--ux-green-d)}
.ux-tp-op:hover{background:#eef3fb}.ux-tp-op[data-d="up"]:hover{background:#eef6ea}
.ux-tp-op:focus-visible{outline:3px solid var(--ux-yellow);outline-offset:2px}
.ux-tp-op[disabled]{opacity:.45;cursor:default}
.ux-tp-log{margin:10px 0 0;padding-left:20px;font-size:14px;color:#5d5246;display:grid;gap:3px}
.ux-treppe-w.done .ux-tp{border-color:var(--ux-green);background:#f1f8ec}
@media(max-width:620px){.ux-tp-main{grid-template-columns:minmax(0,1fr)}.ux-tp{padding:10px}.ux-tp-val{font-size:22px}}
@media(prefers-reduced-motion:reduce){.ux-tp-val.puls{animation:none}.ux-tp-pad,.ux-tp-op{transition:none}}

/* ---- Widget: turnier ---- */
.ux-tn-baum{display:grid;grid-template-columns:repeat(var(--tn-r,3),minmax(0,1fr)) minmax(0,.85fr);gap:22px;margin:4px 0 14px;font-family:'Fredoka',sans-serif}
.ux-tn-runde{display:flex;flex-direction:column;min-width:0}
.ux-tn-kopf{font:600 13px/1.2 'Fredoka',sans-serif;color:#6b5f53;text-transform:uppercase;letter-spacing:.04em;margin-bottom:8px;text-align:center}
.ux-tn-runde.jetzt .ux-tn-kopf{color:var(--ux-violet)}
.ux-tn-duelle{display:flex;flex-direction:column;justify-content:space-around;gap:12px;flex:1}
.ux-tn-duell{position:relative;display:flex;flex-direction:column;gap:4px;background:var(--ux-paper);border:1.5px solid var(--ux-line);border-radius:12px;padding:7px}
.ux-tn-runde:not(.ux-tn-ziel) .ux-tn-duell::after{content:'';position:absolute;right:-13px;top:50%;width:12px;border-top:2px solid var(--ux-line)}
.ux-tn-runde.jetzt .ux-tn-duell{border-color:#b7a6dc}
.ux-tn-duell.ok{border-color:var(--ux-green);background:#f1f8ec}
.ux-tn-duell.bad{border-color:var(--ux-red);background:#fdf0ee}
.ux-tn-vs{font-size:11px;color:#9a8b72;text-align:center;line-height:1}
.ux-tn-kand{display:flex;flex-direction:column;align-items:flex-start;gap:2px;width:100%;text-align:left;background:#fff;border:1.5px solid var(--ux-line);border-radius:9px;padding:7px 9px;font:500 14px/1.3 'Fredoka',sans-serif;color:var(--ux-dark);cursor:pointer;transition:border-color .15s,background-color .15s,transform .15s}
.ux-tn-kand:disabled{cursor:default}
.ux-tn-kand.leer{background:transparent;border-style:dashed;color:#b3a58e;align-items:center}
.ux-tn-kand:not(:disabled):hover{border-color:var(--ux-violet);transform:translateY(-1px)}
.ux-tn-kand:focus-visible{outline:3px solid var(--ux-yellow);outline-offset:2px}
.ux-tn-kand.gewaehlt{border-color:var(--ux-violet);background:#f1ecfa;box-shadow:inset 0 0 0 1px var(--ux-violet)}
.ux-tn-kand.sieger{border-color:var(--ux-green);background:#e8f4e4}
.ux-tn-kand.raus{opacity:.62}
.ux-tn-kand.raus .ux-tn-name{text-decoration:line-through;text-decoration-color:#b3a58e}
.ux-tn-name{overflow-wrap:anywhere}
.ux-tn-wert{font:600 12.5px/1.2 'Fredoka',sans-serif;color:var(--ux-blue-d);background:#eef3fc;border-radius:6px;padding:1px 6px}
.ux-tn-ziel .ux-tn-kopf{color:var(--ux-orange)}
.ux-tn-ziel{justify-content:flex-start}
.ux-tn-meister{flex:0 0 auto;margin:auto 0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;min-height:70px;border:2px dashed #e3c79c;border-radius:14px;padding:10px;text-align:center;font:600 15px/1.3 'Fredoka',sans-serif;color:#b3a58e}
.ux-tn-meister.fertig{border:2px solid var(--ux-orange);background:#fdf3e4;color:var(--ux-dark)}
@media(max-width:700px){
  .ux-tn-baum{grid-template-columns:1fr;gap:14px}
  .ux-tn-duelle{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px}
  .ux-tn-runde:not(.ux-tn-ziel) .ux-tn-duell::after{display:none}
  .ux-tn-kopf{text-align:left}
  .ux-tn-meister{min-height:54px}
}
@media(prefers-reduced-motion:reduce){.ux-tn-kand{transition:none}.ux-tn-kand:not(:disabled):hover{transform:none}}

/* ---- Widget: uhr ---- */
.ux-uhr-stage{background:var(--ux-paper);border:1.5px solid var(--ux-line);border-radius:12px;padding:8px;font-family:'Fredoka',sans-serif}
.ux-uhr-svg{display:block;width:100%;max-width:330px;height:auto;margin:0 auto;touch-action:none;cursor:pointer;font-family:'Fredoka',sans-serif;border-radius:10px}
.ux-uhr-svg:focus{outline:none}
.ux-uhr-svg:focus-visible{outline:3px solid var(--ux-yellow);outline-offset:2px}
.ux-uhr-rim{fill:#2f2f2f}
.ux-uhr-face{fill:#fff;stroke:#d9cdb8;stroke-width:2}
.ux-uhr-sector{fill:#e79a3a;fill-opacity:.32}
.ux-uhr-tk{stroke:#9a8b72;stroke-width:1.4}
.ux-uhr-tk.big{stroke:#2f2f2f;stroke-width:3}
.ux-uhr-num{font-size:17px;font-weight:600;fill:#2f2f2f}
.ux-uhr-h{stroke:#2f2f2f;stroke-width:7;stroke-linecap:round}
.ux-uhr-m{stroke:#2c5fb5;stroke-width:4.5;stroke-linecap:round}
.ux-uhr-hub{fill:#2f2f2f}
.ux-uhr-knob{fill:#5b8bd8;stroke:#fff;stroke-width:3;cursor:grab;transition:fill .15s}
.ux-uhr-svg:focus-visible .ux-uhr-knob{fill:#e2574c}
.ux-uhr-pips circle{fill:#e79a3a;stroke:#2f2f2f;stroke-width:1}
.ux-uhr-res rect{fill:#fff;stroke:#d9cdb8;stroke-width:1.5}
.ux-uhr-res text{font-size:15px;font-weight:600;fill:#2f2f2f}
.ux-uhr-svg.ok .ux-uhr-sector{fill:#67b05f}
.ux-uhr-svg.ok .ux-uhr-knob{fill:#4a7530}
.ux-uhr-svg.bad .ux-uhr-res rect{stroke:#e2574c}
@media(prefers-reduced-motion:reduce){.ux-uhr-knob{transition:none}}

/* ---- Widget: umstellen ---- */
.ux[data-ux="umstellen"]{font-family:'Fredoka',sans-serif}
.ux-um-stage{background:var(--ux-paper);border:1.5px solid var(--ux-line);border-radius:12px;padding:12px 14px}
.ux-um-top{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:6px 14px;margin-bottom:8px}
.ux-um-ask{margin:0;font-size:16px;font-weight:600;color:var(--ux-dark)}
.ux-um-runde{font-size:13px;font-weight:600;color:#6b5f53}
.ux-um-log{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.ux-um-row{display:grid;grid-template-columns:minmax(0,1fr) 22px minmax(0,1fr) auto;align-items:center;gap:8px;padding:6px 10px;border-radius:9px;background:#fff;border:1.5px solid #ece3d3;font-size:18px;color:var(--ux-dark);opacity:.72}
.ux-um-row.cur{opacity:1;border-color:var(--ux-violet)}
.ux-um-row.ok{border-color:var(--ux-green);background:#f1f8ec}
.ux-um-l{justify-self:end;text-align:right}
.ux-um-r{justify-self:start}
.ux-um-eq{text-align:center;font-weight:600}
.ux-um-sym{font-style:italic;font-weight:500;white-space:nowrap}
.ux-um-sym sub{font-style:normal;font-size:.62em}
.ux-um-dot{font-style:normal}
.ux-um-frac{display:inline-flex;flex-direction:column;align-items:center;vertical-align:middle;line-height:1.15}
.ux-um-zae{padding:0 4px 2px;border-bottom:2px solid var(--ux-dark)}
.ux-um-nen{padding:2px 4px 0}
.ux-um-root{display:inline-flex;align-items:stretch}
.ux-um-rs{font-size:1.25em;line-height:1;padding-right:1px;align-self:center}
.ux-um-rin{border-top:2px solid var(--ux-dark);padding:2px 3px 0}
.ux-um-chip{font-size:12.5px;font-weight:600;font-style:normal;white-space:nowrap;padding:4px 9px;border-radius:12px;background:#efe8fa;color:var(--ux-violet);border:1px solid #d8cdef}
.ux-um-chip.start{background:#f4ede0;color:#8a7c68;border-color:var(--ux-line)}
.ux-um-chip.swap{background:#eef3fb;color:var(--ux-blue-d);border-color:#cfdcf1}
.ux-um-row.ok .ux-um-chip{background:#e8f4e4;color:var(--ux-green-d);border-color:#bcdcb2}
.ux-um-ops{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.ux-um-op{min-width:58px;padding:9px 14px;border-radius:10px;border:1.5px solid var(--ux-violet);background:#fff;color:var(--ux-violet);font:600 17px/1 'Fredoka',sans-serif;cursor:pointer;transition:transform .12s}
.ux-um-op:hover{transform:translateY(-1px);background:#f6f2fc}
.ux-um-op:focus-visible{outline:3px solid var(--ux-yellow);outline-offset:2px}
.ux-um-op[disabled]{opacity:.4;cursor:default;transform:none}
.ux-um-op .ux-um-sym{font-weight:600}
.ux-umstellen-w.done .ux-um-op{border-color:var(--ux-line);color:#9a8d7d}
@media(max-width:560px){.ux-um-row{grid-template-columns:minmax(0,1fr) 16px minmax(0,1fr);font-size:16px;padding:6px 8px;gap:5px}.ux-um-chip{grid-column:1/-1;justify-self:center}.ux-um-stage{padding:10px}.ux-um-op{min-width:52px;padding:8px 11px;font-size:16px}}
@media(prefers-reduced-motion:reduce){.ux-um-op{transition:none}}

/* ---- Widget: umwdomino ---- */
.ux[data-ux="umwdomino"]{font-family:'Fredoka',sans-serif}
.ux-dom-board{background:var(--ux-paper);border:1.5px solid var(--ux-line);border-radius:12px;padding:12px}
.ux-dom-count{font-size:13.5px;font-weight:600;color:#6b5f53;margin:0 0 8px}
.ux-dom-chain{display:flex;flex-wrap:wrap;align-items:center;gap:6px 0;min-height:64px;padding:8px;border-radius:10px;background:#f4ede0;border:1.5px dashed var(--ux-line)}
.ux-dom-pool{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px}
.ux-dom-pool-h{font-size:13px;font-weight:600;color:#6b5f53;margin:12px 0 0}
.ux-dom-st{display:inline-flex;align-items:center;gap:4px}
.ux-dom-lay{display:inline-flex;align-items:center;min-height:54px;padding:0;border:2px solid var(--ux-dark);border-radius:10px;background:#fff;color:var(--ux-dark);font:500 14px/1.25 'Fredoka',sans-serif;cursor:pointer;box-shadow:0 2px 0 #cbbfa9;transition:transform .15s}
.ux-dom-lay:hover{transform:translateY(-2px)}
.ux-dom-lay:focus-visible,.ux-dom-rot:focus-visible{outline:3px solid var(--ux-yellow);outline-offset:2px}
.ux-dom-h{display:block;text-align:center;width:124px;min-width:0;padding:6px 7px;overflow-wrap:break-word;-webkit-hyphens:manual!important;hyphens:manual!important}
.ux-dom-mid{align-self:stretch;flex:none;width:2px;background:var(--ux-dark);margin:7px 0;border-radius:1px}
.ux-dom-st.fix .ux-dom-lay{background:#eef3fb;border-color:var(--ux-blue-d);cursor:default;opacity:1}
.ux-dom-st.fix .ux-dom-mid{background:var(--ux-blue-d)}
.ux-dom-rot{width:36px;height:36px;border-radius:50%;border:1.5px solid var(--ux-line);background:#fff;color:var(--ux-violet);font:600 19px/1 'Fredoka',sans-serif;cursor:pointer}
.ux-dom-rot:hover{background:#f3ece0}
.ux-dom-join{display:inline-block;width:10px;height:6px;background:var(--ux-line);border-radius:3px}
.ux-dom-join.ok{background:var(--ux-green)}
.ux-dom-join.bad{background:var(--ux-red);height:10px;width:12px;border-radius:50%}
.ux-dom-open{margin-left:8px;padding:6px 10px;font-size:12.5px;color:#9a8d7d;border:1.5px dashed #c9bba3;border-radius:8px}
.ux-dom-leer{font-size:13px;color:#9a8d7d}
.ux-umwdomino-w.done .ux-dom-lay{cursor:default;border-color:var(--ux-green-d)}
.ux-umwdomino-w.done .ux-dom-mid{background:var(--ux-green-d)}
.ux-dom-lay.spin{animation:ux-dom-spin .28s ease}
.ux-dom-lay.drop{animation:ux-dom-drop .25s ease}
@keyframes ux-dom-spin{0%{transform:rotate(0)}50%{transform:rotate(90deg) scale(.85)}100%{transform:rotate(0)}}
@keyframes ux-dom-drop{0%{transform:translateY(-8px);opacity:.4}100%{transform:none;opacity:1}}
@media(max-width:560px){.ux-dom-h{width:104px;font-size:13px;padding:5px 5px}.ux-dom-lay{min-height:50px}.ux-dom-board{padding:9px}}
@media(prefers-reduced-motion:reduce){.ux-dom-lay{transition:none}.ux-dom-lay.spin,.ux-dom-lay.drop{animation:none}}

/* ---- Widget: waermefluss ---- */
.ux-ri-box{background:var(--ux-paper);border:1.5px solid var(--ux-line);border-radius:12px;padding:8px}
.ux-ri-svg{display:block;width:100%;max-width:620px;height:auto;margin:0 auto;font-family:'Fredoka',sans-serif}
.ux-ri-node rect{fill:#fff;stroke-width:2.4}
.ux-ri-node .ux-ri-nm{font-size:17px;font-weight:500;fill:var(--ux-dark)}
.ux-ri-node .ux-ri-tp{font-size:18px;font-weight:700;fill:var(--ux-dark)}
.ux-ri-edge{cursor:pointer;outline:none}
.ux-ri-line{fill:none;stroke-width:5;stroke-linecap:round}
.ux-ri-head{stroke:none}
.ux-ri-knob{fill:#fff;stroke-width:2.4}
.ux-ri-chev{fill:none;stroke-width:3.2;stroke-linecap:round;stroke-linejoin:round}
.ux-ri-sym{font-size:19px;font-weight:700;text-anchor:middle;dominant-baseline:central;pointer-events:none}
.ux-ri-hit{fill:transparent;stroke:transparent;stroke-width:26}
.ux-ri-edge.st-offen .ux-ri-line{stroke:#c9bba3;stroke-dasharray:3 9}
.ux-ri-edge.st-offen .ux-ri-knob{stroke:#b9ab92}
.ux-ri-edge.st-offen .ux-ri-sym{fill:#9a8b72}
.ux-ri-edge.st-null .ux-ri-line{stroke:#8d8173;stroke-dasharray:12 8}
.ux-ri-edge.st-null .ux-ri-knob{stroke:#6b5f53}
.ux-ri-edge.st-null .ux-ri-sym{fill:#6b5f53}
.ux-ri-edge.st-fluss .ux-ri-line{stroke:var(--ux-orange);stroke-dasharray:14 8;animation:uxRiFluss 1.1s linear infinite}
.ux-ri-edge.st-fluss .ux-ri-head{fill:#e2574c}
.ux-ri-edge.st-fluss .ux-ri-knob{stroke:var(--ux-orange)}
.ux-ri-edge.st-fluss .ux-ri-chev{stroke:#e2574c}
.ux-ri-edge.ok .ux-ri-knob{stroke:var(--ux-green-d);fill:#f1f8ec;stroke-width:3.4}
.ux-ri-edge.bad .ux-ri-knob{stroke:var(--ux-red);fill:#fdf0ee;stroke-width:3.4}
.ux-ri-edge:hover .ux-ri-knob{fill:#f3ece0}
.ux-ri-edge:focus-visible .ux-ri-knob{stroke:#3d2a6b;stroke-width:4}
.ux-ri-edge:focus-visible .ux-ri-ring{stroke:var(--ux-yellow)}
.ux-ri-ring{fill:none;stroke:transparent;stroke-width:4}
.ux-ri-leg{display:flex;flex-wrap:wrap;gap:6px 16px;justify-content:center;font:500 14px 'Fredoka',sans-serif;color:#6b5f53;margin-top:6px}
.ux-ri-leg span{white-space:nowrap}
@keyframes uxRiFluss{to{stroke-dashoffset:-22}}
@media(prefers-reduced-motion:reduce){.ux-ri-edge.st-fluss .ux-ri-line{animation:none}}
.ux-ri-svg{max-width:500px}
.ux-ri-svg .ux-ri-line{stroke-width:7}
.ux-ri-rows{display:grid;gap:8px}
.ux-ri-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(76px,128px) minmax(0,1fr);align-items:center;gap:4px}
.ux-ri-hn{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;background:#fff;border:2.4px solid;border-radius:12px;padding:7px 6px;font-family:'Fredoka',sans-serif;color:var(--ux-dark);min-height:58px;overflow-wrap:anywhere}
.ux-ri-hnm{font-size:16px;line-height:1.2}
.ux-ri-hn b{font-size:17px;font-weight:700}
.ux-ri-mini{display:block;width:100%;height:auto;overflow:visible;font-family:'Fredoka',sans-serif}
@media(max-width:560px){.ux-ri-hnm{font-size:14px}.ux-ri-hn b{font-size:15px}.ux-ri-hn{padding:6px 4px;min-height:52px}.ux-ri-box{padding:6px}}
.ux-ri-rows{max-width:640px;margin:0 auto}
.ux-ri-hn{overflow-wrap:normal;hyphens:auto;-webkit-hyphens:auto}
@media(max-width:560px){.ux-ri-row{grid-template-columns:minmax(0,1fr) 54px minmax(0,1fr);gap:3px}.ux-ri-hnm{font-size:13px}.ux-ri-hn b{font-size:14px;white-space:nowrap}.ux-ri-hn{padding:5px 3px}}

/* ---- Widget: waermewaage ---- */
.ux-wg-box{background:var(--ux-paper);border:1.5px solid var(--ux-line);border-radius:11px;padding:8px;max-width:600px}
.ux-wg-svg{display:block;width:100%;height:auto;max-width:560px;margin:0 auto;font-family:'Fredoka',sans-serif}
.ux-wg-svg .ux-wg-bg{fill:#faf6ee}
.ux-wg-svg .ux-wg-fuss,.ux-wg-svg .ux-wg-saeule{fill:#6b5f53}
.ux-wg-svg .ux-wg-balken rect{fill:var(--ux-dark)}
.ux-wg-svg .ux-wg-achse{fill:#f4d03f;stroke:var(--ux-dark);stroke-width:3}
.ux-wg-svg .ux-wg-zeiger{fill:var(--ux-violet)}
.ux-wg-svg .ux-wg-seil{stroke:#8d7f69;stroke-width:2;fill:none}
.ux-wg-svg .ux-wg-teller{fill:#d9cdb8;stroke:#8d7f69;stroke-width:1.5}
.ux-wg-svg .ux-wg-gewicht{stroke:#fff;stroke-width:1.5}
.ux-wg-svg .ux-wg-glab{font-weight:600;fill:#fff;paint-order:stroke;stroke:rgba(0,0,0,.25);stroke-width:2px}
.ux-wg-stand{display:flex;justify-content:space-between;gap:10px;padding:4px 10px 2px;font:500 15px/1.3 'Fredoka',sans-serif;color:var(--ux-dark)}
.ux-wg-stand b{font-weight:600;color:#5d5246}
.ux-wg-sr{text-align:right}
.ux-wg-ctl{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;margin-top:10px;font-family:'Fredoka',sans-serif}
.ux-wg-lab{font-size:15px;font-weight:600;color:var(--ux-dark)}
.ux-wg-range{width:100%;accent-color:var(--ux-violet);height:28px;cursor:pointer}
.ux-wg-range:focus-visible{outline:3px solid var(--ux-yellow);outline-offset:2px}
.ux-wg-val{min-width:78px;text-align:right;font-size:17px;font-weight:600;color:var(--ux-violet);background:#fff;border:1.5px solid var(--ux-line);border-radius:8px;padding:4px 8px}
.ux-waermewaage-w.done .ux-wg-val{color:var(--ux-green-d);border-color:var(--ux-green)}
@media(max-width:560px){.ux-wg-ctl{grid-template-columns:minmax(0,1fr) auto}.ux-wg-lab{grid-column:1/-1}.ux-wg-box{padding:4px}}
@media(prefers-reduced-motion:reduce){.ux-wg-range{transition:none}}

/* ---- Widget: wafer ---- */
.ux[data-ux="wafer"] .ux-wf-panes{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,2fr);gap:12px;align-items:end;font-family:'Fredoka',sans-serif}
.ux[data-ux="wafer"] .ux-wf-pane{background:var(--ux-paper);border:1.5px solid var(--ux-line);border-radius:12px;padding:6px 6px 4px;min-width:0}
.ux[data-ux="wafer"] .ux-wf-pane.ziel{border-style:dashed}
.ux[data-ux="wafer"] .ux-wf-ph{display:flex;justify-content:space-between;gap:8px;font:600 14px/1.3 'Fredoka',sans-serif;color:var(--ux-dark);padding:2px 6px 4px}
.ux[data-ux="wafer"] .ux-wf-count{font-weight:500;color:#6b5f53}
.ux[data-ux="wafer"] .ux-wf-svg{display:block;width:100%;height:auto;border-radius:9px}
.ux[data-ux="wafer"] .ux-wf-bg{fill:#faf6ee}
.ux[data-ux="wafer"] .ux-wf-c{stroke:#2f2f2f;stroke-width:1.2;stroke-opacity:.55}
.ux[data-ux="wafer"] .ux-wf-S{fill:#d9cdb8}
.ux[data-ux="wafer"] .ux-wf-n{fill:#5b8bd8}
.ux[data-ux="wafer"] .ux-wf-p{fill:#e79a3a}
.ux[data-ux="wafer"] .ux-wf-O{fill:#67b05f;fill-opacity:.8}
.ux[data-ux="wafer"] .ux-wf-L{fill:#7c5fb5}
.ux[data-ux="wafer"] .ux-wf-M{fill:#f4d03f}
.ux[data-ux="wafer"] .ux-wf-base{stroke:#2f2f2f;stroke-width:2}
.ux[data-ux="wafer"] .ux-wf-neu{animation:ux-wf-ein .45s ease-out}
@keyframes ux-wf-ein{from{opacity:0}to{opacity:1}}
.ux[data-ux="wafer"] .ux-wf-mok circle{fill:#67b05f}
.ux[data-ux="wafer"] .ux-wf-mbad circle{fill:#e2574c}
.ux[data-ux="wafer"] .ux-wf-legend{display:flex;flex-wrap:wrap;gap:6px 14px;margin:10px 2px 4px;font:500 13.5px/1.3 'Fredoka',sans-serif;color:var(--ux-dark)}
.ux[data-ux="wafer"] .ux-wf-legend span{display:inline-flex;align-items:center;gap:6px}
.ux[data-ux="wafer"] .ux-wf-legend i{display:inline-block;width:18px;height:12px;border-radius:3px;border:1px solid rgba(47,47,47,.5)}
.ux[data-ux="wafer"] .ux-wf-tools{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0 6px}
.ux[data-ux="wafer"] .ux-wf-step{display:inline-flex;flex-direction:column;align-items:center;gap:4px;font:600 14.5px/1.2 'Fredoka',sans-serif;color:var(--ux-dark);background:#fff;border:1.5px solid var(--ux-line);border-bottom-width:3px;border-radius:10px;padding:8px 12px;cursor:pointer;transition:transform .12s,border-color .12s}
.ux[data-ux="wafer"] .ux-wf-step:hover{border-color:var(--ux-violet);transform:translateY(-1px)}
.ux[data-ux="wafer"] .ux-wf-step:active{transform:translateY(1px)}
.ux[data-ux="wafer"] .ux-wf-step:focus-visible,.ux[data-ux="wafer"] .ux-wf-undo:focus-visible{outline:3px solid var(--ux-yellow);outline-offset:2px}
.ux[data-ux="wafer"] .ux-wf-mask{display:block;width:72px;height:9px}
.ux[data-ux="wafer"] .ux-wf-mask .zu{fill:#2f2f2f}
.ux[data-ux="wafer"] .ux-wf-mask .auf{fill:#f4d03f}
.ux[data-ux="wafer"] .ux-wf-undo{align-self:stretch}
.ux[data-ux="wafer"] .ux-wf-log{display:flex;flex-wrap:wrap;gap:6px;list-style:none;margin:4px 0 8px;padding:0}
.ux[data-ux="wafer"] .ux-wf-log li{font:500 13px/1.2 'Fredoka',sans-serif;background:#f4ede0;border:1px solid var(--ux-line);border-radius:999px;padding:4px 10px;color:var(--ux-dark)}
.ux[data-ux="wafer"].done .ux-wf-step,.ux[data-ux="wafer"].done .ux-wf-undo{opacity:.55;cursor:default;transform:none}
@media(max-width:620px){
  .ux[data-ux="wafer"] .ux-wf-panes{grid-template-columns:minmax(0,1fr)}
  .ux[data-ux="wafer"] .ux-wf-step{font-size:13.5px;padding:7px 10px}
}
@media(prefers-reduced-motion:reduce){
  .ux[data-ux="wafer"] .ux-wf-neu{animation:none}
  .ux[data-ux="wafer"] .ux-wf-step{transition:none}
  .ux[data-ux="wafer"] .ux-wf-step:hover,.ux[data-ux="wafer"] .ux-wf-step:active{transform:none}
}

/* ---- Widget: wahrheit ---- */
.ux[data-ux="wahrheit"] .ux-wht-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;max-width:100%}
.ux[data-ux="wahrheit"] .ux-wht{border-collapse:separate;border-spacing:0 6px;margin:0 auto;font-family:'Fredoka',sans-serif;min-width:0}
.ux[data-ux="wahrheit"] .ux-wht th,.ux[data-ux="wahrheit"] .ux-wht td{padding:6px 10px;text-align:center;font-size:15.5px;color:var(--ux-dark);font-weight:500}
.ux[data-ux="wahrheit"] .ux-wht thead th{font-weight:600;font-size:14px;color:#6b5f53;padding-bottom:2px;border-bottom:2px solid var(--ux-line)}
.ux[data-ux="wahrheit"] .ux-wht thead th.ux-wht-out{color:#4b3a7a}
.ux[data-ux="wahrheit"] .ux-wht tbody tr>*{background:var(--ux-paper);border-top:1.5px solid var(--ux-line);border-bottom:1.5px solid var(--ux-line)}
.ux[data-ux="wahrheit"] .ux-wht tbody tr>*:first-child{border-left:1.5px solid var(--ux-line);border-radius:10px 0 0 10px}
.ux[data-ux="wahrheit"] .ux-wht tbody tr>*:last-child{border-right:1.5px solid var(--ux-line);border-radius:0 10px 10px 0}
.ux[data-ux="wahrheit"] .ux-wht tbody .ux-wht-v{background:#f4ede0}
.ux[data-ux="wahrheit"] .ux-wht tbody td.ux-wht-v+td:not(.ux-wht-v),.ux[data-ux="wahrheit"] .ux-wht tbody th.ux-wht-v+td:not(.ux-wht-v){border-left:2px dashed #c9bba3}
.ux[data-ux="wahrheit"] .ux-wht-c{display:inline-block;min-width:64px;padding:5px 12px;border-radius:999px;border:2px dashed #b9ab92;background:#fff;color:#9a8b72;font:600 15px/1.3 'Fredoka',sans-serif;cursor:pointer;transition:background .15s,border-color .15s}
.ux[data-ux="wahrheit"] button.ux-wht-c:hover{border-color:var(--ux-violet)}
.ux[data-ux="wahrheit"] .ux-wht-c:focus-visible{outline:3px solid var(--ux-yellow);outline-offset:2px}
.ux[data-ux="wahrheit"] .ux-wht-c.s0{border:2px solid #d4a91c;background:#fdf1b8;color:#6d5300;box-shadow:0 0 0 3px rgba(244,208,63,.28)}
.ux[data-ux="wahrheit"] .ux-wht-c.s1{border:2px solid #8f8576;background:#e9e4da;color:#4d463c}
.ux[data-ux="wahrheit"] .ux-wht-c.s2{border:2px solid var(--ux-orange);background:#fbe6c8;color:#7a4a0c}
.ux[data-ux="wahrheit"] .ux-wht-c.s3{border:2px solid var(--ux-blue-d);background:#e3ecfa;color:#1f467f}
.ux[data-ux="wahrheit"] .ux-wht-fest{cursor:default;opacity:.85}
.ux[data-ux="wahrheit"] .ux-wht-fb{font-weight:700;width:22px;padding-left:4px!important;padding-right:8px!important}
.ux[data-ux="wahrheit"] .ux-wht tbody tr.ok>*{background:#f1f8ec;border-color:var(--ux-green)}
.ux[data-ux="wahrheit"] .ux-wht tbody tr.ok .ux-wht-fb{color:var(--ux-green-d)}
.ux[data-ux="wahrheit"] .ux-wht tbody tr.bad>*{background:#fdf0ee;border-color:var(--ux-red)}
.ux[data-ux="wahrheit"] .ux-wht tbody tr.bad .ux-wht-fb{color:var(--ux-red)}
.ux[data-ux="wahrheit"].done .ux-wht-c{cursor:default}
@media(max-width:560px){.ux[data-ux="wahrheit"] .ux-wht,.ux[data-ux="wahrheit"] .ux-wht tbody{display:block;width:100%}.ux[data-ux="wahrheit"] .ux-wht thead{display:none}.ux[data-ux="wahrheit"] .ux-wht tbody tr{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px;margin:0 0 8px;padding:8px 10px;background:var(--ux-paper);border:1.5px solid var(--ux-line);border-radius:10px}.ux[data-ux="wahrheit"] .ux-wht tbody tr>*{display:block;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;font-size:14px}.ux[data-ux="wahrheit"] .ux-wht tbody .ux-wht-v{font-weight:600;color:#4d463c}.ux[data-ux="wahrheit"] .ux-wht tbody .ux-wht-v::before{content:attr(data-k) ": ";font-weight:400;color:#8a7d6a;font-size:12.5px}.ux[data-ux="wahrheit"] .ux-wht tbody .ux-wht-o{display:flex;align-items:center;gap:6px;flex:1 1 auto}.ux[data-ux="wahrheit"] .ux-wht tbody .ux-wht-o::before{content:attr(data-k);min-width:84px;font-size:13px;color:#4b3a7a;font-weight:600}.ux[data-ux="wahrheit"] .ux-wht tbody td.ux-wht-o{flex-basis:auto}.ux[data-ux="wahrheit"] .ux-wht-c{min-width:52px;padding:5px 8px;font-size:13.5px}.ux[data-ux="wahrheit"] .ux-wht tbody tr.ok{background:#f1f8ec;border-color:var(--ux-green)}.ux[data-ux="wahrheit"] .ux-wht tbody tr.bad{background:#fdf0ee;border-color:var(--ux-red)}.ux[data-ux="wahrheit"] .ux-wht-fb{width:auto;margin-left:auto}}
@media(prefers-reduced-motion:reduce){.ux[data-ux="wahrheit"] .ux-wht-c{transition:none}}

/* ---- Widget: walzen ---- */
.ux-wz-ask{font-family:'Fredoka',sans-serif;font-size:16px;line-height:1.45;color:var(--ux-dark);background:#fff;border:1.5px solid var(--ux-line);border-radius:10px;padding:10px 14px;margin:0 0 10px;min-height:46px}
.ux-wz-meta{display:flex;justify-content:space-between;align-items:center;gap:10px;font-family:'Fredoka',sans-serif;font-size:13px;color:#6b5f53;margin:0 2px 8px}
.ux-wz-pips{display:flex;gap:5px}
.ux-wz-pip{width:12px;height:12px;border-radius:50%;border:2px solid var(--ux-line);background:#fff}
.ux-wz-pip.jetzt{border-color:var(--ux-violet)}
.ux-wz-pip.voll{background:var(--ux-green);border-color:var(--ux-green-d)}
.ux-wz-automat{display:grid;grid-template-columns:repeat(var(--wz-n,3),minmax(0,1fr));gap:10px;padding:14px 12px 16px;border-radius:16px;background:#3d2a6b;box-shadow:inset 0 -5px 0 rgba(0,0,0,.18)}
.ux-wz-walze{display:flex;flex-direction:column;align-items:stretch;gap:6px;min-width:0;border-radius:12px;outline:none}
.ux-wz-walze:focus-visible{box-shadow:0 0 0 3px var(--ux-yellow)}
.ux-wz-kopf{font-family:'Fredoka',sans-serif;font-weight:600;font-size:13px;letter-spacing:.02em;text-align:center;color:#f4ede0;text-transform:uppercase;overflow-wrap:anywhere}
.ux-wz-up,.ux-wz-down{height:30px;border-radius:8px;border:none;background:#f4d03f;color:#3d2a6b;font:700 14px/1 'Fredoka',sans-serif;cursor:pointer}
.ux-wz-up:hover,.ux-wz-down:hover{filter:brightness(1.06)}
.ux-wz-up:focus-visible,.ux-wz-down:focus-visible{outline:3px solid #fff;outline-offset:1px}
.ux-wz-fenster{position:relative;display:grid;grid-template-rows:34px 76px 34px;border-radius:10px;background:linear-gradient(#e9e1d2,#faf6ee 30%,#faf6ee 70%,#e9e1d2);overflow:hidden;cursor:pointer;touch-action:manipulation;border:2px solid #2a1c4d}
.ux-wz-z{display:flex;align-items:center;justify-content:center;text-align:center;padding:2px 6px;font-family:'Fredoka',sans-serif;color:var(--ux-dark);overflow:hidden;line-height:1.2;overflow-wrap:anywhere}
.ux-wz-vor,.ux-wz-nach{font-size:12px;color:#9a8b72;opacity:.75}
.ux-wz-cur{font-size:15.5px;font-weight:600;background:#fff;border-top:2px solid var(--ux-violet);border-bottom:2px solid var(--ux-violet)}
.ux-wz-walze.gesperrt .ux-wz-fenster{cursor:default}
.ux-wz-walze.gesperrt .ux-wz-cur{background:#fdf5d3;border-color:var(--ux-orange)}
.ux-wz-walze.gesperrt .ux-wz-up,.ux-wz-walze.gesperrt .ux-wz-down{visibility:hidden}
.ux-wz-walze.gesperrt .ux-wz-kopf::after{content:' · vorgegeben';text-transform:none;color:#f4d03f}
.ux-wz-walze.treffer .ux-wz-cur,.ux-wz-walze.fertig .ux-wz-cur{background:#e8f4e4;border-color:var(--ux-green-d);color:var(--ux-green-d)}
.ux-wz-walze.fertig .ux-wz-up,.ux-wz-walze.fertig .ux-wz-down{opacity:.35;cursor:default}
.ux-wz-fenster.roll-ab .ux-wz-z{animation:uxWzAb .22s ease-out}
.ux-wz-fenster.roll-auf .ux-wz-z{animation:uxWzAuf .22s ease-out}
@keyframes uxWzAb{from{transform:translateY(34%)}to{transform:none}}
@keyframes uxWzAuf{from{transform:translateY(-34%)}to{transform:none}}
.ux[data-ux="walzen"].falsch .ux-wz-automat{animation:uxWzWackeln .35s ease}
@keyframes uxWzWackeln{0%,100%{transform:none}25%{transform:translateX(-5px)}75%{transform:translateX(5px)}}
@media(max-width:560px){
  .ux-wz-automat{grid-template-columns:minmax(0,1fr);gap:10px;padding:10px 10px 12px}
  .ux-wz-walze{display:grid;grid-template-columns:40px minmax(0,1fr) 40px;grid-template-areas:"kopf kopf kopf" "up fen down";gap:4px 6px}
  .ux-wz-kopf{grid-area:kopf;font-size:11.5px;text-align:left}
  .ux-wz-up{grid-area:up;height:auto}
  .ux-wz-down{grid-area:down;height:auto}
  .ux-wz-fenster{grid-area:fen;grid-template-rows:22px 54px 22px}
  .ux-wz-cur{font-size:14.5px}
  .ux-wz-vor,.ux-wz-nach{font-size:11px;display:block;white-space:nowrap;text-overflow:ellipsis;line-height:22px;padding:0 6px}
  .ux-wz-walze.gesperrt .ux-wz-up,.ux-wz-walze.gesperrt .ux-wz-down{visibility:hidden}
}
@media(prefers-reduced-motion:reduce){
  .ux-wz-fenster.roll-ab .ux-wz-z,.ux-wz-fenster.roll-auf .ux-wz-z{animation:none}
  .ux[data-ux="walzen"].falsch .ux-wz-automat{animation:none}
}

/* ---- Widget: windungen ---- */
.ux[data-ux="windungen"] .ux-wd-kopf{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin:2px 0 6px;font-family:'Fredoka',sans-serif}
.ux[data-ux="windungen"] .ux-wd-nr{font-size:14px;color:#6b5f53;font-weight:500}
.ux[data-ux="windungen"] .ux-wd-ziel{margin-left:auto;background:#fff;border:1.5px solid var(--ux-line);border-radius:9px;padding:5px 12px;font-size:16px;color:var(--ux-dark)}
.ux[data-ux="windungen"] .ux-wd-ziel b{color:var(--ux-violet);font-weight:600}
.ux[data-ux="windungen"] .ux-wd-q{margin:0 0 8px;font-family:'Fredoka',sans-serif;font-size:15.5px;line-height:1.45;color:var(--ux-dark)}
.ux[data-ux="windungen"] .ux-wd-q:empty{display:none}
.ux[data-ux="windungen"] .ux-wd-buehne{background:var(--ux-paper);border:1.5px solid var(--ux-line);border-radius:12px;padding:10px 10px 12px;font-family:'Fredoka',sans-serif}
.ux[data-ux="windungen"] .ux-wd-svg{display:block;width:100%;max-width:520px;height:auto;margin:0 auto}
.ux[data-ux="windungen"] .ux-wd-kern{fill:#5f5a52}
.ux[data-ux="windungen"] .ux-wd-blech{stroke:#faf6ee;stroke-opacity:.35;stroke-width:1.2}
.ux[data-ux="windungen"] .ux-wd-coil rect{stroke-width:1.6}
.ux[data-ux="windungen"] .ux-wd-coil.c1 rect{fill:var(--ux-blue);stroke:var(--ux-blue-d)}
.ux[data-ux="windungen"] .ux-wd-coil.c2 rect{fill:var(--ux-orange);stroke:#b46f1c}
.ux[data-ux="windungen"] .ux-wd-coil.fest rect{fill-opacity:.55}
.ux[data-ux="windungen"] .ux-wd-draht{fill:none;stroke:var(--ux-dark);stroke-width:2.2;stroke-linejoin:round}
.ux[data-ux="windungen"] .ux-wd-griff{fill:transparent;cursor:ns-resize;touch-action:none}
.ux[data-ux="windungen"] .ux-wd-lab{font:500 13px 'Fredoka',sans-serif;fill:#6b5f53}
.ux[data-ux="windungen"] .ux-wd-quelle circle{fill:#fff;stroke:var(--ux-dark);stroke-width:2.2}
.ux[data-ux="windungen"] .ux-wd-sinus{fill:none;stroke:var(--ux-blue-d);stroke-width:2.4;stroke-linecap:round}
.ux[data-ux="windungen"] .ux-wd-lampe circle{fill:#fff;stroke:var(--ux-dark);stroke-width:2.2;transition:fill .3s}
.ux[data-ux="windungen"] .ux-wd-kreuz{stroke:var(--ux-dark);stroke-width:2}
.ux[data-ux="windungen"] .ux-wd-lampe.an circle{fill:var(--ux-yellow)}
.ux[data-ux="windungen"] .ux-wd-regler{display:flex;flex-wrap:wrap;justify-content:space-around;gap:10px 16px;margin-top:6px}
.ux[data-ux="windungen"] .ux-wd-spule{display:flex;flex-direction:column;align-items:center;gap:4px;min-width:0}
.ux[data-ux="windungen"] .ux-wd-titel{font-size:14.5px;font-weight:600;color:var(--ux-dark)}
.ux[data-ux="windungen"] .ux-wd-spule.s1 .ux-wd-titel{color:var(--ux-blue-d)}
.ux[data-ux="windungen"] .ux-wd-spule.s2 .ux-wd-titel{color:#a8621a}
.ux[data-ux="windungen"] .ux-wd-stepper{display:flex;align-items:center;gap:4px}
.ux[data-ux="windungen"] .ux-wd-b{min-width:44px;height:38px;padding:0 6px;border-radius:9px;border:1.5px solid var(--ux-line);background:#fff;color:var(--ux-dark);font:600 14px 'Fredoka',sans-serif;cursor:pointer;transition:background .15s}
.ux[data-ux="windungen"] .ux-wd-b:hover:not(:disabled){background:#f1ebdf}
.ux[data-ux="windungen"] .ux-wd-b:disabled{opacity:.4;cursor:default}
.ux[data-ux="windungen"] .ux-wd-b:focus-visible,.ux[data-ux="windungen"] .ux-wd-wert:focus-visible{outline:3px solid var(--ux-yellow);outline-offset:2px}
.ux[data-ux="windungen"] .ux-wd-wert{min-width:64px;text-align:center;background:#fff;border:2px solid var(--ux-violet);border-radius:9px;padding:6px 8px;font-size:17px;font-weight:600;color:var(--ux-dark);cursor:ns-resize}
.ux[data-ux="windungen"] .ux-wd-spule.fest .ux-wd-wert{border-color:var(--ux-line);color:#6b5f53;cursor:default}
.ux[data-ux="windungen"] .ux-wd-spule.fest .ux-wd-titel::after{content:" · fest";font-weight:500;color:#6b5f53}
.ux[data-ux="windungen"].done .ux-wd-buehne{border-color:var(--ux-green);background:#f1f8ec}
@media(max-width:560px){.ux[data-ux="windungen"] .ux-wd-b{min-width:38px;height:36px;font-size:13px;padding:0 3px}.ux[data-ux="windungen"] .ux-wd-wert{min-width:56px;font-size:16px;padding:6px 4px}.ux[data-ux="windungen"] .ux-wd-ziel{font-size:15px}.ux[data-ux="windungen"] .ux-wd-regler{flex-direction:column;align-items:center}}
@media(prefers-reduced-motion:reduce){.ux[data-ux="windungen"] .ux-wd-b{transition:none}.ux[data-ux="windungen"] .ux-wd-lampe circle{transition:none}}

/* ---- Widget: winkel ---- */
.ux-winkel-w .ux-wi-q{margin:0 0 8px;font-family:'Fredoka',sans-serif;font-size:16px;color:var(--ux-dark);min-height:24px}
.ux-winkel-w .ux-wi-nr{display:inline-block;background:#7c5fb5;color:#fff;border-radius:999px;padding:1px 10px;font-size:13px;font-weight:600;margin-right:4px}
.ux-winkel-w .ux-wi-stage{background:#faf6ee;border:1.5px solid var(--ux-line);border-radius:12px;padding:4px}
.ux-winkel-w .ux-wi-svg{display:block;width:100%;max-width:640px;height:auto;margin:0 auto;touch-action:none;cursor:crosshair;font-family:'Fredoka',sans-serif}
.ux-winkel-w .ux-wi-read{fill:#2f2f2f;font:600 17px 'Fredoka',sans-serif}
.ux-winkel-w .ux-wi-grip{cursor:grab;outline:none}
.ux-winkel-w .ux-wi-grip:focus-visible .ux-wi-gc{stroke:#f4d03f;stroke-width:5}
.ux-winkel-w .ux-wi-svg.ux-wi-blink{animation:uxWiBlink .6s ease-out}
@keyframes uxWiBlink{0%{filter:brightness(1.12)}100%{filter:none}}
.ux-winkel-w.done .ux-wi-svg{cursor:default}
@media(max-width:560px){.ux-winkel-w .ux-wi-read{font-size:22px}}
@media(prefers-reduced-motion:reduce){.ux-winkel-w .ux-wi-svg.ux-wi-blink{animation:none}}

/* ---- Widget: wisch ---- */
.ux[data-ux="wisch"] .ux-wk-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.35fr) minmax(0,1fr);grid-template-areas:"l m r";gap:12px;align-items:start;font-family:'Fredoka',sans-serif}
.ux[data-ux="wisch"] .ux-wk-mid{grid-area:m;display:flex;flex-direction:column;align-items:center;gap:10px;min-width:0}
.ux[data-ux="wisch"] .ux-wk-pile{min-width:0;background:var(--ux-paper);border:1.5px dashed var(--ux-line);border-radius:12px;padding:8px;min-height:150px}
.ux[data-ux="wisch"] .ux-wk-pile.l{grid-area:l;border-color:#9fb8e6}
.ux[data-ux="wisch"] .ux-wk-pile.r{grid-area:r;border-color:#e9c08a}
.ux[data-ux="wisch"] .ux-wk-ph{display:block;font:600 15px/1.25 'Fredoka',sans-serif;text-align:center;padding:2px 4px 8px;color:#2c5fb5}
.ux[data-ux="wisch"] .ux-wk-pile.r .ux-wk-ph{color:#a8641a}
.ux[data-ux="wisch"] .ux-wk-list{display:flex;flex-direction:column;gap:6px}
.ux[data-ux="wisch"] .ux-wk-chip{font:500 13px/1.3 'Fredoka',sans-serif;text-align:left;color:var(--ux-dark);background:#fff;border:1.5px solid var(--ux-line);border-radius:8px;padding:5px 8px;cursor:pointer;overflow-wrap:anywhere}
.ux[data-ux="wisch"] .ux-wk-chip:hover{border-color:var(--ux-violet)}
.ux[data-ux="wisch"] .ux-wk-chip:focus-visible,.ux[data-ux="wisch"] .ux-wk-card:focus-visible,.ux[data-ux="wisch"] .ux-wk-go:focus-visible{outline:3px solid var(--ux-yellow);outline-offset:2px}
.ux[data-ux="wisch"] .ux-wk-chip.ok{background:#eef6ea;border-color:var(--ux-green);color:var(--ux-green-d);cursor:default}
.ux[data-ux="wisch"] .ux-wk-deck{position:relative;width:100%;max-width:330px;height:190px}
.ux[data-ux="wisch"] .ux-wk-card,.ux[data-ux="wisch"] .ux-wk-shadow,.ux[data-ux="wisch"] .ux-wk-empty{position:absolute;inset:0;border-radius:16px}
.ux[data-ux="wisch"] .ux-wk-shadow{background:#fff;border:1.5px solid var(--ux-line)}
.ux[data-ux="wisch"] .ux-wk-shadow.s1{transform:translateY(6px) scale(.97)}
.ux[data-ux="wisch"] .ux-wk-shadow.s2{transform:translateY(12px) scale(.94);opacity:.7}
.ux[data-ux="wisch"] .ux-wk-empty{display:flex;align-items:center;justify-content:center;border:2px dashed var(--ux-line);color:#9a8b72;font:500 15px 'Fredoka',sans-serif}
.ux[data-ux="wisch"] .ux-wk-card{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:18px 20px;background:#fff;border:2px solid var(--ux-violet);box-shadow:0 6px 16px rgba(47,47,47,.12);cursor:grab;touch-action:none;user-select:none;-webkit-user-select:none;text-align:center;transition:transform .22s ease-out,opacity .22s ease-out}
.ux[data-ux="wisch"] .ux-wk-card.zieht{cursor:grabbing;transition:none}
.ux[data-ux="wisch"] .ux-wk-card.weg.l{transform:translateX(-120%) rotate(-14deg);opacity:0}
.ux[data-ux="wisch"] .ux-wk-card.weg.r{transform:translateX(120%) rotate(14deg);opacity:0}
.ux[data-ux="wisch"] .ux-wk-kick{font:600 12px/1 'Fredoka',sans-serif;letter-spacing:.04em;text-transform:uppercase;color:#7c5fb5}
.ux[data-ux="wisch"] .ux-wk-txt{font:500 17px/1.4 'Fredoka',sans-serif;color:var(--ux-dark)}
.ux[data-ux="wisch"] .ux-wk-hint{position:absolute;top:10px;font:600 12.5px/1 'Fredoka',sans-serif;padding:4px 8px;border-radius:999px;opacity:0;transition:opacity .12s}
.ux[data-ux="wisch"] .ux-wk-hint.l{left:10px;background:#5b8bd8;color:#fff}
.ux[data-ux="wisch"] .ux-wk-hint.r{right:10px;background:#e79a3a;color:#fff}
.ux[data-ux="wisch"] .ux-wk-card.zeigt-l .ux-wk-hint.l,.ux[data-ux="wisch"] .ux-wk-card.zeigt-r .ux-wk-hint.r{opacity:1}
.ux[data-ux="wisch"] .ux-wk-btns{display:flex;gap:8px;flex-wrap:wrap;justify-content:center}
.ux[data-ux="wisch"] .ux-wk-go{font:600 14.5px/1.2 'Fredoka',sans-serif;border-radius:999px;padding:8px 14px;cursor:pointer;color:#fff;border:none}
.ux[data-ux="wisch"] .ux-wk-go.l{background:#2c5fb5}
.ux[data-ux="wisch"] .ux-wk-go.r{background:#a8641a}
.ux[data-ux="wisch"] .ux-wk-go[disabled]{opacity:.4;cursor:default}
.ux[data-ux="wisch"] .ux-wk-rest{font:500 13.5px/1.2 'Fredoka',sans-serif;color:#6b5f53}
@media(max-width:620px){
  .ux[data-ux="wisch"] .ux-wk-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-areas:"m m" "l r"}
  .ux[data-ux="wisch"] .ux-wk-deck{height:180px}
  .ux[data-ux="wisch"] .ux-wk-txt{font-size:16px}
  .ux[data-ux="wisch"] .ux-wk-pile{min-height:90px}
}
@media(prefers-reduced-motion:reduce){
  .ux[data-ux="wisch"] .ux-wk-card{transition:none}
  .ux[data-ux="wisch"] .ux-wk-hint{transition:none}
}

/* ---- Widget: zaehlerstand ---- */
.ux-zr-kopf{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin:2px 0 6px;font-family:'Fredoka',sans-serif}
.ux-zr-nr{font-size:14px;color:#6b5f53;font-weight:500}
.ux-zr-alt{margin-left:auto;background:#fff;border:1.5px solid var(--ux-line);border-radius:9px;padding:5px 12px;font-size:16px;color:var(--ux-dark)}
.ux-zr-alt b{color:var(--ux-violet);font-weight:600}
.ux-zr-q{margin:0 0 8px;font-family:'Fredoka',sans-serif;font-size:15.5px;color:var(--ux-dark)}
.ux-zr-q:empty{display:none}
.ux-zr-geraet{max-width:460px;margin:0 auto;background:#f4ede0;border:2px solid #b9ab92;border-radius:16px;padding:12px 14px 14px;font-family:'Fredoka',sans-serif;display:flex;flex-direction:column;align-items:center;gap:8px}
.ux-zr-schild{display:flex;justify-content:space-between;align-items:center;width:100%;font-size:13.5px;color:#6b5f53;gap:8px}
.ux-zr-schild b{font-weight:600;color:var(--ux-dark);font-size:15px}
.ux-zr-rollen{display:flex;align-items:center;justify-content:center;gap:4px;background:#2f2f2f;border-radius:10px;padding:6px 8px;max-width:100%}
.ux-zr-rolle{display:flex;flex-direction:column;align-items:center;gap:2px}
.ux-zr-auf,.ux-zr-ab{width:34px;height:24px;border:0;border-radius:6px;background:#4a4a4a;color:#f4ede0;font:600 12px/1 'Fredoka',sans-serif;cursor:pointer;padding:0}
.ux-zr-auf:hover,.ux-zr-ab:hover{background:#5b8bd8}
.ux-zr-fenster{width:34px;height:46px;overflow:hidden;border-radius:5px;background:#fff;box-shadow:inset 0 6px 6px -4px rgba(0,0,0,.35),inset 0 -6px 6px -4px rgba(0,0,0,.35);cursor:ns-resize;touch-action:none;position:relative}
.ux-zr-fenster:focus{outline:none}
.ux-zr-fenster:focus-visible{outline:3px solid var(--ux-yellow);outline-offset:2px}
.ux-zr-band{display:flex;flex-direction:column;height:460px;transition:transform .2s ease-out}
.ux-zr-band span{height:46px;flex:0 0 46px;display:flex;align-items:center;justify-content:center;font:600 30px/1 'Fredoka',sans-serif;color:#2f2f2f}
.ux-zr-rolle.nk .ux-zr-fenster{background:#e2574c}
.ux-zr-rolle.nk .ux-zr-band span{color:#fff}
.ux-zr-komma{color:#f4ede0;font:600 30px/1 'Fredoka',sans-serif;align-self:flex-end;margin-bottom:30px}
.ux-zr-scheibe{width:100%;max-width:260px;height:auto;display:block}
.ux-zr-scheibe .sch-fenster{fill:#faf6ee;stroke:#b9ab92;stroke-width:2}
.ux-zr-scheibe .sch-rand{fill:#d9cdb8}
.ux-zr-scheibe .sch-marke{fill:#e2574c}
.ux-zaehlerstand-w.laeuft .sch-marke{animation:ux-zr-drehen 1.6s linear infinite}
@keyframes ux-zr-drehen{from{transform:translateX(-120px)}to{transform:translateX(120px)}}
.ux-zaehlerstand-w.done .ux-zr-geraet{border-color:var(--ux-green)}
@media(max-width:560px){.ux-zr-rollen{gap:3px;padding:5px}.ux-zr-auf,.ux-zr-ab{width:28px}.ux-zr-fenster{width:28px;height:40px}.ux-zr-band{height:400px}.ux-zr-band span{height:40px;flex-basis:40px;font-size:25px}.ux-zr-komma{font-size:24px;margin-bottom:28px}.ux-zr-alt{font-size:15px}}
@media(prefers-reduced-motion:reduce){.ux-zr-band{transition:none}.ux-zaehlerstand-w.laeuft .sch-marke{animation:none}}
.ux-zr-schild span{white-space:nowrap}
@media(max-width:420px){.ux-zr-schild span{display:none}}

/* ---- Widget: zehnerpotenz ---- */
.ux-zp{background:var(--ux-paper);border:1.5px solid var(--ux-line);border-radius:12px;padding:12px 10px 14px;font-family:'Fredoka',sans-serif;position:relative}
.ux-zp-res{margin:0 0 10px auto;width:max-content;max-width:100%;background:#fff;border:1.5px solid var(--ux-line);border-radius:8px;padding:5px 12px;font-size:14.5px;font-weight:600;color:var(--ux-dark);overflow-wrap:anywhere}
.ux-zp-line{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:4px 6px;font-size:30px;color:var(--ux-dark)}
.ux-zp-spin{display:inline-flex;flex-direction:column;align-items:center;gap:3px}
.ux-zp-up,.ux-zp-dn{width:42px;height:28px;border-radius:8px;border:1.5px solid var(--ux-line);background:#fff;color:#7c5fb5;font:600 13px/1 'Fredoka',sans-serif;cursor:pointer;transition:background .12s}
.ux-zp-up:hover,.ux-zp-dn:hover{background:#f1ecfa}
.ux-zp-val{display:inline-block;min-width:42px;padding:6px 4px;text-align:center;background:#fff;border:2px solid #7c5fb5;border-radius:9px;font:600 30px/1.1 'Fredoka',sans-serif;color:#2f2f2f;cursor:ns-resize}
.ux-zp-val:focus{outline:none}
.ux-zp-val:focus-visible{outline:3px solid var(--ux-yellow);outline-offset:2px}
.ux-zp-comma{font-weight:600;align-self:center;margin:0 -2px}
.ux-zp-grp{display:inline-flex;align-items:center;gap:6px;white-space:nowrap}
.ux-zp-ten{font-weight:600;white-space:nowrap;margin-left:6px}
.ux-zp-exp{align-self:flex-start;margin-top:-6px}
.ux-zp-exp .ux-zp-val{font-size:21px;min-width:52px;border-color:#e79a3a;padding:4px}
.ux-zp-exp .ux-zp-up,.ux-zp-exp .ux-zp-dn{color:#b56d14;width:52px}
.ux-zp-unit{font-weight:600;margin-left:8px;font-size:24px}
.ux-zp.ok .ux-zp-val{border-color:#4a7530;background:#f1f8ec}
.ux-zp.bad .ux-zp-res{border-color:#e2574c}
@media(max-width:560px){.ux-zp{padding:10px 4px 12px}.ux-zp-line{font-size:21px;gap:4px 3px}.ux-zp-val{font-size:21px;min-width:28px;padding:5px 2px}.ux-zp-up,.ux-zp-dn{width:28px;height:26px}.ux-zp-ten{margin-left:2px}.ux-zp-grp{gap:3px}.ux-zp-exp .ux-zp-val{font-size:16px;min-width:38px}.ux-zp-exp .ux-zp-up,.ux-zp-exp .ux-zp-dn{width:38px}.ux-zp-unit{font-size:18px;margin-left:3px}}
@media(prefers-reduced-motion:reduce){.ux-zp-up,.ux-zp-dn{transition:none}}

/* ---- Widget: zeitmarke ---- */
.ux[data-ux="zeitmarke"] .ux-zm-kopf{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 12px;margin:4px 0 8px;font-family:'Fredoka',sans-serif}
.ux[data-ux="zeitmarke"] .ux-zm-nr{font-size:13px;font-weight:600;color:#fff;background:var(--ux-violet);border-radius:999px;padding:2px 10px;white-space:nowrap}
.ux[data-ux="zeitmarke"] .ux-zm-q{margin:0;flex:1 1 260px;font-size:16px;font-weight:500;color:var(--ux-dark)}
.ux[data-ux="zeitmarke"] .ux-zm-buehne{background:var(--ux-paper);border:1.5px solid var(--ux-line);border-radius:12px;padding:8px 8px 4px;min-width:0}
.ux[data-ux="zeitmarke"] .ux-zm-svg{display:block;width:100%;max-width:680px;height:auto;margin:0 auto;touch-action:none;cursor:ew-resize;border-radius:8px}
.ux[data-ux="zeitmarke"] .ux-zm-svg:focus-visible{outline:3px solid var(--ux-yellow);outline-offset:2px}
.ux[data-ux="zeitmarke"] .ux-zm-gitter line{stroke:#e6ded0;stroke-width:1}
.ux[data-ux="zeitmarke"] .ux-zm-achse line{stroke:var(--ux-dark);stroke-width:1.6}
.ux[data-ux="zeitmarke"] .ux-zm-spitze{fill:var(--ux-dark)}
.ux[data-ux="zeitmarke"] .ux-zm-tick{font:500 13px 'Fredoka',sans-serif;fill:#6b5f53}
.ux[data-ux="zeitmarke"] .ux-zm-alab{font:600 13.5px 'Fredoka',sans-serif;fill:#3d2a6b}
.ux[data-ux="zeitmarke"] .ux-zm-kurve{fill:none;stroke:var(--ux-blue-d);stroke-width:2.8;stroke-linejoin:round;stroke-linecap:round}
.ux[data-ux="zeitmarke"] .ux-zm-cl{stroke:var(--ux-orange);stroke-width:2.2}
.ux[data-ux="zeitmarke"] .ux-zm-cp{fill:#fff;stroke:var(--ux-orange);stroke-width:2.6}
.ux[data-ux="zeitmarke"] .ux-zm-ch{fill:var(--ux-orange)}
.ux[data-ux="zeitmarke"] .ux-zm-hit{fill:transparent}
.ux[data-ux="zeitmarke"] .ux-zm-mkl{stroke:var(--ux-violet);stroke-width:1.8;stroke-dasharray:5 4}
.ux[data-ux="zeitmarke"] .ux-zm-fahne{fill:var(--ux-violet);stroke:var(--ux-violet);stroke-width:1.4;stroke-linejoin:round}
.ux[data-ux="zeitmarke"] .ux-zm-mk.ok .ux-zm-mkl{stroke:var(--ux-green-d);stroke-dasharray:none}
.ux[data-ux="zeitmarke"] .ux-zm-mk.ok .ux-zm-fahne{fill:var(--ux-green);stroke:var(--ux-green-d)}
.ux[data-ux="zeitmarke"] .ux-zm-mk.bad .ux-zm-mkl{stroke:var(--ux-red)}
.ux[data-ux="zeitmarke"] .ux-zm-mk.bad .ux-zm-fahne{fill:var(--ux-red);stroke:var(--ux-red)}
.ux[data-ux="zeitmarke"] .ux-zm-draht{stroke:#b9ab92;stroke-width:3;stroke-linecap:round}
.ux[data-ux="zeitmarke"] .ux-zm-pfl{stroke-width:5;stroke-linecap:round}
.ux[data-ux="zeitmarke"] .ux-zm-pfl.hin{stroke:var(--ux-blue-d)}.ux[data-ux="zeitmarke"] .ux-zm-pfs.hin{fill:var(--ux-blue-d)}
.ux[data-ux="zeitmarke"] .ux-zm-pfl.rueck{stroke:var(--ux-orange)}.ux[data-ux="zeitmarke"] .ux-zm-pfs.rueck{fill:var(--ux-orange)}
.ux[data-ux="zeitmarke"] .ux-zm-pfd{fill:#fff;stroke:#6b5f53;stroke-width:2}
.ux[data-ux="zeitmarke"] .ux-zm-steuer{display:flex;flex-wrap:wrap;align-items:center;gap:8px 10px;margin-top:8px;font-family:'Fredoka',sans-serif}
.ux[data-ux="zeitmarke"] .ux-zm-play{width:42px;height:42px;border-radius:50%;border:0;background:#3d2a6b;color:#fff;font:600 16px/1 'Fredoka',sans-serif;cursor:pointer;transition:transform .15s}
.ux[data-ux="zeitmarke"] .ux-zm-play:hover{transform:scale(1.06)}
.ux[data-ux="zeitmarke"] .ux-zm-play:focus-visible,.ux[data-ux="zeitmarke"] .ux-zm-set:focus-visible{outline:3px solid var(--ux-yellow);outline-offset:2px}
.ux[data-ux="zeitmarke"] .ux-zm-play[hidden]{display:none}
.ux[data-ux="zeitmarke"] .ux-zm-zeit{min-width:96px;font-size:16px;font-weight:600;color:var(--ux-dark);background:#fff;border:1.5px solid var(--ux-line);border-radius:8px;padding:4px 10px;text-align:center;font-variant-numeric:tabular-nums}
.ux[data-ux="zeitmarke"] .ux-zm-set{font-family:'Fredoka',sans-serif}
@media(max-width:560px){.ux[data-ux="zeitmarke"] .ux-zm-buehne{padding:4px 2px 2px}.ux[data-ux="zeitmarke"] .ux-zm-q{font-size:15px}}
@media(prefers-reduced-motion:reduce){.ux[data-ux="zeitmarke"] .ux-zm-play{transition:none}}

/* ---- Widget: zeitstrahl ---- */
.ux[data-ux="zeitstrahl"] .ux-zst-pool{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:8px;margin-bottom:10px;font-family:'Fredoka',sans-serif}
.ux[data-ux="zeitstrahl"] .ux-zst-card{display:grid;grid-template-columns:28px minmax(0,1fr) auto;align-items:center;gap:8px;text-align:left;padding:8px 10px;border:1.5px solid var(--ux-line);border-radius:10px;background:var(--ux-paper);color:var(--ux-dark);font:500 14.5px/1.3 'Fredoka',sans-serif;cursor:pointer;transition:border-color .15s,box-shadow .15s}
.ux[data-ux="zeitstrahl"] .ux-zst-card:hover{border-color:var(--ux-violet)}
.ux[data-ux="zeitstrahl"] .ux-zst-card:focus-visible{outline:3px solid var(--ux-yellow);outline-offset:2px}
.ux[data-ux="zeitstrahl"] .ux-zst-card.aktiv{border:2px solid var(--ux-violet);box-shadow:0 0 0 3px rgba(124,95,181,.18);background:#fff}
.ux[data-ux="zeitstrahl"] .ux-zst-nr{width:26px;height:26px;border-radius:50%;background:var(--ux-violet);color:#fff;font:600 14px/26px 'Fredoka',sans-serif;text-align:center}
.ux[data-ux="zeitstrahl"] .ux-zst-txt{overflow-wrap:anywhere}
.ux[data-ux="zeitstrahl"] .ux-zst-jahr{min-width:46px;padding:2px 8px;border-radius:999px;background:#efe6d6;color:#6b5f53;font:600 13.5px/1.4 'Fredoka',sans-serif;text-align:center}
.ux[data-ux="zeitstrahl"] .ux-zst-card.ok{border-color:var(--ux-green);background:#f1f8ec}
.ux[data-ux="zeitstrahl"] .ux-zst-card.ok .ux-zst-nr{background:var(--ux-green-d)}
.ux[data-ux="zeitstrahl"] .ux-zst-card.bad{border-color:var(--ux-red);background:#fdf0ee}
.ux[data-ux="zeitstrahl"] .ux-zst-card.bad .ux-zst-nr{background:var(--ux-red)}
.ux[data-ux="zeitstrahl"] .ux-zst-stage{max-width:680px;margin:0 auto}
.ux[data-ux="zeitstrahl"] .ux-zst-svg{display:block;width:100%;height:auto;font-family:'Fredoka',sans-serif;cursor:crosshair;user-select:none;-webkit-user-select:none}
.ux[data-ux="zeitstrahl"] .ux-zst-bg{fill:#faf6ee;stroke:var(--ux-line);stroke-width:1.5}
.ux[data-ux="zeitstrahl"] .ux-zst-band{fill:#f4ede0}
.ux[data-ux="zeitstrahl"] .ux-zst-achse{stroke:var(--ux-dark);stroke-width:2.4;stroke-linecap:round}
.ux[data-ux="zeitstrahl"] .ux-zst-pfeil{fill:var(--ux-dark)}
.ux[data-ux="zeitstrahl"] .ux-zst-tk{stroke:var(--ux-dark);stroke-width:2}
.ux[data-ux="zeitstrahl"] .ux-zst-tf{stroke:#a99c86;stroke-width:1}
.ux[data-ux="zeitstrahl"] .ux-zst-lab{font-size:15px;fill:#6b5f53;font-weight:500}
.ux[data-ux="zeitstrahl"] .ux-zst-m{cursor:grab;touch-action:none;outline:none}
.ux[data-ux="zeitstrahl"] .ux-zst-stiel{stroke:var(--ux-violet);stroke-width:2.2}
.ux[data-ux="zeitstrahl"] .ux-zst-spitze{fill:var(--ux-violet)}
.ux[data-ux="zeitstrahl"] .ux-zst-kopf{fill:var(--ux-violet);stroke:#fff;stroke-width:2}
.ux[data-ux="zeitstrahl"] .ux-zst-knr{fill:#fff;font-size:14px;font-weight:600;pointer-events:none}
.ux[data-ux="zeitstrahl"] .ux-zst-hit{fill:transparent}
.ux[data-ux="zeitstrahl"] .ux-zst-m.aktiv .ux-zst-kopf{fill:#4b3a7a;stroke:var(--ux-yellow);stroke-width:3}
.ux[data-ux="zeitstrahl"] .ux-zst-m:focus-visible .ux-zst-kopf{stroke:var(--ux-yellow);stroke-width:4}
.ux[data-ux="zeitstrahl"] .ux-zst-m.ok .ux-zst-kopf,.ux[data-ux="zeitstrahl"] .ux-zst-m.ok .ux-zst-spitze{fill:var(--ux-green-d)}
.ux[data-ux="zeitstrahl"] .ux-zst-m.ok .ux-zst-stiel{stroke:var(--ux-green-d)}
.ux[data-ux="zeitstrahl"] .ux-zst-m.bad .ux-zst-kopf,.ux[data-ux="zeitstrahl"] .ux-zst-m.bad .ux-zst-spitze{fill:var(--ux-red)}
.ux[data-ux="zeitstrahl"] .ux-zst-m.bad .ux-zst-stiel{stroke:var(--ux-red)}
.ux[data-ux="zeitstrahl"] .ux-zst-wahr line{stroke:var(--ux-green);stroke-width:4;stroke-linecap:round;opacity:.85}
.ux[data-ux="zeitstrahl"].ux-zst-zieht,.ux[data-ux="zeitstrahl"].ux-zst-zieht *{cursor:grabbing}
.ux[data-ux="zeitstrahl"].done .ux-zst-card,.ux[data-ux="zeitstrahl"].done .ux-zst-svg,.ux[data-ux="zeitstrahl"].done .ux-zst-m{cursor:default}
@media(max-width:560px){.ux[data-ux="zeitstrahl"] .ux-zst-pool{grid-template-columns:1fr}.ux[data-ux="zeitstrahl"] .ux-zst-card{font-size:14px;padding:7px 8px}.ux[data-ux="zeitstrahl"] .ux-zst-lab{font-size:19px}.ux[data-ux="zeitstrahl"] .ux-zst-knr{font-size:15px}}
@media(prefers-reduced-motion:reduce){.ux[data-ux="zeitstrahl"] .ux-zst-card{transition:none}}

/* ---- Widget: zielsuche ---- */
.ux[data-ux="zielsuche"] .ux-zs-kopf{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin:2px 0 6px;font-family:'Fredoka',sans-serif}
.ux[data-ux="zielsuche"] .ux-zs-nr{font-size:14px;color:#6b5f53;font-weight:500}
.ux[data-ux="zielsuche"] .ux-zs-ziel{margin-left:auto;background:#fff;border:1.5px solid var(--ux-line);border-radius:9px;padding:5px 12px;font-size:15.5px;color:var(--ux-dark)}
.ux[data-ux="zielsuche"] .ux-zs-ziel b{color:var(--ux-violet);font-weight:600}
.ux[data-ux="zielsuche"] .ux-zs-q{margin:0 0 8px;font-family:'Fredoka',sans-serif;font-size:15.5px;line-height:1.45;color:var(--ux-dark)}
.ux[data-ux="zielsuche"] .ux-zs-q:empty{display:none}
.ux[data-ux="zielsuche"] .ux-zs-buehne{background:var(--ux-paper);border:1.5px solid var(--ux-line);border-radius:12px;padding:10px 14px 12px;font-family:'Fredoka',sans-serif}
.ux[data-ux="zielsuche"] .ux-zs-svg{display:block;width:100%;max-width:520px;height:auto;margin:0 auto 6px}
.ux[data-ux="zielsuche"] .ux-zs-boden{fill:#e9dfcc}
.ux[data-ux="zielsuche"] .ux-zs-haus{fill:#8a8178;stroke:var(--ux-dark);stroke-width:1.6}
.ux[data-ux="zielsuche"] .ux-zs-rauch{fill:none;stroke:#b9ab92;stroke-width:3;stroke-linecap:round}
.ux[data-ux="zielsuche"] .ux-zs-mast{fill:none;stroke:#6b5f53;stroke-width:2.4;stroke-linejoin:round;stroke-linecap:round}
.ux[data-ux="zielsuche"] .ux-zs-stadt{fill:var(--ux-blue);stroke:var(--ux-blue-d);stroke-width:1.6}
.ux[data-ux="zielsuche"] .ux-zs-seil{fill:none;stroke:var(--ux-dark);stroke-width:2.2}
.ux[data-ux="zielsuche"] .ux-zs-glut{fill:none;stroke:var(--ux-red);stroke-linecap:round;transition:stroke-width .25s,stroke-opacity .25s}
.ux[data-ux="zielsuche"] .ux-zs-wellen path{fill:none;stroke:var(--ux-orange);stroke-width:2.2;stroke-linecap:round}
.ux[data-ux="zielsuche"] .ux-zs-wellen{transition:opacity .25s}
.ux[data-ux="zielsuche"] .ux-zs-werte{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:6px 10px;margin:4px 0 10px}
.ux[data-ux="zielsuche"] .ux-zs-werte>div{display:flex;flex-direction:column;gap:3px;min-width:0}
.ux[data-ux="zielsuche"] .ux-zs-werte dt{font-size:13px;line-height:1.35;color:#6b5f53;margin:0}
.ux[data-ux="zielsuche"] .ux-zs-werte sub{line-height:0}
.ux[data-ux="zielsuche"] .ux-zs-werte dd{margin:0;font-size:18px;font-weight:600;color:var(--ux-dark);background:#fff;border:1.5px solid var(--ux-line);border-radius:9px;padding:4px 10px;font-variant-numeric:tabular-nums}
.ux[data-ux="zielsuche"] .ux-zs-werte dd.ux-zs-xdd{border-color:var(--ux-violet);color:var(--ux-violet)}
.ux[data-ux="zielsuche"] .ux-zs-werte dd.ux-zs-verdeckt{color:#9a8b72;border-style:dashed}
.ux[data-ux="zielsuche"] .ux-zs-mess{display:flex;align-items:center;gap:10px;margin:0 0 12px}
.ux[data-ux="zielsuche"] .ux-zs-mess[hidden]{display:none}
.ux[data-ux="zielsuche"] .ux-zs-mbar{position:relative;flex:1;height:14px;border-radius:7px;background:#fff;border:1.5px solid var(--ux-line);overflow:hidden}
.ux[data-ux="zielsuche"] .ux-zs-mfill{position:absolute;left:0;top:0;bottom:0;background:var(--ux-orange);transition:width .2s}
.ux[data-ux="zielsuche"] .ux-zs-mess.ok .ux-zs-mfill{background:var(--ux-green)}
.ux[data-ux="zielsuche"] .ux-zs-mess.bad .ux-zs-mfill{background:var(--ux-red)}
.ux[data-ux="zielsuche"] .ux-zs-mgrenze{position:absolute;left:50%;top:-2px;bottom:-2px;width:3px;margin-left:-1.5px;background:var(--ux-dark)}
.ux[data-ux="zielsuche"] .ux-zs-mlab{font-size:13px;color:#6b5f53;white-space:nowrap}
.ux[data-ux="zielsuche"] .ux-zs-regel{display:flex;align-items:center;gap:12px}
.ux[data-ux="zielsuche"] .ux-zs-b{flex:0 0 auto;width:40px;height:40px;border-radius:50%;border:1.5px solid var(--ux-line);background:#fff;color:var(--ux-dark);font:600 20px/1 'Fredoka',sans-serif;cursor:pointer;transition:background .15s}
.ux[data-ux="zielsuche"] .ux-zs-b:hover:not(:disabled){background:#f1ebdf}
.ux[data-ux="zielsuche"] .ux-zs-b:disabled{opacity:.4;cursor:default}
.ux[data-ux="zielsuche"] .ux-zs-track{position:relative;flex:1;height:34px;cursor:pointer;touch-action:none}
.ux[data-ux="zielsuche"] .ux-zs-track::before{content:"";position:absolute;left:0;right:0;top:50%;height:8px;margin-top:-4px;border-radius:4px;background:#e6ded0}
.ux[data-ux="zielsuche"] .ux-zs-fill{position:absolute;left:0;top:50%;height:8px;margin-top:-4px;border-radius:4px;background:var(--ux-violet)}
.ux[data-ux="zielsuche"] .ux-zs-knopf{position:absolute;top:50%;width:26px;height:26px;margin:-13px 0 0 -13px;border-radius:50%;background:#fff;border:3px solid var(--ux-violet);box-shadow:0 1px 3px rgba(0,0,0,.2);cursor:grab;transition:left .12s}
.ux[data-ux="zielsuche"] .ux-zs-track.zieht .ux-zs-knopf{cursor:grabbing;transition:none}
.ux[data-ux="zielsuche"] .ux-zs-knopf:focus-visible,.ux[data-ux="zielsuche"] .ux-zs-b:focus-visible{outline:3px solid var(--ux-yellow);outline-offset:2px}
.ux[data-ux="zielsuche"] .ux-zs-skala{display:flex;justify-content:space-between;align-items:baseline;gap:8px;margin:4px 52px 0;font-size:13px;color:#6b5f53}
.ux[data-ux="zielsuche"] .ux-zs-xwert{font-size:15px;color:var(--ux-dark)}
.ux[data-ux="zielsuche"] .ux-zs-xwert b{color:var(--ux-violet);font-weight:600}
.ux[data-ux="zielsuche"].done .ux-zs-buehne{border-color:var(--ux-green);background:#f1f8ec}
@media(max-width:560px){.ux[data-ux="zielsuche"] .ux-zs-werte{grid-template-columns:1fr;gap:6px}.ux[data-ux="zielsuche"] .ux-zs-werte>div{flex-direction:row;align-items:center;justify-content:space-between;gap:8px}.ux[data-ux="zielsuche"] .ux-zs-werte dt{flex:1 1 auto;hyphens:auto}.ux[data-ux="zielsuche"] .ux-zs-werte dd{flex:0 0 auto;min-width:46%;text-align:right;font-size:16px;padding:4px 8px}.ux[data-ux="zielsuche"] .ux-zs-skala{margin:4px 0 0}.ux[data-ux="zielsuche"] .ux-zs-buehne{padding:8px 10px 10px}}
@media(prefers-reduced-motion:reduce){.ux[data-ux="zielsuche"] .ux-zs-glut,.ux[data-ux="zielsuche"] .ux-zs-wellen,.ux[data-ux="zielsuche"] .ux-zs-mfill,.ux[data-ux="zielsuche"] .ux-zs-knopf,.ux[data-ux="zielsuche"] .ux-zs-b{transition:none}}

/* ---- Widget: zonen ---- */
.ux-zon-pool{display:flex;flex-wrap:wrap;gap:8px;min-height:52px;padding:10px;border:1.5px dashed var(--ux-line);border-radius:12px;background:#fff;margin-bottom:12px}
.ux-zon-card{display:inline-flex;align-items:center;gap:8px;font-family:'Fredoka',sans-serif;font-size:14.5px;line-height:1.25;color:var(--ux-dark);background:#fff;border:1.5px solid var(--ux-line);border-radius:10px;padding:7px 11px;cursor:grab;text-align:left;touch-action:none;user-select:none;-webkit-user-select:none;max-width:100%;transition:border-color .15s,box-shadow .15s}
.ux-zon-card:hover{border-color:var(--ux-violet)}
.ux-zon-card:focus-visible{outline:3px solid var(--ux-yellow);outline-offset:2px}
.ux-zon-card.picked{border-color:var(--ux-violet);box-shadow:0 0 0 3px rgba(124,95,181,.25)}
.ux-zon-card.zieht{opacity:.35}
.ux-zon-card.ok{border-color:var(--ux-green);background:#f1f8ec}
.ux-zon-card.bad{border-color:var(--ux-red);background:#fdf0ee}
.ux-zon-ghost{position:fixed;z-index:9999;pointer-events:none;opacity:.92;box-shadow:0 6px 18px rgba(0,0,0,.18);transform:rotate(-2deg)}
.ux-zon-sym{flex:0 0 auto;display:inline-grid;place-items:center;width:24px;height:24px;font:700 17px/1 'Fredoka',sans-serif}
.ux-zon-sym.s-e{border-radius:50%;background:var(--ux-blue-d);color:#fff}
.ux-zon-sym.s-h{border-radius:50%;background:#fff;color:var(--ux-red);border:2.2px solid var(--ux-red)}
.ux-zon-sym.s-rp{border-radius:5px;background:var(--ux-orange);color:#fff}
.ux-zon-sym.s-rn{border-radius:5px;background:var(--ux-violet);color:#fff}
.ux-zon-fig{display:flex;align-items:stretch;gap:6px}
.ux-zon-pol{flex:0 0 auto;display:flex;align-items:center;justify-content:center;writing-mode:vertical-rl;transform:rotate(180deg);font:600 13px/1 'Fredoka',sans-serif;color:#fff;border-radius:8px;padding:8px 5px}
.ux-zon-pol.plus{background:var(--ux-red)}.ux-zon-pol.minus{background:var(--ux-blue-d)}
.ux-zon-bar{flex:1 1 auto;display:flex;min-width:0;border:2px solid #2f2f2f;border-radius:10px;overflow:hidden;background:#faf6ee}
.ux-zon-zone{flex:1 1 0;min-width:0;display:flex;flex-direction:column;gap:6px;padding:8px;cursor:pointer;outline:none;border-right:2px dashed rgba(47,47,47,.35);transition:background-color .15s}
.ux-zon-zone:last-child{border-right:0}
.ux-zon-zone[data-ton="p"]{background:#fbe9d2}.ux-zon-zone[data-ton="n"]{background:#e3ecfa}
.ux-zon-zone[data-ton="s"]{background:repeating-linear-gradient(135deg,#f4ede0 0 8px,#ece3d2 8px 16px)}
.ux-zon-zone[data-ton="neutral"]{background:#faf6ee}
.ux-zon-zone.over{box-shadow:inset 0 0 0 3px var(--ux-violet)}
.ux-zon-zone:focus-visible{box-shadow:inset 0 0 0 3px var(--ux-yellow)}
.ux-zon-lab{display:flex;align-items:center;gap:6px;font:600 13.5px/1.2 'Fredoka',sans-serif;color:#4f453b}
.ux-zon-k{color:#4f453b;display:inline-grid;place-items:center;min-width:20px;height:20px;border-radius:50%;background:#fff;border:1px solid var(--ux-line);font-size:12px}
.ux-zon-drop{flex:1 1 auto;display:flex;flex-wrap:wrap;align-content:flex-start;gap:6px;min-height:64px}
.ux-zon-drop .ux-zon-card{font-size:13px;padding:5px 8px}
.ux-zon-drop .ux-zon-card[data-sym] .ux-zon-t{display:none}
.ux-zon-drop .ux-zon-card[data-sym]{padding:4px;border-radius:50%}
.ux.done .ux-zon-card,.ux.done .ux-zon-zone{cursor:default}
@media(max-width:560px){
  .ux-zon-bar{flex-direction:column}
  .ux-zon-zone{border-right:0;border-bottom:2px dashed rgba(47,47,47,.35);flex-grow:1 !important}
  .ux-zon-zone:last-child{border-bottom:0}
  .ux-zon-drop{min-height:40px}
  .ux-zon-pol{writing-mode:horizontal-tb;transform:none;padding:5px 8px}
  .ux-zon-fig{flex-direction:column}
  .ux-zon-card{font-size:14px}
}
@media(prefers-reduced-motion:reduce){.ux-zon-card{transition:none}.ux-zon-zone{transition:none}}

/* ==== /UEB30-WIDGETS Physik K9 ==== */
/* ============================================================
      ueb30 2026-10-08 — Ergänzungen für die 30er-Übungsseiten
   (Karten mit data-typ stammen aus ueb30_neubau.py)
   ============================================================ */
@media (max-width:560px){
  .ux-matrix{display:block;overflow-x:auto;max-width:100%;-webkit-overflow-scrolling:touch}
}
.aufgabe[data-typ] .aufgabe-head{flex-wrap:wrap}
.aufgabe[data-typ] .aufgabe-head h4,.aufgabe[data-typ] .aufgabe-head .aufgabe-title{min-width:0;overflow-wrap:break-word;hyphens:auto}
.aufgabe-head .afb-mix{background:#e6eefb;color:#2c5fb5;border-color:#5b8bd8}
/* Operator mit Tooltip (Schlüssel/Text aus _vorlagen/OPERATOREN.md) */
.aufgabe .op[data-tip]{position:relative;cursor:help;font-weight:600;border-bottom:2px solid currentColor;padding-bottom:1px;outline:none;border-radius:2px}
.aufgabe .op[data-tip]:hover,.aufgabe .op[data-tip]:focus-visible{background:rgba(124,95,181,.12)}
.aufgabe .op[data-tip]::after{content:none;position:absolute;left:0;top:calc(100% + 8px);z-index:40;width:min(300px,calc(100vw - 48px));padding:10px 12px;border-radius:10px;background:#3d2a6b;color:#fff;font:400 13.5px/1.45 Inter,system-ui,sans-serif;box-shadow:0 8px 24px rgba(0,0,0,.22);opacity:0;visibility:hidden;transform:translateY(-4px);transition:opacity .15s,transform .15s,visibility .15s;pointer-events:none;white-space:normal}
.aufgabe .op[data-tip]:hover::after,.aufgabe .op[data-tip]:focus-visible::after{content:attr(data-tip);opacity:1;visibility:visible;transform:none}
@media (max-width:560px){.aufgabe .op[data-tip]{position:static}.aufgabe .op[data-tip]::after{left:12px;right:12px;width:auto}.aufgabe[data-typ]{position:relative}}
@media (prefers-reduced-motion:reduce){.aufgabe .op[data-tip]::after{transition:none}}
@media print{.aufgabe .op[data-tip]::after{display:none}}
/* klassische Eingabezeile (Rückfallstil, Seiten-CSS hat Vorrang) */
:where(.aufgabe) :where(.input-row){display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:10px 0}
:where(.aufgabe) :where(.input-row) :where(label){font-weight:600}
:where(.aufgabe) :where(.input-row) :where(input){width:130px;max-width:100%;padding:8px 12px;border:1.5px solid #d9cdb8;border-radius:8px;font:inherit;font-size:16px}
:where(.aufgabe) :where(.input-row) :where(input.ok){border-color:#4a7530;background:#eaf4dd}
:where(.aufgabe) :where(.input-row) :where(input.wrong){border-color:#e2574c;background:#fbe6e6}
:where(.aufgabe) :where(.check-btn){padding:8px 16px;border-radius:9px;border:1.5px solid #2c5fb5;background:#2c5fb5;color:#fff;font:600 14px Fredoka,Inter,sans-serif;cursor:pointer}
:where(.aufgabe) :where(.input-fb){display:none;margin-top:6px;font-size:14px}
:where(.aufgabe) :where(.input-fb.show){display:block}
:where(.aufgabe) :where(.input-fb.ok){color:#4a7530}
:where(.aufgabe) :where(.input-fb.warn){color:#b06d12}
:where(.aufgabe) :where(.input-fb.error){color:#c0392b}

/* ueb30-neu:praefix */
/* ===== ueb30-neu:praefix 2026-10-08 — Präfix-Wahl (Zahl + Präfix-Leiste + Etikett-Vorschau) ===== */
.ux-praefix-w .ux-pfx-rows{display:flex;flex-direction:column;gap:9px}
.ux-praefix-w .ux-pfx-row{
  display:grid;align-items:center;gap:8px 10px;
  grid-template-columns:minmax(0,1fr) 86px auto 74px 150px;
  grid-template-areas:"q in seg unit tag";
  padding:10px 12px;border-radius:12px;background:var(--ux-paper);
  border:1.5px solid var(--ux-line);border-left-width:5px;border-left-color:var(--ux-blue);
}
.ux-praefix-w .ux-pfx-row.ok{border-color:var(--ux-green);border-left-color:var(--ux-green-d);background:#f1f8ee}
.ux-praefix-w .ux-pfx-row.bad{border-color:var(--ux-red);border-left-color:var(--ux-red);background:#fdf1ef}
.ux-praefix-w .ux-pfx-q{grid-area:q;display:flex;align-items:baseline;gap:9px;min-width:0;font-size:14.5px;line-height:1.45;color:var(--ux-dark)}
.ux-praefix-w .ux-pfx-nr{
  flex:0 0 auto;display:inline-grid;place-items:center;width:24px;height:24px;border-radius:50%;
  background:var(--ux-blue-d);color:#fff;font:600 13px/1 'Fredoka',Inter,sans-serif;
}
.ux-praefix-w .ux-pfx-vor{min-width:0;overflow-wrap:anywhere}
.ux-praefix-w .ux-pfx-in,.ux-praefix-w .ux-pfx-zahl{grid-area:in;justify-self:end}
.ux-praefix-w .ux-pfx-in{
  width:86px;font:600 16px/1 'Fredoka',Inter,sans-serif;text-align:right;color:var(--ux-dark);
  padding:8px 10px;border:1.5px solid var(--ux-line);border-radius:9px;background:#fff;
}
.ux-praefix-w .ux-pfx-in:focus-visible{outline:3px solid var(--ux-yellow);outline-offset:2px}
.ux-praefix-w .ux-pfx-in[disabled]{opacity:.85}
.ux-praefix-w .ux-pfx-zahl{
  min-width:54px;text-align:right;font:600 16px/1 'Fredoka',Inter,sans-serif;color:var(--ux-dark);
  padding:9px 10px;border-radius:9px;background:#fff;border:1.5px dashed var(--ux-line);
}
.ux-praefix-w .ux-pfx-seg{
  grid-area:seg;position:relative;display:inline-flex;gap:2px;padding:3px;border-radius:11px;
  background:#f4ede0;border:1.5px solid var(--ux-line);touch-action:pan-y;user-select:none;-webkit-user-select:none;
}
.ux-praefix-w .ux-pfx-thumb{
  position:absolute;top:3px;bottom:3px;left:3px;width:0;border-radius:8px;background:var(--ux-violet);
  box-shadow:0 2px 6px rgba(124,95,181,.35);opacity:0;pointer-events:none;
  transition:left .18s ease,width .18s ease,opacity .15s ease;
}
.ux-praefix-w .ux-pfx-opt{
  position:relative;z-index:1;min-width:33px;height:34px;padding:0 5px;border:0;border-radius:8px;cursor:pointer;
  background:transparent;color:var(--ux-dark);font:600 16px/1 'Fredoka',Inter,sans-serif;
  transition:color .15s ease;
}
.ux-praefix-w .ux-pfx-opt:hover{background:rgba(255,255,255,.7)}
.ux-praefix-w .ux-pfx-opt.on,.ux-praefix-w .ux-pfx-opt.on:hover{color:#fff;background:transparent}
.ux-praefix-w .ux-pfx-opt:focus-visible{outline:3px solid var(--ux-yellow);outline-offset:1px}
.ux-praefix-w .ux-pfx-opt[disabled]{cursor:default}
.ux-praefix-w .ux-pfx-unit{grid-area:unit;justify-self:start;font:600 16px/1 'Fredoka',Inter,sans-serif;color:var(--ux-dark);white-space:nowrap}
.ux-praefix-w .ux-pfx-tag{
  grid-area:tag;justify-self:stretch;display:flex;align-items:center;justify-content:space-between;gap:8px;
  padding:7px 11px;border-radius:8px;background:#fffbe8;border:1.5px solid #ecdca0;border-left:4px solid var(--ux-yellow);
  font:600 16.5px/1.2 'Fredoka',Inter,sans-serif;color:var(--ux-dark);white-space:nowrap;min-width:0;overflow:hidden;
}
.ux-praefix-w .ux-pfx-wert{min-width:0;overflow:hidden;text-overflow:ellipsis}
.ux-praefix-w .ux-pfx-wert.leer{color:#a3967f;font-weight:500;font-size:14px}
.ux-praefix-w .ux-pfx-fb{font:700 16px/1 'Fredoka',Inter,sans-serif}
.ux-praefix-w .ux-pfx-row.ok .ux-pfx-fb{color:var(--ux-green-d)}
.ux-praefix-w .ux-pfx-row.bad .ux-pfx-fb{color:var(--ux-red)}
@media (max-width:1020px){
  .ux-praefix-w .ux-pfx-row{grid-template-columns:86px auto minmax(0,1fr);grid-template-areas:"q q q" "in seg unit" "tag tag tag"}
  .ux-praefix-w .ux-pfx-in,.ux-praefix-w .ux-pfx-zahl{justify-self:start}
  .ux-praefix-w .ux-pfx-tag{justify-self:start;min-width:150px}
}
@media (max-width:560px){
  .ux-praefix-w .ux-pfx-row{grid-template-columns:78px auto minmax(0,1fr);grid-template-areas:"q q q" "in tag tag" "seg seg unit";padding:10px}
  .ux-praefix-w .ux-pfx-tag{min-width:0;justify-self:stretch}
  .ux-praefix-w .ux-pfx-seg{justify-self:start}
  .ux-praefix-w .ux-pfx-in{width:78px}
  .ux-praefix-w .ux-pfx-opt{min-width:29px;height:33px;padding:0 3px;font-size:15.5px}
  .ux-praefix-w .ux-pfx-unit{font-size:15px;white-space:normal}
}
@media (prefers-reduced-motion: reduce){
  .ux-praefix-w .ux-pfx-thumb{transition:none}
  .ux-praefix-w .ux-pfx-opt{transition:none}
}
@media print{.ux-praefix-w .ux-pfx-thumb{display:none}.ux-praefix-w .ux-pfx-opt.on{color:var(--ux-dark);text-decoration:underline}}

/* ueb30-neu:manometer */
/* ===== ueb30-neu:manometer 2026-10-08 — Zeigerinstrument (Manometer) ===== */
.ux-manometer-w .ux-ztask{display:none}
.ux-manometer-w .ux-zbox{
  background:var(--ux-paper,#faf6ee); border:1.5px solid var(--ux-line,#d9cdb8); border-radius:11px;
  padding:12px 10px 10px; max-width:420px; margin:0 auto;
}
.ux-manometer-w .ux-zsvg{display:block; width:100%; max-width:320px; height:auto; margin:0 auto; touch-action:none; cursor:grab; user-select:none; -webkit-user-select:none}
.ux-manometer-w .ux-zsvg:active{cursor:grabbing}
.ux-manometer-w .ux-zsvg:focus{outline:none}
.ux-manometer-w .ux-zsvg:focus-visible{outline:3px solid var(--ux-yellow,#f4d03f); outline-offset:3px; border-radius:50%}
.ux-manometer-w .ux-zsvg[aria-disabled="true"]{cursor:default}
.ux-manometer-w .ux-zbezel{fill:#2f2f2f}
.ux-manometer-w .ux-zface{fill:#fff; stroke:#d9cdb8; stroke-width:1.5}
.ux-manometer-w .ux-zband{fill:none; stroke:#eef3fb; stroke-width:9}
.ux-manometer-w .ux-zrot{fill:none; stroke:var(--ux-red,#e2574c); stroke-width:9; opacity:.85}
.ux-manometer-w .ux-zticks line{stroke:#2f2f2f; stroke-linecap:round}
.ux-manometer-w .ux-zticks line.maj{stroke-width:2.6}
.ux-manometer-w .ux-zticks line.min{stroke-width:1.3; stroke:#6b5f53}
.ux-manometer-w .ux-znum{font:600 14px/1 'Fredoka',Inter,sans-serif; fill:#2f2f2f}
.ux-manometer-w .ux-zunit{font:600 17px/1 'Fredoka',Inter,sans-serif; fill:#2c5fb5}
.ux-manometer-w .ux-zname{font:500 11.5px/1 'Fredoka',Inter,sans-serif; fill:#9a8d7d; letter-spacing:.06em; text-transform:uppercase}
.ux-manometer-w .ux-zneedle{fill:var(--ux-red,#e2574c); transform-box:view-box; transform-origin:160px 152px; transition:transform .16s ease-out}
.ux-manometer-w .ux-zref line{stroke:#9a8d7d; stroke-width:3; stroke-dasharray:6 5; stroke-linecap:round}
.ux-manometer-w .ux-zref{transform-box:view-box; transform-origin:160px 152px}
.ux-manometer-w .ux-zhub{fill:#2f2f2f}
.ux-manometer-w .ux-zhubdot{fill:#faf6ee}
.ux-manometer-w .ux-zok path{fill:var(--ux-green,#67b05f); stroke:#4a7530; stroke-width:1}
.ux-manometer-w .ux-zok text{font:700 11px/1 'Fredoka',Inter,sans-serif; fill:#faf6ee}
.ux-manometer-w .ux-zctl{display:flex; align-items:center; justify-content:center; gap:12px; margin-top:6px}
.ux-manometer-w .ux-zstep{
  font:600 20px/1 'Fredoka',Inter,sans-serif; width:42px; height:38px; border-radius:9px; cursor:pointer;
  background:#fff; color:var(--ux-dark,#2f2f2f); border:1.5px solid var(--ux-line,#d9cdb8);
}
.ux-manometer-w .ux-zstep:hover{background:#f3ece0}
.ux-manometer-w .ux-zstep:focus-visible{outline:3px solid var(--ux-yellow,#f4d03f); outline-offset:2px}
.ux-manometer-w .ux-zstep[disabled]{opacity:.45; cursor:default}
.ux-manometer-w .ux-zread{
  min-width:118px; text-align:center; font:600 17px/1.2 'Fredoka',Inter,sans-serif; color:#2f2f2f;
  background:#fff; border:1.5px solid var(--ux-line,#d9cdb8); border-radius:8px; padding:7px 10px;
}
.ux-manometer-w .ux-zread:empty{display:none}
.ux-manometer-w.done .ux-zneedle{fill:var(--ux-green-d,#4a7530)}
@media (max-width:420px){
  .ux-manometer-w .ux-zbox{padding:10px 6px 8px}
  .ux-manometer-w .ux-zread{min-width:96px; font-size:16px}
}
@media (prefers-reduced-motion: reduce){
  .ux-manometer-w .ux-zneedle{transition:none}
}

/* ueb30-neu:epochen */
/* ===== ueb30-neu:epochen 2026-10-08 — Zeitstrahl (Karten auf Plätze legen) ===== */
.ux-epochen-w .ux-zs-pool{
  display:flex;flex-wrap:wrap;gap:8px;padding:10px;min-height:54px;margin:2px 0 14px;
  border-radius:12px;background:#f4ede0;border:1.5px dashed var(--ux-line);
}
.ux-epochen-w .ux-zs-pool.leer::after{content:"Alle Karten liegen auf dem Zeitstrahl.";align-self:center;color:#8a7e69;font-size:13.5px}
.ux-epochen-w .ux-zs-card{
  max-width:100%;text-align:left;cursor:pointer;padding:8px 12px;border-radius:10px;
  background:#fff;border:1.5px solid var(--ux-line);color:var(--ux-dark);
  font:500 14px/1.35 'Fredoka',Inter,sans-serif;touch-action:manipulation;user-select:none;-webkit-user-select:none;
  box-shadow:0 1px 0 rgba(0,0,0,.04);transition:transform .12s ease,box-shadow .12s ease,border-color .12s ease,background .12s ease;
}
.ux-epochen-w .ux-zs-card:hover{border-color:var(--ux-blue);box-shadow:0 2px 6px rgba(44,95,181,.18)}
.ux-epochen-w .ux-zs-card:focus-visible,.ux-epochen-w .ux-zs-drop:focus-visible{outline:3px solid var(--ux-yellow);outline-offset:2px}
.ux-epochen-w .ux-zs-card.sel{border-color:var(--ux-violet);background:#f3eefb;box-shadow:0 0 0 3px rgba(124,95,181,.28);transform:translateY(-2px)}
.ux-epochen-w .ux-zs-card.placed{display:none}
.ux-epochen-w .ux-zs-card[disabled]{cursor:default;opacity:.6}

.ux-epochen-w .ux-zs-axis{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:0}
.ux-epochen-w .ux-zs-slot{
  position:relative;display:grid;grid-template-columns:104px 22px minmax(0,1fr);gap:0 8px;align-items:stretch;padding:5px 0;
}
.ux-epochen-w .ux-zs-year{
  align-self:center;justify-self:end;text-align:right;max-width:100%;
  padding:5px 9px;border-radius:9px;background:var(--ux-violet);color:#fff;
  font:600 13.5px/1.25 'Fredoka',Inter,sans-serif;overflow-wrap:anywhere;
}
.ux-epochen-w .ux-zs-spine{position:relative;display:block}
.ux-epochen-w .ux-zs-spine::before{content:"";position:absolute;left:50%;top:-5px;bottom:-5px;width:4px;margin-left:-2px;background:#cdbfa6;border-radius:2px}
.ux-epochen-w .ux-zs-slot:first-child .ux-zs-spine::before{top:50%}
.ux-epochen-w .ux-zs-slot:last-child .ux-zs-spine::before{bottom:50%}
.ux-epochen-w .ux-zs-spine::after{
  content:"";position:absolute;left:50%;top:50%;width:14px;height:14px;margin:-7px 0 0 -7px;border-radius:50%;
  background:#fff;border:3px solid var(--ux-violet);box-sizing:border-box;
}
.ux-epochen-w .ux-zs-drop{
  position:relative;display:flex;align-items:center;min-height:52px;width:100%;padding:8px 12px;text-align:left;cursor:pointer;
  border-radius:12px;background:#fff;border:2px dashed var(--ux-line);color:var(--ux-dark);
  font:500 14px/1.35 'Fredoka',Inter,sans-serif;touch-action:manipulation;
  transition:border-color .12s ease,background .12s ease,box-shadow .12s ease;
}
.ux-epochen-w .ux-zs-ph{color:#a3967f;font-size:13px}
.ux-epochen-w .ux-zs-held{display:none;min-width:0;overflow-wrap:anywhere}
.ux-epochen-w .ux-zs-slot.full .ux-zs-ph{display:none}
.ux-epochen-w .ux-zs-slot.full .ux-zs-held{display:block}
.ux-epochen-w .ux-zs-slot.full .ux-zs-drop{border-style:solid;border-color:var(--ux-blue);background:#eef3fc}
.ux-epochen-w.has-sel .ux-zs-drop{border-color:var(--ux-violet);animation:uxZsPuls 1.4s ease-in-out infinite}
.ux-epochen-w .ux-zs-slot.over .ux-zs-drop,.ux-epochen-w .ux-zs-drop:hover{border-color:var(--ux-violet);background:#f7f3fc}
.ux-epochen-w .ux-zs-slot.ok .ux-zs-drop{border-style:solid;border-color:var(--ux-green);background:#f1f8ee}
.ux-epochen-w .ux-zs-slot.bad .ux-zs-drop{border-style:solid;border-color:var(--ux-red);background:#fdf1ef}
.ux-epochen-w .ux-zs-slot.ok .ux-zs-drop::after,.ux-epochen-w .ux-zs-slot.bad .ux-zs-drop::after{
  position:absolute;right:9px;top:6px;font:700 15px/1 'Fredoka',Inter,sans-serif;
}
.ux-epochen-w .ux-zs-slot.ok .ux-zs-drop::after{content:"✓";color:var(--ux-green-d)}
.ux-epochen-w .ux-zs-slot.bad .ux-zs-drop::after{content:"✗";color:var(--ux-red)}
.ux-epochen-w .ux-zs-slot.ok .ux-zs-held,.ux-epochen-w .ux-zs-slot.bad .ux-zs-held{padding-right:18px}
.ux-epochen-w .ux-zs-drop[disabled]{cursor:default}
@keyframes uxZsPuls{0%,100%{box-shadow:0 0 0 0 rgba(124,95,181,0)}50%{box-shadow:0 0 0 4px rgba(124,95,181,.22)}}
.ux-zs-ghost{
  position:fixed;z-index:9999;pointer-events:none;transform:translate(-50%,-110%);max-width:min(260px,80vw);
  padding:8px 12px;border-radius:10px;background:#f3eefb;border:2px solid #7c5fb5;color:#2f2f2f;
  font:500 14px/1.35 'Fredoka',Inter,sans-serif;box-shadow:0 6px 16px rgba(0,0,0,.22);
}
@media (min-width:900px){
  .ux-epochen-w .ux-zs-axis{display:grid;grid-template-columns:repeat(var(--zs-n,5),minmax(0,1fr));gap:0 10px}
  .ux-epochen-w .ux-zs-slot{grid-template-columns:minmax(0,1fr);grid-template-rows:auto 26px 1fr;gap:0;padding:0}
  .ux-epochen-w .ux-zs-year{justify-self:center;text-align:center;align-self:end}
  .ux-epochen-w .ux-zs-spine::before{left:-5px;right:-5px;top:50%;bottom:auto;width:auto;height:4px;margin:-2px 0 0}
  .ux-epochen-w .ux-zs-slot:first-child .ux-zs-spine::before{left:50%}
  .ux-epochen-w .ux-zs-slot:last-child .ux-zs-spine::before{right:50%;bottom:auto}
  .ux-epochen-w .ux-zs-drop{min-height:96px;align-items:flex-start}
}
@media (max-width:420px){
  .ux-epochen-w .ux-zs-slot{grid-template-columns:92px 20px minmax(0,1fr);gap:0 6px}
  .ux-epochen-w .ux-zs-year{font-size:12.5px;padding:4px 7px}
  .ux-epochen-w .ux-zs-drop,.ux-epochen-w .ux-zs-card{font-size:13.5px;padding:7px 10px}
}
@media (prefers-reduced-motion: reduce){
  .ux-epochen-w.has-sel .ux-zs-drop{animation:none}
  .ux-epochen-w .ux-zs-card,.ux-epochen-w .ux-zs-drop{transition:none}
  .ux-epochen-w .ux-zs-card.sel{transform:none}
}
@media print{.ux-epochen-w .ux-zs-pool{display:none}}

/* ueb30-neu:anagramm */
/* ===== ueb30-neu:anagramm 2026-10-08 — Buchstabensalat (Hinweis, Lösungsfelder, Buchstaben-Kacheln) ===== */
.ux-anagramm-w{position:relative}
.ux-anagramm-w .ux-ana-r{display:none}
.ux-anagramm-w .ux-ana{
  background:var(--ux-paper);border:1.5px solid var(--ux-line);border-radius:12px;padding:14px 15px 13px;
}
.ux-anagramm-w .ux-ana-meta{
  display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:8px;
  font:600 13px/1.2 'Fredoka',Inter,sans-serif;color:#6b5f53;
}
.ux-anagramm-w .ux-ana-pips{display:flex;gap:5px;flex:0 0 auto}
.ux-anagramm-w .ux-ana-pip{width:10px;height:10px;border-radius:50%;background:#e2dccf}
.ux-anagramm-w .ux-ana-pip.hit{background:var(--ux-green)}
.ux-anagramm-w .ux-ana-q{
  margin:0 0 12px;padding:10px 12px;border-radius:9px;background:#fff;border:1px solid var(--ux-line);
  border-left:4px solid var(--ux-violet);font-size:15.5px;line-height:1.55;color:var(--ux-dark);
}
.ux-anagramm-w .ux-ana-slots{
  display:flex;flex-wrap:wrap;justify-content:center;gap:6px;margin:4px 0 14px;
}
.ux-anagramm-w .ux-ana-slot{
  width:38px;height:46px;padding:0;border-radius:8px;cursor:default;
  background:#fff;border:2px dashed #c9bba3;color:var(--ux-dark);
  display:inline-grid;place-items:center;font:600 23px/1 'Fredoka',Inter,sans-serif;
  transition:border-color .15s ease,background-color .15s ease;
}
.ux-anagramm-w .ux-ana-slot.voll{border-style:solid;border-color:var(--ux-violet);background:#f3effa;cursor:pointer}
.ux-anagramm-w .ux-ana-slot.hover{border-color:var(--ux-blue-d);background:#e9f0fb}
.ux-anagramm-w .ux-ana-slot.ok{border-color:var(--ux-green-d);background:#e8f4e4;color:var(--ux-green-d)}
.ux-anagramm-w .ux-ana-slot.bad{border-color:var(--ux-red);background:#fbe6e4;color:#a8332a}
.ux-anagramm-w .ux-ana-slot:focus-visible,.ux-anagramm-w .ux-ana-tile:focus-visible{outline:3px solid var(--ux-yellow);outline-offset:2px}
.ux-anagramm-w .ux-ana-slot.pop{animation:ux-ana-pop .22s ease-out}
@keyframes ux-ana-pop{0%{transform:scale(.82)}70%{transform:scale(1.08)}100%{transform:scale(1)}}
.ux-anagramm-w .ux-ana-tiles{
  display:flex;flex-wrap:wrap;justify-content:center;gap:7px;padding:11px 10px;border-radius:10px;
  background:#f4ede0;border:1.5px solid var(--ux-line);
}
.ux-anagramm-w .ux-ana-tile{
  width:40px;height:44px;padding:0;border-radius:9px;cursor:pointer;touch-action:none;user-select:none;-webkit-user-select:none;
  background:#fff;border:1.5px solid var(--ux-line);border-bottom-width:4px;border-bottom-color:#c9bba3;
  color:var(--ux-dark);font:600 22px/1 'Fredoka',Inter,sans-serif;
  transition:transform .12s ease,opacity .15s ease,background-color .15s ease;
}
.ux-anagramm-w .ux-ana-tile:hover{background:#fffbe8;transform:translateY(-1px)}
.ux-anagramm-w .ux-ana-tile.used{opacity:.28;background:#efe7d8;transform:none;cursor:pointer}
.ux-anagramm-w .ux-ana-tile.drag{opacity:.35}
.ux-anagramm-w .ux-ana-tile[disabled]{cursor:default;transform:none}
.ux-anagramm-w .ux-ana-ghost{
  position:absolute;z-index:5;width:40px;height:44px;display:grid;place-items:center;pointer-events:none;
  border-radius:9px;background:#fff;border:2px solid var(--ux-violet);box-shadow:0 6px 16px rgba(47,47,47,.22);
  font:600 22px/1 'Fredoka',Inter,sans-serif;color:var(--ux-dark);
}
.ux-anagramm-w .ux-ana-ctrl{display:flex;flex-wrap:wrap;gap:8px;margin-top:11px}
.ux-anagramm-w .ux-ana-ctrl .ux-ana-next{margin-left:auto;background:var(--ux-green-d);border-color:var(--ux-green-d)}
.ux-anagramm-w .ux-ana-ctrl .ux-ana-next[hidden]{display:none}
.ux-anagramm-w .ux-ana-why{
  display:none;margin-top:11px;padding:9px 12px;border-radius:8px;font-size:14.5px;line-height:1.6;
  background:#fff;border:1px solid var(--ux-line);border-left:4px solid var(--ux-green);color:#4a4038;
}
.ux-anagramm-w .ux-ana-why.show{display:block}
.ux-anagramm-w.done .ux-ana-ctrl .ux-ana-back,.ux-anagramm-w.done .ux-ana-ctrl .ux-ana-mix{display:none}
@media (max-width:560px){
  .ux-anagramm-w .ux-ana{padding:12px 10px}
  .ux-anagramm-w .ux-ana-slots{gap:4px}
  .ux-anagramm-w .ux-ana-slot{width:29px;height:40px;font-size:19px;border-radius:7px}
  .ux-anagramm-w .ux-ana-slots.lang{gap:3px}
  .ux-anagramm-w .ux-ana-slots.lang .ux-ana-slot{width:24px;height:36px;font-size:17px;border-width:1.5px}
  .ux-anagramm-w .ux-ana-tiles{gap:6px;padding:9px 6px}
  .ux-anagramm-w .ux-ana-tile{width:36px;height:41px;font-size:20px}
  .ux-anagramm-w .ux-ana-ghost{width:36px;height:41px;font-size:20px}
  .ux-anagramm-w .ux-ana-q{font-size:15px}
}
@media (prefers-reduced-motion: reduce){
  .ux-anagramm-w .ux-ana-slot{transition:none}
  .ux-anagramm-w .ux-ana-slot.pop{animation:none}
  .ux-anagramm-w .ux-ana-tile{transition:none}
  .ux-anagramm-w .ux-ana-tile:hover{transform:none}
}
@media print{.ux-anagramm-w .ux-ana-ghost{display:none}}

/* ueb30-neu:passtnicht */
/* ===== ueb30-neu:passtnicht 2026-10-08 — „Was passt nicht?“ (Runden mit 4–5 Karten, Ausreißer anklicken, Begründung) ===== */
.ux-passtnicht-w .ux-passtnicht-runde{display:none}
.ux-passtnicht-w .ux-passtnicht-stage{
  background:var(--ux-paper);border:1.5px solid var(--ux-line);border-radius:12px;padding:14px 15px 15px;
}
.ux-passtnicht-w .ux-passtnicht-meta{
  display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:8px;
  font:600 13px/1.2 'Fredoka',Inter,sans-serif;color:#6b5f53;
}
.ux-passtnicht-w .ux-passtnicht-pips{display:flex;gap:5px;flex-wrap:wrap}
.ux-passtnicht-w .ux-passtnicht-pip{width:11px;height:11px;border-radius:50%;background:#e2dccf;box-shadow:inset 0 0 0 1.5px transparent}
.ux-passtnicht-w .ux-passtnicht-pip.now{box-shadow:inset 0 0 0 2px var(--ux-violet);background:#fff}
.ux-passtnicht-w .ux-passtnicht-pip.hit{background:var(--ux-green);box-shadow:none}
.ux-passtnicht-w .ux-passtnicht-pip.fail{background:var(--ux-red);box-shadow:none}
.ux-passtnicht-w .ux-passtnicht-q{
  margin:0 0 11px;font:600 16px/1.45 'Fredoka',Inter,sans-serif;color:var(--ux-dark);
}
.ux-passtnicht-w .ux-passtnicht-cards{
  display:grid;gap:10px;grid-template-columns:repeat(2,minmax(0,1fr));
}
.ux-passtnicht-w .ux-passtnicht-cards.fuenf{grid-template-columns:repeat(3,minmax(0,1fr))}
@media (min-width:900px){
  .ux-passtnicht-w .ux-passtnicht-cards{grid-template-columns:repeat(4,minmax(0,1fr))}
  .ux-passtnicht-w .ux-passtnicht-cards.fuenf{grid-template-columns:repeat(5,minmax(0,1fr))}
}
.ux-passtnicht-w .ux-passtnicht-card{
  position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:7px;min-width:0;min-height:92px;
  padding:11px 12px 12px;border-radius:12px;cursor:pointer;text-align:left;
  background:#fff;border:1.5px solid var(--ux-line);border-bottom-width:3px;color:var(--ux-dark);
  font:500 15px/1.45 Inter,system-ui,sans-serif;touch-action:manipulation;
  transition:transform .12s ease,border-color .15s ease,background-color .15s ease,box-shadow .15s ease;
}
.ux-passtnicht-w .ux-passtnicht-card:hover:not([disabled]){border-color:var(--ux-blue);transform:translateY(-1px);box-shadow:0 3px 8px rgba(44,95,181,.12)}
.ux-passtnicht-w .ux-passtnicht-card.press{transform:translateY(1px);box-shadow:none}
.ux-passtnicht-w .ux-passtnicht-card:focus-visible{outline:3px solid var(--ux-yellow);outline-offset:2px}
.ux-passtnicht-w .ux-passtnicht-card[disabled]{cursor:default}
.ux-passtnicht-w .ux-passtnicht-key{
  display:inline-grid;place-items:center;width:23px;height:23px;border-radius:7px;flex:0 0 auto;
  background:#f4ede0;border:1px solid var(--ux-line);font:600 12.5px/1 'Fredoka',Inter,sans-serif;color:#6b5f53;
}
.ux-passtnicht-w .ux-passtnicht-txt{display:block;min-width:0;max-width:100%;overflow-wrap:anywhere;hyphens:auto}
.ux-passtnicht-w .ux-passtnicht-txt svg{display:block;width:100%;height:auto;max-width:100%}
.ux-passtnicht-w .ux-passtnicht-tag{
  margin-top:auto;font:600 12.5px/1 'Fredoka',Inter,sans-serif;letter-spacing:.01em;min-height:0;
}
.ux-passtnicht-w .ux-passtnicht-tag:empty{display:none}
/* Zustände */
.ux-passtnicht-w .ux-passtnicht-card.passtnicht-grp{background:#eef3fb;border-color:#cfdcf1;opacity:.92}
.ux-passtnicht-w .ux-passtnicht-card.passtnicht-grp .ux-passtnicht-tag{color:var(--ux-blue-d)}
.ux-passtnicht-w .ux-passtnicht-card.passtnicht-no{background:#fdf1ef;border-color:var(--ux-red);opacity:1;animation:ux-passtnicht-wackeln .32s ease}
.ux-passtnicht-w .ux-passtnicht-card.passtnicht-no .ux-passtnicht-key{background:var(--ux-red);border-color:var(--ux-red);color:#fff}
.ux-passtnicht-w .ux-passtnicht-card.passtnicht-no .ux-passtnicht-tag{color:#96271e}
.ux-passtnicht-w .ux-passtnicht-card.passtnicht-hit{
  background:#eef7ea;border-color:var(--ux-green);border-bottom-color:var(--ux-green-d);opacity:1;
  box-shadow:0 0 0 3px rgba(103,176,95,.25);animation:ux-passtnicht-pop .3s ease;
}
.ux-passtnicht-w .ux-passtnicht-card.passtnicht-hit .ux-passtnicht-key{background:var(--ux-green-d);border-color:var(--ux-green-d);color:#fff}
.ux-passtnicht-w .ux-passtnicht-card.passtnicht-hit .ux-passtnicht-tag{
  color:#fff;background:var(--ux-green-d);padding:4px 8px;border-radius:6px;
}
.ux-passtnicht-w .ux-passtnicht-why{
  display:none;margin-top:12px;padding:9px 12px;border-radius:9px;font-size:15px;line-height:1.6;
  background:#fff;border:1px solid var(--ux-line);border-left:4px solid var(--ux-violet);color:#4a4038;
}
.ux-passtnicht-w .ux-passtnicht-why.show{display:block}
.ux-passtnicht-w .ux-passtnicht-why.ok{border-left-color:var(--ux-green)}
.ux-passtnicht-w .ux-passtnicht-why.bad{border-left-color:var(--ux-orange)}
.ux-passtnicht-w .ux-passtnicht-nav{margin-top:11px}
.ux-passtnicht-w .ux-passtnicht-nav:has(.ux-passtnicht-next[hidden]){display:none}
.ux-passtnicht-w .ux-passtnicht-next[hidden]{display:none}
.ux-passtnicht-w.ux-passtnicht-fertig .ux-passtnicht-q{color:var(--ux-green-d);margin:0}
@keyframes ux-passtnicht-wackeln{0%,100%{transform:translateX(0)}25%{transform:translateX(-4px)}75%{transform:translateX(4px)}}
@keyframes ux-passtnicht-pop{0%{transform:scale(.97)}60%{transform:scale(1.02)}100%{transform:scale(1)}}
@media (max-width:560px){
  .ux-passtnicht-w .ux-passtnicht-stage{padding:12px 11px 13px}
  .ux-passtnicht-w .ux-passtnicht-cards,.ux-passtnicht-w .ux-passtnicht-cards.fuenf{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .ux-passtnicht-w .ux-passtnicht-card{min-height:78px;padding:9px 10px 10px;font-size:14.5px}
  .ux-passtnicht-w .ux-passtnicht-q{font-size:15.5px}
}
@media (prefers-reduced-motion: reduce){
  .ux-passtnicht-w .ux-passtnicht-card{transition:none}
  .ux-passtnicht-w .ux-passtnicht-card.passtnicht-no{animation:none}
  .ux-passtnicht-w .ux-passtnicht-card.passtnicht-hit{animation:none}
  .ux-passtnicht-w .ux-passtnicht-card:hover:not([disabled]){transform:none}
}
@media print{.ux-passtnicht-w .ux-passtnicht-card{break-inside:avoid}}

/* ueb30-neu:detektor */
/* ===== ueb30-neu:detektor 2026-10-08 — Detektor-Ring (Streuversuch) ===== */
.ux-detektor-w .ux-rtask{display:none}
.ux-detektor-w .ux-ask{font-family:'Fredoka',Inter,sans-serif; font-weight:500; min-height:1.4em}
.ux-detektor-w .ux-rbox{
  background:var(--ux-paper,#faf6ee); border:1.5px solid var(--ux-line,#d9cdb8); border-radius:11px;
  padding:10px 8px; max-width:420px; margin:0 auto;
}
.ux-detektor-w .ux-rsvg{display:block; width:100%; max-width:360px; height:auto; margin:0 auto; touch-action:manipulation; user-select:none; -webkit-user-select:none; font-family:'Fredoka',Inter,sans-serif}
.ux-detektor-w .ux-rbg{fill:#f4ede0}
.ux-detektor-w .ux-rinner{fill:#fff; stroke:var(--ux-line,#d9cdb8); stroke-width:1.2}
.ux-detektor-w .ux-raxis{stroke:#cbbfa9; stroke-width:1.2; stroke-dasharray:3 5}
.ux-detektor-w .ux-rquelle rect{fill:#2f2f2f}
.ux-detektor-w .ux-rquelle .ux-rloch{fill:#faf6ee}
.ux-detektor-w .ux-rhuelle{fill:#eef3fb; stroke:#5b8bd8; stroke-width:1.4; stroke-dasharray:4 4}
.ux-detektor-w .ux-rkern{fill:#e2574c; stroke:#7a1f1f; stroke-width:1.4}
.ux-detektor-w .ux-rwolke{fill:#fbe3c4; stroke:#e79a3a; stroke-width:1.4}
.ux-detektor-w .ux-relek{fill:#2c5fb5}
.ux-detektor-w .ux-rein{stroke:#2f2f2f; stroke-width:2.2; stroke-dasharray:6 5; stroke-linecap:round}
.ux-detektor-w .ux-reinpfeil{fill:#2f2f2f}
.ux-detektor-w .ux-rteil circle{stroke:#2f2f2f; stroke-width:1.3}
.ux-detektor-w .ux-rteil.pos circle{fill:#e2574c}
.ux-detektor-w .ux-rteil.neg circle{fill:#5b8bd8}
.ux-detektor-w .ux-rteil.neu circle{fill:#d9cdb8}
.ux-detektor-w .ux-rteil text{font-weight:700; font-size:13px; fill:#fff}
.ux-detektor-w .ux-rteil.neu text{fill:#2f2f2f}
.ux-detektor-w .ux-rpath{fill:none; stroke:#4a7530; stroke-width:3; stroke-linecap:round; stroke-linejoin:round}
.ux-detektor-w .ux-rpath.fly{stroke-dasharray:600; stroke-dashoffset:600; animation:ux-detektor-flug .9s ease-out forwards}
.ux-detektor-w .ux-rpath.alt{stroke:#9a8d7d; stroke-width:2; opacity:.35}
.ux-detektor-w .ux-rhit{fill:#f4d03f; stroke:#2f2f2f; stroke-width:1.2}
.ux-detektor-w .ux-rhit.blitz{opacity:0; animation:ux-detektor-blitz .5s ease-out .75s forwards}
.ux-detektor-w .ux-rseg{cursor:pointer; outline:none}
.ux-detektor-w .ux-rseg path{fill:#fff; stroke:#2f2f2f; stroke-width:1.6; transition:fill .15s}
.ux-detektor-w .ux-rseg text{font-size:16px; font-weight:600; fill:#2f2f2f; pointer-events:none}
.ux-detektor-w .ux-rseg:hover path,.ux-detektor-w .ux-rseg.press path{fill:#fdf3c4}
.ux-detektor-w .ux-rseg:focus-visible path{stroke:#2c5fb5; stroke-width:3.4}
.ux-detektor-w .ux-rseg.sel path{fill:#f4d03f}
.ux-detektor-w .ux-rseg.ok path{fill:#67b05f}
.ux-detektor-w .ux-rseg.bad path{fill:#e2574c}
.ux-detektor-w .ux-rseg.bad text,.ux-detektor-w .ux-rseg.ok text{fill:#fff}
.ux-detektor-w .ux-rseg[aria-disabled="true"]{cursor:default}
.ux-detektor-w .ux-rbadge circle{fill:#4a7530; stroke:#faf6ee; stroke-width:1.5}
.ux-detektor-w .ux-rbadge text{font-size:11px; font-weight:700; fill:#fff}
.ux-detektor-w .ux-check[disabled]{opacity:.5; cursor:default}
@keyframes ux-detektor-flug{to{stroke-dashoffset:0}}
@keyframes ux-detektor-blitz{0%{opacity:0}40%{opacity:1}100%{opacity:1}}
@media (max-width:420px){
  .ux-detektor-w .ux-rbox{padding:8px 4px}
}
@media (prefers-reduced-motion: reduce){
  .ux-detektor-w .ux-rpath.fly{animation:none; stroke-dasharray:none; stroke-dashoffset:0}
  .ux-detektor-w .ux-rhit.blitz{animation:none; opacity:1}
  .ux-detektor-w .ux-rseg path{transition:none}
}

/* ueb30-neu:klickfolge */
/* ===== ueb30-neu:klickfolge 2026-10-08 — Klickfolge (SVG-Elemente der Reihe nach anklicken, Nummernmarken, Platz-Leiste) ===== */
.ux-klickfolge-w .ux-kf-ask{margin:0 0 8px;font-size:15px;line-height:1.45;font-weight:600;color:var(--ux-dark)}
.ux-klickfolge-w .ux-kf-stage{
  border-radius:12px;background:#faf6ee;border:1.5px solid var(--ux-line);padding:6px;overflow:hidden;
}
.ux-klickfolge-w .ux-kf-stage svg{display:block;width:100%;max-width:620px;margin:0 auto;height:auto;font-family:'Fredoka',Inter,sans-serif;touch-action:manipulation}
.ux-klickfolge-w .ux-kf-el{cursor:pointer;outline:none;-webkit-tap-highlight-color:transparent}
.ux-klickfolge-w .ux-kf-ring{fill:transparent;stroke:transparent;stroke-width:2;pointer-events:all;transition:fill .15s ease,stroke .15s ease}
.ux-klickfolge-w .ux-kf-el:hover .ux-kf-ring{stroke:var(--ux-violet);stroke-dasharray:5 4;fill:rgba(124,95,181,.07)}
.ux-klickfolge-w .ux-kf-el:focus-visible .ux-kf-ring{stroke:var(--ux-yellow);stroke-width:4;stroke-dasharray:none;fill:rgba(244,208,63,.14)}
.ux-klickfolge-w .ux-kf-el.on .ux-kf-ring{stroke:var(--ux-violet);stroke-dasharray:none;fill:rgba(124,95,181,.12)}
.ux-klickfolge-w .ux-kf-el.ok .ux-kf-ring{stroke:var(--ux-green-d);fill:rgba(103,176,95,.16)}
.ux-klickfolge-w .ux-kf-el.bad .ux-kf-ring{stroke:var(--ux-red);fill:rgba(226,87,76,.14)}
.ux-klickfolge-w .ux-kf-badge{display:none;pointer-events:none}
.ux-klickfolge-w .ux-kf-badge.show{display:inline}
.ux-klickfolge-w .ux-kf-badge circle{fill:var(--ux-violet);stroke:#fff;stroke-width:2}
.ux-klickfolge-w .ux-kf-badge text{fill:#fff;font:600 15px/1 'Fredoka',Inter,sans-serif}
.ux-klickfolge-w .ux-kf-el.ok .ux-kf-badge circle{fill:var(--ux-green-d)}
.ux-klickfolge-w .ux-kf-el.bad .ux-kf-badge circle{fill:var(--ux-red)}
.ux-klickfolge-w .ux-kf-wrap{margin:10px 0 2px}
.ux-klickfolge-w .ux-kf-poles{display:flex;justify-content:space-between;gap:10px;margin:0 2px 5px;font:600 13px/1.3 'Fredoka',Inter,sans-serif;color:#6b6250}
.ux-klickfolge-w .ux-kf-pole.r{text-align:right}
.ux-klickfolge-w .ux-kf-track{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px}
.ux-klickfolge-w .ux-kf-track li{margin:0;padding:0;flex:1 1 92px;min-width:0;max-width:100%}
.ux-klickfolge-w .ux-kf-slot{
  display:flex;align-items:center;gap:7px;width:100%;min-height:40px;padding:5px 9px;border-radius:10px;cursor:default;
  background:#fff;border:1.5px dashed var(--ux-line);color:#a3967f;text-align:left;
  font:500 14px/1.2 'Fredoka',Inter,sans-serif;
}
.ux-klickfolge-w .ux-kf-slot.full{cursor:pointer;border-style:solid;border-color:var(--ux-violet);color:var(--ux-dark);background:#f6f1fb}
.ux-klickfolge-w .ux-kf-slot.ok{border-color:var(--ux-green-d);background:#e8f4e4}
.ux-klickfolge-w .ux-kf-slot.bad{border-color:var(--ux-red);background:#fbe6e4}
.ux-klickfolge-w .ux-kf-slot:focus-visible{outline:3px solid var(--ux-yellow);outline-offset:2px}
.ux-klickfolge-w .ux-kf-slot[disabled]{opacity:1}
.ux-klickfolge-w .ux-kf-no{
  flex:0 0 auto;display:inline-grid;place-items:center;width:22px;height:22px;border-radius:50%;
  background:var(--ux-line);color:#fff;font:600 12.5px/1 'Fredoka',Inter,sans-serif;
}
.ux-klickfolge-w .ux-kf-slot.full .ux-kf-no{background:var(--ux-violet)}
.ux-klickfolge-w .ux-kf-slot.ok .ux-kf-no{background:var(--ux-green-d)}
.ux-klickfolge-w .ux-kf-slot.bad .ux-kf-no{background:var(--ux-red)}
.ux-klickfolge-w .ux-kf-lab{min-width:0;overflow-wrap:anywhere}
@media (max-width:560px){
  .ux-klickfolge-w .ux-kf-track li{flex:1 1 calc(50% - 6px)}
  .ux-klickfolge-w .ux-kf-poles{font-size:12.5px}
}
@media (prefers-reduced-motion: reduce){
  .ux-klickfolge-w .ux-kf-ring{transition:none}
}

/* ueb30-neu:leiter */
/* ===== ueb30-neu:leiter 2026-10-08 — Energieniveau-Leiter ===== */
.ux-leiter-w .ux-ldr-q{margin:4px 0 12px;padding:10px 13px;border-radius:11px;background:#fffbe8;border:1.5px solid #ecdca0;border-left:4px solid var(--ux-yellow);font-size:15px;line-height:1.5;color:var(--ux-dark)}
.ux-leiter-w .ux-ldr-rd{display:inline-block;margin-right:6px;padding:2px 9px;border-radius:99px;background:var(--ux-violet);color:#fff;font:600 12.5px/1.5 'Fredoka',Inter,sans-serif}
.ux-leiter-w .ux-ldr-need{color:#6b5d44;font-size:13.5px}
.ux-leiter-w .ux-ldr-box{position:relative;max-width:440px;width:100%;margin:0 auto 6px;padding:14px 10px;border-radius:14px;background:var(--ux-paper);border:1.5px solid var(--ux-line)}
.ux-leiter-w .ux-ldr-lvs{display:flex;flex-direction:column;gap:16px;position:relative;z-index:1}
.ux-leiter-w .ux-ldr-lv{
  display:grid;grid-template-columns:44px minmax(0,1fr) 78px;align-items:center;gap:8px;width:100%;min-height:46px;padding:0 4px;
  border:0;border-radius:10px;background:transparent;cursor:pointer;font:600 15.5px/1 'Fredoka',Inter,sans-serif;color:var(--ux-dark);text-align:left;
}
.ux-leiter-w .ux-ldr-lv:hover{background:rgba(124,95,181,.09)}
.ux-leiter-w .ux-ldr-lv:focus-visible{outline:3px solid var(--ux-yellow);outline-offset:1px}
.ux-leiter-w .ux-ldr-lv.sel{background:rgba(231,154,58,.18);box-shadow:inset 0 0 0 2px var(--ux-orange)}
.ux-leiter-w .ux-ldr-lv[disabled]{cursor:default;opacity:.92}
.ux-leiter-w .ux-ldr-nm{justify-self:center;display:inline-grid;place-items:center;min-width:32px;height:32px;border-radius:50%;background:var(--ux-violet);color:#fff;font-size:15px}
.ux-leiter-w .ux-ldr-bar{position:relative;display:block;height:6px;border-radius:3px;background:var(--ux-violet)}
.ux-leiter-w .ux-ldr-lv.sel .ux-ldr-bar{background:var(--ux-orange)}
.ux-leiter-w .ux-ldr-el{position:absolute;right:10px;top:-7px;width:20px;height:20px;border-radius:50%;background:var(--ux-blue-d);border:2px solid #fff;box-shadow:0 1px 3px rgba(0,0,0,.25);opacity:0;transform:scale(.4);transition:opacity .2s ease,transform .2s ease}
.ux-leiter-w .ux-ldr-lv.sel .ux-ldr-el{opacity:1;transform:scale(1)}
.ux-leiter-w .ux-ldr-en{justify-self:end;white-space:nowrap;font-size:14.5px;color:#4a3d6b}
.ux-leiter-w .ux-ldr-arrows{position:absolute;left:10px;top:14px;z-index:2;pointer-events:none;overflow:visible}
.ux-leiter-w .ux-ldr-arrow line{stroke-width:3;stroke-linecap:round}
.ux-leiter-w .ux-ldr-arrow text{font:600 12.5px 'Fredoka',Inter,sans-serif;paint-order:stroke;stroke:#faf6ee;stroke-width:4px;stroke-linejoin:round}
.ux-leiter-w .ux-ldr-arrow.ok line{stroke:var(--ux-green-d)} .ux-leiter-w .ux-ldr-arrow.ok text{fill:var(--ux-green-d)}
.ux-leiter-w .ux-ldr-arrow.bad line{stroke:var(--ux-red);stroke-dasharray:5 4} .ux-leiter-w .ux-ldr-arrow.bad text{fill:#96271e}
.ux-leiter-w .ux-ldr-mk.up,.ux-leiter-w .ux-ldr-mk.dn,.ux-leiter-w .ux-ldr-mk.ok{fill:var(--ux-green-d)}
.ux-leiter-w .ux-ldr-mk.bad{fill:var(--ux-red)}
@media (max-width:560px){
  .ux-leiter-w .ux-ldr-lv{grid-template-columns:38px minmax(0,1fr) 70px;gap:6px;font-size:15px}
  .ux-leiter-w .ux-ldr-en{font-size:13.5px}
  .ux-leiter-w .ux-ldr-lvs{gap:14px}
  .ux-leiter-w .ux-ldr-box{padding:12px 6px}
  .ux-leiter-w .ux-ldr-arrows{left:6px;top:12px}
  .ux-leiter-w .ux-ldr-q{font-size:14.5px}
}
@media (prefers-reduced-motion: reduce){
  .ux-leiter-w .ux-ldr-el{transition:none}
}

/* ---- Widget: _basis (Physik K8) ---- */
/* ===== ueb30 Physik K8 (2026-10-08): Mix/Trick-Chips, Hilfen unter Widgets, schmale Bildschirme (Operator-Tooltip zentral oben) ===== */
.aufgabe-head .afb+.afb{margin-left:6px}
.aufgabe-head .aufgabe-title{min-width:min(9em,100%)}
.aufgabe .ux+.hilfen{margin-top:14px}
.ux-matrix-w .ux-tabwrap{overflow-x:auto;max-width:100%}
@media(max-width:480px){.ux-mem{grid-template-columns:repeat(2,1fr)}.ux-matrix-w{overflow-x:auto;max-width:100%}}

/* ---- Widget: atom (Physik K8) ---- */
/* ===== atom — Atom-Baukasten mit Kern-Hülle-Modell (ueb30, 2026-10-08) ===== */
.ux-atom-kopf{display:flex;justify-content:flex-end;margin:0 0 8px;min-height:30px}
.ux-atom-erg{font:600 14.5px/1.3 'Fredoka',Inter,sans-serif;color:var(--ux-dark);background:#fff;border:1.5px solid var(--ux-line);border-radius:8px;padding:5px 11px}
.ux-atom-lab{display:grid;grid-template-columns:minmax(0,300px) minmax(0,1fr);gap:14px 18px;align-items:center;background:var(--ux-paper);border:1.5px solid var(--ux-line);border-radius:11px;padding:12px}
.ux-atom-box{min-width:0}
.ux-atom-svg{display:block;width:100%;max-width:300px;height:auto;margin:0 auto;background:#fff;border-radius:50%;-webkit-user-select:none;user-select:none}
.ux-atom-schalen circle{fill:none;stroke:#b9c9e6;stroke-width:1.6;stroke-dasharray:5 5}
.ux-atom-t circle{stroke:#fff;stroke-width:1.4}
.ux-atom-pr circle{fill:#e2574c}
.ux-atom-ne circle{fill:#9a8d7d}
.ux-atom-el circle{fill:#2c5fb5}
.ux-atom-z{stroke:#fff;stroke-width:1.8;stroke-linecap:round;fill:none}
.ux-atom-leer{fill:none;stroke:#b9ab94;stroke-width:1.5;stroke-dasharray:2 3}
.ux-atom-neu>g{animation:ux-atom-pop .32s ease-out 1}
@keyframes ux-atom-pop{0%{transform:scale(.2);opacity:.2}70%{transform:scale(1.18)}100%{transform:scale(1);opacity:1}}
.ux-atom-svg.ux-atom-falsch{box-shadow:0 0 0 3px rgba(226,87,76,.55)}
.ux-atom-svg.ux-atom-ok{box-shadow:0 0 0 3px rgba(74,117,48,.6)}
.ux-atom-svg.ux-atom-puls{animation:ux-atom-puls .6s ease-out 1}
@keyframes ux-atom-puls{0%{box-shadow:0 0 0 0 rgba(103,176,95,.7)}100%{box-shadow:0 0 0 3px rgba(74,117,48,.6)}}
.ux-atom-ctrl{display:flex;flex-direction:column;gap:10px;min-width:0}
.ux-atom-row{display:grid;grid-template-columns:16px minmax(0,1fr) 40px 52px 40px;align-items:center;gap:8px;background:#fff;border:1.5px solid var(--ux-line);border-radius:10px;padding:7px 9px}
.ux-atom-dot{width:16px;height:16px;border-radius:50%;background:#9a8d7d}
.ux-atom-row[data-k="p"] .ux-atom-dot{background:#e2574c}
.ux-atom-row[data-k="e"] .ux-atom-dot{background:#2c5fb5}
.ux-atom-name{font:500 15px/1.2 'Fredoka',Inter,sans-serif;color:var(--ux-dark);overflow-wrap:anywhere}
.ux-atom-btn{width:40px;height:40px;border-radius:50%;border:1.5px solid var(--ux-blue-d);background:#fff;color:var(--ux-blue-d);font:600 22px/1 'Fredoka',Inter,sans-serif;cursor:pointer;padding:0;touch-action:manipulation}
.ux-atom-btn:hover:not(:disabled){background:#eef3fc}
.ux-atom-btn:focus-visible,.ux-atom-val:focus-visible{outline:3px solid var(--ux-yellow);outline-offset:2px}
.ux-atom-btn:disabled{opacity:.35;cursor:default}
.ux-atom-val{display:block;text-align:center;font:600 20px/40px 'Fredoka',Inter,sans-serif;color:var(--ux-dark);background:var(--ux-paper);border-radius:8px;min-height:40px;outline:none}
.ux-atom-fest{background:#f4ede0}
.ux-atom-fest .ux-atom-name::after{content:' · fest';font-size:13px;color:#8a7d6b}
.ux-atom-w.done .ux-atom-btn{display:none}
.ux-atom-w.done .ux-atom-row{grid-template-columns:16px minmax(0,1fr) 52px}
.ux-atom-sr{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
@media(max-width:640px){
  .ux-atom-lab{grid-template-columns:minmax(0,1fr);padding:9px}
  .ux-atom-svg{max-width:250px}
  .ux-atom-kopf{justify-content:flex-start}
}
@media(max-width:380px){.ux-atom-row{grid-template-columns:14px minmax(0,1fr) 36px 44px 36px;gap:6px}.ux-atom-btn{width:36px;height:36px}}
@media(prefers-reduced-motion:reduce){
  .ux-atom-neu>g{animation:none}
  .ux-atom-svg.ux-atom-puls{animation:none}
}

/* ---- Widget: ausgleich (Physik K8) ---- */
/* ===== ausgleich — Elektronen zwischen Metallkörpern verschieben (ueb30, 2026-10-08) ===== */
.ux-ausgleich-ask{margin:0 0 8px;font:600 15px/1.4 'Fredoka',Inter,sans-serif;color:var(--fach-ink,#3d2a6b)}
.ux-ausgleich-ask[hidden]{display:none}
.ux-ausgleich-kopf{display:flex;justify-content:flex-end;margin:0 0 8px}
.ux-ausgleich-zaehler{font:500 14px/1.35 'Fredoka',Inter,sans-serif;color:var(--ux-dark);background:#fff;border:1.5px solid var(--ux-line);border-radius:8px;padding:5px 10px;max-width:100%}
.ux-ausgleich-box{background:var(--ux-paper);border:1.5px solid var(--ux-line);border-radius:11px;padding:8px;max-width:100%;overflow:hidden}
.ux-ausgleich-svg{display:block;width:100%;height:auto;margin:0 auto;touch-action:none;-webkit-user-select:none;user-select:none}
.ux-ausgleich-draht line{stroke:#9a7b4f;stroke-width:5;stroke-linecap:round}
.ux-ausgleich-draht.aus line{stroke:#c9bba5;stroke-width:4;stroke-dasharray:2 7}
.ux-ausgleich-getrennt{font:500 13px 'Fredoka',Inter,sans-serif;fill:#8a7d6b}
.ux-ausgleich-k{cursor:pointer;outline:none}
.ux-ausgleich-kreis{fill:#f4ede0;stroke:#b9a88c;stroke-width:2.4}
.ux-ausgleich-ring{fill:none;stroke:transparent;stroke-width:3.5}
.ux-ausgleich-k:hover .ux-ausgleich-kreis{stroke:#7c5fb5}
.ux-ausgleich-k:focus-visible .ux-ausgleich-ring{stroke:var(--ux-yellow)}
.ux-ausgleich-k.sel .ux-ausgleich-kreis{fill:#efe8fa;stroke:#7c5fb5;stroke-width:3.2}
.ux-ausgleich-k.sel .ux-ausgleich-ring{stroke:#7c5fb5;stroke-dasharray:6 5}
.ux-ausgleich-p path{stroke:#e2574c;stroke-width:2.6;stroke-linecap:round}
.ux-ausgleich-p{cursor:not-allowed}
.ux-ausgleich-e circle{fill:#5b8bd8;stroke:#2c5fb5;stroke-width:1.4}
.ux-ausgleich-e path{stroke:#fff;stroke-width:2;stroke-linecap:round}
.ux-ausgleich-e{cursor:grab}
.ux-ausgleich-flug{transition:transform .35s ease-out}
.ux-ausgleich-ghost circle{fill:#5b8bd8;stroke:#2c5fb5;opacity:.9}
.ux-ausgleich-svg.ux-ausgleich-ziehen{cursor:grabbing}
.ux-ausgleich-name{font:600 17px 'Fredoka',Inter,sans-serif;fill:var(--ux-dark)}
.ux-ausgleich-q{font:600 17px 'Fredoka',Inter,sans-serif;fill:#6b5f53}
.ux-ausgleich-q.neg{fill:#2c5fb5}
.ux-ausgleich-q.pos{fill:#c4382e}
.ux-ausgleich-svg.ux-ausgleich-ok .ux-ausgleich-kreis{stroke:#4a7530;stroke-width:3}
.ux-ausgleich-svg.ux-ausgleich-ok .ux-ausgleich-k{cursor:default}
.ux-ausgleich-svg.ux-ausgleich-ok .ux-ausgleich-e{cursor:default}
.ux-ausgleich-sr{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
@media(max-width:480px){.ux-ausgleich-box{padding:4px}.ux-ausgleich-zaehler{font-size:13px}.ux-ausgleich-kopf{justify-content:flex-start}}
@media(prefers-reduced-motion:reduce){
  .ux-ausgleich-flug{transition:none}
}

/* ---- Widget: defekt (Physik K8) ---- */
/* ===== defekt — Fehlerdiagnose mit begrenzten Messungen (ueb30, 2026-10-08) ===== */
.ux-defekt-beob{margin:0 0 10px;padding:8px 12px;border-radius:9px;background:#fff7e6;border:1.5px solid #f0d49a;font:500 15px/1.45 'Fredoka',Inter,sans-serif;color:var(--ux-dark)}
.ux-defekt-kopf{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;margin:0 0 8px}
.ux-defekt-modes,.ux-defekt-tools{display:inline-flex;flex-wrap:wrap;gap:6px}
.ux-defekt-modes{padding:3px;border-radius:11px;background:#efe6d6}
.ux-defekt-mode,.ux-defekt-tl{font:600 14px/1.2 'Fredoka',Inter,sans-serif;border-radius:8px;padding:7px 12px;cursor:pointer;color:var(--ux-dark);background:transparent;border:1.5px solid transparent}
.ux-defekt-mode[aria-pressed="true"]{background:#fff;border-color:var(--ux-blue-d);color:var(--ux-blue-d);box-shadow:0 1px 3px rgba(0,0,0,.12)}
.ux-defekt-w.ux-defekt-melden .ux-defekt-mode[aria-pressed="true"]{border-color:var(--ux-red);color:#a8322a}
.ux-defekt-tl{background:#fff;border-color:var(--ux-line)}
.ux-defekt-tl[aria-pressed="true"]{background:var(--ux-violet);border-color:var(--ux-violet);color:#fff}
.ux-defekt-w.ux-defekt-melden .ux-defekt-tools{opacity:.5}
.ux-defekt-mode:focus-visible,.ux-defekt-tl:focus-visible{outline:3px solid var(--ux-yellow);outline-offset:2px}
.ux-defekt-mode[disabled],.ux-defekt-tl[disabled]{cursor:default;opacity:.55}
.ux-defekt-cnt{margin-left:auto;font:500 14px/1.3 'Fredoka',Inter,sans-serif;color:#6b5f53;background:#fff;border:1.5px solid var(--ux-line);border-radius:8px;padding:5px 10px}
.ux-defekt-cnt.leer{color:#a8322a;border-color:#efb4ae}
.ux-defekt-dots{letter-spacing:2px;color:var(--ux-violet);margin-right:2px}
.ux-defekt-plan{background:var(--ux-paper);border:1.5px solid var(--ux-line);border-radius:11px;padding:8px;max-width:100%;overflow:hidden}
.ux-defekt-plan svg{display:block;width:100%;height:auto;max-width:620px;margin:0 auto;background:#fff;border-radius:8px}
.ux-defekt-plan text{font-family:'Fredoka',Inter,sans-serif}
/* Bauteile in der Skizze */
.ux-defekt-plan g.ux-defekt-teil{cursor:pointer;outline:none}
.ux-defekt-hit{fill:transparent;stroke:transparent;stroke-width:2.4}
.ux-defekt-plan g.ux-defekt-teil:hover .ux-defekt-hit{fill:rgba(91,139,216,.10);stroke:#5b8bd8;stroke-dasharray:5 4}
.ux-defekt-w.ux-defekt-melden g.ux-defekt-teil:hover .ux-defekt-hit{fill:rgba(226,87,76,.08);stroke:#e2574c}
.ux-defekt-plan g.ux-defekt-teil:focus-visible .ux-defekt-hit{fill:rgba(244,208,63,.28);stroke:#2f2f2f;stroke-dasharray:none}
.ux-defekt-plan g.ux-defekt-gem .ux-defekt-hit{stroke:#67b05f;stroke-dasharray:none}
.ux-defekt-plan g.ux-defekt-auff .ux-defekt-hit{stroke:#e79a3a;fill:rgba(231,154,58,.12)}
.ux-defekt-plan g.ux-defekt-falsch .ux-defekt-hit{stroke:#e2574c;fill:rgba(226,87,76,.14);stroke-dasharray:none}
.ux-defekt-plan g.ux-defekt-richtig .ux-defekt-hit{stroke:#4a7530;fill:rgba(103,176,95,.22);stroke-dasharray:none;stroke-width:3}
.ux-defekt-w.done g.ux-defekt-teil{cursor:default}
/* Bauteile als Knopfliste (ohne Skizze) */
.ux-defekt-liste{display:flex;flex-wrap:wrap;gap:8px}
.ux-defekt-liste .ux-defekt-teil{font:500 15px/1.25 'Fredoka',Inter,sans-serif;background:#fff;border:1.5px solid var(--ux-line);border-radius:9px;padding:9px 13px;cursor:pointer;color:var(--ux-dark)}
.ux-defekt-liste .ux-defekt-teil:focus-visible{outline:3px solid var(--ux-yellow);outline-offset:2px}
.ux-defekt-liste .ux-defekt-gem{border-color:#67b05f}
.ux-defekt-liste .ux-defekt-auff{border-color:#e79a3a;background:#fdf1e1}
.ux-defekt-liste .ux-defekt-falsch{border-color:#e2574c;background:#fbe6e4}
.ux-defekt-liste .ux-defekt-richtig{border-color:#4a7530;background:#e8f4e4;color:#2f5a1e}
/* Messprotokoll */
.ux-defekt-log{margin:10px 0 0;padding:0;list-style:none;counter-reset:dm}
.ux-defekt-log.voll::before{content:'Messprotokoll';display:block;font:600 13px/1.3 'Fredoka',Inter,sans-serif;color:#6b5f53;text-transform:uppercase;letter-spacing:.04em;margin:0 0 6px}
.ux-defekt-e{counter-increment:dm;position:relative;margin:0 0 6px;padding:7px 10px 7px 36px;border-radius:9px;background:#fff;border:1.5px solid var(--ux-line);border-left-width:5px;font:400 14.5px/1.45 Inter,system-ui,sans-serif;color:var(--ux-dark);overflow-wrap:anywhere}
.ux-defekt-e::before{content:counter(dm);position:absolute;left:9px;top:7px;width:19px;height:19px;border-radius:50%;background:#efe6d6;font:600 12px/19px 'Fredoka',Inter,sans-serif;text-align:center}
.ux-defekt-e.ok{border-left-color:#67b05f}
.ux-defekt-e.auff{border-left-color:#e79a3a;background:#fffaf2}
.ux-defekt-e b{font-weight:600}
/* Blinken bei falscher/unbelegter Meldung */
.ux-defekt-plan g.ux-defekt-blink .ux-defekt-hit,.ux-defekt-liste .ux-defekt-blink{animation:ux-defekt-blink .45s ease-out 2}
@keyframes ux-defekt-blink{0%{opacity:.25}100%{opacity:1}}
@media(max-width:480px){
  .ux-defekt-plan{padding:4px}
  .ux-defekt-cnt{margin-left:0}
  .ux-defekt-mode,.ux-defekt-tl{padding:7px 9px;font-size:13.5px}
  .ux-defekt-e{font-size:14px}
}
@media(prefers-reduced-motion:reduce){
  .ux-defekt-plan g.ux-defekt-blink .ux-defekt-hit,.ux-defekt-liste .ux-defekt-blink{animation:none}
}

/* ---- Widget: drehen (Physik K8) ---- */
/* ===== drehen — Teilchen im Modell ausrichten (ueb30, 2026-10-08) ===== */
.ux-drehen-box{background:var(--ux-paper);border:1.5px solid var(--ux-line);border-radius:11px;padding:8px;max-width:100%;overflow:hidden}
.ux-drehen-svg{display:block;width:100%;height:auto;margin:0 auto;background:#faf6ee;border-radius:8px;-webkit-user-select:none;user-select:none;touch-action:manipulation}
.ux-drehen-mat{fill:#f4ede0;stroke:#d8c9ae;stroke-width:1.5;stroke-dasharray:6 5}
.ux-drehen-matlab{font:500 14px 'Fredoka',Inter,sans-serif;fill:#8a7a63}
.ux-drehen-kf{stroke-width:2.4}
.ux-drehen-qm .ux-drehen-kf{fill:#dfe8f8;stroke:#2c5fb5}
.ux-drehen-qm .ux-drehen-z{stroke:#2c5fb5}
.ux-drehen-qp .ux-drehen-kf{fill:#fbe3e0;stroke:#e2574c}
.ux-drehen-qp .ux-drehen-z{stroke:#c43e33}
.ux-drehen-qx .ux-drehen-kf,.ux-drehen-q0 .ux-drehen-kf{fill:#ece6da;stroke:#9a8d7d}
.ux-drehen-z{stroke-width:2.6;stroke-linecap:round}
.ux-drehen-frage{font:600 22px 'Fredoka',Inter,sans-serif;fill:#6b5f53}
.ux-drehen-klab{font:500 15px 'Fredoka',Inter,sans-serif;fill:#2f2f2f}
.ux-drehen-t-g{cursor:pointer;outline:none}
.ux-drehen-ring{fill:transparent;stroke:transparent;stroke-width:2.4}
.ux-drehen-t-g:hover .ux-drehen-ring{stroke:#cbbfe3}
.ux-drehen-t-g:focus-visible .ux-drehen-ring{stroke:#f4d03f;stroke-width:3.4;fill:rgba(244,208,63,.18)}
.ux-drehen-rot{transition:transform .25s ease}
.ux-drehen-huelle{fill:rgba(91,139,216,.32);stroke:#2c5fb5;stroke-width:2}
.ux-drehen-kern{fill:#e2574c}
.ux-drehen-fix{cursor:default}
.ux-drehen-fix .ux-drehen-ring{stroke:#7c5fb5;stroke-dasharray:4 3;stroke-width:1.8}
.ux-drehen-t-g.ux-drehen-bad .ux-drehen-ring{stroke:#e2574c;stroke-width:2.6}
.ux-drehen-svg.ux-drehen-ok .ux-drehen-t-g{cursor:default}
.ux-drehen-svg.ux-drehen-ok .ux-drehen-t-g:not(.ux-drehen-fix) .ux-drehen-huelle{fill:rgba(103,176,95,.3);stroke:#4a7530}
.ux-drehen-svg.ux-drehen-puls .ux-drehen-t-g:not(.ux-drehen-fix){animation:ux-drehen-puls .5s ease-out 1}
@keyframes ux-drehen-puls{0%{opacity:.35}100%{opacity:1}}
.ux-drehen-sr{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
@media(max-width:480px){.ux-drehen-box{padding:5px}}
@media(prefers-reduced-motion:reduce){
  .ux-drehen-rot{transition:none}
  .ux-drehen-svg.ux-drehen-puls .ux-drehen-t-g{animation:none}
}

/* ---- Widget: film (Physik K8) ---- */
/* ===== film — Bewegungsfilm mit Zeitschieber und t-s-Diagramm (ueb30, 2026-10-08) ===== */
.ux-film-w .ux-film-ask{margin:0 0 10px;padding:10px 13px;border-radius:10px;background:#fff;border:1.5px solid var(--ux-line);font:600 14.5px/1.45 'Fredoka','Inter',sans-serif;color:var(--ux-dark);min-height:24px}
.ux-film{background:var(--ux-paper);border:1.5px solid var(--ux-line);border-radius:12px;padding:10px 12px 12px;max-width:600px}
.ux-film-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:6px 12px;margin-bottom:6px}
.ux-film-count{font:600 13px/1.2 'Fredoka','Inter',sans-serif;color:#6b5f53}
.ux-film-read{font:600 14px/1.2 'Fredoka','Inter',sans-serif;color:var(--ux-dark);background:#fff;border:1.5px solid var(--ux-line);border-radius:8px;padding:5px 10px;white-space:pre;min-width:92px;text-align:center}
.ux-film-track,.ux-film-plot{display:block;width:100%;height:auto}
.ux-film-track{margin:0 0 4px}
.ux-film-plot{background:#fff;border-radius:9px;border:1px solid #e6dccb;cursor:ew-resize;touch-action:none;outline:none}
.ux-film-plot:focus-visible{outline:3px solid var(--ux-yellow);outline-offset:2px}
.ux-film-grid line{stroke:#ece4d6;stroke-width:1}
.ux-film-axes line{stroke:var(--ux-dark);stroke-width:1.8}
.ux-film-arrow{fill:var(--ux-dark)}
.ux-film-tick{font:500 15px/1 'Fredoka','Inter',sans-serif;fill:#5b5148}
.ux-film-alab{font:600 16px/1 'Fredoka','Inter',sans-serif;fill:var(--ux-dark)}
.ux-film-ghost{fill:none;stroke:#c9bfae;stroke-width:3;stroke-linejoin:round;stroke-dasharray:7 6}
.ux-film-past{fill:none;stroke:var(--ux-blue-d);stroke-width:3.6;stroke-linejoin:round;stroke-linecap:round}
.ux-film-vline{stroke:var(--ux-orange);stroke-width:2.2}
.ux-film-hline{stroke:var(--ux-orange);stroke-width:1.8;stroke-dasharray:5 4}
.ux-film-dot{fill:var(--ux-red);stroke:#fff;stroke-width:2}
.ux-film-hit circle{fill:var(--ux-green-d);stroke:#fff;stroke-width:2}
.ux-film-hit text{font:600 12px/1 'Fredoka','Inter',sans-serif;fill:#fff;pointer-events:none}
.ux-film-road{fill:#d9cdb8}
.ux-film-rtick{stroke:#8f8273;stroke-width:1.6}
.ux-film-mark line{stroke:#6b5f53;stroke-width:1.8}
.ux-film-mark path{fill:var(--ux-violet)}
.ux-film-mlab{font:600 14px/1 'Fredoka','Inter',sans-serif;fill:var(--ux-violet)}
.ux-film-trail circle{fill:var(--ux-blue);opacity:.35}
.ux-film-body{fill:var(--ux-blue)}
.ux-film-win{fill:#eef3fb;stroke:#eef3fb;stroke-width:1.2}
.ux-film-wheel{fill:var(--ux-dark);stroke:#fff;stroke-width:1.5}
.ux-film-tyre{fill:none;stroke:var(--ux-dark);stroke-width:2.6}
.ux-film-frame{fill:none;stroke:var(--ux-blue-d);stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round}
.ux-film-kopf{fill:var(--ux-orange)}
.ux-film-limb{fill:none;stroke:var(--ux-blue-d);stroke-width:3.4;stroke-linecap:round;stroke-linejoin:round}
.ux-film-ctrl{display:flex;align-items:center;gap:8px;margin-top:10px}
.ux-film-range{flex:1 1 auto;min-width:0;accent-color:var(--ux-orange);height:28px;cursor:pointer}
.ux-film-range:focus-visible{outline:3px solid var(--ux-yellow);outline-offset:2px;border-radius:6px}
.ux-film-play,.ux-film-step{flex:0 0 auto;width:38px;height:38px;border-radius:50%;border:1.5px solid var(--ux-line);background:#fff;color:var(--ux-dark);font:600 16px/1 'Fredoka','Inter',sans-serif;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;padding:0}
.ux-film-play{background:var(--fach-ink,#3d2a6b);border-color:var(--fach-ink,#3d2a6b);color:#fff;font-size:14px}
.ux-film-play.on{background:var(--ux-orange);border-color:var(--ux-orange)}
.ux-film-play:hover,.ux-film-step:hover{filter:brightness(1.08)}
.ux-film-play:focus-visible,.ux-film-step:focus-visible{outline:3px solid var(--ux-yellow);outline-offset:2px}
.ux-film-play[disabled],.ux-film-step[disabled],.ux-film-range[disabled]{opacity:.45;cursor:default}
.ux-film-play,.ux-film-step{transition:background-color .15s,border-color .15s}
.ux-film-w.done .ux-film-plot{cursor:default}
.ux-film-w.done .ux-film-ask{border-color:var(--ux-green);background:#eef7ea;color:var(--ux-green-d)}
@media(max-width:480px){
  .ux-film{padding:8px 8px 10px}
  .ux-film-ctrl{gap:6px}
  .ux-film-play,.ux-film-step{width:34px;height:34px}
}
@media(prefers-reduced-motion:reduce){.ux-film-play,.ux-film-step{transition:none}}

/* ---- Widget: gefahrenbild (Physik K8) ---- */
/* ===== gefahrenbild — Gefahrenstellen in einer Szene finden (ueb30, 2026-10-08) ===== */
.ux-gefahrenbild-kopf{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px;margin:0 0 8px}
.ux-gefahrenbild-stand{font:600 14px/1.3 'Fredoka',Inter,sans-serif;color:var(--ux-dark,#2f2f2f);background:#fff;border:1.5px solid var(--ux-line,#e3d8c4);border-radius:8px;padding:5px 10px}
.ux-gefahrenbild-box{background:var(--ux-paper,#faf6ee);border:1.5px solid var(--ux-line,#e3d8c4);border-radius:11px;padding:8px;max-width:100%;overflow:hidden}
.ux-gefahrenbild-svg{display:block;width:100%;height:auto;max-width:760px;margin:0 auto;border-radius:8px;cursor:crosshair;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}
.ux-gefahrenbild-svg text{font-family:'Fredoka',Inter,sans-serif}
.ux-gefahrenbild-hit{fill:rgba(0,0,0,0);stroke:none;cursor:crosshair;outline:none}
.ux-gefahrenbild-hit:focus{outline:none}
.ux-gefahrenbild-hit:focus-visible{stroke:#f4d03f;stroke-width:4;stroke-dasharray:8 5;fill:rgba(244,208,63,.14)}
.ux-gefahrenbild-ring{fill:rgba(103,176,95,.16);stroke:#4a7530;stroke-width:4}
.ux-gefahrenbild-badge circle{fill:#4a7530;stroke:#fff;stroke-width:2}
.ux-gefahrenbild-badge text{font:700 15px 'Fredoka',Inter,sans-serif;fill:#fff}
.ux-gefahrenbild-nein{fill:rgba(226,87,76,.08);stroke:#e2574c;stroke-width:2.5;stroke-dasharray:6 5}
.ux-gefahrenbild-x path{stroke:#e2574c;stroke-width:4;stroke-linecap:round;fill:none}
.ux-gefahrenbild-w.ux-gefahrenbild-gesperrt .ux-gefahrenbild-svg{opacity:.55;cursor:not-allowed}
.ux-gefahrenbild-w.ux-gefahrenbild-gesperrt .ux-gefahrenbild-hit{cursor:not-allowed}
.ux-gefahrenbild-svg.ux-gefahrenbild-fertig,.ux-gefahrenbild-svg.ux-gefahrenbild-fertig .ux-gefahrenbild-hit{cursor:default}
.ux-gefahrenbild-liste{list-style:none;counter-reset:uxsb;margin:10px 0 0;padding:0;display:grid;gap:6px}
.ux-gefahrenbild-liste:empty{display:none}
.ux-gefahrenbild-liste li{counter-increment:uxsb;position:relative;padding:7px 10px 7px 40px;background:#fff;border:1.5px solid #cfe3c6;border-left:4px solid #4a7530;border-radius:9px;font:400 14.5px/1.45 Inter,system-ui,sans-serif;color:var(--ux-dark,#2f2f2f);overflow-wrap:anywhere}
.ux-gefahrenbild-liste li::before{content:counter(uxsb);position:absolute;left:9px;top:7px;width:22px;height:22px;border-radius:50%;background:#4a7530;color:#fff;font:700 13px/22px 'Fredoka',Inter,sans-serif;text-align:center}
.ux-gefahrenbild-liste li b{font-family:'Fredoka',Inter,sans-serif;font-weight:600}
.ux-gefahrenbild-pop{animation:ux-gefahrenbild-pop .35s ease-out 1;transform-box:fill-box;transform-origin:center}
@keyframes ux-gefahrenbild-pop{0%{transform:scale(.6);opacity:0}100%{transform:scale(1);opacity:1}}
.ux-gefahrenbild-svg.ux-gefahrenbild-wackel{animation:ux-gefahrenbild-wackel .3s ease-in-out 1}
@keyframes ux-gefahrenbild-wackel{0%,100%{transform:translateX(0)}25%{transform:translateX(-4px)}75%{transform:translateX(4px)}}
@media(max-width:480px){.ux-gefahrenbild-box{padding:4px}.ux-gefahrenbild-stand{font-size:13px}.ux-gefahrenbild-liste li{font-size:14px}}
@media(prefers-reduced-motion:reduce){
  .ux-gefahrenbild-pop{animation:none}
  .ux-gefahrenbild-svg.ux-gefahrenbild-wackel{animation:none}
}

/* ---- Widget: messbereich (Physik K8) ---- */
/* ===== messbereich — Messbereichs-Drehschalter (ueb30 Physik K8, 2026-10-08) ===== */
.ux-messbereich-w .ux-mb-body{display:flex;flex-wrap:wrap;gap:16px;align-items:flex-start;padding:14px;border-radius:12px;background:var(--ux-paper,#faf6ee);border:1.5px solid var(--ux-line,#d9cdb8)}
.ux-messbereich-w .ux-mb-side{flex:1 1 240px;min-width:0}
.ux-messbereich-w .ux-mb-stage{flex:0 1 330px;min-width:0;max-width:100%;margin:0 auto}
.ux-messbereich-w .ux-mb-svg{display:block;width:100%;max-width:330px;height:auto;margin:0 auto;font-family:Fredoka,Inter,system-ui,sans-serif;touch-action:none;user-select:none;-webkit-user-select:none}
.ux-messbereich-w .ux-mb-count{display:flex;align-items:center;justify-content:space-between;gap:10px;font:600 13px/1.3 Fredoka,Inter,system-ui,sans-serif;color:#6b5f53;margin-bottom:8px}
.ux-messbereich-w .ux-mb-pips{display:inline-flex;gap:5px}
.ux-messbereich-w .ux-mb-pip{width:11px;height:11px;border-radius:50%;background:#fff;border:2px solid var(--ux-line,#d9cdb8)}
.ux-messbereich-w .ux-mb-pip.cur{border-color:var(--ux-blue-d,#2c5fb5)}
.ux-messbereich-w .ux-mb-pip.on{background:var(--ux-green,#67b05f);border-color:var(--ux-green-d,#4a7530)}
.ux-messbereich-w .ux-mb-q{margin:0 0 10px;padding:11px 13px;border-radius:10px;background:#fff;border:1.5px solid var(--ux-line,#d9cdb8);font-size:15px;line-height:1.55;color:var(--ux-dark,#2f2f2f);overflow-wrap:anywhere}
.ux-messbereich-w .ux-mb-log{margin:0;padding-left:20px;font-size:12.5px;line-height:1.5;color:#4a7530}
.ux-messbereich-w .ux-mb-log:empty{display:none}
/* Gerät */
.ux-messbereich-w .ux-mb-case{fill:#2f2f2f}
.ux-messbereich-w .ux-mb-face{fill:#f4ede0}
.ux-messbereich-w .ux-mb-lcd{fill:#dfe8d2;stroke:#2f2f2f;stroke-width:3}
.ux-messbereich-w .ux-mb-lcdtxt{font:600 34px/1 Fredoka,Inter,system-ui,sans-serif;fill:#2f2f2f;letter-spacing:1px}
.ux-messbereich-w .ux-mb-lcdu{font:600 13px/1 Fredoka,Inter,system-ui,sans-serif;fill:#4f5a45}
.ux-messbereich-w .ux-mb-arc{fill:none;stroke-width:7;stroke-linecap:round}
.ux-messbereich-w .ux-mb-arc.ux-mb-g0{stroke:#5b8bd8}
.ux-messbereich-w .ux-mb-arc.ux-mb-g1{stroke:#e79a3a}
.ux-messbereich-w .ux-mb-arc.ux-mb-g2{stroke:#7c5fb5}
.ux-messbereich-w .ux-mb-arc.ux-mb-g3{stroke:#67b05f}
.ux-messbereich-w .ux-mb-tick{stroke:#2f2f2f;stroke-width:2.2;stroke-linecap:round}
.ux-messbereich-w .ux-mb-lab{cursor:pointer}
.ux-messbereich-w .ux-mb-lab text{font:600 16px/1 Fredoka,Inter,system-ui,sans-serif;fill:#2f2f2f}
.ux-messbereich-w .ux-mb-lab.ux-mb-g0 text{fill:#2c5fb5}
.ux-messbereich-w .ux-mb-lab.ux-mb-g1 text{fill:#a8641a}
.ux-messbereich-w .ux-mb-lab.ux-mb-g2 text{fill:#5b3f96}
.ux-messbereich-w .ux-mb-lab.ux-mb-g3 text{fill:#4a7530}
.ux-messbereich-w .ux-mb-hit{fill:transparent;stroke:transparent;stroke-width:2.5}
.ux-messbereich-w .ux-mb-lab:hover .ux-mb-hit{fill:rgba(91,139,216,.12)}
.ux-messbereich-w .ux-mb-lab.on .ux-mb-hit{fill:#fff;stroke:#2f2f2f}
.ux-messbereich-w .ux-mb-lab.ok .ux-mb-hit{fill:#e3f1df;stroke:#4a7530}
.ux-messbereich-w .ux-mb-lab.bad .ux-mb-hit{fill:#fbe3e0;stroke:#e2574c}
.ux-messbereich-w .ux-mb-jack{stroke:#2f2f2f;stroke-width:2.5}
.ux-messbereich-w .ux-mb-jk{fill:#2f2f2f}
.ux-messbereich-w .ux-mb-jv{fill:#e2574c}
.ux-messbereich-w .ux-mb-ja{fill:#e2574c}
.ux-messbereich-w .ux-mb-jl{font:600 11.5px/1 Fredoka,Inter,system-ui,sans-serif;fill:#2f2f2f}
.ux-messbereich-w .ux-mb-knob{cursor:grab;outline:none}
.ux-messbereich-w .ux-mb-knob.drag{cursor:grabbing}
.ux-messbereich-w .ux-mb-ring{fill:#d9cdb8;stroke:#2f2f2f;stroke-width:2}
.ux-messbereich-w .ux-mb-knob:focus-visible .ux-mb-ring{stroke:#f4d03f;stroke-width:6}
.ux-messbereich-w .ux-mb-cap{fill:#3a3a3a}
.ux-messbereich-w .ux-mb-grip{fill:#555}
.ux-messbereich-w .ux-mb-ptr{fill:#f4d03f;stroke:#2f2f2f;stroke-width:1.5}
.ux-messbereich-w .ux-mb-rot{transition:transform .25s ease}
.ux-messbereich-w.done .ux-mb-knob,.ux-messbereich-w.done .ux-mb-lab{cursor:default}
.ux-messbereich-w.done .ux-mb-body{border-color:var(--ux-green,#67b05f)}
@media(max-width:480px){
  .ux-messbereich-w .ux-mb-body{padding:10px;gap:10px}
  .ux-messbereich-w .ux-mb-side{flex-basis:100%}
  .ux-messbereich-w .ux-mb-q{font-size:14.5px}
}
@media(prefers-reduced-motion:reduce){
  .ux-messbereich-w .ux-mb-rot{transition:none}
}

/* ---- Widget: pfeil (Physik K8) ---- */
/* ===== pfeil — Kraftpfeil im Karo-Gitter zeichnen (ueb30, 2026-10-08) ===== */
.ux-pfeil-kopf{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:6px 12px;margin:0 0 8px}
.ux-pfeil-mass{font:600 14px/1.3 'Fredoka',Inter,sans-serif;color:var(--ux-dark);background:#fff;border:1.5px solid var(--ux-line);border-radius:8px;padding:5px 10px}
.ux-pfeil-live{font:500 13.5px/1.3 'Fredoka',Inter,sans-serif;color:#6b5f53;min-height:18px}
.ux-pfeil-box{background:var(--ux-paper);border:1.5px solid var(--ux-line);border-radius:11px;padding:8px;max-width:100%;overflow:hidden}
.ux-pfeil-svg{display:block;width:100%;height:auto;margin:0 auto;background:#fff;border-radius:8px;cursor:crosshair;touch-action:none;-webkit-user-select:none;user-select:none}
.ux-pfeil-svg:focus{outline:none}
.ux-pfeil-svg:focus-visible{outline:3px solid var(--ux-yellow);outline-offset:2px}
.ux-pfeil-gitter line{stroke:#cfdcf1;stroke-width:1}
.ux-pfeil-koerp{fill:#f4ede0;stroke:#b9a88c;stroke-width:2}
.ux-pfeil-klab{font:500 15px 'Fredoka',Inter,sans-serif;fill:#6b5f53}
.ux-pfeil-refl{stroke:#2c5fb5;stroke-width:3.2;fill:none;stroke-dasharray:7 5;stroke-linecap:round}
.ux-pfeil-refh{fill:#2c5fb5}
.ux-pfeil-reflab{font:600 17px 'Fredoka',Inter,sans-serif;fill:#2c5fb5}
.ux-pfeil-line{stroke:#7c5fb5;stroke-width:4.5;fill:none;stroke-linecap:round}
.ux-pfeil-head{fill:#7c5fb5}
.ux-pfeil-name{font:600 19px 'Fredoka',Inter,sans-serif;fill:#7c5fb5}
.ux-pfeil-anker{fill:#2f2f2f;stroke:#fff;stroke-width:2}
.ux-pfeil-grip{fill:rgba(124,95,181,.16);stroke:#7c5fb5;stroke-width:1.5;cursor:grab;transition:r .15s ease}
.ux-pfeil-svg:focus-visible .ux-pfeil-grip{r:14;fill:rgba(244,208,63,.35)}
.ux-pfeil-svg.ux-pfeil-falsch .ux-pfeil-line{stroke:#e2574c}
.ux-pfeil-svg.ux-pfeil-falsch .ux-pfeil-head,.ux-pfeil-svg.ux-pfeil-falsch .ux-pfeil-name{fill:#e2574c}
.ux-pfeil-svg.ux-pfeil-ok{cursor:default}
.ux-pfeil-svg.ux-pfeil-ok .ux-pfeil-line{stroke:#4a7530}
.ux-pfeil-svg.ux-pfeil-ok .ux-pfeil-head,.ux-pfeil-svg.ux-pfeil-ok .ux-pfeil-name{fill:#4a7530}
.ux-pfeil-svg.ux-pfeil-ok .ux-pfeil-grip{display:none}
.ux-pfeil-svg.ux-pfeil-puls .ux-pfeil-arrow{animation:ux-pfeil-puls .5s ease-out 1}
@keyframes ux-pfeil-puls{0%{opacity:.35}100%{opacity:1}}
.ux-pfeil-sr{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
@media(max-width:480px){.ux-pfeil-box{padding:5px}.ux-pfeil-mass{font-size:13px}}
@media(prefers-reduced-motion:reduce){
  .ux-pfeil-grip{transition:none}
  .ux-pfeil-svg.ux-pfeil-puls .ux-pfeil-arrow{animation:none}
}

/* ---- Widget: schaltlogik (Physik K8) ---- */
/* ===== schaltlogik — Schalterlogik im Schaltplan (ueb30, 2026-10-08) ===== */
.ux-schaltl-kopf{display:flex;flex-wrap:wrap;gap:6px 12px;margin:0 0 8px}
.ux-schaltl-ziel{font:500 14.5px/1.35 'Fredoka',Inter,sans-serif;color:var(--ux-dark);background:#fff;border:1.5px solid var(--ux-line);border-radius:8px;padding:6px 11px}
.ux-schaltl-ziel b{font-weight:600;color:var(--fach-ink,#3d2a6b)}
.ux-schaltl-box{background:var(--ux-paper);border:1.5px solid var(--ux-line);border-radius:11px;padding:8px;max-width:100%;overflow:hidden}
.ux-schaltl-svg{display:block;width:100%;max-width:520px;height:auto;margin:0 auto;-webkit-user-select:none;user-select:none}
.ux-schaltl-draht{fill:none;stroke:#2f2f2f;stroke-width:2.6;stroke-linecap:round}
.ux-schaltl-fix-d,.ux-schaltl-sym{fill:none;stroke:#2f2f2f;stroke-width:2.6;stroke-linecap:round}
.ux-schaltl-batt{stroke:#2f2f2f;stroke-width:2.6}
.ux-schaltl-batt2{stroke:#2f2f2f;stroke-width:7}
.ux-schaltl-pol{font:600 16px 'Fredoka',Inter,sans-serif;fill:#e2574c}
.ux-schaltl-kontakt{fill:#fff;stroke:#2f2f2f;stroke-width:2}
.ux-schaltl-bulb{fill:#fff;stroke:#2f2f2f;stroke-width:2.6;transition:fill .2s ease}
.ux-schaltl-bulb.an{fill:#f4d03f}
.ux-schaltl-glow{fill:#f4d03f;opacity:0;transition:opacity .2s ease}
.ux-schaltl-out.an .ux-schaltl-glow{opacity:.45}
.ux-schaltl-raus{opacity:.5}
.ux-schaltl-raus .ux-schaltl-bulb,.ux-schaltl-raus .ux-schaltl-sym{stroke-dasharray:4 3}
.ux-schaltl-mot{fill:#fff;stroke:#2f2f2f;stroke-width:2.6;transition:fill .2s ease}
.ux-schaltl-mot.an{fill:#f4d03f}
.ux-schaltl-m{font:600 16px 'Fredoka',Inter,sans-serif;fill:#2f2f2f;pointer-events:none}
.ux-schaltl-rot{fill:none;stroke:#e79a3a;stroke-width:2.4;stroke-linecap:round;opacity:0}
.ux-schaltl-rotor.an .ux-schaltl-rot{opacity:1}
.ux-schaltl-rotor.an{animation:ux-schaltl-dreh 1.4s linear infinite}
@keyframes ux-schaltl-dreh{to{transform:rotate(360deg)}}
.ux-schaltl-klemme{fill:#2f2f2f}
.ux-schaltl-probe{stroke:#6b5f53;stroke-width:1.2}
.ux-schaltl-lab{font:600 17px 'Fredoka',Inter,sans-serif;fill:#3d2a6b}
.ux-schaltl-zst{font:500 14.5px 'Fredoka',Inter,sans-serif;fill:#6b5f53}
.ux-schaltl-kreis{font:600 14px 'Fredoka',Inter,sans-serif;fill:#6b5f53}
.ux-schaltl-hit{fill:transparent;stroke:transparent;stroke-width:2.5}
.ux-schaltl-el{cursor:pointer;outline:none}
.ux-schaltl-el:hover .ux-schaltl-hit{fill:rgba(124,95,181,.08);stroke:rgba(124,95,181,.35)}
.ux-schaltl-el:focus-visible .ux-schaltl-hit{fill:rgba(244,208,63,.18);stroke:#f4d03f;stroke-width:3}
.ux-schaltl-el.ux-schaltl-fest{cursor:not-allowed}
.ux-schaltl-el.ux-schaltl-fest .ux-schaltl-hit{stroke:#b9a88c;stroke-dasharray:4 4}
/* Stromfluss: Leitungen orange, gestrichelt laufend */
.ux-schaltl-loop.an .ux-schaltl-draht{stroke:#e79a3a;stroke-width:3.2;stroke-dasharray:10 6;animation:ux-schaltl-fluss 1s linear infinite}
@keyframes ux-schaltl-fluss{to{stroke-dashoffset:-16}}
.ux-schaltl-svg.ux-schaltl-falsch .ux-schaltl-out:not(.an) .ux-schaltl-glow{opacity:0}
.ux-schaltl-svg.ux-schaltl-falsch{outline:2px solid rgba(226,87,76,.5);outline-offset:3px;border-radius:6px}
.ux-schaltl-svg.ux-schaltl-ok{outline:2px solid #67b05f;outline-offset:3px;border-radius:6px}
.ux-schaltl-svg.ux-schaltl-ok .ux-schaltl-el{cursor:default}
.ux-schaltl-svg.ux-schaltl-puls .ux-schaltl-out.an .ux-schaltl-glow{animation:ux-schaltl-puls .6s ease-out 1}
@keyframes ux-schaltl-puls{0%{opacity:.9}100%{opacity:.45}}
.ux-schaltl-w.done .ux-schaltl-el:hover .ux-schaltl-hit{fill:transparent;stroke:transparent}
.ux-schaltl-sr{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.ux-schaltl-w .ux-bar .ux-schaltl-nein{order:0}
@media(max-width:480px){.ux-schaltl-box{padding:4px}.ux-schaltl-ziel{font-size:13.5px}}
@media(prefers-reduced-motion:reduce){
  .ux-schaltl-rotor.an{animation:none}
  .ux-schaltl-loop.an .ux-schaltl-draht{animation:none}
  .ux-schaltl-svg.ux-schaltl-puls .ux-schaltl-out.an .ux-schaltl-glow{animation:none}
  .ux-schaltl-bulb,.ux-schaltl-glow,.ux-schaltl-mot{transition:none}
}

/* ---- Widget: spin (Physik K8) ---- */
/* ===== spin — Ziffernräder (h : min : s) · Ergänzung 2026-10-08 ===== */
.ux-spin-w .ux-spin-ask{margin:0 0 10px;font:600 15px/1.45 'Fredoka',Inter,sans-serif;color:var(--ux-dark,#2f2f2f)}
.ux-spin-w .ux-spin-dots{display:flex;gap:6px;margin:0 0 10px}
.ux-spin-w .ux-spin-dot{width:10px;height:10px;border-radius:50%;background:#fff;border:2px solid var(--ux-line,#d9cdb8)}
.ux-spin-w .ux-spin-dot.on{border-color:var(--ux-blue-d,#2c5fb5);background:#dfe8f8}
.ux-spin-w .ux-spin-dot.ok{border-color:var(--ux-green-d,#4a7530);background:var(--ux-green,#67b05f)}
.ux-spin-w .ux-spin-box{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:6px 6px;
  padding:14px 10px;border-radius:14px;background:var(--ux-paper,#faf6ee);border:1.5px solid var(--ux-line,#d9cdb8)}
.ux-spin-w .ux-spin-wheel{display:flex;flex-direction:column;align-items:center;gap:4px;border-radius:12px}
.ux-spin-w .ux-spin-btn{width:44px;height:30px;border-radius:9px;border:1.5px solid var(--ux-blue-d,#2c5fb5);background:#fff;
  color:var(--ux-blue-d,#2c5fb5);font:600 13px/1 'Fredoka',Inter,sans-serif;cursor:pointer;touch-action:manipulation;user-select:none;-webkit-user-select:none}
.ux-spin-w .ux-spin-btn:hover{background:#eaf0fb}
.ux-spin-w .ux-spin-btn:active{background:var(--ux-blue-d,#2c5fb5);color:#fff}
.ux-spin-w .ux-spin-btn:focus-visible{outline:3px solid var(--ux-yellow,#f4d03f);outline-offset:2px}
.ux-spin-w .ux-spin-btn[disabled]{opacity:.35;cursor:default}
.ux-spin-w .ux-spin-drum{position:relative;width:64px;height:92px;overflow:hidden;border-radius:12px;background:#fff;
  border:2px solid var(--ux-line,#d9cdb8);cursor:ns-resize;touch-action:none;user-select:none;-webkit-user-select:none;outline:none;
  box-shadow:inset 0 10px 12px -10px rgba(47,47,47,.28),inset 0 -10px 12px -10px rgba(47,47,47,.28)}
.ux-spin-w .ux-spin-drum::before{content:'';position:absolute;left:4px;right:4px;top:30px;height:32px;border-radius:7px;
  background:rgba(91,139,216,.12);border-top:1.5px solid rgba(44,95,181,.35);border-bottom:1.5px solid rgba(44,95,181,.35);pointer-events:none}
.ux-spin-w .ux-spin-drum:focus-visible{outline:3px solid var(--ux-yellow,#f4d03f);outline-offset:2px;border-color:var(--ux-blue-d,#2c5fb5)}
.ux-spin-w .ux-spin-drum.ux-spin-drag{cursor:grabbing;border-color:var(--ux-blue,#5b8bd8)}
.ux-spin-w .ux-spin-strip{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center}
.ux-spin-w .ux-spin-cur{display:block;height:32px;font:600 30px/32px 'Fredoka',Inter,sans-serif;color:var(--ux-dark,#2f2f2f);font-variant-numeric:tabular-nums;position:relative}
.ux-spin-w .ux-spin-nb{display:block;height:29px;font:500 16px/29px 'Fredoka',Inter,sans-serif;color:#a3978a;font-variant-numeric:tabular-nums;cursor:pointer}
.ux-spin-w .ux-spin-unit{font:600 14px/1.2 'Fredoka',Inter,sans-serif;color:#6b5f53}
.ux-spin-w .ux-spin-sep{font:600 28px/1 'Fredoka',Inter,sans-serif;color:#6b5f53;align-self:center;margin-top:-6px}
.ux-spin-w .ux-spin-total{flex-basis:100%;text-align:center;font:600 14px/1.3 'Fredoka',Inter,sans-serif;color:#6b5f53}
.ux-spin-w .ux-spin-drum.ok{border-color:var(--ux-green-d,#4a7530);background:#eef6ea}
.ux-spin-w .ux-spin-drum.bad{border-color:var(--ux-red,#e2574c);background:#fdf0ee}
.ux-spin-w.done .ux-spin-drum{border-color:var(--ux-green-d,#4a7530);background:#eef6ea;cursor:default}
.ux-spin-w.done .ux-spin-box{border-color:#b9d3ad}
/* Animationen (bei reduzierter Bewegung namentlich abgeschaltet) */
.ux-spin-w .ux-spin-strip.ux-spin-roll-up{animation:ux-spin-roll-up .16s ease-out}
.ux-spin-w .ux-spin-strip.ux-spin-roll-dn{animation:ux-spin-roll-dn .16s ease-out}
.ux-spin-w .ux-spin-wheel.ux-spin-carry{animation:ux-spin-carry .6s ease-out}
@keyframes ux-spin-roll-up{from{transform:translateY(-14px);opacity:.55}to{transform:none;opacity:1}}
@keyframes ux-spin-roll-dn{from{transform:translateY(14px);opacity:.55}to{transform:none;opacity:1}}
@keyframes ux-spin-carry{0%{box-shadow:0 0 0 0 rgba(231,154,58,.75)}100%{box-shadow:0 0 0 10px rgba(231,154,58,0)}}
@media (prefers-reduced-motion:reduce){
  .ux-spin-w .ux-spin-strip.ux-spin-roll-up,.ux-spin-w .ux-spin-strip.ux-spin-roll-dn{animation:none}
  .ux-spin-w .ux-spin-wheel.ux-spin-carry{animation:none}
}
@media (max-width:420px){
  .ux-spin-w .ux-spin-box{gap:4px;padding:12px 6px}
  .ux-spin-w .ux-spin-drum{width:54px}
  .ux-spin-w .ux-spin-btn{width:40px}
  .ux-spin-w .ux-spin-cur{font-size:26px}
  .ux-spin-w .ux-spin-sep{font-size:22px}
}

/* ---- Widget: verdrahten (Physik K8) ---- */
/* ===== verdrahten — Verdrahten (ueb30, 2026-10-08) ===== */
.ux-verdr-stage{background:var(--ux-paper,#faf6ee);border:1.5px solid var(--ux-line,#d9cdb8);border-radius:12px;padding:6px;max-width:620px;margin:0 auto}
.ux-verdr-svg{display:block;width:100%;height:auto;max-width:100%;font-family:'Fredoka','Inter',system-ui,sans-serif;touch-action:manipulation;user-select:none;-webkit-user-select:none}
.ux-verdr-lab{font:500 15px/1 'Fredoka','Inter',sans-serif;fill:#4a4036}
.ux-verdr-pol{font:700 17px/1 'Fredoka','Inter',sans-serif;fill:#fff}
.ux-verdr-m{font:600 16px/1 'Fredoka','Inter',sans-serif;fill:#2f2f2f}
.ux-verdr-lead{stroke:#2f2f2f;stroke-width:2.6;stroke-linecap:round}
.ux-verdr-bbody{fill:none;stroke:#2f2f2f;stroke-width:2.4}
.ux-verdr-bplus{fill:#e2574c}
.ux-verdr-bminus{fill:#5b8bd8}
.ux-verdr-part-g.short .ux-verdr-bbody{stroke:#e2574c;stroke-width:4}
.ux-verdr-bulb{fill:#fff;stroke:#2f2f2f;stroke-width:2.4;transition:fill .2s}
.ux-verdr-fil{stroke:#2f2f2f;stroke-width:2;fill:none}
.ux-verdr-glow{fill:#f4d03f;opacity:0;transition:opacity .25s}
.ux-verdr-part-g.on .ux-verdr-glow{opacity:.45}
.ux-verdr-part-g.on .ux-verdr-bulb{fill:#f4d03f}
.ux-verdr-mot{fill:#fff;stroke:#2f2f2f;stroke-width:2.4}
.ux-verdr-part-g.on .ux-verdr-mot{fill:#dcefd6;stroke:#4a7530}
.ux-verdr-spin{fill:none;stroke:#4a7530;stroke-width:3;stroke-linecap:round;opacity:0}
.ux-verdr-part-g.on .ux-verdr-spin{opacity:1}
.ux-verdr-part-g.on .ux-verdr-spinbox{animation:ux-verdr-spin 1.1s linear infinite;transform-origin:0px 0px;transform-box:view-box}
@keyframes ux-verdr-spin{to{transform:rotate(360deg)}}
.ux-verdr-bell{fill:#fff;stroke:#2f2f2f;stroke-width:2.4}
.ux-verdr-part-g.on .ux-verdr-bell{fill:#fbe3c2;stroke:#e79a3a}
.ux-verdr-wave{fill:none;stroke:#e79a3a;stroke-width:2.6;stroke-linecap:round;opacity:0}
.ux-verdr-part-g.on .ux-verdr-wave{opacity:1;animation:ux-verdr-wave .8s ease-in-out infinite alternate}
@keyframes ux-verdr-wave{from{opacity:.35}to{opacity:1}}
.ux-verdr-dot{fill:#2f2f2f}
.ux-verdr-lever{stroke:#2f2f2f;stroke-width:3.2;stroke-linecap:round;transition:all .15s}
.ux-verdr-part-g.closed .ux-verdr-lever{stroke:#2c5fb5}
.ux-verdr-swhit{fill:transparent;cursor:pointer;outline:none}
.ux-verdr-swhit:hover{fill:rgba(91,139,216,.12)}
.ux-verdr-swhit:focus-visible{stroke:#f4d03f;stroke-width:3.5}
.ux-verdr-fbody{fill:#fff;stroke:#2f2f2f;stroke-width:2.2}
.ux-verdr-fwire{stroke:#7c5fb5;stroke-width:2.2;fill:none}
.ux-verdr-part-g.blown .ux-verdr-fwire{stroke:#e2574c;stroke-dasharray:12 12;stroke-dashoffset:-6}
.ux-verdr-part-g.blown .ux-verdr-fbody{stroke:#e2574c}
.ux-verdr-iso{fill:none;stroke:#e79a3a;stroke-width:5;stroke-linecap:round;stroke-linejoin:round}
.ux-verdr-halo{stroke:#faf6ee;stroke-width:8;fill:none;stroke-linecap:round}
.ux-verdr-cu{stroke:#2c5fb5;stroke-width:3.4;fill:none;stroke-linecap:round}
.ux-verdr-l.fixed .ux-verdr-cu{stroke:#2f2f2f}
.ux-verdr-lhit{stroke:transparent;stroke-width:16;fill:none;cursor:pointer}
.ux-verdr-l{outline:none}
.ux-verdr-l:not(.fixed):hover .ux-verdr-cu{stroke:#e2574c;stroke-dasharray:7 5}
.ux-verdr-l:focus-visible .ux-verdr-halo{stroke:#f4d03f;stroke-width:10}
.ux-verdr-prev{stroke:#2c5fb5;stroke-width:2.4;stroke-dasharray:6 5;pointer-events:none}
.ux-verdr-t{cursor:pointer;outline:none}
.ux-verdr-thit{fill:transparent}
.ux-verdr-ring{fill:none;stroke:#f4d03f;stroke-width:3.5;opacity:0}
.ux-verdr-t:focus-visible .ux-verdr-ring{opacity:1}
.ux-verdr-tdot{fill:#fff;stroke:#2f2f2f;stroke-width:2.4;transition:fill .12s}
.ux-verdr-t:hover .ux-verdr-tdot{fill:#dfe9f8;stroke:#2c5fb5}
.ux-verdr-t.sel .ux-verdr-tdot{fill:#2c5fb5;stroke:#2c5fb5}
.ux-verdr-t.sel .ux-verdr-ring{opacity:1;stroke:#2c5fb5;stroke-width:2.4}
.ux-verdr-w.done .ux-verdr-t,.ux-verdr-w.done .ux-verdr-swhit,.ux-verdr-w.done .ux-verdr-lhit{cursor:default}
.ux-verdr-w.done .ux-verdr-stage{border-color:#67b05f}
@media(max-width:480px){.ux-verdr-stage{padding:2px;margin-left:-20px;margin-right:-20px;border-radius:10px}.ux-verdr-lab{font-size:17px}}
@media(prefers-reduced-motion:reduce){
  .ux-verdr-part-g.on .ux-verdr-spinbox{animation:none}
  .ux-verdr-part-g.on .ux-verdr-wave{animation:none}
  .ux-verdr-bulb,.ux-verdr-glow,.ux-verdr-lever,.ux-verdr-tdot{transition:none}
}
.ux-verdr-rm .ux-verdr-part-g.on .ux-verdr-spinbox,.ux-verdr-rm .ux-verdr-part-g.on .ux-verdr-wave{animation:none}

/* ---- Widget: vorzeichen (Physik K8) ---- */
/* ===== vorzeichen — Ladungs-Logikrätsel: Vorzeichen widerspruchsfrei setzen (ueb30, 2026-10-08) ===== */
.ux-vorzeichen-box{background:var(--ux-paper);border:1.5px solid var(--ux-line);border-radius:11px;padding:8px;max-width:100%;overflow:hidden}
.ux-vorzeichen-svg{display:block;width:100%;max-width:560px;height:auto;margin:0 auto;-webkit-user-select:none;user-select:none;touch-action:manipulation}
.ux-vorzeichen-ln{stroke:#9a8d7d;stroke-width:2.4;stroke-linecap:round}
.ux-vorzeichen-r0 .ux-vorzeichen-ln{stroke-dasharray:6 6}
.ux-vorzeichen-pill{fill:#fff;stroke:#9a8d7d;stroke-width:1.6}
.ux-vorzeichen-ar{stroke:#7c5fb5;stroke-width:2.6;stroke-linecap:round}
.ux-vorzeichen-ah{fill:#7c5fb5}
.ux-vorzeichen-null{font:600 15px 'Fredoka',Inter,sans-serif;fill:#6b5f53}
.ux-vorzeichen-nr{font:600 13px 'Fredoka',Inter,sans-serif;fill:#6b5f53}
.ux-vorzeichen-e.ux-vorzeichen-bad .ux-vorzeichen-ln{stroke:#e2574c;stroke-width:3.4}
.ux-vorzeichen-e.ux-vorzeichen-bad .ux-vorzeichen-pill{stroke:#e2574c;stroke-width:2.4;fill:#fdeceb}
.ux-vorzeichen-e.ux-vorzeichen-ok .ux-vorzeichen-ln{stroke:#67b05f;stroke-width:3}
.ux-vorzeichen-e.ux-vorzeichen-ok .ux-vorzeichen-pill{stroke:#4a7530;stroke-width:2}
.ux-vorzeichen-body{cursor:pointer;outline:none}
.ux-vorzeichen-hit{fill:transparent;stroke:none}
.ux-vorzeichen-c{fill:#fff;stroke:#9a8d7d;stroke-width:2.2;stroke-dasharray:5 4}
.ux-vorzeichen-s{font:600 26px 'Fredoka',Inter,sans-serif;fill:#9a8d7d;pointer-events:none}
.ux-vorzeichen-lab{font:600 15px 'Fredoka',Inter,sans-serif;fill:#2f2f2f;pointer-events:none}
.ux-vorzeichen-body[data-v="+"] .ux-vorzeichen-c{fill:#e2574c;stroke:#b8382e;stroke-dasharray:none}
.ux-vorzeichen-body[data-v="-"] .ux-vorzeichen-c{fill:#2c5fb5;stroke:#1d4387;stroke-dasharray:none}
.ux-vorzeichen-body[data-v="0"] .ux-vorzeichen-c{fill:#f4ede0;stroke:#b9a88c;stroke-dasharray:none}
.ux-vorzeichen-body[data-v="+"] .ux-vorzeichen-s,.ux-vorzeichen-body[data-v="-"] .ux-vorzeichen-s{fill:#fff}
.ux-vorzeichen-body[data-v="0"] .ux-vorzeichen-s{fill:#6b5f53;font-size:22px}
.ux-vorzeichen-fix{cursor:default}
.ux-vorzeichen-fix .ux-vorzeichen-c{stroke:#2f2f2f!important;stroke-width:3.4}
.ux-vorzeichen-fix .ux-vorzeichen-lab{text-decoration:underline}
.ux-vorzeichen-body:hover:not(.ux-vorzeichen-fix) .ux-vorzeichen-c{stroke-width:3.2}
.ux-vorzeichen-body:focus-visible .ux-vorzeichen-hit{stroke:#f4d03f;stroke-width:4;fill:rgba(244,208,63,.18)}
.ux-vorzeichen-solved .ux-vorzeichen-body{cursor:default}
.ux-vorzeichen-pop .ux-vorzeichen-inner{animation:ux-vorzeichen-pop .22s ease-out 1}
@keyframes ux-vorzeichen-pop{0%{transform:scale(.82)}100%{transform:scale(1)}}
.ux-vorzeichen-glow .ux-vorzeichen-box{animation:ux-vorzeichen-glow .7s ease-out 1}
@keyframes ux-vorzeichen-glow{0%{box-shadow:0 0 0 0 rgba(103,176,95,.55)}100%{box-shadow:0 0 0 12px rgba(103,176,95,0)}}
.ux-vorzeichen-obs{list-style:none;margin:10px 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:6px 10px}
.ux-vorzeichen-o{display:flex;align-items:flex-start;gap:8px;font:400 14px/1.4 Inter,system-ui,sans-serif;color:var(--ux-dark);background:#fff;border:1.5px solid var(--ux-line);border-radius:9px;padding:6px 9px}
.ux-vorzeichen-on{flex:0 0 auto;min-width:22px;height:22px;border-radius:11px;background:#f4ede0;font:600 12.5px/22px 'Fredoka',Inter,sans-serif;text-align:center;color:#6b5f53}
.ux-vorzeichen-o.ux-vorzeichen-bad{border-color:#e2574c;background:#fdeceb}
.ux-vorzeichen-o.ux-vorzeichen-bad .ux-vorzeichen-on{background:#e2574c;color:#fff}
.ux-vorzeichen-o.ux-vorzeichen-ok{border-color:#67b05f}
.ux-vorzeichen-o.ux-vorzeichen-ok .ux-vorzeichen-on{background:#67b05f;color:#fff}
.ux-vorzeichen-legende{display:flex;flex-wrap:wrap;gap:4px 14px;margin:8px 2px 0;font:500 13px/1.4 'Fredoka',Inter,sans-serif;color:#6b5f53}
.ux-vorzeichen-legende span{white-space:nowrap}
.ux-vorzeichen-sr{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
@media(max-width:480px){.ux-vorzeichen-box{padding:4px}.ux-vorzeichen-obs{grid-template-columns:1fr}.ux-vorzeichen-o{font-size:13.5px}}
@media(prefers-reduced-motion:reduce){
  .ux-vorzeichen-pop .ux-vorzeichen-inner{animation:none}
  .ux-vorzeichen-glow .ux-vorzeichen-box{animation:none}
}

/* ---- Widget: wippe (Physik K8) ---- */
/* ===== wippe — Wippe mit Steckplätzen (2026-10-08) ===== */
.ux-wippe-w .ux-wippe-stage{background:var(--ux-paper,#faf6ee);border:1.5px solid var(--ux-line,#d9cdb8);border-radius:12px;padding:6px 6px 2px;max-width:100%}
.ux-wippe-w .ux-wippe-svg{display:block;width:100%;height:auto;max-width:100%;font-family:'Fredoka',Inter,sans-serif;overflow:visible}
.ux-wippe-w .ux-wippe-boden{stroke:#b9ab94;stroke-width:3;stroke-linecap:round}
.ux-wippe-w .ux-wippe-bock{fill:#7a6a55}
.ux-wippe-w .ux-wippe-achse{fill:#f4ede0;stroke:#2f2f2f;stroke-width:2.4}
.ux-wippe-w .ux-wippe-brett{fill:#c58b4c;stroke:#8a5a2b;stroke-width:2}
.ux-wippe-w .ux-wippe-balken{transform-box:view-box;transition:transform .55s cubic-bezier(.3,1.35,.5,1)}
.ux-wippe-w .ux-wippe-sperre rect{fill:#e2574c;opacity:.85}
.ux-wippe-w .ux-wippe-sperre{display:none}
.ux-wippe-w.ux-wippe-fest .ux-wippe-sperre{display:inline}
.ux-wippe-w .ux-wippe-kerbe{stroke:#5b3a17;stroke-width:2}
.ux-wippe-w .ux-wippe-mass{font-size:14px;font-weight:600;fill:#6b5f53}
.ux-wippe-w .ux-wippe-einheit{font-size:12px;fill:#9a8d7d}
.ux-wippe-w .ux-wippe-slot{cursor:pointer;outline:none}
.ux-wippe-w .ux-wippe-slot.belegt{touch-action:none}
.ux-wippe-w .ux-wippe-frame{fill:#fff;fill-opacity:.55;stroke:#b9ab94;stroke-width:1.6;stroke-dasharray:5 4}
.ux-wippe-w .ux-wippe-slot:hover .ux-wippe-frame,.ux-wippe-w .ux-wippe-slot.over .ux-wippe-frame{stroke:#2c5fb5;stroke-width:2.4;fill:#eaf1fc}
.ux-wippe-w .ux-wippe-slot:focus-visible .ux-wippe-frame{stroke:#f4d03f;stroke-width:4;stroke-dasharray:none}
.ux-wippe-w .ux-wippe-slot:focus-visible .ux-wippe-body{stroke:#f4d03f;stroke-width:4}
.ux-wippe-w .ux-wippe-body{stroke:rgba(0,0,0,.25);stroke-width:1.5}
.ux-wippe-w .ux-wippe-body.fix{stroke:#2f2f2f}
.ux-wippe-w .ux-wippe-slot.sel .ux-wippe-body{stroke:#2f2f2f;stroke-width:3.4}
.ux-wippe-w .ux-wippe-slot.fix{cursor:not-allowed}
.ux-wippe-w .ux-wippe-tk{font-size:15px;font-weight:700;pointer-events:none}
.ux-wippe-w .ux-wippe-tf{font-size:12.5px;font-weight:500;pointer-events:none}
.ux-wippe-w .ux-wippe-lage{margin:8px 0 0;font:600 14px/1.4 'Fredoka',Inter,sans-serif;color:var(--ux-dark,#2f2f2f)}
.ux-wippe-w .ux-wippe-tray{display:flex;flex-wrap:wrap;gap:8px;min-height:48px;margin-top:8px;padding:9px;border-radius:11px;background:var(--ux-paper,#faf6ee);border:1.5px dashed var(--ux-line,#d9cdb8)}
.ux-wippe-w .ux-wippe-tray.ziel{border-color:#2c5fb5;background:#eef3fb;cursor:pointer}
.ux-wippe-w .ux-wippe-leer{font-size:13px;color:#9a8d7d;align-self:center}
.ux-wippe-w .ux-wippe-chip{display:inline-flex;align-items:center;gap:7px;max-width:100%;padding:7px 12px;border-radius:10px;border:1.5px solid var(--ux-line,#d9cdb8);background:#fff;color:var(--ux-dark,#2f2f2f);font:500 14px/1.2 'Fredoka',Inter,sans-serif;cursor:grab;touch-action:none;text-align:left}
.ux-wippe-w .ux-wippe-chip[hidden],.ux-wippe-w .ux-wippe-leer[hidden]{display:none}
.ux-wippe-w .ux-wippe-chip b{font-weight:700}
.ux-wippe-w .ux-wippe-ct{overflow-wrap:anywhere}
.ux-wippe-w .ux-wippe-dot{flex:0 0 14px;width:14px;height:14px;border-radius:4px}
.ux-wippe-w .ux-wippe-chip:hover{border-color:#2c5fb5}
.ux-wippe-w .ux-wippe-chip:focus-visible{outline:3px solid #f4d03f;outline-offset:2px}
.ux-wippe-w .ux-wippe-chip.picked{border-color:#7c5fb5;box-shadow:0 0 0 3px rgba(124,95,181,.25);background:#f4effb}
.ux-wippe-w .ux-wippe-chip[disabled]{cursor:default;opacity:.6}
.ux-wippe-w.done .ux-wippe-slot{cursor:default}
.ux-wippe-w.done .ux-wippe-stage{border-color:#67b05f}
.ux-wippe-ghost{position:fixed;z-index:60;transform:translate(-50%,-120%);pointer-events:none;padding:6px 11px;border-radius:9px;color:#fff;font:600 14px/1.2 'Fredoka',Inter,sans-serif;box-shadow:0 6px 18px rgba(0,0,0,.25)}
.ux-wippe-w .ux-wippe-tkm{display:none;font-size:24px;font-weight:700;pointer-events:none}
.ux-wippe-w .ux-wippe-fest-info{margin:6px 0 0;font-size:13.5px;line-height:1.45;color:#6b5f53}
@media(max-width:560px){.ux-wippe-w .ux-wippe-tk,.ux-wippe-w .ux-wippe-tf{display:none}.ux-wippe-w .ux-wippe-tkm{display:inline;font-size:28px}.ux-wippe-w .ux-wippe-mass{font-size:25px}.ux-wippe-w .ux-wippe-einheit{font-size:20px}}
@media(max-width:480px){.ux-wippe-w .ux-wippe-stage{padding:4px 2px 0}.ux-wippe-w .ux-wippe-chip{font-size:13px;padding:6px 9px}}
@media(prefers-reduced-motion:reduce){.ux-wippe-w .ux-wippe-balken{transition:none}}


/* ---- Fix Physik K8 atom (390 px): Beschriftung über den Knöpfen statt zusammengequetscht ---- */
@media(max-width:480px){
  .ux-atom-row{grid-template-columns:16px 40px minmax(44px,1fr) 40px;row-gap:6px}
  .ux-atom-row .ux-atom-dot{grid-column:1;grid-row:1}
  .ux-atom-row .ux-atom-name{grid-column:2/-1;grid-row:1}
  .ux-atom-row .ux-atom-btn:first-of-type{grid-column:2;grid-row:2}
  .ux-atom-row .ux-atom-val{grid-column:3;grid-row:2;text-align:center}
  .ux-atom-row .ux-atom-btn:last-of-type{grid-column:4;grid-row:2}
  .ux-atom-w.done .ux-atom-row{grid-template-columns:16px minmax(0,1fr) 52px}
  .ux-atom-w.done .ux-atom-row .ux-atom-val{grid-column:3;grid-row:1}
}

/* ===== BEGINN ueb30-physik-11 (2026-10-08) ===== */
/* ===== Basis-Ergänzung 2026-10-08 (Ausbau auf 30 Aufgaben): Operator-Tooltips, Tipps, Eingabezeile, schmale Bildschirme ===== */
.hilfen{margin-top:14px}
.hilfen-row{display:flex;gap:8px;flex-wrap:wrap}
.hilfe-btn{font-family:'Fredoka',sans-serif;font-weight:600;font-size:13px;background:#fff;color:var(--acc-ink,var(--accent-strong,#3d2a6b));border:1.5px solid var(--acc-deep,var(--accent-deep,#c9b3e8));border-radius:9px;padding:8px 14px;cursor:pointer;transition:background .2s,border-color .2s}
.hilfe-btn:hover:not(:disabled){background:var(--acc-soft,var(--accent,#e6dcf2))}
.hilfe-btn:disabled{opacity:.5;cursor:default}
.hilfe-content{display:none;margin-top:10px;background:var(--bg,#f4ede0);border:1px dashed var(--acc-deep,var(--accent-deep,#c9b3e8));border-radius:10px;padding:13px 16px;font-size:14.5px;color:var(--ink,#2b241d)}
.hilfe-content.show{display:block}
.input-row{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:12px 0}
.input-row label{font-size:14.5px;color:var(--ink,#2b241d);font-weight:500;display:flex;align-items:center;gap:6px}
.input-row input{width:110px;padding:8px 12px;border:1.5px solid var(--rule,#d9cdb8);border-radius:8px;font:inherit;font-size:14px;text-align:center;font-family:Inter,sans-serif;background:#fff}
.input-row input:focus{outline:none;border-color:var(--acc,#7c5fb5);box-shadow:0 0 0 3px rgba(124,95,181,.18)}
.input-row input.ok{border-color:#4a7530;background:#eef6ea}
.input-row input.wrong{border-color:#e2574c;background:#fdeceb}
.input-row .unit{font-size:14px;color:var(--ink-soft,#6b5f53)}
.check-btn{font-family:'Fredoka',sans-serif;font-weight:600;font-size:13.5px;background:var(--acc-ink,#3d2a6b);color:#fff;border:0;border-radius:9px;padding:9px 16px;cursor:pointer}
.check-btn:hover{filter:brightness(1.12)}
.input-fb{display:none;margin-top:6px;padding:9px 13px;border-radius:9px;font-size:14px}
.input-fb.show{display:block}
.input-fb.ok{background:#eef6ea;color:#2e5a1c}
.input-fb.warn{background:#fdf3e1;color:#7a4b0c}
.input-fb.error{background:#fdeceb;color:#8c2f27}
/* schmale Bildschirme: kein seitlicher Überlauf */
.ux-matrix-w{max-width:100%;overflow-x:auto}
.ux-mem{grid-template-columns:repeat(4,minmax(0,1fr))}
@media(max-width:560px){.ux-mem{grid-template-columns:repeat(2,minmax(0,1fr))}}
.ux-card,.ux-card .ux-face{min-width:0;overflow-wrap:anywhere}
.aufgabe .aufgabe-head{flex-wrap:wrap;row-gap:6px}
.aufgabe .aufgabe-head h4,.aufgabe .aufgabe-head .aufgabe-title{min-width:0;overflow-wrap:anywhere}
.aufgabe{min-width:0}
/* Korrekturen fremder Widgets (gemeldet beim K11-Ausbau) */
.ux-kto-head .ux-kto-st b{color:#fff}
@media(max-width:600px){.ux-kl-ring{padding-bottom:56px}}
/* ===== stempel — Stellen einer SVG-Szene abstempeln (2026-10-08, Physik K11) =====
   Palette: blau #5b8bd8/#2c5fb5 · grün #4a7530/#67b05f · orange #e79a3a · rot #e2574c
            violett #7c5fb5 · gelb #f4d03f · dunkel #2f2f2f · Basis #f4ede0/#faf6ee */
.ux-stempel-w{max-width:100%}
.ux-stempel-stage{
  background:#faf6ee; border:1.5px solid #d9cdb8; border-radius:12px;
  padding:6px; max-width:100%; overflow:hidden;
}
.ux-stempel-svg{display:block; width:100%; max-width:min(100%,var(--ux-stempel-max,620px)); margin:0 auto; height:auto; font-family:'Fredoka',Inter,sans-serif; user-select:none; -webkit-user-select:none}
.ux-stempel-svg text{font-family:'Fredoka',Inter,sans-serif}
.ux-stempel-spot{cursor:pointer; outline:none; touch-action:manipulation; -webkit-tap-highlight-color:transparent}
.ux-stempel-hit{fill:#fff; fill-opacity:0; stroke:none; pointer-events:all}
.ux-stempel-dot{fill:#fff; stroke:#2c5fb5; stroke-width:2.6; transition:fill .15s, stroke-width .15s}
.ux-stempel-spot:hover .ux-stempel-dot{fill:#dfe8f8; stroke-width:3.2}
.ux-stempel-spot:hover .ux-stempel-hit{fill-opacity:.55}
.ux-stempel-spot.press .ux-stempel-hit{fill:#f4d03f; fill-opacity:.35}
.ux-stempel-ring{fill:none; stroke:#2f2f2f; stroke-width:2.6; stroke-dasharray:5 4; opacity:0; pointer-events:none}
.ux-stempel-spot:focus-visible .ux-stempel-ring,
.ux-stempel-spot:focus .ux-stempel-ring{opacity:1}
.ux-stempel-spot:focus:not(:focus-visible) .ux-stempel-ring{opacity:0}

/* Stempel-Marke */
.ux-stempel-mark{pointer-events:none; opacity:0}
.ux-stempel-ink{transform-box:fill-box; transform-origin:center}
.ux-stempel-o1{fill:#ece5f6; fill-opacity:.94; stroke:#7c5fb5; stroke-width:3}
.ux-stempel-o2{fill:none; stroke:#7c5fb5; stroke-width:1.4; stroke-dasharray:3 2.4}
.ux-stempel-h{fill:none; stroke:#5a3f99; stroke-width:3.4; stroke-linecap:round; stroke-linejoin:round}
.ux-stempel-t{fill:#5a3f99; font-family:'Fredoka',Inter,sans-serif; font-weight:700; font-size:17px}
.ux-stempel-spot.on .ux-stempel-mark{opacity:1}
.ux-stempel-spot.on .ux-stempel-ink{animation:ux-stempel-pop .28s cubic-bezier(.2,.9,.3,1.3)}
.ux-stempel-spot.on .ux-stempel-dot{opacity:0}

/* nach dem Lösen */
.ux-stempel-spot.ok .ux-stempel-o1{fill:#e3f1df; stroke:#4a7530}
.ux-stempel-spot.ok .ux-stempel-o2{stroke:#4a7530}
.ux-stempel-spot.ok .ux-stempel-h{fill:none; stroke:#5a3f99; stroke-width:3.4; stroke-linecap:round; stroke-linejoin:round}
.ux-stempel-t{fill:#4a7530}
.ux-stempel-spot.leer{opacity:.5}
.ux-stempel-w.done .ux-stempel-spot{cursor:default}
.ux-stempel-w.done .ux-stempel-hit{fill-opacity:0 !important}

.ux-stempel-info{margin:8px 0 0; font:500 14px/1.4 'Fredoka',Inter,sans-serif; color:#6b5f53}
.ux-stempel-info b{color:#5a3f99; font-weight:700}
.ux-stempel-w.bad .ux-stempel-stage{border-color:#e2574c}
.ux-stempel-w.done .ux-stempel-stage{border-color:#67b05f}
.ux-stempel-stage.ux-stempel-shake{animation:ux-stempel-shake .38s ease-in-out}

@keyframes ux-stempel-pop{0%{transform:scale(1.7); opacity:0} 60%{opacity:1} 100%{transform:scale(1); opacity:1}}
@keyframes ux-stempel-shake{0%,100%{transform:translateX(0)} 25%{transform:translateX(-5px)} 50%{transform:translateX(4px)} 75%{transform:translateX(-2px)}}

@media (prefers-reduced-motion: reduce){
  .ux-stempel-spot.on .ux-stempel-ink{animation:none}
  .ux-stempel-stage.ux-stempel-shake{animation:none}
  .ux-stempel-dot{transition:none}
}
@media print{
  .ux-stempel-stage{border-color:#d9cdb8}
}
/* ===== pfeilset — Kraftpfeile auf die richtige Länge ziehen (2026-10-08, Physik K11) ===== */
.ux-pfeilset-w .ux-pfeilset-p,.ux-pfeilset-w .ux-pfeilset-k,.ux-pfeilset-w .ux-pfeilset-rw{display:none}
.ux-pfeilset-w .ux-pfeilset-mass{display:inline-block;margin:0 0 9px;padding:5px 12px;border-radius:9px;background:#fff;border:1.5px solid #d9cdb8;font:600 14px/1.35 'Fredoka',Inter,sans-serif;color:#2f2f2f}
.ux-pfeilset-w .ux-pfeilset-box{background:#faf6ee;border:1.5px solid #d9cdb8;border-radius:11px;padding:8px;max-width:100%;overflow:hidden}
.ux-pfeilset-w .ux-pfeilset-svg{display:block;width:100%;max-width:640px;height:auto;margin:0 auto;touch-action:none;-webkit-user-select:none;user-select:none;font-family:'Fredoka',Inter,sans-serif}
.ux-pfeilset-w .ux-pfeilset-bg{fill:#faf6ee}
.ux-pfeilset-w .ux-pfeilset-grid{fill:none;stroke:#e3d8c4;stroke-width:1}
.ux-pfeilset-w .ux-pfeilset-body{fill:#f4ede0;stroke:#b9ab94;stroke-width:2}
.ux-pfeilset-w .ux-pfeilset-btxt{font-size:15px;font-weight:500;fill:#6b5f53}
.ux-pfeilset-w .ux-pfeilset-wl{stroke:#9a8d7d;stroke-width:1.6;stroke-dasharray:7 6;fill:none}
.ux-pfeilset-w .ux-pfeilset-tick{stroke:#6b5f53;stroke-width:2.2;fill:none;stroke-linecap:round}
.ux-pfeilset-w .ux-pfeilset-rwbogen{fill:none;stroke:#7a1f1f;stroke-width:2.4}
.ux-pfeilset-w .ux-pfeilset-rwpunkt{fill:#7a1f1f}
.ux-pfeilset-w .ux-pfeilset-shaft{stroke:currentColor;stroke-width:5;stroke-linecap:round}
.ux-pfeilset-w .ux-pfeilset-head{fill:currentColor;stroke:currentColor;stroke-width:1.5;stroke-linejoin:round}
.ux-pfeilset-w .ux-pfeilset-lab{font-size:19px;font-weight:600;fill:currentColor;paint-order:stroke;stroke:#faf6ee;stroke-width:4px}
.ux-pfeilset-w .ux-pfeilset-val{font-size:16px;font-weight:600;fill:#2f2f2f;paint-order:stroke;stroke:#faf6ee;stroke-width:4px}
.ux-pfeilset-w .ux-pfeilset-arrow.fix .ux-pfeilset-shaft{stroke-width:4}
.ux-pfeilset-w .ux-pfeilset-ap{fill:#2f2f2f;stroke:#faf6ee;stroke-width:2}
.ux-pfeilset-w .ux-pfeilset-handle{cursor:grab;outline:none}
.ux-pfeilset-w .ux-pfeilset-arrow.grab .ux-pfeilset-handle{cursor:grabbing}
.ux-pfeilset-w .ux-pfeilset-hit{fill:rgba(0,0,0,0);stroke:none}
.ux-pfeilset-w .ux-pfeilset-ring{fill:#fff;stroke:currentColor;stroke-width:3;transition:stroke-width .15s ease,fill .15s ease}
.ux-pfeilset-w .ux-pfeilset-handle:hover .ux-pfeilset-ring{stroke-width:4.5}
.ux-pfeilset-w .ux-pfeilset-handle:focus-visible .ux-pfeilset-ring,.ux-pfeilset-w .ux-pfeilset-handle:focus .ux-pfeilset-ring{stroke:#2f2f2f;stroke-width:4}
.ux-pfeilset-w .ux-pfeilset-handle:focus-visible .ux-pfeilset-hit{fill:rgba(244,208,63,.35);stroke:#f4d03f;stroke-width:3}
.ux-pfeilset-w .ux-pfeilset-arrow.ok .ux-pfeilset-ring{fill:#e8f4e4;stroke:#4a7530;stroke-width:4}
.ux-pfeilset-w .ux-pfeilset-arrow.bad .ux-pfeilset-ring{fill:#fbe6e4;stroke:#e2574c;stroke-width:4}
.ux-pfeilset-w .ux-pfeilset-arrow.bad .ux-pfeilset-shaft{stroke-dasharray:10 5}
.ux-pfeilset-w.done .ux-pfeilset-handle{cursor:default}
.ux-pfeilset-w.done .ux-pfeilset-arrow.ok .ux-pfeilset-head{animation:ux-pfeilset-pop .45s ease-out}
@keyframes ux-pfeilset-pop{0%{transform-box:fill-box;transform-origin:center;transform:scale(1)}45%{transform-box:fill-box;transform-origin:center;transform:scale(1.35)}100%{transform-box:fill-box;transform-origin:center;transform:scale(1)}}
.ux-pfeilset-w .ux-pfeilset-sr{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
@media (max-width:560px){
  .ux-pfeilset-w .ux-pfeilset-box{padding:4px}
  .ux-pfeilset-w .ux-pfeilset-mass{font-size:13.5px}
}
@media (prefers-reduced-motion: reduce){
  .ux-pfeilset-w .ux-pfeilset-ring{transition:none}
  .ux-pfeilset-w.done .ux-pfeilset-arrow.ok .ux-pfeilset-head{animation:none}
}
/* ===== ENDE ueb30-physik-11 ===== */
