.v2-games{--card:var(--panel);--surface:var(--panel-2);--text-muted:var(--muted);--accent-dim:rgba(255,159,28,.12);--blue:var(--primary);--blue-dim:rgba(21,151,255,.12);--yellow:#fbbf24;--pink:#f472b6;--purple:#c084fc}
.v2-games .app-main{width:100%}
.v2-games .section{padding:0}
.v2-games .section-header{margin-bottom:20px}
.v2-games .section-title{font-size:1.4rem;font-weight:700}
.v2-games .section-sub{font-size:.9rem;color:var(--muted);font-weight:400}
/* ── LK0NOD Toolbox – Module Styles ── */
.tb-modules { display:grid; grid-template-columns:repeat(auto-fill,minmax(280px,1fr)); gap:16px; margin-bottom:40px; }
.tb-modules:last-child { margin-bottom:0; }
.tb-module {
  background:var(--card); border:1px solid var(--border); border-radius:var(--radius);
  padding:20px; cursor:pointer; transition:all .25s; position:relative; overflow:hidden;
}
.tb-module::before {
  content:''; position:absolute; top:0; left:0; right:0; height:3px;
  background:linear-gradient(90deg,var(--accent),var(--blue)); opacity:0; transition:opacity .25s;
}
.tb-module:hover { border-color:var(--accent); transform:translateY(-3px); box-shadow:0 8px 24px rgba(0,0,0,0.3); }
.tb-module:hover::before { opacity:1; }
.tb-module:active { transform:translateY(-1px); }
.tb-m-nr {
  font-size:11px; font-weight:700; color:var(--accent); letter-spacing:1px;
  text-transform:uppercase; margin-bottom:4px;
}
.tb-m-title { font-size:16px; font-weight:700; color:var(--text); margin-bottom:4px; }
.tb-m-desc { font-size:13px; color:var(--text-muted); line-height:1.5; }
.tb-m-icon {
  width:40px; height:40px; border-radius:10px; display:flex; align-items:center; justify-content:center;
  font-size:18px; margin-bottom:12px; border:1px solid var(--border);
}
.tb-m-icon.green { background:var(--accent-dim); color:var(--accent); border-color:rgba(0,212,170,0.3); }
.tb-m-icon.blue { background:var(--blue-dim); color:var(--blue); border-color:rgba(59,130,246,0.3); }
.tb-m-icon.yellow { background:rgba(245,158,11,0.1); color:var(--yellow); border-color:rgba(245,158,11,0.3); }
.tb-m-icon.pink { background:rgba(236,72,153,0.1); color:var(--pink); border-color:rgba(236,72,153,0.3); }
.tb-m-icon.purple { background:rgba(168,85,247,0.1); color:var(--purple); border-color:rgba(168,85,247,0.3); }

/* Module Container */
.tb-container { display:none; }
.tb-container.active { display:block; animation:tbFadeIn .3s ease-out; }
@keyframes tbFadeIn { from{opacity:0;transform:translateY(8px)} to{opacity:1;transform:translateY(0)} }

/* Module Header */
.tb-header {
  display:flex; align-items:center; gap:16px; margin-bottom:24px;
  padding-bottom:16px; border-bottom:1px solid var(--border); flex-wrap:wrap;
}
.tb-back {
  padding:8px 14px; border-radius:6px; border:1px solid var(--border);
  background:var(--surface); color:var(--text-muted); cursor:pointer;
  font-size:13px; font-family:inherit; transition:all .2s;
}
.tb-back:hover { border-color:var(--accent); color:var(--accent); }
.tb-title { font-size:22px; font-weight:700; color:var(--text); flex:1; }
.tb-actions { display:flex; gap:8px; flex-wrap:wrap; }
.tb-btn {
  padding:8px 16px; border-radius:6px; border:1px solid var(--border);
  background:var(--surface); color:var(--text-muted); cursor:pointer;
  font-size:12px; font-family:inherit; transition:all .2s; text-decoration:none; display:inline-flex; align-items:center; gap:6px;
}
.tb-btn:hover { border-color:var(--accent); color:var(--accent); }
.tb-btn.primary { background:var(--accent); color:#000; border-color:var(--accent); font-weight:600; }
.tb-btn.primary:hover { opacity:0.9; transform:translateY(-1px); }
.tb-btn.danger { border-color:#ef4444; color:#ef4444; }
.tb-btn.danger:hover { background:rgba(239,68,68,0.1); }

/* Wizard / Question Steps */
.tb-step { display:none; }
.tb-step.active { display:block; animation:tbFadeIn .25s ease-out; }
.tb-step-header { font-size:18px; font-weight:700; color:var(--text); margin-bottom:6px; }
.tb-step-sub { font-size:14px; color:var(--text-muted); margin-bottom:20px; }
.tb-options { display:grid; grid-template-columns:repeat(auto-fill,minmax(200px,1fr)); gap:10px; margin-bottom:20px; }
.tb-opt {
  padding:14px 16px; border-radius:8px; border:1px solid var(--border);
  background:var(--surface); color:var(--text); cursor:pointer;
  font-size:14px; font-family:inherit; text-align:left; transition:all .2s;
}
.tb-opt:hover { border-color:rgba(0,212,170,0.4); background:var(--card); }
.tb-opt.selected { border-color:var(--accent); background:var(--accent-dim); color:var(--accent); font-weight:600; }
.tb-opt.small { font-size:12px; padding:10px 12px; }

/* Navigation */
.tb-nav { display:flex; gap:10px; justify-content:space-between; margin-top:20px; padding-top:16px; border-top:1px solid var(--border); }
.tb-nav-left, .tb-nav-right { display:flex; gap:8px; }

/* Result Cards */
.tb-result { display:grid; gap:16px; }
.tb-result-card {
  background:var(--surface); border:1px solid var(--border); border-radius:var(--radius);
  padding:20px; position:relative;
}
.tb-result-card .rc-title {
  font-size:13px; font-weight:600; color:var(--text-muted);
  text-transform:uppercase; letter-spacing:0.5px; margin-bottom:12px;
}
.tb-result-card .rc-value { font-size:20px; font-weight:700; color:var(--accent); }
.tb-result-card .rc-desc { font-size:13px; color:var(--text-muted); margin-top:4px; line-height:1.5; }
.tb-result-card .rc-list { list-style:none; margin:0; padding:0; }
.tb-result-card .rc-list li {
  padding:6px 0; border-bottom:1px solid rgba(30,42,69,0.4);
  font-size:13px; color:var(--text-muted); display:flex; justify-content:space-between; gap:12px;
}
.tb-result-card .rc-list li:last-child { border-bottom:none; }
.tb-result-card .rc-list .label { color:var(--text-muted); }
.tb-result-card .rc-list .val { color:var(--text); font-weight:500; text-align:right; }

/* Station Builder */
.tb-station-grid { display:grid; gap:12px; }
.tb-station-cat { margin-bottom:16px; }
.tb-station-cat-title { font-size:14px; font-weight:600; color:var(--text-muted); margin-bottom:8px; text-transform:uppercase; letter-spacing:0.5px; }
.tb-station-items { display:grid; grid-template-columns:repeat(auto-fill,minmax(160px,1fr)); gap:8px; }
.tb-station-item {
  padding:10px 12px; border-radius:6px; border:1px solid var(--border);
  background:var(--bg); cursor:pointer; transition:all .2s; font-size:12px;
  color:var(--text-muted); text-align:center;
}
.tb-station-item:hover { border-color:rgba(0,212,170,0.3); color:var(--text); }
.tb-station-item.selected { border-color:var(--accent); background:var(--accent-dim); color:var(--accent); font-weight:600; }

/* Config Generator Output */
.tb-config { background:#0d1117; border:1px solid var(--border); border-radius:8px; overflow:hidden; margin-bottom:16px; }
.tb-config-header {
  display:flex; justify-content:space-between; align-items:center;
  padding:8px 14px; background:var(--surface); border-bottom:1px solid var(--border);
}
.tb-config-name { font-size:13px; font-weight:600; color:var(--accent); font-family:'JetBrains Mono',monospace; }
.tb-config-copy { cursor:pointer; color:var(--text-muted); font-size:12px; padding:4px 8px; border-radius:4px; }
.tb-config-copy:hover { color:var(--accent); background:var(--card); }
.tb-config pre {
  margin:0; padding:14px; overflow-x:auto; font-size:12px;
  font-family:'JetBrains Mono',monospace; line-height:1.6; color:var(--text-muted);
}

/* SWR / Diagnosis */
.tb-diagnosis { display:grid; gap:16px; }
.tb-diag-card {
  padding:16px; border-radius:8px; border:1px solid var(--border);
  display:grid; gap:8px;
}
.tb-diag-card.green { border-color:rgba(0,212,170,0.3); background:rgba(0,212,170,0.05); }
.tb-diag-card.yellow { border-color:rgba(245,158,11,0.3); background:rgba(245,158,11,0.05); }
.tb-diag-card.red { border-color:rgba(239,68,68,0.3); background:rgba(239,68,68,0.05); }
.tb-diag-priority { font-size:11px; font-weight:600; text-transform:uppercase; letter-spacing:0.5px; }
.tb-diag-priority.high { color:#ef4444; }
.tb-diag-priority.medium { color:var(--yellow); }
.tb-diag-priority.low { color:var(--accent); }

/* Comparison Table */
.tb-compare { overflow-x:auto; }
.tb-compare table { min-width:600px; }
.tb-compare th { text-align:center; }
.tb-compare td { text-align:center; white-space:nowrap; }
.tb-compare .best { color:var(--accent); font-weight:700; }

/* Knowledge Navigator */
.tb-knav { display:grid; gap:12px; }
.tb-knav-cat {
  background:var(--card); border:1px solid var(--border); border-radius:var(--radius);
  padding:16px; cursor:pointer; transition:all .2s;
}
.tb-knav-cat:hover { border-color:var(--accent); }
.tb-knav-cat-title { font-size:15px; font-weight:600; color:var(--text); margin-bottom:4px; }
.tb-knav-cat-desc { font-size:12px; color:var(--text-muted); }
.tb-knav-search {
  width:100%; padding:10px 14px; border-radius:8px; border:1px solid var(--border);
  background:var(--surface); color:var(--text); font-size:14px;
  font-family:inherit; outline:none; transition:border-color .2s; margin-bottom:16px;
}
.tb-knav-search:focus { border-color:var(--accent); }
.tb-knav-history { font-size:12px; color:var(--text-muted); display:flex; gap:6px; flex-wrap:wrap; margin-bottom:12px; }
.tb-knav-history span { cursor:pointer; padding:2px 8px; border-radius:4px; background:var(--surface); border:1px solid var(--border); }
.tb-knav-history span:hover { color:var(--accent); border-color:var(--accent); }

/* Charts */
.tb-chart { margin:16px 0; padding:16px; background:var(--surface); border-radius:8px; border:1px solid var(--border); }
.tb-chart-bar {
  display:flex; align-items:center; gap:8px; margin:4px 0;
  font-size:12px; color:var(--text-muted);
}
.tb-chart-fill {
  height:24px; border-radius:4px; transition:width .5s;
  background:linear-gradient(90deg,var(--accent),rgba(0,212,170,0.5));
  min-width:2px; display:flex; align-items:center; padding:0 8px;
  font-weight:600; font-size:11px; color:#000;
}
.tb-chart-label { width:100px; text-align:right; flex-shrink:0; }

/* Tooltips */
[data-tip] { position:relative; cursor:help; }
[data-tip]:hover::after {
  content:attr(data-tip); position:absolute; bottom:calc(100% + 6px); left:50%; transform:translateX(-50%);
  padding:6px 10px; border-radius:6px; background:#1a1f2e; color:var(--text);
  font-size:11px; white-space:nowrap; border:1px solid var(--border); z-index:100;
  box-shadow:0 4px 12px rgba(0,0,0,0.4); pointer-events:none;
}

/* Mobile */
@media (max-width:768px) {
  .tb-modules { grid-template-columns:1fr 1fr; gap:10px; }
  .tb-module { padding:14px; }
  .tb-m-title { font-size:14px; }
  .tb-m-desc { display:none; }
  .tb-options { grid-template-columns:1fr 1fr; }
  .tb-header { flex-direction:column; align-items:flex-start; gap:10px; }
  .tb-actions { width:100%; }
  .tb-btn { font-size:11px; padding:6px 12px; }
  .tb-station-items { grid-template-columns:repeat(auto-fill,minmax(120px,1fr)); }
}
@media (max-width:480px) {
  .tb-modules { grid-template-columns:1fr; }
  .tb-options { grid-template-columns:1fr; }
  .tb-result-card { padding:14px; }
  .tb-result-card .rc-value { font-size:16px; }
  .tb-chart-label { width:60px; font-size:10px; }
}


:root{--card-size:80px}
.game-section{display:none;animation:tbFadeIn .3s ease-out}
.game-section.active{display:block}
.game-back{margin-bottom:20px}
.game-container{min-height:300px}
.memory-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;max-width:400px;margin:0 auto}
.memory-card{aspect-ratio:1;background:var(--card);border:1px solid var(--border);border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;cursor:pointer;transition:all .3s;user-select:none;position:relative;transform-style:preserve-3d}
.memory-card .front,.memory-card .back{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;border-radius:10px;backface-visibility:hidden}
.memory-card .front{background:linear-gradient(135deg,var(--accent-dim),var(--card));border:1px solid var(--accent);z-index:2}
.memory-card .front::after{content:"?";font-size:28px;color:var(--accent);font-weight:800}
.memory-card .back{background:var(--card);border:1px solid var(--border);transform:rotateY(180deg);padding:6px;text-align:center;font-size:11px;color:var(--text)}
.memory-card.flipped .front{transform:rotateY(180deg)}
.memory-card.flipped .back{transform:rotateY(0)}
.memory-card.matched .back{border-color:var(--accent);background:var(--accent-dim)}
.memory-card.matched .back *{color:var(--accent)}
.memory-card.matched{cursor:default;pointer-events:none}
.memory-card:not(.flipped):not(.matched):hover{border-color:var(--accent);transform:translateY(-2px)}
.memory-stats{display:flex;justify-content:center;gap:24px;margin-bottom:16px;font-size:14px;color:var(--text-muted)}
.memory-stats span{font-weight:700;color:var(--accent)}
.quartett-area{display:flex;gap:20px;flex-wrap:wrap;justify-content:center}
.quartett-card{width:200px;background:var(--card);border:1px solid var(--border);border-radius:12px;padding:16px;text-align:center;transition:all .3s}
.quartett-card.player-card{border-color:var(--accent)}
.quartett-card.cpu-card{border-color:var(--blue)}
.quartett-card .qc-name{font-size:14px;font-weight:700;color:var(--text);margin-bottom:8px}
.quartett-card .qc-stats{display:grid;gap:4px}
.quartett-card .qc-stat{display:flex;justify-content:space-between;font-size:12px;color:var(--text-muted);padding:4px 6px;border-radius:4px;background:var(--surface);cursor:pointer;transition:all .2s}
.quartett-card .qc-stat:hover{background:var(--accent-dim);color:var(--accent)}
.quartett-card .qc-stat.active{background:var(--accent-dim);border:1px solid var(--accent)}
.quartett-card .qc-stat.active .qv{color:var(--accent)}
.quartett-card .qc-stat .qv{font-weight:700;color:var(--text)}
.quartett-card .qc-stat-disabled{color:var(--text-muted);padding:4px 6px;font-size:12px;font-style:italic}
.quartett-card.cpu-hidden{opacity:0.7}
.quartett-score{display:flex;justify-content:center;gap:40px;margin-bottom:16px;font-size:16px}
.quartett-score .qs-item{text-align:center}
.quartett-score .qs-val{font-size:32px;font-weight:800}
.quartett-score .qs-val.player{color:var(--accent)}
.quartett-score .qs-val.cpu{color:var(--blue)}
.quartett-score .qs-label{font-size:12px;color:var(--text-muted)}
.quartett-msg{text-align:center;font-size:14px;min-height:24px;margin:8px 0;font-weight:600}
.quartett-msg.win{color:var(--accent)}
.quartett-msg.lose{color:#ef4444}
.quartett-winner{text-align:center;padding:20px;background:var(--accent-dim);border:1px solid var(--accent);border-radius:12px;max-width:400px;margin:16px auto}
.quartett-winner h3{font-size:18px;color:var(--accent);margin-bottom:8px}
.adventure-box{max-width:600px;margin:0 auto}
.adventure-text{background:var(--card);border:1px solid var(--border);border-radius:12px;padding:24px;margin-bottom:16px;font-size:15px;line-height:1.7;min-height:100px}
.adventure-choices{display:flex;flex-direction:column;gap:8px}
.adventure-btn{padding:14px 18px;border-radius:8px;border:1px solid var(--border);background:var(--surface);color:var(--text);cursor:pointer;font-size:14px;font-family:inherit;text-align:left;transition:all .2s}
.adventure-btn:hover{border-color:var(--accent);background:var(--card);color:var(--accent)}
.bingo-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:6px;max-width:450px;margin:0 auto}
.bingo-cell{aspect-ratio:1;background:var(--card);border:1px solid var(--border);border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:600;cursor:pointer;transition:all .2s;text-align:center;padding:2px;user-select:none;word-break:break-word;line-height:1.2}
.bingo-cell.hover-effect{border-color:var(--accent)}
.bingo-cell.marked{background:var(--accent-dim);border-color:var(--accent);color:var(--accent);font-weight:700}
.bingo-cell.free{background:var(--accent-dim);border-color:var(--accent);color:var(--accent);font-weight:700;cursor:default}
.bingo-cell.win-highlight{animation:bingoPulse .5s ease-in-out 3}
.bingo-cell.draw-highlight{animation:drawGlow 1s ease-in-out 3;border-color:var(--yellow)!important;box-shadow:0 0 12px var(--yellow)}
@keyframes bingoPulse{0%,100%{transform:scale(1)}50%{transform:scale(1.08)}}
@keyframes drawGlow{0%,100%{box-shadow:0 0 4px var(--yellow)}50%{box-shadow:0 0 18px var(--yellow)}}
.bingo-msg{text-align:center;margin:12px 0;font-size:18px;font-weight:700;min-height:32px}
.bingo-msg.win{color:var(--accent);animation:bingoPulse .5s ease-in-out 3}
.bingo-msg.ok{color:#22c55e}
.bingo-msg.err{color:#ef4444}
#bingo-draw-btn:disabled{opacity:.4;cursor:not-allowed}
.pile-grid{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin:20px 0}
.pile-station{width:100px;height:100px;border-radius:12px;border:2px solid var(--border);background:var(--card);display:flex;flex-direction:column;align-items:center;justify-content:center;transition:all .25s;cursor:pointer;font-size:12px;color:var(--text-muted);gap:4px}
.pile-station .pile-led{width:16px;height:16px;border-radius:50%;background:var(--text-muted);transition:all .25s}
.pile-station.lit{border-color:var(--yellow);background:rgba(245,158,11,0.15);color:var(--yellow);box-shadow:0 0 24px rgba(245,158,11,0.3);transform:scale(1.05)}
.pile-station.lit .pile-led{background:var(--yellow);box-shadow:0 0 12px rgba(245,158,11,0.6)}
.pile-stats{display:flex;justify-content:center;gap:32px;margin:12px 0;font-size:14px;color:var(--text-muted)}
.pile-stats span{font-weight:700}
.pile-msg{text-align:center;font-size:15px;min-height:28px;margin:8px 0;color:var(--text-muted)}
.pile-end{text-align:center;padding:20px;background:var(--surface);border:1px solid var(--border);border-radius:12px;max-width:400px;margin:16px auto}
.pile-end h3{font-size:22px;font-weight:800;color:var(--accent);margin-bottom:4px}
.pile-end .rating{font-size:16px;color:var(--text);margin-bottom:12px}
.orakel-box{text-align:center;max-width:500px;margin:0 auto}
.orakel-ball{width:220px;height:220px;border-radius:50%;margin:0 auto 20px;background:radial-gradient(circle at 35% 30%,#1a1a3e,#0a0e1a 60%,#000);border:2px solid rgba(0,212,170,0.3);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .3s;position:relative;overflow:hidden}
.orakel-ball::before{content:'';position:absolute;width:60%;height:60%;border-radius:50%;background:radial-gradient(circle at 40% 35%,rgba(0,212,170,0.08),transparent 70%);top:10%;left:15%;pointer-events:none}
.orakel-ball:hover{border-color:var(--accent);box-shadow:0 0 40px rgba(0,212,170,0.2)}
.orakel-ball.shake{animation:orakelShake .6s ease-in-out}
@keyframes orakelShake{0%,100%{transform:translateX(0)}15%{transform:translateX(-8px) rotate(-3deg)}30%{transform:translateX(8px) rotate(3deg)}45%{transform:translateX(-6px) rotate(-2deg)}60%{transform:translateX(6px) rotate(2deg)}75%{transform:translateX(-3px)}90%{transform:translateX(3px)}}
.orakel-text{font-size:16px;line-height:1.6;color:var(--accent);min-height:60px;display:flex;align-items:center;justify-content:center;padding:16px;background:var(--surface);border:1px solid var(--border);border-radius:12px;margin-bottom:16px;font-weight:500}
.orakel-btn{padding:10px 24px;border-radius:8px;border:1px solid var(--accent);background:var(--accent-dim);color:var(--accent);cursor:pointer;font-size:14px;font-weight:600;font-family:inherit;transition:all .2s}
.orakel-btn:hover{background:var(--accent);color:#000}
.morse-box{max-width:500px;margin:0 auto}
.morse-code{font-family:'JetBrains Mono',monospace;font-size:48px;font-weight:700;text-align:center;padding:24px;background:var(--surface);border:1px solid var(--border);border-radius:12px;margin-bottom:20px;color:var(--accent);letter-spacing:6px;min-height:90px}
.morse-options{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.morse-opt{padding:14px;border-radius:8px;border:1px solid var(--border);background:var(--card);color:var(--text);cursor:pointer;font-size:20px;font-weight:700;font-family:'JetBrains Mono',monospace;text-align:center;transition:all .2s}
.morse-opt:hover{border-color:var(--accent)}
.morse-opt.correct{background:rgba(22,163,74,0.15);border-color:#16a34a;color:#16a34a}
.morse-opt.wrong{background:rgba(239,68,68,0.15);border-color:#ef4444;color:#ef4444}
.morse-opt:disabled{cursor:default;opacity:0.7}
.morse-progress{height:4px;background:var(--border);border-radius:4px;margin-bottom:16px;overflow:hidden}
.morse-progress-fill{height:100%;background:var(--accent);border-radius:4px;transition:width .3s}
.morse-stats{display:flex;justify-content:space-between;margin-bottom:12px;font-size:13px;color:var(--text-muted)}
.morse-end{text-align:center;padding:20px;background:var(--surface);border:1px solid var(--border);border-radius:12px;max-width:400px;margin:16px auto}
.morse-end h3{font-size:22px;font-weight:800;color:var(--accent);margin-bottom:4px}
.morse-end .rating{font-size:16px;color:var(--text);margin-bottom:12px}
.game-tag{display:inline-block;padding:2px 10px;border-radius:12px;font-size:10px;font-weight:600;margin-top:8px;background:var(--surface);color:var(--text-muted);border:1px solid var(--border)}
/* Funkpeilung */
.peilung-box{text-align:center}
.peilung-stats{display:flex;justify-content:center;gap:24px;margin-bottom:12px;font-size:14px;color:var(--text-muted)}
.peilung-stats span{font-weight:700;color:var(--accent)}
.peilung-msg{text-align:center;font-size:14px;min-height:24px;margin-bottom:8px;font-weight:600}
#peilung-canvas{cursor:crosshair;border-radius:50%;background:var(--card);border:2px solid var(--border);max-width:100%}
.peilung-result{font-size:16px;font-weight:700;min-height:24px;margin:8px 0}
/* Q-Code-Quiz */
.qcode-box{max-width:500px;margin:0 auto}
.qcode-progress{height:4px;background:var(--border);border-radius:4px;margin-bottom:12px;overflow:hidden}
.qcode-progress-fill{height:100%;background:var(--accent);border-radius:4px;transition:width .3s}
.qcode-stats{display:flex;justify-content:space-between;margin-bottom:12px;font-size:13px;color:var(--text-muted)}
.qcode-code{text-align:center;font-size:48px;font-weight:800;color:var(--accent);margin:20px 0;font-family:'JetBrains Mono',monospace;letter-spacing:4px}
.qcode-options{display:grid;gap:8px}
.qcode-opt{padding:14px;border-radius:8px;border:1px solid var(--border);background:var(--card);color:var(--text);cursor:pointer;font-size:15px;font-family:inherit;text-align:center;transition:all .2s}
.qcode-opt:hover{border-color:var(--accent)}
.qcode-opt.correct{background:rgba(22,163,74,0.15);border-color:#16a34a;color:#16a34a}
.qcode-opt.wrong{background:rgba(239,68,68,0.15);border-color:#ef4444;color:#ef4444}
.qcode-opt:disabled{cursor:default;opacity:0.7}
/* Frequenz-Merker */
.freq-box{max-width:450px;margin:0 auto;text-align:center}
.freq-stats{display:flex;justify-content:center;gap:24px;margin-bottom:12px;font-size:14px;color:var(--text-muted)}
.freq-stats span{font-weight:700;color:var(--accent)}
.freq-display{font-size:56px;font-weight:800;color:var(--accent);font-family:'JetBrains Mono',monospace;margin:30px 0;letter-spacing:2px;min-height:70px;transition:opacity .3s}
.freq-input-area{display:flex;gap:10px;justify-content:center;margin:16px 0}
.freq-input{width:200px;padding:12px 16px;border-radius:8px;border:1px solid var(--border);background:var(--card);color:var(--text);font-size:24px;font-family:'JetBrains Mono',monospace;text-align:center;outline:none;transition:border-color .2s}
.freq-input:focus{border-color:var(--accent)}
.freq-msg{font-size:16px;font-weight:600;min-height:24px;margin:8px 0}
.freq-msg.ok{color:#22c55e}
.freq-msg.err{color:#ef4444}
/* DX-Jagd */
.dx-box{max-width:500px;margin:0 auto;text-align:center}
.dx-stats{display:flex;justify-content:space-between;margin-bottom:12px;font-size:13px;color:var(--text-muted)}
.dx-prefix{font-size:48px;font-weight:800;color:var(--accent);margin:20px 0;font-family:'JetBrains Mono',monospace;letter-spacing:4px}
.dx-options{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}
.dx-opt{padding:14px;border-radius:8px;border:1px solid var(--border);background:var(--card);color:var(--text);cursor:pointer;font-size:15px;font-family:inherit;text-align:center;transition:all .2s}
.dx-opt:hover{border-color:var(--accent)}
.dx-opt.correct{background:rgba(22,163,74,0.15);border-color:#16a34a;color:#16a34a}
.dx-opt.wrong{background:rgba(239,68,68,0.15);border-color:#ef4444;color:#ef4444}
.dx-opt:disabled{cursor:default;opacity:0.7}
.dx-msg{font-size:14px;font-weight:600;min-height:24px;margin:8px 0}
/* Lautstärke-Raten */
.smeter-box{max-width:500px;margin:0 auto;text-align:center}
.smeter-stats{display:flex;justify-content:space-between;margin-bottom:12px;font-size:13px;color:var(--text-muted)}
.smeter-meter{width:100%;height:60px;background:var(--card);border:1px solid var(--border);border-radius:8px;margin:16px 0;position:relative;overflow:hidden}
.smeter-fill{height:100%;background:linear-gradient(90deg,#22c55e,#eab308,#ef4444);transition:width .5s;border-radius:8px}
.smeter-label{position:absolute;bottom:4px;right:8px;font-size:13px;font-weight:700;color:#fff;text-shadow:0 0 4px rgba(0,0,0,.5)}
.smeter-scale{display:flex;justify-content:space-between;padding:0 4px;margin-top:-8px;margin-bottom:12px;font-size:9px;color:var(--text-muted)}
.smeter-options{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}
.smeter-opt{padding:14px;border-radius:8px;border:1px solid var(--border);background:var(--card);color:var(--text);cursor:pointer;font-size:15px;font-family:inherit;text-align:center;transition:all .2s}
.smeter-opt:hover{border-color:var(--accent)}
.smeter-opt.correct{background:rgba(22,163,74,0.15);border-color:#16a34a;color:#16a34a}
.smeter-opt.wrong{background:rgba(239,68,68,0.15);border-color:#ef4444;color:#ef4444}
.smeter-opt:disabled{cursor:default;opacity:0.7}
.smeter-msg{font-size:14px;font-weight:600;min-height:24px;margin:8px 0}
@media(max-width:480px){
.memory-grid{max-width:300px;gap:6px}
.memory-card .front::after{font-size:22px}
.memory-card .back{font-size:9px}
.quartett-card{width:160px}
.bingo-cell{font-size:8px}
.pile-station{width:72px;height:72px;font-size:10px}
.pile-station .pile-led{width:12px;height:12px}
.orakel-ball{width:160px;height:160px}
.morse-code{font-size:32px}
.morse-opt{font-size:16px}
.qcode-code{font-size:28px}
.dx-prefix{font-size:28px}
.freq-display{font-size:32px}
.freq-input{width:150px;font-size:18px}
#peilung-canvas{width:220px;height:220px}
.smeter-meter{height:44px}
}
