/* ============ Container ============ */
.mvg-game-container { width:100%; max-width:100%; overflow:hidden; display:block; }

/* ============ Basis-Variablen (Fallback) ============ */
.clicker-game-wrapper {
  --clicker-bg:#05060f;
  --clicker-surface:rgba(255,255,255,0.04);
  --clicker-border:rgba(255,255,255,0.12);
  --clicker-text:#e2e8f0;
  --clicker-muted:#94a3b8;
  --clicker-primary:#22d3ee;
  --clicker-accent:#c084fc;
  --clicker-danger:#f472b6;
  --clicker-warning:#facc15;
  --clicker-success:#34d399;
  --clicker-shadow:rgba(0,0,0,0.45);

  display:block; width:100%;
  font-family: ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  color: var(--clicker-text);
  background: var(--clicker-bg);
  overflow:hidden; position:relative; z-index:1;
  box-sizing:border-box;
}
.clicker-game-wrapper *,
.clicker-game-wrapper *::before,
.clicker-game-wrapper *::after { box-sizing:border-box; }

/* ============ Themes ============ */
.clicker-game-wrapper.theme-actuelles {
  --clicker-bg:#05060b; --clicker-surface:rgba(255,255,255,0.04);
  --clicker-border:rgba(255,255,255,0.12); --clicker-text:#e2e8f0;
  --clicker-muted:#94a3b8; --clicker-primary:#22d3ee; --clicker-accent:#c084fc;
  --clicker-danger:#f472b6; --clicker-warning:#facc15; --clicker-success:#34d399;
}
.clicker-game-wrapper.theme-halloween {
  --clicker-bg:#0f0a05; --clicker-surface:rgba(255,165,0,0.08);
  --clicker-border:rgba(255,140,0,0.25); --clicker-text:#ffedd5;
  --clicker-muted:#fdba74; --clicker-primary:#f97316; --clicker-accent:#a855f7;
  --clicker-danger:#ef4444; --clicker-warning:#facc15; --clicker-success:#22c55e;
}
.clicker-game-wrapper.theme-cats-and-dogs {
  --clicker-bg:#fff7ed; --clicker-surface:rgba(255,255,255,0.7);
  --clicker-border:rgba(0,0,0,0.08); --clicker-text:#431407;
  --clicker-muted:#9a3412; --clicker-primary:#f97316; --clicker-accent:#ec4899;
  --clicker-danger:#ef4444; --clicker-warning:#f59e0b; --clicker-success:#10b981;
}
.clicker-game-wrapper.theme-nature {
  --clicker-bg:#022c22; --clicker-surface:rgba(255,255,255,0.05);
  --clicker-border:rgba(255,255,255,0.12); --clicker-text:#ecfdf5;
  --clicker-muted:#a7f3d0; --clicker-primary:#34d399; --clicker-accent:#a3e635;
  --clicker-danger:#f87171; --clicker-warning:#facc15; --clicker-success:#10b981;
}
.clicker-game-wrapper.theme-nicht {
  --clicker-bg:#000000; --clicker-surface:rgba(255,255,255,0.06);
  --clicker-border:rgba(255,255,255,0.2); --clicker-text:#ffffff;
  --clicker-muted:#a3a3a3; --clicker-primary:#ffffff; --clicker-accent:#d4d4d4;
  --clicker-danger:#ffffff; --clicker-warning:#ffffff; --clicker-success:#ffffff;
}
.clicker-game-wrapper.theme-ocean {
  --clicker-bg:#001a2e; --clicker-surface:rgba(64,224,255,0.08);
  --clicker-border:rgba(64,224,255,0.28); --clicker-text:#d4f4ff;
  --clicker-muted:#7dd3fc; --clicker-primary:#06b6d4; --clicker-accent:#14b8a6;
  --clicker-danger:#f43f5e; --clicker-warning:#facc15; --clicker-success:#22d3ee;
}
.clicker-game-wrapper.theme-galaxy {
  --clicker-bg:#0a0118; --clicker-surface:rgba(168,85,247,0.10);
  --clicker-border:rgba(168,85,247,0.32); --clicker-text:#ede9fe;
  --clicker-muted:#c4b5fd; --clicker-primary:#a855f7; --clicker-accent:#ec4899;
  --clicker-danger:#f43f5e; --clicker-warning:#fbbf24; --clicker-success:#8b5cf6;
}
.clicker-game-wrapper.theme-cyberpunk {
  --clicker-bg:#0d0221; --clicker-surface:rgba(255,0,153,0.10);
  --clicker-border:rgba(0,255,255,0.35); --clicker-text:#f0fdff;
  --clicker-muted:#00d9ff; --clicker-primary:#ff00aa; --clicker-accent:#00ffff;
  --clicker-danger:#ff0055; --clicker-warning:#ffea00; --clicker-success:#00ff88;
}

/* ============ Header Bar ============ */
.clicker-game-wrapper .game-header {
  position:sticky; top:0; z-index:50;
  background:rgba(5,6,15,0.85);
  backdrop-filter: blur(12px);
  border-bottom:1px solid rgba(255,255,255,0.08);
  padding:8px 12px;
}
.clicker-game-wrapper.theme-halloween .game-header { background:rgba(15,10,5,0.9); border-bottom-color:rgba(249,115,22,0.25); }
.clicker-game-wrapper.theme-cats-and-dogs .game-header { background:rgba(255,247,237,0.9); border-bottom-color:rgba(0,0,0,0.08); }
.clicker-game-wrapper.theme-nature .game-header { background:rgba(2,44,34,0.9); border-bottom-color:rgba(52,211,153,0.25); }
.clicker-game-wrapper.theme-nicht .game-header { background:rgba(0,0,0,0.9); border-bottom-color:rgba(255,255,255,0.25); }
.clicker-game-wrapper.theme-ocean .game-header { background:rgba(0,26,46,0.92); border-bottom-color:rgba(64,224,255,0.28); }
.clicker-game-wrapper.theme-galaxy .game-header { background:rgba(10,1,24,0.92); border-bottom-color:rgba(168,85,247,0.32); }
.clicker-game-wrapper.theme-cyberpunk .game-header { background:rgba(13,2,33,0.92); border-bottom-color:rgba(0,255,255,0.35); }

.clicker-game-wrapper .header-inner {
  max-width:1200px; margin:0 auto;
  display:flex; align-items:center; justify-content:space-between; gap:12px; flex-wrap:wrap;
}
.clicker-game-wrapper .header-left { display:flex; align-items:center; gap:8px; }
.clicker-game-wrapper .game-title { font-weight:800; font-size:1rem; letter-spacing:-0.01em; }
.clicker-game-wrapper.theme-cats-and-dogs .game-title { color:#431407; }

.clicker-game-wrapper .header-controls { display:flex; align-items:center; gap:16px; flex-wrap:wrap; }
.clicker-game-wrapper .control-group { display:flex; align-items:center; gap:6px; }
.clicker-game-wrapper .control-label {
  font-size:0.7rem; text-transform:uppercase; letter-spacing:0.08em;
  opacity:0.55; font-weight:700;
}
.clicker-game-wrapper .button-row { display:flex; gap:4px; }
.clicker-game-wrapper .icon-btn {
  border:1px solid rgba(255,255,255,0.18);
  background:rgba(255,255,255,0.06);
  color:inherit;
  padding:6px 10px; border-radius:10px; cursor:pointer;
  font-size:0.85rem; line-height:1;
  transition:all 0.2s ease; opacity:0.7;
}
.clicker-game-wrapper .icon-btn:hover { opacity:1; transform:translateY(-1px); }
.clicker-game-wrapper .icon-btn.active {
  opacity:1; background:rgba(255,255,255,0.18);
  border-color:rgba(255,255,255,0.4);
  box-shadow:0 0 0 1px rgba(255,255,255,0.08);
}
.clicker-game-wrapper.theme-cats-and-dogs .icon-btn {
  border-color:rgba(0,0,0,0.12); background:rgba(0,0,0,0.04); color:#431407;
}
.clicker-game-wrapper.theme-cats-and-dogs .icon-btn.active {
  background:rgba(0,0,0,0.1); border-color:rgba(0,0,0,0.25);
}

/* ============ Game Layout ============ */
.clicker-game-wrapper .game-main { padding:0; display:flex; justify-content:center; align-items:flex-start; }
.clicker-game-wrapper .game-frame {
  width:100%; max-width:1200px; background:transparent; border:none; overflow:hidden;
  /* Size-Container: ermoeglicht cq-Einheiten, damit der Inhalt proportional in den
     aspect-ratio-Frame skaliert, statt aus ihm herauszulaufen und abgeschnitten zu werden. */
  container-type: size; container-name: clickerframe;
}
/* min-height wirkt als Sicherheitsnetz: wird der Frame durch das aspect-ratio zu flach,
   waechst er statt zu clippen - sonst waeren Start-Button und Clicker unerreichbar. */
.clicker-game-wrapper.ratio-16-9 .game-frame { aspect-ratio: 16 / 9; min-height:380px; }
.clicker-game-wrapper.ratio-9-16 .game-frame { aspect-ratio: 9 / 16; max-width:500px; min-height:560px; }

/* ============ Screen ============ */
.clicker-game-wrapper .screen {
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  width:100%; height:100%; max-width:100%;
  background: var(--clicker-bg);
  padding: clamp(6px, 2.2cqh, 20px);
  gap: clamp(4px, 1.4cqh, 12px);
  position:relative; overflow:hidden;
}
.clicker-game-wrapper h1 {
  font-size: clamp(1.1rem, 4.2cqh, 1.6rem);
  text-align:center; letter-spacing:-0.02em; margin:0; line-height:1.2;
  background: linear-gradient(90deg, var(--clicker-primary), var(--clicker-accent), var(--clicker-danger));
  background-size: 200% 100%;
  -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text;
  animation: clickerTextShimmer 3s ease infinite;
}
@keyframes clickerTextShimmer {
  0% { background-position: -100% 0; }
  100% { background-position: 200% 0; }
}
.clicker-game-wrapper .hud {
  display:flex; gap: clamp(4px, 1.4cqh, 10px); flex-wrap:wrap; justify-content:center; margin:0;
}
.clicker-game-wrapper .pill {
  background: var(--clicker-surface);
  border:1px solid var(--clicker-border);
  padding: clamp(4px, 1.1cqh, 8px) clamp(8px, 1.8cqw, 14px);
  border-radius:999px; font-weight:800;
  font-size: clamp(0.62rem, 2cqh, 0.85rem);
  box-shadow: 0 6px 20px var(--clicker-shadow), inset 0 1px 0 rgba(255,255,255,0.15);
  white-space:nowrap; color: var(--clicker-text);
}
.clicker-game-wrapper .progress-wrap { width:100%; max-width: min(420px, 90cqw); margin:0; }
.clicker-game-wrapper .progress-label-top,
.clicker-game-wrapper .progress-label-bottom {
  display:flex; justify-content:space-between;
  font-size: clamp(0.55rem, 1.5cqh, 0.75rem);
  font-weight:800; color: var(--clicker-muted);
  text-transform:uppercase; letter-spacing:0.08em;
}
.clicker-game-wrapper .progress-label-top { margin-bottom: clamp(3px, 0.9cqh, 8px); }
.clicker-game-wrapper .progress-label-bottom { margin-top: clamp(3px, 0.9cqh, 8px); letter-spacing:normal; text-transform:none; }
.clicker-game-wrapper .progress-bar {
  width:100%; height: clamp(7px, 3cqh, 22px);
  background: var(--clicker-surface);
  border:1px solid var(--clicker-border);
  border-radius:999px; overflow:hidden;
  box-shadow: inset 0 2px 10px rgba(0,0,0,0.45);
}
.clicker-game-wrapper .progress-fill {
  height:100%; width:0%;
  background: linear-gradient(90deg, var(--clicker-primary), var(--clicker-accent), var(--clicker-danger), var(--clicker-primary));
  background-size: 300% 100%;
  transition: width 0.3s cubic-bezier(0.4,0,0.2,1);
  animation: clickerGradientFlow 2.4s linear infinite;
  box-shadow: 0 0 24px rgba(34,211,238,0.55);
  position:relative;
}
.clicker-game-wrapper .progress-fill::after {
  content:''; position:absolute; inset:0;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,0.35), transparent);
  animation: clickerShimmer 2.2s infinite;
}
@keyframes clickerGradientFlow { 0% { background-position:0% 50%; } 100% { background-position:300% 50%; } }
@keyframes clickerShimmer { 0% { transform: translateX(-100%); } 100% { transform: translateX(100%); } }
.clicker-game-wrapper .progress-fill-reverse {
  background: linear-gradient(270deg, var(--clicker-primary), var(--clicker-accent), var(--clicker-danger), var(--clicker-primary));
  background-size:300% 100%;
  animation: clickerGradientFlowReverse 2.4s linear infinite;
}
@keyframes clickerGradientFlowReverse { 0% { background-position:300% 50%; } 100% { background-position:0% 50%; } }
.clicker-game-wrapper .timer {
  font-size: clamp(0.9rem, 3.6cqh, 1.4rem);
  font-weight:900; text-align:center; margin:0; line-height:1.2;
  background: linear-gradient(90deg, var(--clicker-warning), var(--clicker-danger));
  -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text;
  filter: drop-shadow(0 0 12px rgba(250,204,21,0.35));
  animation: clickerPulse 1s ease infinite;
}
@keyframes clickerPulse {
  0%,100% { opacity:1; transform:scale(1); }
  50% { opacity:0.85; transform:scale(1.06); }
}
.clicker-game-wrapper .combo-wrap { display:flex; justify-content:center; align-items:center; margin:0; }
.clicker-game-wrapper .combo-display {
  background: linear-gradient(135deg, var(--clicker-danger), var(--clicker-warning));
  color: var(--clicker-bg);
  padding: clamp(4px, 1cqh, 8px) clamp(10px, 2cqw, 16px);
  border-radius:999px; font-weight:900;
  font-size: clamp(0.7rem, 1.9cqh, 0.9rem);
  box-shadow: 0 8px 20px rgba(244,114,182,0.35);
  opacity:0; transform:scale(0.8); pointer-events:none;
  transition: all 0.3s ease;
}
.clicker-game-wrapper .combo-display.active { opacity:1; transform:scale(1); }
.clicker-game-wrapper .clicker-wrap { display:flex; justify-content:center; }
.clicker-game-wrapper .clicker {
  width: min(clamp(90px, 34cqh, 230px), 42cqw);
  height: min(clamp(90px, 34cqh, 230px), 42cqw);
  border-radius:50%;
  border:1px solid var(--clicker-border);
  background: conic-gradient(from 180deg at 50% 50%,
    var(--clicker-accent), var(--clicker-danger), var(--clicker-warning),
    var(--clicker-primary), var(--clicker-accent), var(--clicker-danger), var(--clicker-primary));
  color:#fff;
  font-size: clamp(0.95rem, 5.5cqh, 1.9rem);
  font-weight:900; cursor:pointer; user-select:none;
  box-shadow: 0 25px 60px var(--clicker-shadow),
              inset 0 -10px 0 rgba(0,0,0,0.35),
              inset 0 2px 0 rgba(255,255,255,0.25);
  transition: transform 0.12s ease, box-shadow 0.3s ease;
  position:relative; overflow:hidden; flex-shrink:0;
}
.clicker-game-wrapper .clicker:hover { transform: scale(1.06); }
.clicker-game-wrapper .clicker:active { transform: scale(0.92) translateY(4px); }
.clicker-game-wrapper .clicker:disabled { opacity:0.55; cursor:not-allowed; transform:none; filter:grayscale(0.6); }
.clicker-game-wrapper .clicker-fill {
  position:absolute; bottom:0; left:0; right:0; height:0%;
  background: linear-gradient(0deg, var(--clicker-primary), rgba(34,211,238,0.35));
  transition: height 0.2s cubic-bezier(0.4,0,0.2,1);
  border-radius: 0 0 50% 50%;
  pointer-events:none;
  box-shadow: 0 0 24px rgba(34,211,238,0.35);
}
.clicker-game-wrapper .clicker-text {
  position:relative; z-index:2;
  text-shadow: 0 3px 10px rgba(0,0,0,0.55);
  color:#fff;
}
.clicker-game-wrapper .controls { display:flex; gap: clamp(6px,1vw,10px); flex-wrap:wrap; justify-content:center; margin:0; }
.clicker-game-wrapper .btn {
  font:inherit;
  background: linear-gradient(135deg, var(--clicker-primary), var(--clicker-accent));
  color: var(--clicker-bg);
  border:none;
  padding: clamp(7px, 1.6cqh, 13px) clamp(11px, 2.2cqw, 22px);
  border-radius:14px; font-weight:800; cursor:pointer;
  box-shadow: 0 8px 0 rgba(5,6,15,0.45), 0 12px 24px rgba(0,0,0,0.4);
  transition: transform 0.1s ease, filter 0.15s ease;
  min-height:min(44px, 7cqh);
  font-size: clamp(0.75rem, 2cqh, 1rem);
}
.clicker-game-wrapper .btn:hover { filter:brightness(1.18); transform:translateY(-2px); }
.clicker-game-wrapper .btn:active { transform:translateY(3px) scale(0.98); }
.clicker-game-wrapper .btn-secondary {
  background: var(--clicker-surface);
  color: var(--clicker-text);
  border:1px solid var(--clicker-border);
  box-shadow: 0 6px 0 rgba(5,6,15,0.35);
}
.clicker-game-wrapper.theme-cats-and-dogs .btn-secondary { color:#431407; }

/* ============ Overlays ============ */
.clicker-game-wrapper .overlay {
  position:absolute; inset:0;
  background: rgba(5,6,15,0.85);
  backdrop-filter: blur(10px);
  display:flex; align-items:center; justify-content:center;
  padding:20px; z-index:50;
  animation: clickerFadeIn 0.3s ease;
}
@keyframes clickerFadeIn { from { opacity:0; } to { opacity:1; } }
.clicker-game-wrapper .panel {
  background: linear-gradient(135deg, rgba(30,27,75,0.9), rgba(76,29,149,0.8));
  color: var(--clicker-text);
  border:1px solid var(--clicker-border);
  border-radius:22px; padding:24px;
  width:100%; max-width:420px; text-align:center;
  box-shadow: 0 35px 90px var(--clicker-shadow), inset 0 1px 0 rgba(255,255,255,0.18);
  animation: clickerSlideUp 0.4s cubic-bezier(0.4,0,0.2,1);
}
@keyframes clickerSlideUp {
  from { transform:translateY(40px); opacity:0; }
  to   { transform:translateY(0); opacity:1; }
}
.clicker-game-wrapper .hidden { display:none !important; }

/* ============ Emoji / Floating / Ripple ============ */
.clicker-game-wrapper .emoji-container,
.clicker-game-wrapper .floating-container {
  position:absolute; inset:0; pointer-events:none; overflow:hidden;
}
.clicker-game-wrapper .emoji-container { z-index:40; }
.clicker-game-wrapper .floating-container { z-index:20; }
.clicker-game-wrapper .emoji {
  position:absolute; font-size:2rem;
  animation: clickerEmojiFly 1.6s cubic-bezier(0.4,0,0.2,1) forwards;
  filter: drop-shadow(0 6px 10px rgba(0,0,0,0.55));
}
@keyframes clickerEmojiFly {
  0%   { transform: translateY(0) rotate(0deg) scale(0.5); opacity:1; }
  50%  { transform: translateY(-160px) rotate(180deg) scale(1.25); opacity:1; }
  100% { transform: translateY(-420px) rotate(360deg) scale(0.8); opacity:0; }
}
.clicker-game-wrapper .floating-text {
  position:absolute; font-weight:800;
  text-shadow: 0 3px 10px rgba(0,0,0,0.55);
  pointer-events:none; white-space:nowrap;
  animation: clickerFloatUp 1s cubic-bezier(0.4,0,0.2,1) forwards;
}
@keyframes clickerFloatUp {
  0%   { transform: translateY(0) scale(1); opacity:1; }
  100% { transform: translateY(-80px) scale(0.7); opacity:0; }
}
.clicker-game-wrapper .click-ripple {
  position:absolute; border-radius:50%;
  background: rgba(255,255,255,0.35);
  pointer-events:none;
  animation: clickerRipple 0.6s ease-out forwards;
}
@keyframes clickerRipple {
  0%   { transform: scale(0.2); opacity:0.7; }
  100% { transform: scale(2.5); opacity:0; }
}
.clicker-game-wrapper .error-x {
  position:absolute; top:50%; left:50%;
  transform: translate(-50%,-50%) scale(0);
  font-size: clamp(4rem, 10vh, 8rem);
  color: var(--clicker-danger);
  text-shadow: 0 0 40px rgba(244,114,182,0.8), 0 0 80px rgba(244,114,182,0.6);
  pointer-events:none; z-index:100;
  animation: clickerErrorPop 0.8s cubic-bezier(0.4,0,0.2,1) forwards;
}
@keyframes clickerErrorPop {
  0%   { transform: translate(-50%,-50%) scale(0) rotate(-15deg); opacity:0; }
  50%  { transform: translate(-50%,-50%) scale(1.3) rotate(5deg); opacity:1; }
  100% { transform: translate(-50%,-50%) scale(0.8) rotate(0deg); opacity:0; }
}

/* ============ B&W Theme Overrides ============ */
.clicker-game-wrapper.theme-nicht .emoji { filter: grayscale(100%) brightness(0.9); }
.clicker-game-wrapper.theme-nicht .icon-btn { border-color: rgba(255,255,255,0.2); color:#fff; }
.clicker-game-wrapper.theme-nicht .icon-btn:hover,
.clicker-game-wrapper.theme-nicht .icon-btn.active { background: rgba(255,255,255,0.12); border-color:#fff; }

/* ============ Responsive ============ */
@media (max-width: 640px) {
  .clicker-game-wrapper .screen { padding: clamp(5px, 1.6cqh, 10px); gap: clamp(3px, 1cqh, 8px); }
  .clicker-game-wrapper .clicker { width: min(clamp(80px, 32cqh, 190px), 44cqw); height: min(clamp(80px, 32cqh, 190px), 44cqw); font-size: clamp(0.9rem, 5cqh, 1.5rem); }
  .clicker-game-wrapper .header-controls { gap:10px; }
  .clicker-game-wrapper .header-inner { gap:8px; }
  .clicker-game-wrapper .control-label { display:none; }
}
/* Fallback fuer Browser ohne Container-Query-Unterstuetzung: statt zu clippen wird
   der Frame hoehengemessen, damit Start-Button und Clicker erreichbar bleiben. */
@supports not (container-type: size) {
  .clicker-game-wrapper.ratio-16-9 .game-frame,
  .clicker-game-wrapper.ratio-9-16 .game-frame { aspect-ratio:auto; min-height:640px; }
  .clicker-game-wrapper .screen { overflow:visible; }
  .clicker-game-wrapper .clicker { width:180px; height:180px; }
}

/* ============ Leaderboard ============ */
.clicker-leaderboard { font-family: ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif; }
.clicker-leaderboard table {
  width:100%; border-collapse:collapse;
  border:1px solid rgba(255,255,255,0.15);
  border-radius:14px; overflow:hidden;
  background: linear-gradient(135deg, rgba(30,27,75,0.85), rgba(76,29,149,0.75));
  box-shadow: 0 20px 50px rgba(0,0,0,0.45), inset 0 1px 0 rgba(255,255,255,0.12);
  backdrop-filter: blur(10px);
}
.clicker-leaderboard th {
  background: rgba(255,255,255,0.08);
  color:#e2e8f0; font-weight:800;
  padding:12px; text-align:left;
  border-bottom:1px solid rgba(255,255,255,0.12);
}
.clicker-leaderboard td {
  color:#cbd5e1; padding:10px 12px;
  border-bottom:1px solid rgba(255,255,255,0.08);
}
.clicker-leaderboard tr:last-child td { border-bottom:none; }
.clicker-leaderboard .rank-cell { width:50px; }
.clicker-leaderboard .level-cell { text-align:right; font-weight:800; color:#22d3ee; text-shadow: 0 0 12px rgba(34,211,238,0.45); }
.clicker-leaderboard .clicks-cell { text-align:right; color:#c084fc; }
.clicker-leaderboard .name-cell { font-weight:700; color:#e2e8f0; }

/* ============ BuddyPress ============ */
.bp-clicker-best {
  padding:10px 16px;
  background: linear-gradient(135deg, rgba(34,211,238,0.18), rgba(192,132,252,0.18));
  border:1px solid rgba(255,255,255,0.18);
  border-radius:999px;
  display:inline-flex; align-items:center; gap:10px;
  margin-top:10px; font-weight:800; color:#22d3ee;
  box-shadow: 0 8px 24px rgba(0,0,0,0.35);
  backdrop-filter: blur(10px);
}
.bp-clicker-profile {
  background: linear-gradient(135deg, rgba(30,27,75,0.85), rgba(76,29,149,0.75));
  border:1px solid rgba(255,255,255,0.18);
  border-radius:16px; padding:18px; margin-top:12px;
  box-shadow: 0 20px 50px rgba(0,0,0,0.45), inset 0 1px 0 rgba(255,255,255,0.12);
  backdrop-filter: blur(10px);
}
.bp-clicker-profile h3 {
  margin:0 0 12px; font-size:1.15rem;
  background: linear-gradient(90deg,#22d3ee,#c084fc);
  -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text;
}
.bp-clicker-profile p { margin:8px 0; font-size:0.95rem; color:#cbd5e1; }
.clicker-empty { padding:20px; text-align:center; color:#94a3b8; font-size:0.95rem; }

/* ============ Enterprise Accessibility ============ */
.clicker-game-wrapper .clicker:focus-visible,
.clicker-game-wrapper .btn:focus-visible,
.clicker-game-wrapper .icon-btn:focus-visible,
.clicker-game-wrapper button:focus-visible {
  outline: 2px solid var(--clicker-primary);
  outline-offset: 2px;
}
@media (prefers-reduced-motion: reduce) {
  .clicker-game-wrapper *,
  .clicker-game-wrapper *::before,
  .clicker-game-wrapper *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
}
@media (forced-colors: active) {
  .clicker-game-wrapper .clicker {
    border: 2px solid ButtonText;
  }
  .clicker-game-wrapper .icon-btn.active {
    border: 2px solid Highlight;
  }
}
@media print {
  .clicker-game-wrapper .clicker,
  .clicker-game-wrapper .btn,
  .clicker-game-wrapper .controls {
    display: none !important;
  }
  .clicker-game-wrapper .screen {
    background: #ffffff !important;
    color: #000000 !important;
  }
}
.clicker-game-wrapper .skeleton {
  background: linear-gradient(90deg, var(--clicker-surface) 25%, rgba(255,255,255,0.1) 50%, var(--clicker-surface) 75%);
  background-size: 200% 100%;
  animation: clickerSkeletonLoading 1.5s infinite;
  border-radius: 0.375rem;
}
@keyframes clickerSkeletonLoading {
  0% { background-position: 200% 0; }
  100% { background-position: -200% 0; }
}
.clicker-game-wrapper .tooltip {
  position: relative;
}
.clicker-game-wrapper .tooltip::after {
  content: attr(data-tooltip);
  position: absolute;
  bottom: 100%;
  left: 50%;
  transform: translateX(-50%);
  padding: 0.5rem 0.75rem;
  background: var(--clicker-bg);
  color: var(--clicker-text);
  border: 1px solid var(--clicker-border);
  border-radius: 0.375rem;
  font-size: 0.75rem;
  white-space: nowrap;
  opacity: 0;
  pointer-events: none;
  transition: opacity 150ms cubic-bezier(0.4, 0, 0.2, 1);
  z-index: 700;
}
.clicker-game-wrapper .tooltip:hover::after {
  opacity: 1;
}
.clicker-game-wrapper .badge {
  display: inline-flex;
  align-items: center;
  padding: 0.125rem 0.5rem;
  border-radius: 9999px;
  font-size: 0.75rem;
  font-weight: 600;
  line-height: 1;
}
.clicker-game-wrapper .badge-success { background: rgba(16,185,129,0.15); color: #10b981; }
.clicker-game-wrapper .badge-warning { background: rgba(245,158,11,0.15); color: #f59e0b; }
.clicker-game-wrapper .badge-danger { background: rgba(239,68,68,0.15); color: #ef4444; }
.clicker-game-wrapper .badge-info { background: rgba(59,130,246,0.15); color: #3b82f6; }
.clicker-game-wrapper .empty-state {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 2rem 1rem;
  text-align: center;
  color: var(--clicker-muted);
}
.clicker-game-wrapper .empty-state-icon {
  font-size: 3rem;
  margin-bottom: 1rem;
  opacity: 0.5;
}
.clicker-game-wrapper .empty-state-title {
  font-size: 1.125rem;
  font-weight: 600;
  color: var(--clicker-text);
  margin-bottom: 0.5rem;
}
.clicker-game-wrapper .empty-state-description {
  font-size: 0.875rem;
  max-width: 24rem;
}
.clicker-game-wrapper .visually-hidden {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}
