/* Hof-Rönck Spielewelt – abschließende Gameplay- und Mobile-Korrekturen */

/* Eierkorb: Eier müssen trotz der alten Emoji-Regeln als sichtbare Eier erscheinen. */
.basket-page .falling.fall-egg {
  display: grid !important;
  place-items: center !important;
  width: 38px !important;
  height: 48px !important;
  border: 1px solid rgba(128, 94, 51, .3) !important;
  border-radius: 50% 50% 47% 47% / 58% 58% 42% 42% !important;
  background: radial-gradient(circle at 35% 25%, #fffef9 0 16%, #f6ecd9 45%, #dcc49b 100%) !important;
  box-shadow: inset -5px -7px 10px rgba(119, 81, 35, .12), 0 9px 14px rgba(0, 0, 0, .2) !important;
  filter: none !important;
}
.basket-page .falling.fall-egg span { font-size: 0 !important; }
.basket-page .falling.fall-poop,
.basket-page .falling.fall-heart {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

/* Hühner-Hochsprung */
.jump-page .jump-board { width: min(440px, 100%) !important; }
.jump-page .jump-board canvas { aspect-ratio: 420 / 620; touch-action: none; }
.jump-page .jump-controls button { user-select: none; -webkit-user-select: none; }

/* Hoflieferung */
.delivery-page .delivery-shell { max-width: 930px; }
.delivery-page .delivery-fuel-gauge {
  display: grid;
  grid-template-columns: auto minmax(120px, 1fr) auto;
  align-items: center;
  gap: 12px;
  margin: 14px auto 10px;
  width: min(510px, calc(100% - 24px));
  padding: 10px 14px;
  color: #173c2e;
  background: #f5f8f6;
  border: 1px solid #d4dfd8;
  border-radius: 16px;
}
.delivery-page .delivery-fuel-track {
  height: 18px;
  overflow: hidden;
  background: #d9dfdc;
  border-radius: 999px;
  box-shadow: inset 0 2px 6px rgba(0, 0, 0, .16);
}
.delivery-page .delivery-fuel-track i {
  display: block;
  width: 100%;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, #2b8c4f, #74c75b);
  transition: width .18s linear, background .18s ease;
}
.delivery-page .delivery-fuel-track i.low { background: linear-gradient(90deg, #e0a52a, #f2c855); }
.delivery-page .delivery-fuel-track i.critical { background: linear-gradient(90deg, #c9312f, #ef6a47); animation: fuelPulse .65s ease-in-out infinite; }
@keyframes fuelPulse { 50% { opacity: .56; } }
.delivery-page .delivery-stage { min-height: 0 !important; padding: 12px !important; }
.delivery-page .delivery-map {
  position: relative !important;
  width: min(480px, 100%) !important;
  height: auto !important;
  aspect-ratio: 480 / 720 !important;
  margin: 0 auto !important;
  overflow: hidden !important;
  border: 7px solid rgba(255, 255, 255, .9) !important;
  border-radius: 25px !important;
  background: #4f8845 !important;
  background-image: none !important;
}
.delivery-page .delivery-map::before,
.delivery-page .delivery-map::after { display: none !important; content: none !important; }
.delivery-page .delivery-runner-canvas { position: absolute; inset: 0; width: 100% !important; height: 100% !important; border-radius: 18px !important; }
.delivery-page .delivery-runner-canvas { touch-action: none; user-select: none; -webkit-user-select: none; }
.delivery-page .delivery-controls {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(100px, 150px)) !important;
  grid-template-areas: none !important;
  gap: 12px !important;
  margin: 13px auto !important;
}
.delivery-page .delivery-controls button {
  width: 100% !important;
  height: 56px !important;
  font-size: 1.45rem !important;
  touch-action: none;
  user-select: none;
}

/* Neues Spielfeld für Huhn ärgere dich nicht */
.ludo-page .ludo-shell { max-width: 1180px; }
.ludo-page .ludo-stage { grid-template-columns: minmax(0, 1.28fr) minmax(290px, .72fr); }
.ludo-page .ludo-board-panel {
  padding: .5rem !important;
  border-radius: 25px !important;
  background: linear-gradient(145deg, #815126, #b57836) !important;
}
.ludo-page .ludo-board-classic {
  position: relative;
  width: 100%;
  aspect-ratio: 1;
  overflow: hidden !important;
  contain: layout paint style;
  isolation: isolate;
  border-radius: 18px !important;
  background: #fbf7e9 url('../assets/game-backgrounds/huhn-aergere-spielfeld-v17.png') center / contain no-repeat !important;
  box-shadow: inset 0 0 0 1px rgba(63, 38, 16, .2), 0 16px 42px rgba(32, 19, 8, .24) !important;
}
.ludo-page .ludo-piece {
  position: absolute;
  z-index: 8;
  width: 4.75% !important;
  height: auto !important;
  aspect-ratio: .78 / 1 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  transform: translate3d(-50%, -72%, 0) !important;
  transition-property: left, top !important;
  transition-timing-function: cubic-bezier(.22,.7,.25,1) !important;
  opacity: 1 !important;
  overflow: visible;
  backface-visibility: hidden;
}
.ludo-page .ludo-pawn {
  position: absolute;
  inset: 0;
  display: grid;
  place-items: start center;
  filter: drop-shadow(0 4px 3px rgba(0, 0, 0, .34));
  transform-origin: 50% 100%;
}
.ludo-page .ludo-pawn::before {
  content: '';
  position: absolute;
  left: 23%;
  right: 23%;
  top: 28%;
  bottom: 8%;
  border-radius: 42% 42% 24% 24% / 22% 22% 72% 72%;
  background: linear-gradient(90deg, rgba(0,0,0,.18), transparent 33%, rgba(255,255,255,.3) 52%, transparent 72%, rgba(0,0,0,.18));
}
.ludo-page .ludo-pawn::after {
  content: '';
  position: absolute;
  left: 11%;
  right: 11%;
  bottom: 0;
  height: 22%;
  border-radius: 50%;
  background: inherit;
  box-shadow: inset 0 2px 0 rgba(255,255,255,.35), inset 0 -2px 3px rgba(0,0,0,.2);
}
.ludo-page .ludo-pawn i {
  position: relative;
  z-index: 2;
  display: grid;
  place-items: center;
  width: 72%;
  aspect-ratio: 1;
  border-radius: 50%;
  background: #fffdf6 !important;
  font-style: normal;
  font-size: clamp(.72rem, 1.8vw, 1.42rem);
  line-height: 1;
  border: 2px solid currentColor;
  box-shadow: inset 0 2px 0 rgba(255,255,255,.8), 0 3px 5px rgba(0,0,0,.28);
  filter: none !important;
  opacity: 1 !important;
}
.ludo-page .ludo-piece.yellow .ludo-pawn,
.ludo-page .ludo-piece.yellow .ludo-pawn::after { background-color: #f5c81a; }
.ludo-page .ludo-piece.yellow .ludo-pawn i { color: #9a6e00; border-color: #f5c81a; }
.ludo-page .ludo-piece.green .ludo-pawn,
.ludo-page .ludo-piece.green .ludo-pawn::after { background-color: #4c9f59; }
.ludo-page .ludo-piece.green .ludo-pawn i { color: #24743b; border-color: #4c9f59; }
.ludo-page .ludo-piece.blue .ludo-pawn,
.ludo-page .ludo-piece.blue .ludo-pawn::after { background-color: #3f7fc2; }
.ludo-page .ludo-piece.blue .ludo-pawn i { color: #235b9a; border-color: #3f7fc2; }
.ludo-page .ludo-piece.red .ludo-pawn,
.ludo-page .ludo-piece.red .ludo-pawn::after { background-color: #dd4a45; }
.ludo-page .ludo-piece.red .ludo-pawn i { color: #a72828; border-color: #dd4a45; }
.ludo-page .ludo-piece.movable { outline: 0 !important; animation: none !important; cursor: pointer; }
.ludo-page .ludo-piece.movable .ludo-pawn { animation: ludoReady .8s ease-in-out infinite; }
.ludo-page .ludo-piece.is-hopping .ludo-pawn { animation: ludoHopPro .245s cubic-bezier(.2,.72,.25,1); }
.ludo-page .ludo-piece.is-leaping .ludo-pawn { animation: ludoLeapPro .35s cubic-bezier(.18,.66,.22,1); }
.ludo-page .ludo-piece.is-captured .ludo-pawn { animation: ludoCaptured .22s ease-in forwards; }
@keyframes ludoReady { 50% { transform: translateY(-12%) scale(1.06); filter: drop-shadow(0 7px 6px rgba(255,255,255,.75)); } }
@keyframes ludoHopPro {
  0% { transform: translateY(0) scale(.98, .9); filter: drop-shadow(0 3px 2px rgba(0,0,0,.28)); }
  38% { transform: translateY(-42%) scale(1.04, 1.08); filter: drop-shadow(0 10px 7px rgba(0,0,0,.22)); }
  72% { transform: translateY(-15%) scale(1.01); }
  88% { transform: translateY(3%) scale(1.04, .93); }
  100% { transform: translateY(0) scale(1); filter: drop-shadow(0 4px 3px rgba(0,0,0,.34)); }
}
@keyframes ludoLeapPro {
  0% { transform: translateY(0) rotate(0) scale(.97, .9); }
  42% { transform: translateY(-82%) rotate(-4deg) scale(1.09); filter: drop-shadow(0 15px 9px rgba(0,0,0,.2)); }
  70% { transform: translateY(-34%) rotate(2deg) scale(1.04); }
  89% { transform: translateY(4%) rotate(0) scale(1.06, .91); }
  100% { transform: translateY(0) scale(1); }
}
@keyframes ludoCaptured { to { transform: translateY(-65%) rotate(18deg) scale(.65); opacity: .42; } }
.ludo-page .ludo-dice-row { display: flex; align-items: center; gap: 15px; }
.ludo-page .ludo-dice { flex: 0 0 auto; }
.ludo-page .ludo-turn-badge[data-player='yellow'] { background: rgba(246, 200, 40, .3); }
.ludo-page .ludo-turn-badge[data-player='green'] { background: rgba(76, 159, 89, .35); }
.ludo-page .ludo-turn-badge[data-player='blue'] { background: rgba(63, 127, 194, .4); }
.ludo-page .ludo-turn-badge[data-player='red'] { background: rgba(221, 74, 69, .4); }
.ludo-page .ludo-player-row strong { color: #17384f !important; }
.ludo-page .ludo-player-row small { color: #60717c !important; }
.ludo-page #rollDiceBtn:not(:disabled) {
  color: #17243a !important;
  border: 2px solid #fff2a6 !important;
  background: linear-gradient(180deg, #ffe273, #f4bd2d) !important;
  box-shadow: 0 10px 24px rgba(245, 190, 46, .36), inset 0 1px 0 rgba(255,255,255,.8) !important;
  animation: ludoRollReady 1.25s ease-in-out infinite;
}
.ludo-page #rollDiceBtn:disabled { color: rgba(255,255,255,.72) !important; background: rgba(255,255,255,.12) !important; }
@keyframes ludoRollReady { 50% { transform: translateY(-2px); box-shadow: 0 13px 30px rgba(245,190,46,.52), 0 0 0 5px rgba(255,216,89,.13); } }
.ludo-page .ludo-reset-zone {
  display: grid;
  gap: .7rem;
  margin-top: .35rem;
  padding-top: .85rem;
  border-top: 1px solid rgba(255, 255, 255, .2);
}
.ludo-page #newLudoGame {
  min-height: 49px;
  color: #fff !important;
  border: 2px solid #b9d8ed !important;
  background: #153d5d !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.12) !important;
  font-weight: 850;
}
.ludo-page #newLudoGame:hover,
.ludo-page #newLudoGame:focus-visible {
  color: #10283c !important;
  background: #e8f4fb !important;
  border-color: #fff !important;
}
.ludo-page .ludo-reset-confirm {
  padding: .85rem;
  color: #15364e;
  border: 2px solid #f2cf69;
  border-radius: 17px;
  background: #fff8df;
  box-shadow: 0 12px 26px rgba(4, 20, 37, .28);
}
.ludo-page .ludo-reset-confirm[hidden] { display: none !important; }
.ludo-page .ludo-reset-confirm > strong,
.ludo-page .ludo-reset-confirm > span { display: block; }
.ludo-page .ludo-reset-confirm > span { margin-top: .3rem; color: #526777; font-size: .78rem; line-height: 1.42; }
.ludo-page .ludo-reset-actions { display: grid; grid-template-columns: 1.15fr 1fr; gap: .55rem; margin-top: .75rem; }
.ludo-page .ludo-reset-actions .btn { min-width: 0; min-height: 46px; padding: .65rem .7rem; font-size: .76rem; }
.ludo-page .ludo-reset-cancel { color: #10283c !important; border: 2px solid #f0c448 !important; background: #ffe17a !important; }
.ludo-page .ludo-reset-danger { color: #fff !important; border: 2px solid #9e2e32 !important; background: #b83b40 !important; }

/* Hof-Vierer: natürlicher Fall mit sichtbarer Landung. */
.c4-page .c4-drop-pop .c4-disc { animation: c4ChipDropPro .82s cubic-bezier(.16,.74,.2,1.02) !important; }
.c4-page .c4-drop-pop::after {
  content: '';
  position: absolute;
  inset: 13%;
  pointer-events: none;
  border: 3px solid rgba(255, 222, 105, .82);
  border-radius: 50%;
  animation: c4ChipLandingRing .46s .48s ease-out both;
}
@keyframes c4ChipDropPro {
  0% { transform: translateY(calc(var(--drop, 120px) * -1.08)) rotate(-7deg) scale(.9); opacity: .55; filter: blur(.4px); }
  58% { transform: translateY(6px) rotate(0) scale(1.06, .92); opacity: 1; filter: none; }
  72% { transform: translateY(-11px) scale(.98, 1.04); }
  84% { transform: translateY(3px) scale(1.02, .97); }
  93% { transform: translateY(-3px) scale(1); }
  100% { transform: translateY(0) scale(1); }
}
@keyframes c4ChipLandingRing {
  0% { opacity: 0; transform: scale(.65); }
  25% { opacity: 1; }
  100% { opacity: 0; transform: scale(1.45); }
}

/* Hof-Vierer: Rundensteuerung auf dunklem Spielhintergrund klar lesbar. */
.c4-page #nextRound,
.c4-page #restart {
  color: #fff !important;
  border: 2px solid rgba(255, 220, 102, .76) !important;
  background: #174f3a !important;
}
.c4-page #nextRound:disabled {
  color: rgba(255,255,255,.88) !important;
  border-color: rgba(255,255,255,.25) !important;
  background: #344957 !important;
  opacity: 1 !important;
}

@media (max-width: 760px) {
  .delivery-page .delivery-stage { padding: 6px !important; }
  .delivery-page .delivery-map { width: min(430px, 100%) !important; border-width: 5px !important; border-radius: 19px !important; }
  .delivery-page .delivery-fuel-gauge { margin-top: 8px; }
  .jump-page .jump-stage { padding: 6px !important; }
  .delivery-page .delivery-controls,
  .jump-page .jump-controls {
    position: sticky;
    z-index: 45;
    bottom: calc(7px + env(safe-area-inset-bottom));
    padding: 7px;
    border: 1px solid rgba(255,255,255,.18);
    border-radius: 18px;
    background: rgba(7, 22, 45, .88);
    box-shadow: 0 12px 30px rgba(0,0,0,.28);
    backdrop-filter: blur(10px);
  }
  .ludo-page .ludo-stage { grid-template-columns: 1fr !important; gap: .85rem; }
  .ludo-page .ludo-side { grid-template-columns: 1fr 1fr; align-items: start; }
  .ludo-page .ludo-status-card { grid-column: 1 / -1; }
  .ludo-page .ludo-board-panel { padding: .28rem !important; border-radius: 16px !important; }
  .ludo-page .ludo-board-classic { border-radius: 11px !important; }
  .ludo-page .ludo-piece { width: 5.9% !important; }
  .ludo-page .ludo-pawn i { font-size: clamp(.68rem, 3.5vw, 1rem); }
}

@media (max-width: 460px) {
  .delivery-page .delivery-fuel-gauge { grid-template-columns: auto 1fr auto; gap: 8px; padding: 8px 10px; font-size: .82rem; }
  .delivery-page .delivery-controls { grid-template-columns: repeat(2, 1fr) !important; width: calc(100% - 24px); }
  .delivery-page .delivery-controls button { height: 52px !important; }
  .ludo-page .ludo-side { grid-template-columns: 1fr; }
  .ludo-page .ludo-status-card { grid-column: auto; }
  .ludo-page .ludo-player-list { grid-template-columns: 1fr 1fr; }
  .ludo-page .ludo-player-row { min-width: 0; padding: .52rem .58rem; gap: .5rem; }
  .ludo-page .ludo-player-row strong { font-size: .78rem; }
  .ludo-page .ludo-player-row small { font-size: .66rem; }
  .ludo-page .ludo-piece { width: 6.4% !important; }
  .ludo-page .ludo-pawn i { font-size: .68rem; }
  .ludo-page .ludo-reset-zone { margin-top: .6rem; padding-top: 1rem; }
  .ludo-page #newLudoGame { min-height: 52px; }
  .ludo-page .ludo-reset-actions { grid-template-columns: 1fr; }
  .ludo-page .ludo-reset-actions .btn { min-height: 49px; font-size: .82rem; }
}

@media (prefers-reduced-motion: reduce) {
  .ludo-page .ludo-piece,
  .ludo-page .ludo-pawn,
  .delivery-page .delivery-fuel-track i { animation: none !important; transition-duration: .01ms !important; }
}
/* Hof-UNO -------------------------------------------------------------- */
.uno-page{background:#140912;color:#fff}.uno-shell{width:min(1080px,calc(100% - 24px));max-width:1080px}.uno-head{background:linear-gradient(140deg,#40132a,#1b0a18 68%);border:1px solid rgba(255,205,106,.28)}
.uno-arena{position:relative;isolation:isolate;min-height:720px;overflow:hidden;border:1px solid rgba(255,205,106,.32);border-radius:30px;background:radial-gradient(circle at 50% 48%,#ffb22d 0 12%,#e83924 30%,#81152b 60%,#250915 100%);box-shadow:inset 0 0 90px rgba(0,0,0,.48),0 24px 70px rgba(0,0,0,.32)}
.uno-arena:before,.uno-arena:after{content:"";position:absolute;z-index:-1;inset:12% 8%;border:2px solid rgba(255,216,103,.2);border-radius:50%;box-shadow:0 0 40px rgba(255,94,37,.45),inset 0 0 55px rgba(255,255,255,.08)}
.uno-arena:after{inset:23% 21%;border-style:dashed;animation:unoOrbit 16s linear infinite}.uno-ambient{position:absolute;inset:0;z-index:-1;background:conic-gradient(from 20deg at 50% 48%,transparent 0 7%,rgba(255,226,134,.10) 7% 12%,transparent 12% 26%,rgba(255,255,255,.07) 26% 31%,transparent 31% 100%)}
@keyframes unoOrbit{to{transform:rotate(360deg)}}
.uno-bot{position:absolute;z-index:3;display:flex;align-items:center;gap:9px;min-width:150px;padding:9px 12px;color:#fff;border:1px solid rgba(255,255,255,.3);border-radius:16px;background:linear-gradient(110deg,rgba(10,61,90,.95),rgba(20,111,136,.78));box-shadow:0 12px 30px rgba(0,0,0,.28);transition:.25s ease}.uno-bot.active{border-color:#ffd768;box-shadow:0 0 0 4px rgba(255,215,104,.2),0 12px 30px rgba(0,0,0,.32);transform:translateY(-3px)}.uno-bot.thinking .uno-avatar{animation:unoThink .65s ease-in-out infinite alternate}.uno-avatar{display:grid;width:48px;height:48px;place-items:center;border:2px solid rgba(255,255,255,.7);border-radius:13px;background:#f4d2b0;font-size:1.8rem}.uno-bot strong,.uno-bot small{display:block}.uno-bot small{color:#d7eff5}.uno-bot-marten{top:22px;left:24px}.uno-bot-fox{top:22px;left:50%;transform:translateX(-50%)}.uno-bot-fox.active{transform:translate(-50%,-3px)}.uno-bot-hawk{top:22px;right:24px}.uno-call{position:absolute;right:-13px;top:-19px;opacity:0;padding:5px 8px;color:#30101b;border-radius:9px;background:#ffd660;font-weight:900;transform:scale(.4) rotate(8deg);transition:.2s}.uno-call.show{opacity:1;transform:scale(1) rotate(-5deg)}
@keyframes unoThink{to{transform:translateY(-5px) rotate(3deg)}}
.uno-table{position:absolute;z-index:2;left:50%;top:47%;width:min(460px,58%);height:290px;transform:translate(-50%,-50%);border-radius:50%;background:radial-gradient(ellipse,#f6b73e 0,#ed6a27 42%,rgba(115,15,34,.72) 71%,rgba(47,5,20,.25) 72%);box-shadow:inset 0 0 35px rgba(255,255,255,.18),0 0 55px rgba(255,163,45,.33)}
.uno-direction{position:absolute;left:50%;top:50%;font-size:10rem;font-weight:300;color:rgba(255,244,180,.25);transform:translate(-50%,-50%);transition:.35s}.uno-direction.reversed{transform:translate(-50%,-50%) scaleX(-1)}
.uno-deck,.uno-discard{position:absolute;top:50%;width:96px;height:142px;border-radius:15px;transform:translateY(-50%) rotate(-5deg)}.uno-deck{left:20%;display:grid;align-content:center;padding:0;color:#fff;border:5px solid #f6efe3;background:linear-gradient(145deg,#4e1833,#170c28);box-shadow:0 11px 0 #d4cabe,0 18px 26px rgba(0,0,0,.34);cursor:pointer}.uno-deck span,.uno-deck small{font-size:.65rem;letter-spacing:.12em}.uno-deck strong{font-size:1.35rem;color:#ffd55c}.uno-deck:disabled{cursor:default;filter:saturate(.65)}.uno-discard{right:20%;transform:translateY(-50%) rotate(5deg)}.uno-discard .uno-card{width:100%;height:100%}
.uno-message{position:absolute;left:50%;bottom:4px;width:92%;margin:0;padding:7px 12px;text-align:center;color:#fff8df;border-radius:99px;background:rgba(50,8,26,.62);transform:translateX(-50%);font-weight:750}.uno-message.good{background:#155c3c}.uno-message.bad{background:#8e1f25}.uno-message.action{background:#2d347b}.uno-message.human{box-shadow:0 0 0 2px rgba(255,213,83,.65)}
.uno-human{position:absolute;z-index:4;right:20px;bottom:16px;left:20px}.uno-humanbar{display:flex;justify-content:space-between;margin:0 auto 7px;padding:6px 13px;width:min(630px,100%);color:#fff4c7;border-radius:99px;background:rgba(45,6,23,.72)}.uno-hand{display:flex;align-items:flex-end;justify-content:center;min-height:172px;padding:8px 14px 4px;overflow-x:auto;overflow-y:hidden;scrollbar-width:thin}.uno-hand .uno-card{flex:0 0 92px;margin-left:-24px;transition:transform .2s,filter .2s}.uno-hand .uno-card:first-child{margin-left:0}.uno-hand .uno-card.playable:hover,.uno-hand .uno-card.playable:focus-visible{z-index:8;transform:translateY(-19px) rotate(0);filter:brightness(1.12)}.uno-hand .uno-card:disabled{opacity:.72;cursor:not-allowed}.uno-actions{display:flex;justify-content:center;gap:10px}.uno-button{min-width:110px;background:linear-gradient(#ffe47b,#e19d20);color:#401019;box-shadow:0 0 0 4px rgba(255,221,93,.2)}.uno-button:not(:disabled){animation:unoPulse .7s ease-in-out infinite alternate}
@keyframes unoPulse{to{transform:scale(1.06);box-shadow:0 0 24px rgba(255,218,74,.8)}}
.uno-card{position:relative;display:grid;grid-template-rows:auto 1fr auto;width:92px;height:136px;padding:8px;color:#fff;border:5px solid #f8f2e8;border-radius:14px;background:var(--uno-color);box-shadow:0 7px 15px rgba(0,0,0,.3);font-family:Arial,sans-serif;font-weight:1000;text-shadow:0 2px 2px rgba(0,0,0,.25);overflow:hidden}.uno-card:before{content:"";position:absolute;inset:13px 8px;border:2px solid rgba(255,255,255,.74);border-radius:50%;background:rgba(255,255,255,.08);transform:rotate(-22deg)}.uno-card>span,.uno-card>strong{position:relative;z-index:1}.uno-card>span{font-size:1rem;line-height:1}.uno-card>span:last-child{justify-self:end;align-self:end;transform:rotate(180deg)}.uno-card>strong{display:grid;place-items:center;font-size:2.5rem}.uno-card-red{--uno-color:linear-gradient(145deg,#ff6658,#c31c30)}.uno-card-yellow{--uno-color:linear-gradient(145deg,#ffd95a,#dc9a17);color:#3b2414;text-shadow:none}.uno-card-green{--uno-color:linear-gradient(145deg,#5ac975,#158247)}.uno-card-blue{--uno-color:linear-gradient(145deg,#4bb5e8,#1762bc)}.uno-card-wild{--uno-color:linear-gradient(145deg,#33263d,#09080d)}.uno-card.small{width:96px;height:142px}.uno-wild-mark{display:grid;grid-template-columns:1fr 1fr;width:43px;height:43px;overflow:hidden;border:2px solid #fff;border-radius:50%;transform:rotate(-17deg)}.uno-wild-mark b:nth-child(1){background:#e7333b}.uno-wild-mark b:nth-child(2){background:#eac02d}.uno-wild-mark b:nth-child(3){background:#276bc4}.uno-wild-mark b:nth-child(4){background:#2b9a54}
.uno-color-picker{position:absolute;z-index:20;inset:0;display:grid;place-items:center;background:rgba(16,3,12,.82);backdrop-filter:blur(6px)}.uno-color-picker[hidden]{display:none}.uno-color-picker>div{width:min(340px,calc(100% - 32px));padding:24px;text-align:center;border:1px solid #ffd065;border-radius:24px;background:#24101f}.uno-colors{display:grid;grid-template-columns:1fr 1fr;gap:12px}.uno-colors button{height:75px;border:4px solid #fff;border-radius:18px}.uno-colors [data-color=red]{background:#d92d3b}.uno-colors [data-color=yellow]{background:#efbf2b}.uno-colors [data-color=green]{background:#2d9854}.uno-colors [data-color=blue]{background:#2872c5}.uno-shout{position:absolute;z-index:30;left:50%;top:44%;padding:10px 24px;color:#441121;border:4px solid #fff;border-radius:18px;background:#ffd34f;box-shadow:0 0 50px #fff5a2;font-size:clamp(2.2rem,9vw,5rem);font-weight:1000;transform:translate(-50%,-50%) rotate(-5deg);animation:unoShout 1.45s ease-out forwards}
@keyframes unoShout{0%{opacity:0;transform:translate(-50%,-50%) scale(.25) rotate(15deg)}25%{opacity:1;transform:translate(-50%,-50%) scale(1.12) rotate(-5deg)}100%{opacity:0;transform:translate(-50%,-65%) scale(1) rotate(-5deg)}}
.uno-flying-card{position:absolute;z-index:15;left:50%;top:50%;pointer-events:none;animation:unoFly .48s cubic-bezier(.2,.8,.3,1) forwards}.uno-flying-card.from-player-0{--sx:0;--sy:260px}.uno-flying-card.from-player-1{--sx:-350px;--sy:-250px}.uno-flying-card.from-player-2{--sx:0;--sy:-270px}.uno-flying-card.from-player-3{--sx:350px;--sy:-250px}.uno-flying-card .uno-card{width:92px;height:136px}@keyframes unoFly{from{opacity:.75;transform:translate(calc(-50% + var(--sx)),calc(-50% + var(--sy))) rotate(-18deg) scale(.82)}to{opacity:1;transform:translate(-50%,-50%) rotate(4deg) scale(1)}}
.uno-overlay-card{max-width:520px}.uno-overlay-card small{display:block;margin-top:12px;color:#6b6f7c}.uno-panel{margin-top:14px}

@media(max-width:700px){
  .uno-shell{width:100%;padding-inline:7px}.uno-head{padding:13px 12px}.uno-head h1{font-size:1.7rem}.uno-head .game-stats{grid-template-columns:repeat(3,1fr);width:100%}
  .uno-arena{min-height:690px;border-radius:22px}.uno-bot{min-width:0;padding:6px 7px;gap:5px;border-radius:12px}.uno-avatar{width:34px;height:34px;border-radius:9px;font-size:1.2rem}.uno-bot strong{font-size:.75rem}.uno-bot small{font-size:.66rem}.uno-bot-marten{top:10px;left:8px}.uno-bot-fox{top:10px}.uno-bot-hawk{top:10px;right:8px}.uno-call{font-size:.7rem}
  .uno-table{top:38%;width:94%;height:255px}.uno-direction{font-size:8rem}.uno-deck,.uno-discard{width:72px;height:108px}.uno-deck{left:20%}.uno-discard{right:20%}.uno-deck strong{font-size:1rem}.uno-deck span,.uno-deck small{font-size:.5rem}.uno-discard .uno-card{width:72px;height:108px}
  .uno-message{bottom:7px;font-size:.78rem;line-height:1.2}.uno-human{right:4px;bottom:10px;left:4px}.uno-humanbar{font-size:.75rem;width:94%}.uno-hand{justify-content:flex-start;min-height:154px;padding-inline:34px}.uno-hand .uno-card{flex-basis:78px;width:78px;height:119px;margin-left:-20px}.uno-card{border-width:4px}.uno-card>strong{font-size:2.05rem}.uno-card>span{font-size:.82rem}.uno-wild-mark{width:35px;height:35px}.uno-actions .btn{min-height:42px;padding:9px 15px}.uno-button{min-width:96px}.uno-flying-card.from-player-1{--sx:-145px;--sy:-210px}.uno-flying-card.from-player-2{--sy:-230px}.uno-flying-card.from-player-3{--sx:145px;--sy:-210px}
}
@media(max-width:380px){.uno-arena{min-height:650px}.uno-bot div{max-width:62px}.uno-bot strong{overflow:hidden;text-overflow:ellipsis}.uno-table{top:39%;height:235px}.uno-hand{min-height:140px}.uno-hand .uno-card{flex-basis:70px;width:70px;height:108px}.uno-humanbar{margin-bottom:2px}.uno-actions{gap:6px}.uno-actions .btn{font-size:.78rem}}
@media(prefers-reduced-motion:reduce){.uno-arena:after,.uno-bot.thinking .uno-avatar,.uno-button:not(:disabled){animation:none}.uno-flying-card{animation-duration:.01ms}}
/* Hof-UNO card polish V23 */
.uno-hand .uno-card{margin-left:-21px;transform:rotate(var(--fan,0deg));transform-origin:50% 115%;transition:transform .2s,filter .2s,opacity .2s}
.uno-hand .uno-card.playable:hover,.uno-hand .uno-card.playable:focus-visible{z-index:8;transform:translateY(-19px) rotate(0);filter:brightness(1.12) drop-shadow(0 0 10px rgba(255,231,117,.8))}
.uno-hand .uno-card:disabled{opacity:.78;filter:saturate(.82)}
.uno-card{display:block;padding:0;border:5px solid #fffaf0;border-radius:15px;background:var(--uno-color);box-shadow:inset 0 0 0 2px rgba(0,0,0,.16),inset 0 7px 9px rgba(255,255,255,.17),0 8px 17px rgba(0,0,0,.38);overflow:hidden}
.uno-card:before{inset:14px 9px;border:3px solid rgba(255,255,255,.88);background:linear-gradient(145deg,rgba(255,255,255,.23),rgba(255,255,255,.03));box-shadow:inset 0 0 18px rgba(255,255,255,.15)}
.uno-card:after{content:"";position:absolute;z-index:1;top:-28%;left:-55%;width:55%;height:160%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.22),transparent);transform:rotate(20deg);pointer-events:none}
.uno-card.playable:after{animation:unoCardShine 2.7s ease-in-out infinite}@keyframes unoCardShine{0%,60%{left:-60%}90%,100%{left:140%}}
.uno-corner{position:absolute!important;z-index:3!important;display:grid;place-items:center;min-width:21px;height:23px;font-size:1rem!important;line-height:1}
.uno-corner-top{top:6px;left:6px}.uno-corner-bottom{right:6px;bottom:6px;transform:rotate(180deg)!important}
.uno-card-center{position:absolute!important;z-index:2!important;inset:28px 13px;display:grid!important;place-items:center;color:#fff;font-size:2.65rem!important;font-style:italic;letter-spacing:-.05em;transform:rotate(-8deg);filter:drop-shadow(0 3px 1px rgba(0,0,0,.25))}
.uno-card-red{--uno-color:linear-gradient(145deg,#ff6658 0,#e73343 46%,#a7102c 100%)}.uno-card-yellow{--uno-color:linear-gradient(145deg,#ffe979 0,#efbd29 50%,#ce7e0c 100%)}.uno-card-green{--uno-color:linear-gradient(145deg,#7ddd8b 0,#2ea65b 48%,#096638 100%)}.uno-card-blue{--uno-color:linear-gradient(145deg,#63c5ee 0,#2683d1 48%,#154699 100%)}.uno-card-wild{--uno-color:linear-gradient(145deg,#493551 0,#201425 48%,#050408 100%)}
.uno-card-yellow .uno-card-center{color:#4b2a12;filter:drop-shadow(0 2px 0 rgba(255,255,255,.5))}.uno-value-skip .uno-card-center,.uno-value-reverse .uno-card-center{font-size:3rem!important}.uno-value-draw2 .uno-card-center,.uno-value-wild4 .uno-card-center{font-size:2.2rem!important}
.uno-wild-mark{width:48px;height:48px;border:3px solid #fff;box-shadow:0 3px 8px rgba(0,0,0,.35);transform:rotate(-10deg)}
@media(max-width:700px){.uno-hand .uno-card{margin-left:-17px}.uno-corner{font-size:.82rem!important}.uno-card-center{inset:25px 11px;font-size:2.1rem!important}.uno-value-skip .uno-card-center,.uno-value-reverse .uno-card-center{font-size:2.45rem!important}.uno-value-draw2 .uno-card-center,.uno-value-wild4 .uno-card-center{font-size:1.8rem!important}.uno-wild-mark{width:38px;height:38px}}

/* Hof-UNO Tisch, Kartenfächer und große Bewegungsabläufe V23 */
.uno-bot-marten{top:38%;left:20px;transform:translateY(-50%)}
.uno-bot-marten.active{transform:translateY(calc(-50% - 3px))}
.uno-bot-fox{top:20px;left:50%;transform:translateX(-50%)}
.uno-bot-fox.active{transform:translate(-50%,-3px)}
.uno-bot-hawk{top:38%;right:20px;transform:translateY(-50%)}
.uno-bot-hawk.active{transform:translateY(calc(-50% - 3px))}
.uno-bot-hand{position:absolute;z-index:-1;width:104px;height:62px;pointer-events:none;transition:transform .22s ease,filter .22s ease}
.uno-bot-marten .uno-bot-hand{top:50%;right:-82px;transform:translateY(-50%) rotate(76deg)}
.uno-bot-fox .uno-bot-hand{bottom:-55px;left:50%;transform:translateX(-50%)}
.uno-bot-hawk .uno-bot-hand{top:50%;left:-82px;transform:translateY(-50%) rotate(-76deg)}
.uno-mini-back{position:absolute;left:50%;bottom:2px;width:36px;height:53px;border:3px solid #fff8e9;border-radius:7px;background:radial-gradient(ellipse at center,#f0be35 0 13%,#831b35 14% 27%,#2c102e 29% 100%);box-shadow:inset 0 0 0 2px rgba(255,213,102,.4),0 4px 8px rgba(0,0,0,.35);transform-origin:50% 110%;transform:translateX(-50%) rotate(calc((var(--card-index) - (var(--card-count) - 1)/2) * 7deg));transition:.22s ease}
.uno-bot.active .uno-bot-hand{filter:drop-shadow(0 0 9px rgba(255,219,102,.95))}
.uno-bot{border-color:rgba(137,232,255,.62);background:linear-gradient(105deg,#0f5f82 0,#1589a5 68%,#39bfd0 100%);box-shadow:inset 0 1px 0 rgba(255,255,255,.35),0 12px 30px rgba(0,0,0,.36),0 0 20px rgba(31,181,219,.18)}
.uno-bot:before{content:"";position:absolute;z-index:-2;inset:-5px;border-radius:20px;background:linear-gradient(90deg,transparent,rgba(73,226,255,.36),transparent);filter:blur(8px);opacity:.6}
.uno-avatar{box-shadow:inset 0 1px 0 #fff,0 5px 13px rgba(0,0,0,.3)}
.uno-mini-back:after{content:"";position:absolute;inset:3px;border:1px solid rgba(255,226,119,.4);border-radius:4px;background:linear-gradient(135deg,rgba(255,255,255,.22),transparent 42%);pointer-events:none}
.uno-bot.receiving{animation:unoReceivePlayer .32s ease-out}
.uno-hand.receiving{animation:unoReceiveHand .32s ease-out}
@keyframes unoReceivePlayer{50%{filter:brightness(1.3);scale:1.035}}
@keyframes unoReceiveHand{50%{transform:translateY(-5px);filter:drop-shadow(0 0 16px #ffd768)}}

.uno-card-back{display:grid;width:72px;height:108px;place-content:center;text-align:center;color:#fff7cf;border:5px solid #fff8e9;border-radius:13px;background:radial-gradient(ellipse at center,#ffc92e 0 13%,#d63536 14% 26%,#4b1537 28% 55%,#170b25 100%);box-shadow:inset 0 0 0 2px rgba(255,219,122,.45),0 10px 22px rgba(0,0,0,.42);font-family:Arial,sans-serif;font-weight:1000;line-height:.86;letter-spacing:.04em;transform:rotate(-7deg)}
.uno-card-back span,.uno-card-back small{font-size:.54rem;letter-spacing:.18em}.uno-card-back strong{font-size:1.1rem;color:#ffdb5d;text-shadow:0 2px 1px #4d0f27}
.uno-draw-flight{position:absolute;z-index:24;pointer-events:none;animation:unoDrawToHand .46s var(--delay,0ms) cubic-bezier(.16,.76,.2,1) both}
.uno-draw-flight.dealing{animation-duration:.18s}
@keyframes unoDrawToHand{0%{opacity:.25;transform:translate(-50%,-50%) rotate(-12deg) scale(.72)}55%{opacity:1}100%{opacity:1;transform:translate(calc(-50% + var(--dx)),calc(-50% + var(--dy))) rotate(8deg) scale(.82)}}
.uno-deck.drawing,.uno-deck.shuffling{animation:unoDeckDraw .3s ease-out}
.uno-deck.shuffling{animation:unoDeckShuffle .22s ease-in-out infinite alternate}
@keyframes unoDeckDraw{50%{transform:translateY(-53%) rotate(-9deg) scale(.96);filter:brightness(1.25)}}
@keyframes unoDeckShuffle{to{transform:translateY(-50%) rotate(1deg) translateX(4px);box-shadow:-5px 11px 0 #d4cabe,5px 16px 0 rgba(255,248,231,.65),0 23px 28px rgba(0,0,0,.38)}}
.uno-opening-title{position:absolute;z-index:40;top:45%;left:50%;display:grid;min-width:260px;padding:20px 28px;text-align:center;color:#fff8d7;border:2px solid rgba(255,224,116,.8);border-radius:24px;background:rgba(42,7,27,.9);box-shadow:0 0 0 8px rgba(255,198,53,.12),0 0 70px rgba(255,173,40,.75);transform:translate(-50%,-50%);animation:unoOpeningIn .6s cubic-bezier(.2,.9,.25,1.2) both;backdrop-filter:blur(8px)}
.uno-opening-title small{color:#ffd866;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.uno-opening-title strong{font-size:clamp(2.2rem,7vw,4.2rem);line-height:1.05;text-shadow:0 5px 18px #9a1832}.uno-opening-title.leaving{animation:unoOpeningOut .26s ease-in both}
@keyframes unoOpeningIn{0%{opacity:0;transform:translate(-50%,-50%) scale(.55) rotate(-8deg)}100%{opacity:1;transform:translate(-50%,-50%) scale(1)}}
@keyframes unoOpeningOut{to{opacity:0;transform:translate(-50%,-57%) scale(1.2)}}

.uno-flying-card{filter:drop-shadow(0 18px 22px rgba(0,0,0,.48))}.uno-bot.playing-card,.uno-bot-hand.playing-card,.uno-hand.playing-card{filter:brightness(1.26) drop-shadow(0 0 15px rgba(255,222,100,.9))}
.uno-discard.impact{animation:unoDiscardImpact .42s cubic-bezier(.2,.9,.25,1)}
@keyframes unoDiscardImpact{0%{transform:translateY(-50%) rotate(5deg) scale(.75)}50%{transform:translateY(-50%) rotate(-2deg) scale(1.13)}100%{transform:translateY(-50%) rotate(5deg) scale(1)}}
.uno-card-spark{position:absolute;z-index:18;width:8px;height:8px;border-radius:50%;background:var(--spark-color);box-shadow:0 0 12px var(--spark-color);pointer-events:none;animation:unoSpark .7s ease-out forwards}
@keyframes unoSpark{to{opacity:0;transform:translate(var(--spark-x),var(--spark-y)) scale(.2)}}
.uno-action-flash{position:absolute;z-index:35;top:44%;left:50%;display:grid;width:140px;height:140px;place-items:center;color:#381020;border:6px solid #fff9d9;border-radius:50%;background:#ffd54e;box-shadow:0 0 80px #fff2a2;font-size:3.6rem;font-weight:1000;transform:translate(-50%,-50%);animation:unoActionFlash .9s ease-out both;pointer-events:none}
@keyframes unoActionFlash{0%{opacity:0;transform:translate(-50%,-50%) scale(.2) rotate(-35deg)}35%{opacity:1;transform:translate(-50%,-50%) scale(1.12) rotate(5deg)}100%{opacity:0;transform:translate(-50%,-50%) scale(1.45) rotate(12deg)}}
.uno-arena.action-impact .uno-table{animation:unoTableImpact .42s ease-out}@keyframes unoTableImpact{50%{filter:brightness(1.25);transform:translate(-50%,-50%) scale(1.025)}}

@media(min-width:701px){
  .uno-arena{perspective:1100px;background:radial-gradient(circle at 50% 49%,#ffe562 0 4%,#ffad2d 15%,#ef4327 34%,#a11931 62%,#310716 100%)}
  .uno-arena:before{inset:10% 8%;border-color:rgba(255,225,111,.34);box-shadow:0 0 55px rgba(255,104,35,.62),inset 0 0 80px rgba(255,214,90,.13)}
  .uno-table{top:48%;width:min(520px,53%);height:300px;transform:translate(-50%,-50%) rotateX(4deg);background:radial-gradient(ellipse,#ffe56b 0,#ffb22d 25%,#ea5527 48%,rgba(130,18,41,.78) 72%,rgba(43,5,19,.18) 73%)}
  .uno-message{top:-42px;bottom:auto;width:84%;box-shadow:0 7px 20px rgba(0,0,0,.25)}
  .uno-bot-hand{width:124px;height:72px}.uno-mini-back{width:42px;height:62px}
  .uno-bot-marten .uno-bot-hand{right:-98px}.uno-bot-hawk .uno-bot-hand{left:-98px}.uno-bot-fox .uno-bot-hand{bottom:-65px}
  .uno-humanbar{width:min(660px,100%);border:1px solid rgba(255,214,93,.38);box-shadow:0 8px 20px rgba(0,0,0,.22)}
  .uno-hand{min-height:180px;perspective:900px}.uno-hand .uno-card{flex-basis:99px;width:99px;height:147px;margin-left:-22px;box-shadow:inset 0 0 0 2px rgba(0,0,0,.16),inset 0 7px 9px rgba(255,255,255,.17),0 13px 20px rgba(0,0,0,.4)}
  .uno-hand .uno-card.playable:hover,.uno-hand .uno-card.playable:focus-visible{transform:translateY(-24px) rotate(0) rotateX(-4deg) scale(1.035)}
}

.uno-card.just-drawn{z-index:12!important;opacity:1!important;filter:brightness(1.18) drop-shadow(0 0 18px #ffe06a)!important;animation:unoJustDrawn .72s ease-in-out infinite alternate}
@keyframes unoJustDrawn{to{transform:translateY(-14px) rotate(0deg) scale(1.04);filter:brightness(1.3) drop-shadow(0 0 27px #fff1a1)!important}}
.uno-drawn-choice{position:absolute;z-index:30;right:50%;bottom:172px;width:min(430px,calc(100% - 18px));padding:12px 14px;text-align:center;color:#3a1422;border:3px solid #ffe47c;border-radius:18px;background:#fff9e5;box-shadow:0 18px 45px rgba(20,3,14,.5),0 0 28px rgba(255,216,83,.45);transform:translateX(50%);animation:unoChoiceIn .3s cubic-bezier(.2,.9,.3,1.12)}
.uno-drawn-choice[hidden]{display:none!important}.uno-drawn-choice strong,.uno-drawn-choice span{display:block}.uno-drawn-choice span{margin-top:2px;color:#6a4a51;font-size:.8rem}.uno-drawn-choice>div{display:grid;grid-template-columns:1.15fr .85fr;gap:8px;margin-top:9px}.uno-drawn-choice .btn{min-height:43px;padding:8px 12px}
@keyframes unoChoiceIn{from{opacity:0;transform:translate(50%,15px) scale(.9)}}

@media(max-width:700px){
  .uno-arena{min-height:720px}.uno-table{top:39%;width:88%;height:238px}
  .uno-bot-marten{top:22%;left:7px;transform:none}.uno-bot-marten.active{transform:translateY(-3px)}
  .uno-bot-fox{top:8px}.uno-bot-hawk{top:22%;right:7px;transform:none}.uno-bot-hawk.active{transform:translateY(-3px)}
  .uno-bot-marten .uno-bot-hand{top:auto;right:-42px;bottom:-45px;transform:rotate(25deg)}
  .uno-bot-fox .uno-bot-hand{bottom:-48px}
  .uno-bot-hawk .uno-bot-hand{top:auto;left:-42px;bottom:-45px;transform:rotate(-25deg)}
  .uno-bot-hand{width:82px;height:51px}.uno-mini-back{width:29px;height:43px;border-width:2px}
  .uno-humanbar{position:relative;z-index:2;width:min(280px,90%);padding:4px 10px;font-size:.7rem;background:rgba(45,6,23,.82)}
  .uno-message{bottom:9px}.uno-drawn-choice{bottom:158px;padding:10px}.uno-card-back{width:58px;height:87px;border-width:4px}.uno-card-back strong{font-size:.9rem}
  .uno-action-flash{top:39%;width:105px;height:105px;font-size:2.6rem}.uno-opening-title{top:43%;min-width:230px;padding:17px 21px}
}
@media(max-width:380px){
  .uno-arena{min-height:690px}.uno-table{top:40%;height:222px}.uno-bot{max-width:116px}.uno-bot-hawk{max-width:125px}.uno-bot-hand{transform:scale(.9)}
  .uno-human{bottom:7px}.uno-drawn-choice{bottom:148px}.uno-drawn-choice>div{grid-template-columns:1fr}.uno-drawn-choice .btn{min-height:40px}
}
@media(prefers-reduced-motion:reduce){.uno-draw-flight,.uno-opening-title,.uno-card.just-drawn,.uno-discard.impact,.uno-card-spark,.uno-action-flash,.uno-deck.shuffling{animation-duration:.01ms!important;animation-iteration-count:1!important}}
